pax_global_header00006660000000000000000000000064124202224300014501gustar00rootroot0000000000000052 comment=dd0a61d214b48797953e28a524ff28c40b822fdb aranym-1.0.2/000077500000000000000000000000001242022243000127705ustar00rootroot00000000000000aranym-1.0.2/.gitignore000066400000000000000000000002751242022243000147640ustar00rootroot00000000000000autom4te.cache gen_* obj_* depend_* Makefile aclocal.m4 aranym aratapif config.h config.h.in config.log config.status configure version_date.h .DS_Store *.framework *.xcworkspace xcuserdataaranym-1.0.2/AUTHORS000066400000000000000000000135671242022243000140540ustar00rootroot00000000000000The ARAnyM core, glue and additional features were written or adapted from the projects mentioned below by the following main ARAnyM developers: Milan Jurik - main framework from Basilisk and building system (autoconf stuff) - continuous updates and syncing with UAE CPU core - memory management - portability - ndebug (New Debug) - MMU040 (memory protection unit) - JIT (just-in-time compiler for CPU and FPU) - TUN/TAP networking driver skeleton Stanislav Opichal - Host filesystem access driver (hostfs) for FreeMiNT and MetaDOS - Networking driver work - Network Bridging - VIDEL bitplanes to chunky conversion code - fVDI driver - general hostscreen and SDL work Petr Stehlik - some hardware emulation (Falcon-specific HW) - interrupt system (inspired by STonX and STonC) - 68040 friendly TOS (based on old information from Douglas Little of BSS) - host input/output (keyboard and mouse, parallel port) - XHDI interface - SDL GUI (based on Hatari) - Networking adjustments and debugging - NatFeats - CPU/FPU/MMU debugging - ARAnyM Release Manager and Webmaster Johan Klockars - fVDI author, helps with ARAnyM fVDI driver - fVDI driver polyline implementation and bitblt speedup - PAGE_MASK addressing speedup Didier MEQUIGNON - audio support in ARAnyM - Atari XBIOS sound driver (atari/sound/*) Patrice Mandin - Natfeat host CD-ROM driver - Minimal NCR5380 scsi emulation - Linux kernel loader - DSP M56001 emulation - IKBD/ACIA rewrite, joystick support - the SDL-MiNT port of ARAnyM - Videl autozoom - EPS limiter - NatFeat based PCI bridge (atari software can access host PCI) - NatFeat based JPEG decoder, following Brainstorm's JPEG DSP decoder API - Natfeat OpenGL rendering, using host's OSMesa - close examination of our code and finding obvious and not-so-obvious bugs (IDE, parameters handling, TOS patches) - MIDI output - DMA Sound - joysticks and joypads Xavier Joubert - for Windows/cygwin improvements - HostFS fixes - CPU Double Bus Fault handling - SDL GUI improvements - enabled JIT CPU compiler in MS Windows by writing Win sigsegv handler - CPU/MMU fix for data on page boundary Andreas Schwab - damn important fix of MOVES instruction (for Linux-m68k boot) - fix of PTESTR/PTESTW and more MMU fixes - LILO fixes, no longer needs /usr/src/linux/include for compiling - complete PMMU revision and fixing, got Linux/m68k working - important IEEE/UAE FPU fixes - various configure & build fixes - new MPFR FPU core using libmpfr - more CPU fixes (CAS, CAS2) Stefan Kuhr - Mac OS X port - many improvements (too many to list them here) - nfvdi OpenGL fixes - HostFS fix for MAGXDESK - an icon for Darwin Philipp Donze - Mac OS X fixes, new project, universal (ppc+intel) binaries - various small fixes in many places Jens Heitmann - JIT for Mac OS X on Intel - ethernet for Mac OS X - delayed screen updates - 64bit fixes - JIT for 64-bit Linux and Mac OS X - JIT for ARM François Revol - resource file and icon for Haiku and BeOS - VIDEL refresh palette fix when switching to bitplane mode - BeOS NF clipboard support Thorsten Otto - HostFS fixes and improvements (symlinks, ioctl, timestamp and more) - NF CDROM implementations for SDL and Win32 - sigsegv cleanup - NFOSMesa upgrade - JIT memory management fixes - SDL2 support - disassembler --- ARAnyM source code consists of several parts. Some were taken from other projects (in alphabetical order): AmigaOS XL http://amigaosxl.haage-partner.de/ Parts of CPU BasiliskII http://www.uni-mainz.de/~bauec002/B2Main.html Core Bochs http://bochs.sf.net/ IDE JIT Basilisk II http://gwenole.beauchesne.online.fr/basilisk2/ Parts of CPU Hatari http://hatari.sf.net/ Parts of CPU, complete SDL GUI STonX http://stonx.sf.net/ Blitter, FDC, .xfs STonC http://lvogel.free.fr/stonc.htm MFP SDL_gfxPrimitves (LGPL) http://www.ferzkopp.net/Software/SDL_gfx-2.0/index.html Base for the fVDI driver drawing functions The Autoconf Macro Archive http://ac-archive.sf.net/ UAE http://www.freiburg.linux.de/~uae/ Parts of CPU UAE-JIT http://byron.csse.monash.edu.au/uaejit.html Parts of CPU We thank to them and to their authors for releasing the code under GPL. Special thanks go to: Bernd Schmidt (UAE CPU) Christian Bauer (BasiliskII core) Marinos "Nino" Yannikos and Martin D. Griffiths (STonX) Gwenole Beauchesne (BasiliskII[-JIT]) Bernie Meyer (UAE JIT) This is the list of people who have contributed to project Thanks go to :- Ctirad Fertr - the main idea of new Atari machine - deep user testing - VIDEL color fixes Francois LE COAT - for the Solaris port - for work on MacOSX port - sinh/tanh debugged and fixed Olivier Landemarre - for the Windows/cygwin binaries - corrections related to timer Rodolphe Pineau - for the SGI/Irix port - corrections in configure script and memory allocation - better portability of aranymfs Antonin Kral - Debian maintainer Frank Naumann - termio -> termios conversion - NatFeat support in FreeMiNT 1.16 Thomas Huth - SDL GUI (from hatari project) - suggestion to remove 680[023]0 CPU core generation - original README skeleton (from hatari) - cfgopts fixes Heiko Achilles - mouse packets compression in ACIA Wim De Meester - for Mac OS X port Carsten Gaschler - for the Alpha/Linux port Matti Levänen - for BeOS port Carlo Baiocco - new Mac OS X port (src/MacOSX/*) - various bugfixes (floppy, parameters, memory management) Laurent Vogel - crucial MFP/IKBD GPIP fix Konrad Kokoszkiewicz - many hints and small fixes Bill Allombert - first real buildd (ARAnyM as Debian build machine) - FPU fixes - many bug reports about Debian problems on aranym Roman Zippel - MMU optimized (MMU translations cached for nice speed up) David Bolt - aranym.spec improvements Anders Eriksson - ARAnyM icons and logo David Gálvez - USB NatFeat support aranym-1.0.2/BUGS000066400000000000000000000032771242022243000134640ustar00rootroot00000000000000General (all platforms) known bugs: ----------------------------------- Bug: PureC cannot open project file on host filesystem. Reason: A MetaDOS related bug in PureC. Solution: Patch your PureC with supplied patch. -- Bug: Programs started from MetaDOS HOSTFS sometime crash. Reason: A MetaDOS bug in its Pexec implementation. Solution: Forget MetaDOS and use BetaDOS 3.12+ instead. -- Bug: Videlity Configure Tool does not work (hangs during launching) Reason: Dirty delay loop - while(clock() == certain_value). This may not work even under multitasking system and does not work in current ARAnyM where TimerC interrupts come in pairs (100 Hz host interrupt) unless RTC source clock is used. Solution: General solution is to get a more precise host timer interrupt (at least 200 Hz, with the Linux RTC). Specific (and suggested) solution is to stop using Videlity and replace it with BlowUP030 or something similar. Platform dependent known bugs and limitations: ---------------------------------------------- MacOS X does not like floating videoram. Compile with --enable-fixedvideoram. Calling SDLGUI in fullscreen mode does crash the program anyway. Windows 95/98/99/00 do not support direct disk access (Windows NT/2K/XP do). This is a limitation of Cygwin, or rather a limitation of the windows itself. Only Linux-ia32 (x86), MS-Windows and Solaris (x86) currently support JIT compiler for the CPU emulator. This is not a design limitation or a bug in other operating systems, it's just lack of manpower willing to work on JIT support for the other systems. User ids, group ids and device types reported by HOSTFS are those used on the host and are not converted to the corresponding MiNT values. aranym-1.0.2/COPYING000066400000000000000000000354221242022243000140310ustar00rootroot00000000000000 GNU GENERAL PUBLIC LICENSE Version 2, June 1991 Copyright (C) 1989, 1991 Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users. This General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Lesser General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs; and that you know you can do these things. To protect your rights, we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights. These restrictions translate to certain responsibilities for you if you distribute copies of the software, or if you modify it. For example, if you distribute copies of such a program, whether gratis or for a fee, you must give the recipients all the rights that you have. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. We protect your rights with two steps: (1) copyright the software, and (2) offer you this license which gives you legal permission to copy, distribute and/or modify the software. Also, for each author's protection and ours, we want to make certain that everyone understands that there is no warranty for this free software. If the software is modified by someone else and passed on, we want its recipients to know that what they have is not the original, so that any problems introduced by others will not reflect on the original authors' reputations. Finally, any free program is threatened constantly by software patents. We wish to avoid the danger that redistributors of a free program will individually obtain patent licenses, in effect making the program proprietary. To prevent this, we have made it clear that any patent must be licensed for everyone's free use or not licensed at all. The precise terms and conditions for copying, distribution and modification follow. GNU GENERAL PUBLIC LICENSE TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION 0. This License applies to any program or other work which contains a notice placed by the copyright holder saying it may be distributed under the terms of this General Public License. The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language. (Hereinafter, translation is included without limitation in the term "modification".) Each licensee is addressed as "you". Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running the Program is not restricted, and the output from the Program is covered only if its contents constitute a work based on the Program (independent of having been made by running the Program). Whether that is true depends on what the Program does. 1. You may copy and distribute verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and give any other recipients of the Program a copy of this License along with the Program. You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee. 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change. b) You must cause any work that you distribute or publish, that in whole or in part contains or is derived from the Program or any part thereof, to be licensed as a whole at no charge to all third parties under the terms of this License. c) If the modified program normally reads commands interactively when run, you must cause it, when started running for such interactive use in the most ordinary way, to print or display an announcement including an appropriate copyright notice and a notice that there is no warranty (or else, saying that you provide a warranty) and that users may redistribute the program under these conditions, and telling the user how to view a copy of this License. (Exception: if the Program itself is interactive but does not normally print such an announcement, your work based on the Program is not required to print an announcement.) These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Program, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Program, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it. Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Program. In addition, mere aggregation of another work not based on the Program with the Program (or with a work based on the Program) on a volume of a storage or distribution medium does not bring the other work under the scope of this License. 3. You may copy and distribute the Program (or a work based on it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you also do one of the following: a) Accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, b) Accompany it with a written offer, valid for at least three years, to give any third party, for a charge no more than your cost of physically performing source distribution, a complete machine-readable copy of the corresponding source code, to be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange; or, c) Accompany it with the information you received as to the offer to distribute corresponding source code. (This alternative is allowed only for noncommercial distribution and only if you received the program in object code or executable form with such an offer, in accord with Subsection b above.) The source code for a work means the preferred form of the work for making modifications to it. For an executable work, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the executable. However, as a special exception, the source code distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable. If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense or distribute the Program is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance. 5. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Program or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Program (or any work based on the Program), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Program or works based on it. 6. Each time you redistribute the Program (or any work based on the Program), the recipient automatically receives a license from the original licensor to copy, distribute or modify the Program subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties to this License. 7. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Program at all. For example, if a patent license would not permit royalty-free redistribution of the Program by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Program. If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply and the section as a whole is intended to apply in other circumstances. It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system, which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice. This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License. 8. If the distribution and/or use of the Program is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Program under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License. 9. The Free Software Foundation may publish revised and/or new versions of the General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of this License, you may choose any version ever published by the Free Software Foundation. 10. If you wish to incorporate parts of the Program into other free programs whose distribution conditions are different, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally. NO WARRANTY 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. END OF TERMS AND CONDITIONS aranym-1.0.2/ChangeLog000066400000000000000000010675411242022243000145600ustar00rootroot00000000000000*** repository tagged as ARANYM_1_0_2 2014/10/17 - Petr - sysdeps.h: fixed typo error (I hope) that prevented the build on PPC64 - various files: version++ for the new release *** repository tagged as ARANYM_1_0_1 2014/10/17 - Petr - main.cpp: fixed warnings that break the build with Debian's -Werror=format-security - bootos_linux.cpp, cpummu.cpp: fixed warnings about unused variables - various files: version++ for the new release 2014/10/17 - Jens Fixed build on kfreebsd-i386 2014/10/16 - Petr - nf_objs.cpp: SDL NFCDROM included correctly *** repository tagged as ARANYM_1_0_0 2014/10/15 - Petr - various files: version++ and other minor updates for the new release - aranym.spec: changed the required libSDL version down to 1.2.12 2014/10/14 - Petr - François Revol adds ARAnyM icon for Haiku - François Revol adds a missing futimes() replacement (using POSIX futimens) - configure.ac: changed the required libSDL version back to 1.2.12 2014/10/13 - Jens - codegen_x86/compemu_support - serveral functions marked as "compemu_" only - codegen_arm, compemu_midfunc_arm, gencomp_arm - additional JIT optimizations - hostscreen.cpp / configure.ac - Raspberry Framebuffer (16bpp only) console workaround 2014/10/08 - Jens - Makefile.in / configure.ac - seperated arm/x86 compemu files more concrete in generated Makefile - gencomp.c - removed arm include - gencomp_arm.c - special arm version of gencomp.c - codegen_x86.cpp - preserve/restore registers, compemu_raw function declaration - compemu.h - data buffer settings - compemu_support.cpp - data buffer support (experimental, see what is faster way storing immediate values) - codegen_arm.cpp - use of data buffers, code cleanup, optimized code, bug fixing - MacAranym.xcodeproj/README_Xcode.rtf - fixed mac build, added missing source files to project - hostscreen.cpp - Flag added to avoid nested Line A calls 2014/08/08 - Thorsten - hostfs.cpp: fix reading timestamp in xfs_dev_datime 2014/08/02 - Thorsten - usbhost.cpp: fix segfault in destructor 2014/08/01 - Thorsten - dialog.cpp: fix a possible NULL ptr reference - dlgAlert.cpp: properly terminate the alert template buffer since SDLGui_FindEditField() is called before it is filled. 2014/07/26 - Philipp - configure.ac: recognize SDL framework for Mac OS X - MacAranym.xcodeproj: acinclude.m4 has been replaced by content in m4 directory 2014/07/18 - Thorsten configure.ac: fix some typos. 2014/07/18 - Thorsten Fix building on MinGW. 2014/07/18 - Thorsten Get rid of old UAEDEBUG related code, and implement a real disassmbler. 2014/07/18 - Thorsten Add preliminary SDL2 support. Does not use any new features yet, but should work as before with SDL2. 2014/07/18 - Thorsten Fix some bugs in the JIT compiler: - compemu_support.cpp: use vm_acquire() rather than malloc() to allocate the blockinfos, since some variables in the structure are accessed by JIT compiled code and must therefore be in 32bit address range. - vm_alloc.cpp: use separate base addresses for 32bit and 64bit - compemu_midfunc_x86.cpp: implement flush_cpu_icache() for x86 - codegen_x86.cpp: add some missing ADDR32 to instructions that access memory. 2014/07/16 - Thorsten Fix some problems reported by Valgrind. 2014/07/13 - Thorsten - sigsegv_common_x86.h: disabled forgotten debug output from previous commit 2014/07/13 - Thorsten - main_unix.cpp: move uninstalling sigsegv handler to system dependent code (where it was installed) 2014/07/13 - Thorsten - sysdeps.h: add (experimental) code to force memory references to always use registers, to simplify decoding in the segfault handler (disabled by default) 2014/07/10 - Thorsten Fix build with --enable-flight-recorder 2014/07/08 - Thorsten - sigsegv_cygwin.cpp: remove handler from global exception list before calling abort() 2014/07/08 - Thorsten cygwin: Make sure SDL_opengl.h uses the WIN32 API of gl.h, since SDL.dll is using it. 2014/07/08 - Thorsten Restructured NFOSMesa support, supporting OpenGL 4.4 / Mesa 10.1.4. osmesa.ldg usable now as a direct replacement for TinyGL.ldg - tools/dyngl.pl: complete rewrite - tools/glfuncs.h: new file (generated from /usr/include/GL/gl.h, glext.h from Khronos group and osmesa.h from Mesa 10.1.4) - atari/nfosmesa/link-osmesa.h, atari/nfosmesa/link-gl.h, atari/nfosmesa/lib-gen.pl, atari/nfosmesa/enum-misc.h, atari/nfosmesa/enum-glext.h, atari/nfosmesa/lib-glext.c, atari/nfosmesa/enum-gen.pl, atari/nfosmesa/link-glext.h, atari/nfosmesa/enum-osmesa.h, atari/nfosmesa.xdd/nfosmesa.c, atari/nfosmesa.xdd/Makefile, src/dyngl_gl.c, src/dyngl_glext.c, src/include/dyngl_gl.h, src/include/dyngl_glext.h, src/natfeat/nfosmesa/call-glext.c, src/natfeat/nfosmesa/dispatch-gen.pl, src/natfeat/nfosmesa/call-gen.pl, src/natfeat/nfosmesa/dispatch-osmesa.c, src/natfeat/nfosmesa/unload-gen.pl, src/natfeat/nfosmesa/load-gl.c, src/natfeat/nfosmesa/pointers-osmesa.h, src/natfeat/nfosmesa/proto-gl.h, src/natfeat/nfosmesa/pointers-gl.h, src/natfeat/nfosmesa/proto-gen.pl, src/natfeat/nfosmesa/load-gen.pl, src/natfeat/nfosmesa/unload-gl.c, src/natfeat/nfosmesa/pointers-gen.pl, src/natfeat/nfosmesa/dispatch-glext.c, src/natfeat/nfosmesa/load-glext.c, src/natfeat/nfosmesa/unload-glext.c, src/natfeat/nfosmesa/proto-glext.h, src/natfeat/nfosmesa/pointers-glext.h, tools/dyngl_c.pl, tools/dyngl_h.pl: removed - src/natfeat/nfosmesa/dipatch-gl.c, src/natfeat/nfosmesa/call-gl.c: regenerated - atari/nfosmesa/enum-gl.h, atari/nfosmesa/lib-gl.c, atari/nfosmesa/lib-misc.c, atari/nfosmesa/lib-osmesa.c, atari/nfosmesa/lib-osmesa.h, atari/nfosmesa/nfosmesa.c, atari/nfosmesa/nfosmesa_nfapi.h, updated - atari/nfosmesa/gltypes.h: new file - atari/nfosmesa/glfuncs.h: new file (generated) - src/natfeat/nfosmesa.cpp, src/natfeat/nfosmesa.h: updated - atari/nfosmesa/nfosmesa_load.c: new file (generated, example use for LDG client code) - atari/nfosmesa/ldg/osmesa.h: new file (generated, declarations of exported LDG functions) - atari/nfosmesa/tinygl_load.c: new file (generated, example use for LDG client code) - atari/nfosmesa/ldg/tiny_gl.h: new file (generated, declarations of exported LDG functions) - atari/nfosmesa/crt0.S, atari/nfosmesa/crtinit.c, atari/nfosmesa/libc.c: new files, for creating LDG with minimal startup code, reducing filesize to ~13kb for tiny_gl.ldg - configure.ac, Makefile, atari/nfosmesa/Makefile: updated to reflect new/deleted files 2014/07/07 - Thorsten - rtc.h, parameters.cpp: add missing country codes from current EmuTOS/FreeMiNT; change greek and slovak code to match current version 2014/07/07 - Thorsten - codegen_x86.h: Get rid of some warnings. 2014/07/07 - Thorsten - sigsegv_*_x86.cpp: changed include of "sigsegv_common_x86.h" - sigsegv_common_x86.h: Add some more missing decodings 2014/07/06 - Thorsten - sigsegv_darwin_x86.cpp, sigsegv_common_x86.h: Fix build on MacOSX 2014/07/06 - Thorsten missed sigsegv_common_x86.h in last commit 2014/07/06 - Thorsten - */sigsegv_x86.cpp: merged x86/x86_64 cpu emulation into sigsegv_common_x86.h; update x86 ports to use it. - sigsegv_common_x86.h: new file with core x86 cpu emulation, fixing some decoding errors. 2014/07/04 - Thorsten - cdrom.cpp: removed unused variable 2014/07/03 - Thorsten - compemu_midfunc_*.{cpp,h}: rename bswap_32/16 because of collisions with endian.h on some systems 2014/07/02 - Thorsten - configure.ac: remove some obsolete tests 2014/06/29 - Thorsten - nfcdrom_win32.cpp: Get rid of some warnings. 2014/06/29 - Andreas - fpu_mpfr.cpp: avoid crash if fpu_exit was called without fpu_init 2014/06/29 - Thorsten - parameters.cpp: print a few more infos 2014/06/28 - Thorsten - hostfs.cpp: convert drive letter in absolute symlinks like /C/mint to lowercase 2014/06/28 - Thorsten - some more fixes to #ifdefs 2014/06/16 - Thorsten Some more small fixes in format specifiers of debug output 2014/06/16 - Thorsten - hostfs: small fix to handling of absolute symlinks 2014/06/12 - Thorsten Some small fixes in format specifiers of debug output 2014/06/03 - Jens - aranym.spec CentOS fixed 2014/06/02 - Jens - flags_x86.h : Fixed codes VC/VS (never used yet) - configure.ac : ARM JIT added - Makefile.in : codegen_arm.cpp compemu_midfunc_x86/arm.cpp added to dependencies - gencomp.cpp : ARM Flags support added (using constant s in condition_codes array instead using x86 codes directly) - compemu.h : Renamed R1/2/4 to RR1/2/4 because it collides with the ARM register of the same name defined in the system includes - compemu_support.cpp : ARM support, Blacklist separator changed to ',' instead of ';', because it was clipped by config loader as a comment split compemu_support x86 midfunc into files compemu_midfunc_x86.cpp/.h - codegen_arm.cpp / codegen_arm.h / flags_arm.h / compemu_midfunc_arm.cpp/.h : ARM JIT (remember it is still experimental and there's a lot of things that could be optimized in the next step) - codegen_x86.cpp : Map new RR1/2/4 definitions to old R1/2/4-Style - test_codegen_arm.cpp : some testing (standalone) - MacAranym.xcodeproj : Fixed broken mac build (SDL CDRom) 2014/05/28 - Thorsten - hostfs: make translation of symlink targets from/to host filenames configurable. 2014/05/24 - Thorsten - Use #if/#ifdef more consistently 2014/05/24 - Thorsten - Implement file ioctls(FSTAT/FSTAT64). Needs also MiNT patch do be effective. 2014/05/24 - Thorsten - clipbrd_cygwin.cpp: Fix cygwin build 2014/05/24 - Thorsten - configure.ac: clean up help output from --enable-xxx 2014/05/24 - Thorsten - input.cpp: don't hide host mouse when entering a window that is above Aranyms window 2014/05/24 - Thorsten - input.cpp: don't panic about unknown keycodes unless debugging 2014/05/24 - Thorsten - hostfs: fixed handling of absolute symlinks with a drive letter only 2014/05/22 - Thorsten Move event filter function to input.cpp, as it can't be chained. 2014/05/22 - Thorsten Missed some changes in previous commit. 2014/05/20 - Thorsten - nfcdrom_win32.{cpp,h}: New, implementing NatFeat CDROM for win32 - nfcdrom_sdl.{cpp,h}: New, implementing NatFeat CDROM for SDL that was previously in nfcdrom.{cpp,h} 2014/05/18 - Thorsten - configure.ac, Makefile.in, newcpu.h: Fixed nasty bug that clobbered local variables when compiling without optimizing 2014/05/14 - Jens - src/Unix/MacOSX/scripts/gen_machfiles.sh - Removed forgotten debug code 2014/05/14 - Thorsten - hostfs: improved handling of symlinks 2014/05/13 - Jens - src/Unix/MacOSX/scripts/gen_machfiles.sh - Prepared for XCode 5 on Mavericks - src/uae_cpu/compiler/codegen_x86.cpp - Fixed typo 2014/05/13 - Xavier Joubert - tools/build-cygwin.sh: Updates to cygwin build script 2014/05/13 - Thorsten Get rid of some warnings. 2014/05/13 - Thorsten Fix building for cygwin 2014/05/11 - Thorsten Some fixes for nfcdrom: - fix calls to CloseDrive() in nfcdrom_linux - fix return values at various places to return TOS error codes 2014/05/11 - Thorsten Various fixes to hostfs support: - implement FUTIME - fix FUTIME_UTC - changed the ifdef USE_FS_EXT3 to instead look at the flags that are passed from hostfs.xfs - xfs_getxattr returned a wrong value for st_blocks when blksize != 512. - use hosts FIONREAD instead of seeks, when that is available. - implement Fcntl(FSTAT) and FSTAT64 - implement xfs_hardlink - support nano-second timestamps if host provides it 2014/04/21 - Andreas - bootos_linux.cpp: always load ramdisk to end of memory chunk *** repository tagged as ARANYM_0_9_16 2014/04/12 - Petr - input.cpp: improved the help message in window title - various files: version++ and other minor updates for the new release 2014/03/30 - Philipp - MacAranym.xcodeproj, configure.ac: Fixing build on Mac OS 10.9 / Xcode 5.1 2014/03/16 - Andreas - New config setting [LILO] LoadToFastRAM to load kernel in FastRAM 2014/02/12 - David Gálvez improves NF USB support - Delete some FreeMiNT's specific code, like usb_device struct, leave the updates to the members of this struct to FreeMiNT's driver. - Remove some endianess swapping where not necessary, and add them where was needed. Use SDL function instead our owns. - Update API version, because some function have now less parameters. - Fix some return values. 2014/01/01 - Patrice - ikbd.cpp - force transition for GPIP pin 2013/11/05 - Andreas - fpu_mpfr.cpp - Be more careful about SNaN 2013/11/03 - Andreas - newcpu.cpp - Fix printing of sign-extended operands in disassembler - fpu_mpfr.cpp - Preserve the bits of NaN 2013/10/23 - Andreas - fpu_mpfr.c - Improve accuracy of denormal results, fix decoding of FBcc.L - Unix/vm_alloc.cpp - Use MAP_32BIT only when requested 2013/08/22 - Jens - m68k.h - Added ARM flags optimization - configure.ac - Added ARM flags optimization - sysdeps.h - Improved clobber list 2013/08/17 - Jens - configure.ac : Added ARM Assembly compiler flags (build armv6 optimized assembly on armv6 and above) - src/Unix/sysdeps.h : Improved __asm__ memory access (supports armv6, armv7 and common arm) (ARMV6_ASSEMBLY for armv6 -> armv8; or ARM_ASSEMBLY for armv1 -> armv5) because extended optimation is for armv6 and above i.e. --build=armv5l-unknown-linux-gnueabi will build an generic arm version with common ARM instructions - sigsegv_linux_arm.cpp : Bug fixed with word/int byte order 2013/08/12 - Jens - configure.ac : Added sigsegv_linux.arm.cpp for linux ARM Architecture - sigsegv_linux_arm.cpp : sigsegv support for ARM Linux - Support for --enable-addr-check=sseg on ARM Linux 2013/06/16 - Jens - configure.ac : Reverted to previous FIXED_ADDRESS implementation for 64 Bit previous change wasn't necessary - sigsegv_darwin_x86.cpp : 64 Bit code - sigsegv_darwin_x86.cpp : xor added statement - New files: MachServer.c, MachUser.c and gen_machfiles.sh - MacAranym.xcodeproj: New build phase gen_machfiles - sigsegv_linux_x86_64.cpp : New 64 Bit Jit for Linux 2013/06/02 - Jens - MacAranym.xcodeproj: Fixed Profile settings - configure.ac : Fixed typo 2013/06/01 - Jens - bpf_helper.c: Set executable flag in fix permissions and wait for child processes to finish. - configure.ac prepared for 64Bit Fixed addressing vm_allocate on darwin targets - MacAranym.xcodeproj: Fixed Packaging scheme for 32/64 Bit Targets - sigsegv_darwin_x86.cpp: added break in set_eflags. (Not sure if the eflags are really relevant) - sigsegv_darwin_x86.cpp: Fixed X86_REG_EDX - sigsegv_darwin_x86.cpp: Limit to BAD_ACCESS and forward_exception to enable XCode Debugging 2013/05/05 - Philipp - MacAranym.xcodeproj: Removed specific compilation flags of bpf_helper target. This should enable error-free compilation with Xcode 3.1. 2013/05/01 - Philipp - newcpu.cpp/compemu_fpp.cpp/fpu_ieee.cpu: fixed bugs which were reported as warnings by LLVM. 2013/04/28 - Philipp - ethernet_macosx.cpp: BPF packet filtering improvements: added a new filter for multi-cast packets (MAC based) and another filter solely based on the IP address (ARP and IP protocol only). "nofilter" should only be used for debugging, as it causes memory leaks on the Atari/MiNT side and therefore system crashes. Implemented multi-packet reads from BPF device (one read operation can deliver multiple ethernet frames). 2013/04/28 - Andreas - uae_cpu/compiler/compemu.h: Avoid conflict with definitions from , imported by SDL. 2013/04/19 - Philipp - ethernet_macosx.cpp: fixed memory leak on Atari side by implementing a working packet filter which ensures that only valid ethernet frames are forwarded to the Atari side. Removed the "nofilter" keyword. Thanks to Zorro for pointing me to this severe bug. 2013/04/18 - Philipp - natfeat/ethernet.h: Increase MAX_PACKET_SIZE to 9000 to allow enabling Ethernet on systems with MTU bigger than 1514. - ethernet_macosx.cpp: Fix memory overflow in BPF driver. *** repository tagged as ARANYM_0_9_15 2013/04/15 - Petr - input.cpp: fixed click to grab input, added proper host<->Atari mouse sync - ikbd.cpp: fixed SendMouseMotion() and MergeMousePacket() - include/aradata.h: added setAtariMousePosition() 2013/01/23 - Petr - natfeat/nfvdi.cpp: fixes a bug (sort of a race condition) in NFVDI. When fVDI switches to 32-bit display in VdiDriver::setResolution(), a new HostSurface is created immediately for the VDI driver. Then the video mode change is applied to the host window only on next VBL, in HostScreen::refreshSurface(). But in VdiDriver::expandArea(), there was a bogus test: if (host->video->getBpp() == 8) { This was wrong, because the VDI made a test on the host window surface, which would only be correct on next VBL. Found and fixed by Vincent Riviere. - bootos_emutos.cpp: fix for now correct BCD date format in EmuTOS by Vincent. 2013/01/14 - Petr - include/natfeats.h: added proper check for end of memory block that is to be copied between host and guest using the LIBC memcpy(). Re-enabled NATFEAT_LIBC_MEMCPY fast copying in NatFeats because I believe it's relatively safe now when there are checks for begin and end of the Atari memory block. Atari memory is contiguous so when both begin and end of the block is readable/writeable the whole block should be OK to copy by LIBC memcpy. 2013/01/13 - Petr - input.cpp: "Reseting weird mouse packet" error message changed to "Resetting suspicious mouse packet" debug message thus it'll no longer annoy you. Thanks to Helmut Karlowski for pointing it out. - include/natfeats.h: added switch for previously default and dangerous direct LIBC memcpy() to/from guest provided memory pointer. Now it is disabled by default and byte by byte copying routine is used instead (guest programs should no longer be able to kill the whole ARAnyM). It might affect the NatFeats performance negatively so if required set the newly introduced NATFEAT_LIBC_MEMCPY define to 1. In addition the direct LIBC memcpy() is now guarded by proper pointer check so even if you enable it for speed reasons you should still be relatively safe. Thanks to Thorsten Glaser for providing simple linux user program that was able to kill ARAnyM by issuing NF_NAME NatFeat. - natfeat/nf_basicset.cpp, natfeat/ethernet.cpp: removed incorrect ValidAddr checks. 2012/09/24 - Philipp - Xcode 4.5 project/build system: fixes for building with OS X 10.8, changed packaging DMG to include README_ethernet.rtf instead of TunTap description, adjusted detection of aclocal and makedepend to support usage of MacPorts - Disabled loading of WMIcon on MacAranym as the correct icon is already bundled with the application. *** CVS tagged as ARANYM_0_9_14 2012/09/20 - Petr - README, NEWS: updated for a new release - aranym.spec, version.h, export: increased version to 0.9.14 2012/08/29 - Petr - input.cpp: use host middle mouse button for keyboard/mouse ungrab. Works only if Eiffel mouse middle button/wheel mode is not enabled. 2012/07/27 - Philipp - Added new option --enable-bpf-ethernet for Mac OS X. This allows using bridged ethernet without installing TunTap kernel extensions. See README_ethernet.rtf. - ethernet_macosx.cpp: Berkley Packet Filter (BPF) based ethernet driver for Mac OS X. This driver supports only "bridge" mode, i.e. Aranym is part of your LAN, with its own IP address. - bpf_helper.c,fd_trans.c: a small utility used to do privileged operations like opening a BPF device. When run for the first time it tries to fix the permissions (chown root, chmod ug+s). The file descriptor to the device is then passed using Unix sockets. - Added Xcode 4 scheme files: added shared schemes for building the targets 2012/07/08 - Philipp - Source cleanup/remove warnings for compilation with latest LLVM compiler of Xcode 4.5 - Building on Mac OS 10.7: Do not set "-isysroot" during compilation. Targetting Mac OS 10.5 is still possible without explicitely specifying the SDK to use for compilation. This was only necessary during Universal Binary builds where explicitely the MacOSX10.4u.sdk had to be used to build multi architecture builds. 2012/05/20 - Philipp - hostscreen.cpp: "enforce VIDEL refresh" was missing => no screen updates during boot up when no nfVDI was active. - gui-osx/SDLMain.m: Fix "deprecated" warning for "poseAsClass" - Xcode project: enable X86_64 compilation beside i386 architecture and build fat binaries. 64 bit support in SDL is only available as of Mac OS 10.6. Therefore on 10.5 only the 32 bit version will run. - hostscreen.cpp: fix missing check for "SingleBlitRefresh" configuration in refreshScreen(). 2012/05/17 - Philipp (Based on the patches provided by Olivier Landemarre) - nfvdi_soft.cpp: Performance improvements by skipping memory translation if MMU emulation is disabled. - dirty_rect.cpp: maintain a surrounding rectangle containing the whole dirtied area. - hostscreen.cpp: Two possible modes for updating the atari screen surface and the host screen surface: "chunky" (as in previous versions, uses multiple, small rectangular updates) and "single" (which uses one single rectangular update over the whole "dirty" surface) - parameters.cpp/dlgVideo.cpp: new boolean "SingleBlitRefresh" and "SingleBlitComposing" for the video configuration segment. If set to "Yes" the screen to be composed/screen to be refreshed will be sent in a single BitBlit to the screen/graphics card. If set to "No", only the dirty screen areas are sent by using multiple BitBlits. Default is "No". => Checkout what combination gives you the best performance. 2012/05/13 - Patrice - hostscreen: Merge consecutive dirty blocks to reduce number of update to screen operations. 2012/05/08 - Philipp - MacAranym.xcodeproj: Support compilation with SDL 1.2.15. The standard Mac OS X deployment target is now 10.6, Intel only. It's still possible to compile binaries with PowerPC and OS 10.5 but no more Universal Binaries are going to be built. Build configuration "Release G5" has been removed. - MacAranym.xcodeproj: Added new target "MacAranym MMU MPFR" with MPFR FPU engine enabled. This target needs libgmp and libmpfr from MacPorts. Please checkout the README_Xcode.rtf for more details on how to build. - MacAranym.xcodeproj: Renamed "MacAranym JIT IEEE" to "MacAranym JIT" as JIT already implies IEEE FPU. Further this target has been modified to include always "--enable-jit-fpu". - MacAranym.xcodeproj: Clean-up of project global and target specific configure flags (CONFIGURE_OPTIONS_BASE and CONFIGURE_OPTIONS_TARGET). Automatic detection when COMPILE_DEFS do not match what is generated in the Makefile during configure. It is now easier to change configure options on a target and really getting the right stuff compiled. - sigsegv_darwin_x86.cpp: Fix compilation of JIT if Mac OS X Deployment target >= 10.5 - fpu/mathlib.h: fix compilation problem with in fp_do_expm1 inline assembly and LLVM GCC compiler. 2012/05/07 - Philipp - dirty_rects.cpp/h: implemented setDirtyLine which calculates the surrounding rectangle and adds it to the dirty rectangle list. - nfvdi_soft.cpp: use setDirtyLine instead of setDirtyRect whenever a line is drawn. This fixes redraw glitches whenever a line is not drawn from top left to bottom right. 2012/04/05 - Petr - configure.ac: don't stop if libusb not found (apparently Debian on kfreebsd has the libusb as a fake package or what so the build was failing there) 2012/03/27 - Andreas - fpu_mpfr.cpp: Fix range check when converting to long word 2012/03/24 - Philipp - Fix MacAranym JIT: set/enforce deployment target to OS 10.4 2012/03/23 - Andreas - fpu_mpfr.cpp: Fix missing fpu exception update *** CVS tagged as ARANYM_0_9_13 2012/03/23 - Petr - configure.ac: disable strict aliasing for JIT target (thanks to Miro) - atari/mmusetup.cnf: FastRAM enlarged from 64 to 512 MB, removed Hades specific VideoRAM (thanks to Miro Kropacek) - aranym.spec: Mandriva uses desktop files without the vendor prefix (with the prefix ARAnyM didn't appear in the list of apps) - tools/export: modified for the Debian compatible source archive name aranym_V.E.R.orig.tar.gz - README, NEWS, version.h: updated for new release 2012/03/22 - Petr - natfeat/usbhost.cpp: Change the location of the status register cleaning from the function usbhost_init_libusb to the class constructor. This avoids that under some circumstances devices can't be claimed. Patch by David. - aranym.spec: make use of the new aranym-{jit,mmu}.desktop files 2012/03/20 - Andreas - fpu_mpfr.cpp: fix restarting of FPU insns in presence of access error exceptions 2012/03/20 - Petr - contrib/*.desktop: updated description of the aranym.desktop and added two new files: aranym-jit.desktop and aranym-mmu.desktop - natfeat/usbhost.cpp: fix compiler warning about comparison with different variables types (by David) *** CVS tagged as ARANYM_0_9_12 2012/03/19 - Petr - natfeat/{nfpci,nfosmesa}.h: made supervisor only (with Patrice's blessing) - aranym.spec: disabled nfpci (Patrice says it's incomplete and should even be dropped from the source code completely) - Makefile.in: quiet 'make depend' - natfeat/usbhost.{cpp,h}: postponed the initialisation of libusb from the class c'tor to the moment when the USB SETUP is invoked for the first time. This saves users that will not use the USB from libusb access errors. Also changed some variables type from int8 to int (both patches by David) - README, NEWS, AUTHORS, version.h: updated for new release 2012/03/18 - Petr - aranym.spec: trying to get the build dependencies right (installed Fedora, openSUSE and Mandriva and playing with it) - natfeat/*: moved all name and isSuperOnly to headers for easier grepping - uae_cpu/fpu/flags.h: fix for newer gcc in tfnstsw inline asm parameters 2012/03/17 - Petr committing patch from David Galvez - natfeat/usbhost.{cpp,h}: - Trigger interrupt for "port status change" from a new thread until the driver acknowledges. - Close libusb resources in class deconstructor. - Check inside usb_lowlevel_init function if any usb device is connected and enable "port status change" bit if necessary. - Rename variable idx_int to clearer idx_interface. - Use reset() function to init port status registers. - Code cleanup. 2012/03/16 - Petr - configure.ac, parameters.cpp: list all Native Features that got compiled in 2012/03/15 - Petr - configure.ac: check for ZLIB is now both by pkg-config and autoconf. Also the mpfr library must be version 3.0+ that has different API than previous versions. Checking for mpfr_set_zero ensures that. - natfeat/nfpci.*: name() is const - natfeat/nfosmesa.cpp: fix strict aliasing issue in newer GCC (twice, thanks to Andreas) - dsp_cpu.c: initialize some uninitialized variables 2012/03/14 - Petr - configure.ac: ARAnyM with MMU tries to select the new MPFR FPU if available. Also, the check for ZLIB changed from pkg-config to autoconf. - parameters.cpp: "--version" shows what FPU emulation is compiled in. 2012/03/08 - Andreas - gencpu.c: fix another CAS emulation bug: if the comparison failed the PC was not advanced. Fix CAS2 to properly update both memory operands. 2012/03/07 - Andreas - gencpu.c: fix CAS.[BW] emulation bug - fpu_mpfr.cpp: fix k factor for FMOVE.P, fix FTST and FSCALE, only set FPIAR when exceptions are raised 2012/02/24 - Andreas - fpu_mpfr.cpp: fpu emulation with mpfr library - configure.ac: fixed define HAVE_LIBZ (not HAVE_ZLIB) 2012/01/16 - Petr committing patch from David Galvez - configure.ac, gui-sdl/dlgMain.cpp: added gui-sdl/dlgUSb.{cpp,h}, a new setup dialog with list of all USB devices attached to the host. Users can claim up to two USB devices that can then be used from the Atari side. - natfeat/usbhost.{cpp,h}: greatly enhanced: now it's able to claim any device (except hubs) to the host computer. The interfaces of the USB devices are shown as different devices (for example printer with a scanner will be listed as two devices, printer and scanner) so they can be attached to the ARAnyM guest independently. - atari/usbhost/usbhost_nfapi.h: increased protocol revision 2011/11/08 - Patrice - nfcdrom_linux: Small 64 bit fixes. Move Atari CD-ROM related stuff to generic header. 2011/11/03 - Patrice - nfcdrom: Use proper sized types when compiling for 64 bits. Remove useless __attribute__((packed)) attribute. Always enable nfcdrom, using SDL as default backend. 2011/08/29 - Patrice - Add silent build rules 2011/08/18 - Andreas - src/natfeat/nfosmesa.cpp: Fixed an aliasing issue 2011/08/14 - Philipp - Changed Xcode project to be compatible with Xcode 4 while staying compatible with older Xcode versions - Simplified and unified Xcode project building - Removed warnings 2011/08/10 - Philipp - configure.ac added pseudo function when pkg-config is not existent. - Xcode project: set project root correctly 2011/06/26 - Rodolphe Pineau - Fix a videl function access if blitter code use memmove - fix the uint64 define for Mac OS X 2011/04/25 - François Revol - src/Unix/vm_alloc.cpp: avoid crashing in mprotect() configure test - src/Unix/beos/clipbrd_beos.cpp, configure.ac: NF Clipboard for BeOS 2011/04/02 - milan - src/natfeat/hostfs.cpp, src/gui-sdl/file.cpp, src/ndebug.cpp: fix memleaks *** CVS tagged as ARANYM_0_9_11 2011/02/06 - Petr - version.h: version++ - gui-sdl/dlgMain.cpp: print current version in the ABOUT dialog - README, NEWS, TODO, aranym.spec, tools/export: updated for release 2011/01/26 - Patrice - Use current fullscreen mode size if fixed size is 0x0. 2010/11/26 - Patrice, contributed by François Revol - Add resource file for Haiku and BeOS. 2010/11/20 - Patrice, contributed by François Revol - videl: refresh palette when switching from true color to bitplane mode. 2010/11/10 - Andreas - fpu_*.cpp: don't modify registers before reading fp value from memory. - cpummu.c: fix initialising mmu register. 2010/09/27 - Patrice, contributed by François Revol - BeOS: Fixes for missing includes, defines, and default configuration. 2010/08/27 - David Gálvez - USB NatFeat support 2010/08/17 - Patrice, contributed by François Revol - Consider Haiku as a BeOS target. 2010/08/09 - milan - newcpu.cpp: fix wrong removal of code 2010/07/22 - milan - use macro guard around config.h (contributed by Benoît Tuduri) - removal of distributed dispatcher 2010/07/20 - Patrice - Check availability of realpath() function, lacking on some Mingw flavours. 2010/07/17 - Patrice, contributed by Jean Conter - Preliminary SCC emulation for serial port. *** CVS tagged as ARANYM_0_9_10 2010/05/27 - Petr - README, NEWS, aranym.spec: updated for release - Makefile.in: fixed version_date.h generation 2010/05/26 - Patrice - HostSurface: Even if we do not recreate a new surface on resize, we must still update the width and height of the dirty rectangle list. - VidelZoom: Keep Atari aspect ratio also when using autozoom, with or without integer coefs. 2009/12/29 - Patrice - Disable resizable window, if we set a fixed size in configuration file. 2009/11/21 - Patrice - videl, videl_zoom: Use autozoom feature to correct aspect ratio of Atari screen when pixel shape is not squared (320x400, 640x200 modes for example). 2009/09/21 - Philipp - clipbrd_darwin.M: character set conversion for standard Atari mapping. 2009/09/22 - Petr - clipbrd_x11.cpp: Clipboard NatFeat support for X11 implemented. - nfclipbrd.cpp: init_aclip() added, minor code formatting. - clipbrd_cygwin, clipbrd_darwin: added init_aclip() dummy definition. - configure.ac: enable Clipbard support by default. 2009/09/21 - Philipp - clipbrd_darwin.M: Clipboard NatFeat support for Mac OS X implemented. - nfclipbrd.cpp: Buffering of clipboard content implemented. 2009/09/20 - Philipp - Xcode project: fix building of Universal Binaries when compiling on PPC - configure.ac: fix script generation when cross-compiling ("[: too many arguments" errors) - nfclipbrd.h: remove warning overriding 'virtual const char* NF_Base::name()' 2009/09/13 - Andreas - uae_cpu/fpu/{fpu_ieee.cpp,fpu_uae.cpp,mathlib.h}: remove strict aliasing violations. 2009/09/08 - Petr - natfeat/hotfs.cpp: fixed two crashes if realpath or canonicalize_file_name return NULL (= invalid file/symlink) 2009/09/07 - Petr - ndebug.cpp: quiet 64-bit GCC printf warnings *** CVS tagged as ARANYM_0_9_9 2009/09/07 - Petr - aranym.spec: should create menu entries for aranym-jit and aranym-mmu as well. Improved by David Bolt, our RPM packages maintainer. 2009/09/05 - Petr - natfeat/hostfs.cpp: fixed crash when hostRoot path is empty (happens when BetaDOS maps a drive but ARAnyM config does not). Thanks for bug report to Petr Stehlik junior :-) 2009/09/05 - Petr - input.cpp: Right Shift was not detected properly at startup. Thanks for indirect bug report to Vincent :-) *** CVS tagged as ARANYM_0_9_9_BETA 2009/09/04 - Petr - configure.ac: added check for canonicalize_file_name() - README, NEWS, tools/build_cygwin.sh: usual updates for a new release 2009/09/03 - Patrice - nfaudio: Revert back to 0.9.8 version. Zmagxsnd.prg assumes 44100 Hz stereo 16 bits device, so you must set this configuration in Aranym config file. 2009/09/03 - Philipp - Fixed ALT+mouse click problem by setting environment variable SDL_HAS3BUTTONMOUSE in input.cpp InputInit for MacAranym. 2009/09/03 - Petr - include/input.h: add SDLK_MODE to allowed ARAnyM hotkey modifiers. - gui-sdl/dlgHotkeys.cpp: SDLK_MODE is shown as "MO" 2009/09/01 - Petr - natfeat/hostfs.cpp: the conversion from absolute to relative symlinks (added recently) was broken. Fixed. 2009/08/31 - Petr - natfeat/hostfs.cpp: realpath() with GNU extension that allows passing in NULL instead of a preallocated buffer and which fails on Mac OSX was changed to canonicalize_file_name() that was reimplemented for platforms where it's undefined. The configure.ac has yet to be updated with check for this. 2009/08/30 - Petr - natfeat/hostfs.cpp changes and bugfixes: 1) hostRoot must contain an absolute filepath, otherwise findDrive() fails when searching for a symlink target and that makes all symlinks appearing as normal files (due to a feature of converting symlinks pointing outside of mapped paths to real files - a controversial thing to say the least (read FreeMiNT mailing list archive)). Used realpath() for converting the hostRoot, hopefully it works everywhere. 2) xfs_readdir() now uses the inodes from dirEntries instead of lstat. Let's see if anything breaks. From my testing the dirEntry->d_ino differs from statBuf.st_ino only if the file is a mount point on the host and then the d_ino contains a "better" number than the st_ino, IMHO (st_ino is 1 or 2 in such case). 3) host_readlink() converts relative symlinks to absolute ones. Sounds superfluous but is handy as it converts paths like "X/../Y" to "Y". This is actually crucial for my code added yesterday that tries to find common path between symlink and its target to return a relative symlink instead of an absolute one (in xfs_readlink()). One wonders why the symlink is converted from relative to absolute and then back to relative. Only Standa knows that... 2009/08/30 - Andreas - cpummu.cpp: correct handling of indirect descriptors during table lookup, there are no bits beside the PDT and the descriptor address. Reported by Toni Wilen. - bootos_linux.cpp: avoid often broken gzseek 2009/08/29 - Petr - natfeat/hostfs.cpp: symlinks with both link and target on the same GEMDOS drive are now returned as relative (to please Vincent :-) 2009/08/28 - Petr - natfeat/hostfs.cpp: Vincent found out that an invalid hostFS symlink breaks the readdir() because it calls stat() and fails eventually. Changing it to 'lstat()' fixes it. Also the lstat() for finding out the inode number might be completely unnecessary. Watch out for "d_ino != st_ino" panic message when using HostFS... 2009/08/27 - Petr - input.cpp: Vicent + Philipp report that positioning the cursor at -1 offset when releasing mouse grab causes troubles on Win and OSX thus the offset code is disabled. It wasn't needed anyway as the mouse autograb is disabled now. 2009/08/25 - Petr - ndebug.cpp, linux/sigsegv_linux_x86.cpp, compiler/compemu_support.cpp, compiler/gencomp.c: quiet GCC warnings 2009/08/25 - Andreas - aranym.desktop: Fix Categories entry. 2009/08/24 - Petr - acsifdc.cpp: handle possible error reading the bootsector (also quiets GCC warning) - midi_{file,sequencer}.cpp: print an error if writing fails (also quiets GCC warning) - dsp_core.cpp, input.cpp, ndebug.cpp, dlgFileSelect.cpp, hostfs.cpp, uae_cpu/build68k.c, uae_cpu/gencpu.c, fpu/core.h, fpu/flags.h: quiet GCC warning 2009/08/24 - Philipp - nfvdi_soft: Fixed some redrawing problems with 'soft' NfVDI in bitdepths < 32 2009/08/22 - Patrice - nfvdi_soft: Add workaround for buggy SDL versions for blitting inside same surface. See http://bugzilla.libsdl.org/show_bug.cgi?id=699 for more info about the bug. 2009/07/19 - Petr - hostfs.cpp: fixed a possible crash when calling std::map->erase(). Thanks to David Binderman (for posting to Novell BTS) and David Bolt (for letting me know about the BTS). 2009/05/24 - Patrice - NfAudio: Only triggers interrupt once m68k buffer is filled. 2009/05/09 - Patrice - Add volume setting to audio conversion. - NfAudio: Use audio conversion class. *** CVS tagged as ARANYM_0_9_8_BETA 2009/04/25 - Petr - README, NEWS, TODO, version.h: updated for a new release 2009/04/24 - Patrice - gui-sdl/dlgDisk.cpp: Fix wait for event after generating disk image if no confirmation needed. 2009/03/31 - Andreas - gencpu.c: Correct exception setup for trapping insns. Thanks for hint to Guillaume Tello. - fpu_{x86,uae,ieee}.cpp: Fix decoding of FTRAPcc insn. Don't raise illegal insn exception on unknown condition codes, they merely give unexpected results. 2009/03/09 - Patrice - dsp56k: Simplify read/write memory functions, thanks to Eero Tamminen. 2009/03/01 - Patrice - dsp56k: More fixes from Laurent Sallafranque. RND instruction properly used with scaling modes. 2009/02/24 - Patrice - dsp56k: Cleanups, small optimisation for MOVEC, remove SCI emulation (useless on Falcon). 2009/02/17 - Patrice - dsp56k: Use function pointers to manage mutex and semaphore, to easily switch between threaded and non threaded emulation at runtime. 2009/02/13 - Patrice - dsp56k: Add flag to run with/without thread (Hatari DSP runs without thread). 2009/02/11 - Patrice - dsp56k: More fixes from Laurent Sallafranque. disasm: Avoid repeating n times same instruction. disasm: Replace some sprintf() by strcpy() to avoid some warning. Fix parallel move not using right register as S2. Fix carry computation in add56/sub56. Integrate preliminary work for DSP interrupts. 2009/01/24 - Patrice - dsp56k: Fix decoding for NORM instruction (thanks to Matthias Alles). 2009/01/08 - Patrice - dsp56k: Cleanup for MOVEC instruction parameter decoding 2009/01/03 - Petr - ikbd: added support for reversing mouse Y-axis (IKBD opcodes 0x0f, 0x10) 2009/01/02 - Petr - parameters, doc/config: removed "AutoGrabMouse" config option - input.cpp: mouse handling clean up. Long time tired by automatic grabbing. - fixed possible negative Atari scancode - disabled (temporarily) auto mouse grab when mouse enters the window - will be re-enabled once new proper appl_tplay() based ARAnyM Tools accessory is finished (and XaAES gets appl_tplay implementation). After this the AutoGrabMouse config will no longer be needed. - added ARAnyM SDL mouse cursor (simple white arrow, to be improved), this is to be easily distinguishable from the Atari GEM mouse cursor (for some unknown reason the standard SDL mouse cursor is identical to Atari GEM mouse cursor so you never knew if you had input grabbed or not). - probably managed to remove the warnings about weird mouse motion packets (the initial mouse motion after mouse grab needs to be ignored). - middle mouse button added (only when Eiffel mode is enabled) 2008/12/26 - Patrice - More dsp56k fixes Immediate value for REP is 12bit wide. Fix REP and DO instruction parameter decoding. - OpenGL: Use __stdcall convention on Win32. 2008/12/14 - Petr - atari/*: added proper NatFeat detection with illegal vector handling etc. 2008/12/11 - Petr - configure.ac: disable jit-fpu by default since it's too buggy. Thanks to Anders Eriksson and Magnus Hansson for providing a simple test case. 2008/12/10 - Petr - atari/natfeat.c: don't check for __NF cookie as FreeMiNT removes it so NF drivers could not be started after MiNT - atari/nfpci/nfpci_cookie.c: do not store value to NULL pointer! - atari/nfpci/nfpci.c, atari/nfjpeg/nfjpeg.c: bump version, remove mention about __NF cookie - atari/nfjpeg/Makefile: don't complain when removing non-existing files 2008/12/10 - Andreas - jpgdh.h: Use fixed sized types - fixes NFJPEG on 64bit host. - nfjpeg.cpp: Use fixed sized types. 2008/12/06 - milan - Makefile.in: ungzipped man pages 2008/11/26 - Patrice - dsp56k: More fixes from Laurent Sallafranque. Fix calculation of overflow bit in add56/sub56. Fix accumulator to use for LSL/LSR. Fix registers S2,D2 for TCC instruction. Fix for DIV instruction. 2008/11/24 - Petr - input.cpp: fixed a very annoying unexpected mouse autograb when leaving ARAnyM window with the mouse pointer faster (the SDL_WarpMouse simply set the mouse pointer position back to ARAnyM window and that caused immediate autograb). 2008/11/23 - Petr - parallel_parport.cpp: fixed check for valid handle in getBusy() 2008/11/21 - Patrice - Hardware scrolling quite OK now :-). 2008/11/20 - Patrice - videl: Change lineoffset if hwscroll register not 0. Still needs pixel-precise position, and scrolling for 16bpp mode. 2008/11/09 - Petr - nfvdi_soft.cpp: removed GCC 4.3.2 warning - configure.ac: corrected mailing list address *** CVS tagged as ARANYM_0_9_7_BETA 2008/11/08 - Petr - videl.cpp: fixes ST-Low detection by converting binary OR to logical OR, found thanks to compile warning of the new GCC 4.3.2 - input.cpp: fixes releasing Alt key when entering SDL GUI by correcting the binary operator precedence (& > |) - main.cpp, ethernet_linux.cpp, sdlgui.cpp, hostfs.cpp, fpu_ieee.cpp: removing some new GCC 4.3.2 warnings - aranym.1: "--halt" documented - README, NEWS, AUTHORS, version.h, aranym.spec: updated for new release 2008/10/22 - Patrice - dsp56k: Fixes for LSL,BCHG instructions. 2008/10/21 - Petr - input.cpp: the PC 'End' key gets Milan compatible scancode while the '<>' key (not found on my PC104 keyboard but it is on the PC105, next to the shortened left Shift) now gets the Atari scancode. Thanks to Jo Even Skarstein. - tools.cpp: safe_strncpy() is now even safer :-) 2008/10/21 - Patrice - Joypads: Add configurable buttons mapping to config file. 2008/10/20 - Patrice - dsp56k: Fixes in register,L:xxx when limiting occurs. 2008/10/19 - Patrice - dsp56k: Fixes in L:xxx,register parallel move, both directions. - TOS: Remove patch that disable DMA audio if joypad ports not detected. 2008/10/18 - Patrice - Joypad emulation seems to be working. TODO: Teamtap emulation, and button mapping from config file. 2008/10/16 - Patrice - Started joypads emulation. 2008/10/14 - Patrice - Add section in configuration files to map host joysticks to Atari joysticks. - Use this section to open correct joysticks now, at least for IKBD. 2008/10/09 - Patrice - dsp56k: try to fix detection of end of loop for DO instruction. 2008/10/08 - Patrice - dsp56k: BSET/BCLR were not clearing/setting A2/B2 when changing bit in A/B accumulator (from Laurent Sallafranque). 2008/10/06 - Patrice - dsp56k: Recode sub/add on 56bits in a simpler way. 2008/09/30 - Patrice - dsp56k: disasm: Mark all instructions that may change SR. core: Try again to fix carry bit computation. 2008/09/28 - Patrice - dsp56k fixes: SUB/ADD/CMP: Simply set carry bit if MSB changed, clear otherwise. 2008/09/28 - Andreas - uae_cpu/table68k: Make EMULOP privileged. 2008/09/27 - Patrice - dsp56k fixes: -MAC/MACR should not change Carry bit (from Laurent Sallafranque). 2008/09/21 - Patrice - dsp56k fixes: -DIV instruction calculation (from Laurent Sallafranque). -disasm: mask out address bits to 32K, to read current instruction. 2008/09/16 - Patrice - dsp56k fixes: -Parallel moves: B,A does not transfer full 56 bits. 2008/09/15 - Patrice - dsp56k fixes: -LUA instruction must not change source register. -Parallel moves: disasm for dsp_pm_4, fixes in dsp_pm_1. 2008/09/14 - Patrice - sdlgui: Make a loop, so we can call processDialog of a caller, following an alert. - dsp56k fixes, from Laurent Sallafranque: -REP [x|y]:ea was not reading right value for LC register. -ENDDO must continue with executing following instruction, not jumping to end of loop. -Parallel moves: Some fixes, for _0, _4x. 2008/09/14 - Andreas - acinclude.m4: fix name of cache variables to match *_cv_*. 2008/08/15 - Petr - bootos_linux.cpp: ARAnyM can shut down instead of rebooting when linux-m68k kernel reboots. Added for Stephen who says installing Debian-m68k is easier this way. Enable the shutdown/halt by "--halt" command line option. - various files: GCC 4.2.3's warning about empty 'if' body when there is just D(bug()) fixed by adding curly brackets. Also "text" is const char*. 2008/07/29 - Patrice - dsp56k: Implementation of DSP emulation in plain C. 2008/07/28 - Patrice - dsp56k: Preliminary work to make a plain C only implementation of DSP emulation, to ease merging with Hatari. 2008/07/26 - Patrice - dsp56k: Reworked dsp thread pause/unpause using semaphores. Also enable force execution of dsp instructions till it read/write to the host port, for code that don't use any sync method. 2008/07/25 - Patrice - dsp56k: Wrong calculation of E (extension) bit in SR. Also wrong calculation of CC given SR due to missing masking. 2008/07/23 - Patrice - dsp56k: Fix disasm to match memory mapping changes. Change detection of polling loop on host port, to take into account programs that have some NOPs before JCLR. 2008/07/22 - Patrice - dsp56k: Change memory mapping to match what happens on Falcon. 2008/07/21 - Patrice - input: Warp mouse to center of screen only if mouse grabbed. 2008/07/20 - Patrice - mmu: Wrong check for address in TTR or not, reported by François Revol, who tries to port Haiku (BeOS clone) to Atari. 2008/07/19 - Patrice - dsp56k: Starts commiting fixes in emulation, coming from Hatari. Fix modulo addressing. Also deal with the case where modifier is higher than modulo. 2008/07/18 - Patrice - dsp56k: Starts commiting fixes in emulation, coming from Hatari. JSSET,JSCLR where pushing wrong return address on the stack. TCC: was using wrong registers as both source and destination (emulation, disasm) TFR: was using wrong registers as source (disasm only). ADD,SUB: was using wrong registers as source (disasm only). AND,EOR,OR: was using wrong registers as source (emulation, disasm). 2008/07/15 - Patrice - Add configuration for host audio device. Some machines only support 48 KHz as hardware frequency for example, so 22.05 KHz is not suited. 2008/07/15 - Andreas - Handle universal endianess in gcc_AC_C_FLOAT_FORMAT autoconf macro. 2008/07/14 - Patrice - Finally fixed audio DMA emulation, using new conversion routine. 2008/06/18 - Patrice - Revert 20080526 audio dma changes, introduced too many regressions :-(. 2008/05/28 - Patrice - ikbd: Remove useless mutex, as everything is running in same thread. 2008/05/26 - Patrice Reworked audio DMA emulation: - Moved audio conversion stuff in another file, so it can be used by other audio related functions (existing or future). - Reduce fragment packet size, so the MFP interrupt triggers more often. - HostAudio reset was deleting callbacks, so no more audio was working after that. 2008/02/05 - Jens - aratapif.sh - Expanded shell script that tries to detect Interface and Nameserver parameters automatically, if it is not manually set. 2008/01/31 - Jens - ethernet_darwin.cpp: Changed search path for aratapif.sh to the config dir. I think this is a good location for a file that has to be edited by the user and it makes it possible to have a configuration that meets with the config file. 2008/01/30 - Jens - MacAranym.xcodeproj: grep added to seperate lines with a leading date before for building version_date.h; ENABLE_VBL_UPDATES removed, LOGO_FILENAME added - parameters_Macos.cpp: getDataFolder() now returns application bundle directory - aranym.icns: new icon file 2008/01/30 - Petr - aranym.spec: SDL_image added to "Requires" and "BuildRequires" 2008/01/29 - Petr - include/*.h, ethernet_cygwin.cpp: removed the $Id expandable CVS keyword - template.cpp: unused, removed *** CVS tagged as ARANYM_0_9_6_BETA2 2008/01/29 - Jens - MacAranym.xcodeproj: Added version_date.h and dlgPartition.cpp to build process 2008/01/29 - Andreas - uae_cpu/fpu/types.h: Use long double also on ia64. 2008/01/29 - Petr - aranym.spec: fixed _icondir for Fedora (thanks Martin for bugreport) - natfeat/xhdi.cpp: fixed two bugs that can be serious if you access a block of data beginning with the simulated root sector (thanks Roman for a bug report). - rtc.cpp: fixed check for unspecified --locale (thanks Martin) - contrib/*.desktop: renamed to lowercase, fixed Category -> Categories *** CVS tagged as ARANYM_0_9_6_BETA 2008/01/28 - Petr - sdl-gui/dlgDisk.cpp: the <= 0.9.5 IDE disk size limit was actually 32 GB, not 8 GB. Fixed for maximal backwards compatibility. - sdl-gui/dlgMain.cpp: disable the "Reboot" button if no OS available - contrib/ folder added with 32x32 + 48x48 ARAnyM icons and a desktop file - aranym.spec: modified for icon, desktop file and new build root - Makefile.in: removed strip from 'make install' (Debian bug #436479) - doc/aranym.1: document the -k command line option - README, NEWS, AUTHORS, TODO, version.h: updated for new release 2008/01/27 - Andreas - uae_cpu/fpu/mathlib.h: Fix fast_fgetexp to compute unbiased exponent as signed value. 2008/01/27 - Petr - input.cpp: fix hotkeys (or generally all modifiers) when NumLock is enabled - sdl-gui/dlgDisk.cpp: restore original 63 Sectors-Per-Track for IDE disks smaller than 8 GB. This fixes C/H/S auto-detection for disk images created with ARAnyM 0.9.5beta or older. 2008/01/26 - Petr - parameters.cpp: "--locale " or "-k " where is one of 18 supported ISO 3166-1 alpha-2 codes. - gui-sdl/*: various little improvements to layout or Help texts - "GuiAlpha" setting removed - it was a nice demo of OpenGL capabilities but wasn't really useful. 2008/01/24 - Petr - rtc: patch() now can optionally set also the system language and keyboard layout. - parameters: new command line switch -k for setting up the NVRAM keyboard layout. 2008/01/23 - Petr - dlgPartition.cpp: added missing PartID edit field 2008/01/20 - Petr - gui-sdl: added Partition setup (in dlgPartition.cpp) - allows editing SCSI0 - SCSI3 (ARAnyM allows up to 8 SCSI drives = host partitions) - dlgDisk.cpp: fixed creating disk image. And when file is not found the filename field is disabled (visual guidance for the user) - file.cpp: some unused functions removed. 2008/01/18 - Petr - xhdi.cpp: fix recently introduced read-only problem ("error writing"). Also improve error messages and disable all partitions at init time. 2008/01/17 - Petr - xhdi.cpp: don't fopen()/fclose() on each transferred sector. Should speed things up a lot. Also force data flush on ARAnyM exit. - configure.ac: proper check for fseeko() and fsync() 2008/01/16 - Petr - xhdi.cpp: fseeko->fseek for MinGW - hostfs.cpp: added missing POSIX functions in MinGW (mostly fake/empty/error returning). ARAnyM compiles under MinGW now, and even runs fine, it seems. The POSIX emulation should be improved, though. Just follow the "FIXME" notes... 2008/01/15 - Petr - xhdi.cpp: fseek->fseeko for 64bit file offsets. Thanks Roman Zippel. - emu_bochs.h: removed snprintf redefinition to fix MinGW compile. Also corrected debug functions. - hostfs.cpp: added some fake #define for missing statfs flags - Makefile.in: the GEN_DIR source files are compiled without the SDL_CFLAGS now to fix building under MinGW 2008/01/11 - Andreas - Makefile.in: Remove unknown option from sed call. More complete dependency generation. - natfeat/nfvdi: Remove misplaced std::. 2008/01/07 - Stefan - darwin/Makefile: There was an error in the generation of the config_tmp.h file, I used '>' for redirecting the first three lines instead of '>>', thus of course the first two lines where lost. - darwin/aranym.xcodeproj/project.pbxproj: Removed some orphan file references. 2008/01/07 - Stefan - darwin/Makefile: Fixed a dependency problem between the depend targets and the config.h file. Now an intermediate file config_tmp.h is generated, which the depend targets copy into config.h. The config_tmp.h now has an inclusion guard and just includes either the config_i386.h or config_ppc.h file. 2008/01/06 - Stefan - Makefile.in: Changed CPU_TYPE to ARCH to have a more consistent naming. Removed -I$(top_srcdir) from CPPFLAGS as it is not needed any more. Added $(builddir)/ to version_date.h. Added missing $(top_srcdir)/ to ChangeLog. Added DEPEND to use architecture dependent depend files. Commented out the makefile definiton with WORD and WORDS, as we now have architecture specific depend files. Instead now makefile is defined to $(builddir)/Makefile. - darwin/Makefile: Added targets depend{,_i386,_ppc} to generate dependencies and distclean{,_i386,_ppc} to have clean and distclean targets similar to the Makefile. Changed usage of make again to use the -C option. Thus now the targets are build in the same way then for other systems. This has been necessary because the builddir now is fixed to "." and can't be changed. On the other hand it's possible now, as we have the dependencies in other files. - configure.ac: Added the option -mmacosx-version-min to ISYSROOT, this should fix the build on Leopard without the crt1.o workaround. Changed the srcdir for darwin back to ".", as now make is used with the -C option. - INSTALL: Fixed the path description to the executable. - mfp.cpp: Commented out the panicbug "mfp_do_interrupt called when another higher priority interrupt is running", as it is issued continuously when MagiC runs. - ndebug.{cpp,h}: Added issavettyvalid and thus fixed ndebug in case the terminal is not supporting tcgetattr(). - darwin/aranym.xcodeproj/project.pbxproj: Updated the Xcode project file to contain new files and to use SCM/CVS. Also cleaned up some settings. 2008/01/05 - Andreas - Makefile.in: Make sure version_date.h is up-to-date. 2008/01/05 - milan - real adressing mode removed from code - Sun Studio supported - C++-izing standard includes here and there, adding std namespace - removing GNU extensions (sed in Makefile.in, -Wall in configure.ac) 2008/01/05 - Petr - acsifdc.cpp: alloca() replaced by std::vector thanks to Blaine's suggestion - hostscreen.cpp: variable array size is C99, not C++ - replaced by vector - logo.cpp: set the USE_ALPHA - hostscreen.cpp: don't crash if logo.png not found - Makefile.in: install logo.png - version_date.h: removed from src/include, moved to root (next to Makefile) - input.cpp: SDL_GUI is configurable - main.cpp: unused HEARTBEAT removed 2008/01/04 - Petr - hostscreen.cpp: alpha blend the logo onto VIDEL screen for half of second upon boot when OpenGL video is enabled. - data/logo.png: updated, in different color, with white background (for now) 2008/01/04 - Patrice - host_surface: Add constructor to create surface with a given SDL_PixelFormat. The logo needs to keep its alpha. - configure.ac: Remove '-fomit-frame-pointer' option, prevent exceptions from being processed. 2008/01/02 - Petr - parameters.*: logo_path removed from the configuration file - hostscreen.cpp: logo is stored in the data folder - logo.h: LOGO_FILENAME could be redefined at compile time, if required... - include "version.h" only where required - generate "include/version_date.h" from the ChangeLog and include it in version.h to get better idea what CVS version was used for building a binary. 2008/01/01 - Jens - Makefile.in - Additional Include path, else the darwin build doesn't find config.h (may be an issue with MACOSX 10.5) - parameters.cpp - Default search for logo in application bundle on MacOS - input.cpp - don't use mouse grabing if setup gui is open, because the mouse was hidden and was not usable in the Setup GUI - xcodeproj - SDL Image added, copy logo from data to application bundle. Debugging disabled, because NDEBUG is not working, if Aranym is started from an application bundle in Leopard (tcgetattr = -1) - logo.png - added because it is necessary for the application bundle - ethernet_darwin.cpp - check first that the device is available (TUNTAP) - debug.cpp - Fixed compilation error if debug is disabled 2007/12/30 - Xavier - tools/build-cygwin.sh: updated to fit the new building system. 2007/12/30 - Petr - gui-sdl/*: ARAnyM SETUP is 76 columns wide now. Main, Alert, FileSelect and Disk dialogs were enlarged to full width. Couple more smaller dialogs were updated to look better. - gui-sdl/dlgDisk.cpp: Fixed entering of large disk image sizes (> 99 GB). Fixed updating of IDE1 values. - gui-sdl/dlgAlert.cpp: dialog width is flexible now. - gui-sdl/dialog.{cpp,h}: redrawing of released touch exit button fixed. 2007/12/29 - Andreas - Makefile.in: Fix dependency generation. 2007/12/28 - Petr - data/wm_icon.bmp: added a 32x32 BMP version of new ARAnyM icon created by Anders Eriksson (thanks!) - main.cpp: set the new icon in the window manager - Makefile.in: copy the new icon to the data folder upon installation - parameters.cpp, rtc.cpp: less verbosity at start up - main.cpp: RTC timer is probed and if it fails then a safe fallback to SDL timer occurs... - configure.ac: RTC timer is enabled by default on Linux platform 2007/12/22 - Patrice - opengl: Always use reversed pixel type for BGRA texture format. 2007/12/21 - Andreas - main_unix: Unconditionally call ndebug::init before parsing command line. 2007/12/21 - Patrice - opengl: Always destroy/recreate texture, as most platforms need it anyway, like MacOSX and win32. 2007/12/19 - Patrice - Makefile.in: Generate dependencies in .depend file, included at end of Makefile. Remove dep (useless?) target. 2007/12/19 - Andreas - Makefile.in: Fix compilation outside source directory. Use standard autoconf variables builddir and top_srcdir. - darwin/Makefile: Change makedir to builddir. 2007/12/18 - Patrice - opengl: Use BGRA texture format if available, till FVDI driver can cope with whatever format we could use. 2007/12/17 - Patrice - gui: process current dialog if a touchexit object is currently pressed. - opengl: disable changing surface format for a compatible texture format, till the fvdi driver is fixed. 2007/12/16 - Petr - main.cpp: SDL_Delay() in the POSG (Power On Setup GUI) increased from 1 to 20 in order to minimize the host CPU load. - natfeat/nfvdi: added reset() function that re-enables VIDEL rendering so after Ctrl+Alt+Del user can see the Fuji/EmuTOS logo :-) 2007/12/16 - Patrice - hostscreen: only update visible part of surface. Dirty rects and surface may be bigger. - gui: fix disk related dialog, writing missing parts. Also fix test cursor updates by always redrawing dialog, then cursor above it. Fix mouse up/down button press events, to properly update object states. Do not wait for an event to refresh file list in selector. 2007/12/12 - Patrice - hostsurface: add alpha property :-). And alpha setting for GUI. Add parameter to force SDL Surface recreation, so OpenGL can use a format that suits texturing formats. 2007/12/11 - Patrice - hostsurface/hostscreen: Need to keep track of created surfaces in a list. Tell surfaces when to recreate OpenGL texture objects (for sure happens on win32 - do not know about other platforms that may require it). Store surface parameter inside surface. Only do screenshot once rendering is done. 2007/12/10 - Patrice - sdlgui: Use SDL_GetTicks() to blink cursor at a fixed rate. - main: No need to check which driver it is for fullscreen state. We read it when setting video mode. - hostscreen: Allow screenshot in OpenGL mode. 2007/12/09 - Stefan - darwin/Makefile: The architecture dependend binaries were build inside the darwin directory, but for the universal binary they were taken from the main directory ($(makedir)) and the universal binary got stored there, too. For the application bundle then a universal binary was taken from the darwin folder again. The build didn't fail if there still were older binaries at both locations. Anyway the application bundle contained a wrong binary. - darwin/aranym.xcodeprj: As now the application bundle is build again as src/Unix/darwin/ARAnyM.app, the XCode project doesn't need a custom location for the build product directory any more. - Makefile.in: For the target mostlyclean now instead of TARGET both APP and APP_BUNLDE will be deleted. - src/dyngl.c: Fixed compiler warning about unused parameter. - src/Unix/aratapif.c: Fixed compiler warning about type mismatch. - src/uae_cpu/compiler/compemu_support.cpp: Fixed compiler warnings about type mismatches. - src/uae_cpu/compiler/codegen_x86.cpp: Fixed compiler warning about type mismatch. - src/natfeat/nfosmesa.h: Fixed return type of name() method. - src/natfeat/nfosmesa.cpp: Fixed return type of name() method. - src/natfeat/nfjpeg.h: Fixed return type of name() method. - src/natfeat/nfjpeg.cpp: Fixed return type of name() method. 2007/12/08 - Stefan - darwin/Makefile: Fixed the Makefile to allow a direct jump to errors in Xcode. - Makefile.in: Added $(makefile) to hold the name of the current Makefile. This is needed for depend to append the dependencies to the right file. Added $(makedir) to hold the path to the config.h and other files. This is needed because for the darwin target make is started from a different folder. - configure.ac: Added again a srcdir definition for darwin. - darwin/aranym.xcodeprj: Updated the Xcode project files. - darwin/info.plist: Udated version information. 2007/12/08 - Patrice - main: Move OS init at the end of initialization - hostscreen: add a BOOT screen (empty), used if starting with GUI, and while processing reset - videl, videl_zoom: Zoomed surface also with partial updates: fast. 2007/12/07 - Patrice - hostscreen: make the bitplane2chunky conversion routine static. Remove similar routines that are duplicates. Add more stuff to force a refresh at proper time. - host_surface: Fix saving palette on resize. - videl: update surface using dirty markers. Added crc using Adler-32 algorithm for 16x16 blocks. 2007/12/07 - Petr - cfgopts.cpp: another fix (this time for $HOME without trailing slash) 2007/12/07 - Stefan - darwin/Makefile: Adapted to build files in root directory. 2007/12/06 - Petr - input.cpp: don't close SDL GUI that was not opened yet 2007/12/05 - Petr - cfgopts.cpp: fix for alternate "-c config_file" specified without any path - gui-sdl/sdlgui.cpp: added a space between checkbox and text - gui-sdl/dlgMain.cpp: use safe_strncpy() wherever possible 2007/12/05 - Jens - Fixed building with XCode (adapted to new code structure) - ethernet_darwin: Fixed hostscreen references to toggleScreen 2007/12/04 - Patrice - logo: Keep it in a SDL_Surface to redraw it at will. 2007/12/03 - Patrice - hostscreen: Add selection of screen to display. Could even make it switchable on the fly if needed. 2007/12/02 - Patrice - hostscreen: OpenGL backend done, still small bugs remaining here and there. Use OpenGL to zoom videl surface. - nfvdi: disable OpenGL renderer atm, corrupt our compositing layer. 2007/12/01 - milan - configure.ac: real mode addressing removed from default, target for removal 2007/11/30 - Patrice - host surface: add function to set wanted surface size for opengl that may need power of two dimensions. Add function to set palette. Also save and restore palette when destroying/recreating surface. - host surface for OpenGL, to hold texture information. - hostscreen: OpenGL backend created. Remove bitsperpixel function, only keep bpp that return bit depth. - nfvdi: do not need reset function anymore. 2007/11/29 - Petr - various files: more 'const' fixes from Thothy - gui-sdl/sdlgui.cpp: SDLGui_Draw3DBox() corrected for 8x16 font - gui-sdl/font.h: added much nicer radio button and check box (two chars wide) - gui-sdl/sdlgui.{cpp,h}: SDLGui_DrawCheckBoxState() updated for two chars wide radio/checkbox. 2007/11/29 - Andreas - cfgopts: More fixes for compress_path. 2007/11/28 - Petr - mkinstalldirs: moved from src/Unix ../.. - src/Unix: removed the autotools files, use the top-level ones instead. - various files: added 'const' before 'char *' to satisfy gcc 4.2. Thanks for patch goes to Thomas Huth. 2007/11/28 - Patrice - host: rename hostscreen as video, makes it a pointer. - hostscreen: clear whole screen when need a complete refresh. 2007/11/27 - Patrice - logo, sdl_gui: use host_surface for rendering. - hostscreen: separate function to draw surface to screen, only update dirtied parts. Encapsulate host surface creation there. Remove VBL_UPDATES stuff. 2007/11/26 - Andreas - cfgopts: Fix compress_path. - host_surface: Fix double free. 2007/11/26 - Patrice - videl, nfvdi_soft: use host_surface for rendering. 2007/11/26 - Andreas - tools.cpp: Include . - Makefile.in: Fix reference to mkinstalldirs. 2007/11/25 - Patrice - dirty rects: Don't set flag outside boundaries. - hostscreen: remove mutex for vbl update stuff. - input: Force screen refresh when closing gui. - host_surface: New base class that will hold SDL_Surface used also for texture with OpenGL renderer. 2007/11/25 - Andreas - configure.ac: Don't clobber srcdir. - Makefile.in: append src to srcdir here. 2007/11/25 - Petr - building system moved to the top-level directory configure.ac, Makefile.in: adapted for new paths install-sh, config.*, acinclude.m4, autogen.sh: just copied Simply run "./autogen.sh", "./configure && make" in the top-level dir now. - SDL-GUI fonts: 8x8 font (font8.h) replaced by 8x16 font (font.h) - sdlgui.cpp: try to load "font" file from the ARAnyM config folder. Fall back to hardwired 8x16 font if not successful. 2007/11/24 - Patrice - nfvdi_soft: Put back vdi->hw palette mapping. 2007/11/23 - Patrice - input: do not send mouse motion events to ikbd if mouse not grabbed. 2007/11/22 - Patrice - main: forgot to redraw screen when starting with GUI enabled. 2007/11/20 - Patrice - hostscreen: remove mutex and associated lock/unlock functions. - gui: do not use a thread. - logo: do not try to endlessly load file if not present. 2007/11/02 - Patrice - midi: send NOTE OFF on all channels before exiting. - sdlgui: first steps to nonthread stuff: create separate function to init, process and close a dialog. Blink and redraw text cursor from main thread. Fix fullscreen toggle. Always ungrab+show mouse when opening gui. Move dlgKeypress dialog in its own source file. 2007/10/31 - Patrice - Set 640x480 as minimum size. 2007/10/28 - Petr - cfgopts.*, parameters.*: moving auto conversion of file paths in the config file to CfgOpts class. 2007/10/09 - Philipp - Updated MacAranym.xcodeproj - Moved OpenGL library initialisation from Host to HostScreen where it is needed. - Added more information if OpenGL initialisation failes. - Added missing header file in ethernet_darwin.cpp. 2007/10/05 - Patrice - parameters.cpp: Always set OpenGL stuff to disabled if not compiled in. 2007/09/30 - Patrice - Added logo, path to image configurable in config file. Logo is displayed till Videl is ready. - configure: Test SDL_image separately, it may be used for something else than nfjpeg. 2007/09/22 - Patrice - Allow window resize. Videl, sdlgui and nfvdi surfaces are centered/clipped to the screen surface. 2007/09/21 - Philipp - MacAranym.xcodeproj/project.pbxproj: Fixed project to compile again. - ethernet_darwin.cpp: fixed reference to hostscreen - nfjpeg.cpp: Enabled conditional compilation by adding a check for NFJPEG_SUPPORT. This file is now always included in the darwin project. 2007/09/21 - Patrice - hostscreen: remove temp surfaces used in various places. Also remove drawing functions. No need to inline everything. Remove log messages from include file. 2007/09/20 - Patrice - Need to disable SDL parachutes for signal handlers; conflict with Aranym sigsegv handler? 2007/09/19 - Patrice - hostscreen: member of Host class now, so created and destroyed there. 2007/09/18 - Patrice - hostscreen: create functions to update each part of video subsystem to main surface, which also has its dirty rectangles list. 2007/09/14 - Patrice - nfvdi: render nfvdi screen in its own surface. Should be much faster on MacOSX now even without the VBL_UPDATE option. Added a dirty rectangle class, so we do not have to blit the whole nfvdi surface on each refresh. 2007/09/09 - Stefan - darwin/Makefile: Removed dependency of ppc target from config_i386.h and the dependency of i386 target from config_ppc.h. 2007/09/07 - Philipp - Corrected handling of --enable-ctrlkey in configure.ac and input.cpp (currently only supported by Darwin / Mac OS X target). - MacOSX/MacAranym.xcodeproj: Removed (once again) dependency to SDL_image Framework. 2007/09/02 - Stefan - darwin/busybee.icns: Again another version of the busybee icon. - darwin/busybee112-glossy.xcf: Added gimp file which I use to create the busybee icon. - darwin/Makefile: New targets universal, i386 and ppc to choose the binary type of ARAnyM. The ppc target now should also allow to build ARAnyM on Mac OS X 10.3.9. Fixed an error that the Makefile_ppc or Makefile_i386 is older than its dependencies. - INSTALL: Added description for darwin port. - Unix/Makefile.in: Removed support for .mm, as .M has already been used for C++/Objective C mixed files. We should stick to one extension. - MacOSX/MacAranym.xcodeproj: Updated XCode project file. - darwin/aranym.xcodeproj: Updated XCode project file. - Unix/configure.ac: Renamed SDLHotkeysRefresh.mm to SDLHotkeysRefresh.M. - aratapif.c: Made it compile on Mac OS X. - darwin/ethernet_darwin.cpp: Changed executeScriptAsRoot() to use Host::getDataFolder(). - darwin/German.lproj/InfoPlist.strings: Added this file to allow further localisations. - codegen_x86.cpp: Solved a compiler warning due to an unused local variable. - sigsegv_darwin_x86.cpp: Solved a compiler warning inside catch_exception_raise(), the return value krc now is initialized with KERN_SUCCESS. 2007/08/30 - Patrice - videl, sdl_gui: Render it in itw own surface instead of drawing on main surface (Some small redraw problems remain for sdl_gui with nfvdi). - hostscreen: its refresh function now responsible for setting mode and blitting videl, gui stuff on screen when needed. 2007/08/29 - Philipp - MacOSX/MacAranym.xcodeproj: "Debug" Konfiguration does not create a Universal Binary anymore. It's for development and debugging purpose only, so there is no need to compile each file for PPC and i386! - autoconf.sh: Fixed misleading message about running configure if NO_CONFIGURE is set. 2007/08/28 - Andreas - Rename always_inline to ALWAYS_INLINE to work around bug in MacOS headers. 2007/08/28 - Jens - configure.ac: Added missing $ sign determining OS_TYPE - MacOSX/MacAranym.xcodeproj: adapted to new configure.ac 2007/08/27 - Andreas - configure.ac: replace AC_CANONICAL_SYSTEM by AC_CANONICAL_HOST, use $host_xxx instead of $target_xxx. - Fix make depend. - Replace reserved identifier __always_inline by always_inline. 2007/08/27 Jens - darwin/Makefile: removed config.h.in dependency from Makefile. It makes some trouble building the Makefile target directly after a CVS checkout and I don't think it's really necessary. - gui-osx/English.lproj: Fixed properties tag - MacOSX/MacAranym.xcodeproj:German bundle added to package 2007/08/26 Jens - darwin/English.lproj: Tags set on menu entries - darwin/German.lproj: Tags set on menu entries - darwin/Makefile: Fix to make it 10.3.9 compatible (code for modifying config_ppc.h taken from the xcodeproj) - darwin/ethernet_darwin.cpp: If it is started as fullscreen application, leave the fullscreen mode before opening the authorization dialog. After initialization reenter fullscreen mode. Added Authorization Service to ask for the user password for starting up the ethernet connection. Location of aratapif.sh changed to "~/Library/Application Support/ARAnyM" - darwin/Readme_ethernet.txt: Updated information for installation of the ethernet on Mac. - darwin/sigsegv_darwin_x86.cpp: Commented a enum value to reduce warnings during compilation. - darwin/SDLHotkeysRefresh.mm: New code interacting as an interface between the cpp code and the Objective-C code of the MAC part that updates the menu shortcuts. - gui-osx/German.lproj: Added german version - gui-osx/English.lproj: added tags for the different menu entries. For a list of the used tags see darwin/SDLHotkeysRefresh.mm - MacOSX/Readme.rtf: JIT/Ethernet comment changed - MacOSX/MacAranym.xcodeproj: changed that the configure is running twice for each target, to make sure that the config file is generated correctly for the target. Added Security.Framework. - configure.ac: Fixed a typo using vblupdates; added Security.Framework; added SDLHotkeysRefresh.mm to source list for Makefile build - input.cpp: Fixed getting modifier if it is pushed by a Menu key - gui-sdl/dlgMain.cpp/main_unix.cpp: Call refreshHotkeys() on Mac to update the key shortcuts in the screen menu bar - Makefile.in: Added compilation rules for .mm files. Fixed bundle creation copying frameworks if SDL_image.framework is not available it fails before. 2007/08/19 Stefan - darwin/busybee.icns: I made a new glossy busy bee icon. - darwin/aranym.xcodeproj: Little fix so that the compiler finds the executable. 2007/08/16 Stefan - darwin/host_filesys_darwin.M: Added this file now containing the file system functions. - darwin/parameters_darwin.cpp: Renamed it from .M to .cpp, as of the split-off of darwin/host_filesys_datwin.M there's no Objective C code any longer. - darwin/English.lproj/aranym.nib, darwin/German.lproj/aranym.nib: Added some more menu items to control ARAnyM. - darwin/SDL.M, darwin/SDL.h: Added functionality to recognise configuration files or bundle names passed to ARAnyM at startup due to a double-click on either one. Solved a problem on terminating ARAnyM. - darwin/Info.plist: Added information to start ARAnyM via double-click on files with the extension ".ARAnyMCFG" or ".amcfg". Added information to define a bundle folder with the extension ".ARAnyMVM" or ".amvm". Such a bundle then can contain disk images, ROMs, a config file and also other stuff. A bundel is treated by the Finder like a single file. A double-click on such a bundle now starts ARAnyM, which then looks for an "org.aranym.amcfg" or usual "config" file to use. - darwin/araynm.pbproj: As this file is not in use any more, I now removed it. - darwin/aranym.xcodeproj: Added an XCode project instead. It mainly just relies on the darwin/Makefile. - Unix/Makefile.in: The new XCode project sets its working path to the darwin folder. To gain from the XCode features, I adapted the Unix/Makefile.in that from within the darwin folder make -f ../Makefile_ppc can be started. - darwin/Makefile: Little changes were necessary to start the autogen.sh, configure and make depend separately from within the darwin folder. - configure.ac: Changed the default config file name according the new extension to "org.aranym.acfg". Added a new configuration switch to select either the control or meta key or both to emulate the control key. Added darwin/host_filesys_darwin.M and darwin/parameters_darwin.cpp to EXTRASYSSRC and removed darwin/parameters_darwin.M instead. Changed the srcdir variable to ".." to get the make system working comfortably form within XCode. - input.cpp: Using the new defines to decide for control or meta key to map the the emulated control key. - Unix/config.h: Also here I added the new control key defines MAP_META_TO_CONTROL and MAP_CONTROL_TO_CONTROL. - INSTALL: Added a more detailed description of how to build ARAnyM for Mac OS X. - uae_cpu/compiler/codegen_x86.cpp: Removed some easy compiler warnings. - darwin/sigsegv_darwin_x86.cpp: Removed some easy compiler warnings. - Unix/vm_alloc.cpp: Removed some easy compiler warnings. - uae_cpu/compiler/gencomp.c: Removed some unused functions and thus some compiler warnings. 2007/08/15 Philipp - New Xcode 1.5 project in "src/Unix/MacOSX". Old project in "src/MacOSX" has been removed. 2007/08/13 Philipp - gui-osx: Moved Mac OS X GUI sources into separate folder. 2007/08/12 Jens - hostscreen.cpp: Introduces new option to have delayed screen updates via SDL_UpdateRects. This is necessary to have a fluently updated screen on the Mac in windowed mode (see http://www.libsdl.org/faq.php?action=listentries&category=7#68). It may be useful on some other systems too. - configure.ac: New option --enable-vblupdates for delayed updates - darwin/Makefile: add parameter --enable-vblupdates - main_unix.cpp: Changed calculation for the mirror space address. It should work in 64 Bit now too, it should be the correct address if all related address calculation is done in 32 Bit. 2007/08/10 Jens - darwin/ethernet_darwin: Completed first TUN/TAP support on mac - darwin/aratapif.sh: A shell script version of aratapif - darwin/Readme_ethernet.txt: A short description of setting up ethernet on the Mac - darwin/Makefile: add parameter --enable-ethernet 2007/08/10 - Petr - gui-sdl/dlgHotkeys.cpp: documented one hidden feature - if you need to set just a shifter hotkey (like Right Control for releasing the mouse+keyboard) then press and hold the Right Control and press the [Enter] key. - parameters.cpp: JIT is now preset to Yes so it's enabled by default (unless disabled by the [JIT] section of your ARAnyM config file). - main.cpp: disabled the heart-beat I invented long time ago - it's visually annoying and distracting. - input.cpp: with "-N" (=don't grab mouse+kbd at startup) allow later keyboard+mouse capture by clicking on the ARAnyM window. 2007/08/06 - Petr - gui-sdl/dlgDisk.cpp: pre-select inserted/created disk 2007/08/04 - Jens - configure.ac: Use TARGET_CPU to determine for darwin, if JIT is supported. Set NO_NESTED_SIGSEGV for Makefile build - /MacAranym.xcodeproj/project.pbxproj: JIT part of standard packaging, ethernet disabled by default, since it is out of experimental. - darwin/Makefile: ethernet default =no (see above) 2007/08/03 - Jens - /MacAranym.xcodeproj/project.pbxproj Fixed compiler options; Added SDL-Image framework, MMU support 2007/07/28 - Jens - ethernet_darwin.cpp/h: added ethernet support to darwin directory - configure.ac: Assume ethernet=yes if OS is darwin - ethernet.cpp: Added include to ethernet_darwin.h 2007/07/26 - Jens - darwin/sigsegv_darwin_x86.cpp: First running version of MacAranym with JIT - configure.ac: added parameter --with-classicconfig for classic configuration files and pointed to sigsegv_darwin_x86.cpp for JIT version. - src/Unix/MacOSX/MacAranym.xcodeproj/project.pbxproj: added new target MacAranym JIT and modified the other targets to keep their local parameter inside itself. Also a packaging JIT target is introduced with is a simple clone of the normal packaging target. 2007/07/23 - Philipp - Fixed Mac OS X framework lookup in acinclude.m4. 2007/07/22 - Stefan - include/toserror.h: Added TOS_ENAMETOOLONG with value -86. - natfeat/hostfs.h, natfeat/hostfs.cpp: Implemented xfs_readlabel(). From the hostRoot path the last folder name is used as the label. If for any reason this is not possible (e.g. hostRoot is "/"), then a default label "HOSTFS" will be used. This now enables MAGXDESK, which uses Dreadlabel(), to open hostfs volumes. 2007/07/22 - Petr - natfeat/ethernet.cpp: reset() just stops the receiver thread. Now networking works even after reboot. - Unix/aratapif.c: added include to define inet_aton() - gui-sdl/dlgNetwork.cpp: added type "None" to not store undefined [ETHx] entries 2007/07/20 - Petr - gui-sdl/dlgNetwork.cpp: new dialog for setting up the networking - gui-sdl/dlgHotkeys.cpp: hotkey defined with the Enter key means that the hotkey is actually just the modifiers (useful for mouse/keyboard ungrabbing by combination like Alt+Shift+Ctrl) 2007/07/15 - Stefan - hostscreen.h: Moved inclusion of parameters.h before SDL header files to solve a header file clash when using OSMesa on Mac OS X. - nfosmesa.cpp: Removed unnecessary inclusion of GL/OSMesa.h. - nfosmesa.h: Added conditional definition of GLAPI and GLAPIENTRY to solve a clash of /usr/X11R6/include/GL/gl.h and /System/Library/Frameworks/OpenGL.framework/Headers/gl.h on Mac OS X. - nfvdi_opengl.h: Removed unnecessary inclusion of glu.h, as this is done above already by including SDL_opengl.h. Moved inclusion of parameters.h before SDL header files to solve a header file clash when using OSMesa on Mac OS X. - nfvdi_opengl.cpp: Removed unnecessary inclusion of glu.h, as this is done above already by including SDL_opengl.h. Removed unnecessary inclusion of parameters.h and SDL_opengl.h, which is done already by nfvdi_opengl.h. - sigsegv_xbsd.cpp: Solved a compiler waring about unused parameter x in function segfault_vec(). - compemu_fpp.cpp: Solved lots of compiler warings regarding unused parameters and variables. Some warnings regarding signed/unsigned comparations still exist. - compemu_support.cpp: Solved lots of compiler warings regarding unused parameters, variables and functions. - sysdeps.h: Checking for __STDC__ as well as for __cplusplus, as in ISO C++ __STDC__ is implementation dependant. - acinclude.m4: Slightly changed the check for framework locations. - configure.ac: Added ARCHFLAGS, CPU_TYPE and GENSRCS to support the build of an universal binary for darwin. For darwin also ISYSROOT is therefore needed. Splited generated from existing source files into GENCPUSRCS and GENJITSRCS to not include them into dependency generation. Reactivated darwin defines. Cleaned up the usage of preprocessor (CPPFLAGS) and compiler flags (CFLAGS, CXXFLAGS). Added general JIT support for darwin. Fixed an error in check for WANT_SIGSEGV_GOTO. Added a default include path for OSMesa support on darwin. - Makefile.in: Fixed the VPATH. Cleaned up the usage of preprocessor (CPPFLAGS) and compiler flags (CFLAGS, CXXFLAGS). Fixed the source file name cfgopts.c into cfgopts.cpp. Changed the icon for darwin to busybee.icns. Added CPU_TYPE, ACHFLAGS, GENCPUSRCS, GEN_DIR and a new target APP_ARCH to support an universal binary build for darwin. The tools build68k, gencpu, gencomp and cpuopti get always compiled for the host CPU (thus without the ARCHFLAGS), as they build executables to generate source files to compile for the target CPU again. GEN_DIR and now also OBJ_DIR depend on the target CPU and are used to store PPC and i386 generated and object files separately. The clean target has been adjusted accordingly. Changed target depend to make it also working on Mac OS X, where makedepend is not available. Now CXX is used with option -MM to generate the depedencies. This should now work on all systems. To not get error messages for not existing files, generated source files are now listed in GENCPUSRCS and excluded from dependency generation. - darwin/Makefile: Added this new Makefile to allow an easy setup for the PPC and i386 parts and to finally generate an universal binary of both. - darwin/busybee.icns: Added a new icon. - vm_alloc.cpp: Resolved some compiler warnings if HAVE_MACH_VM is defined. - bootos_linux.cpp: Resolved a double definition of PAGE_SIZE. - cdrom.cpp: solved compiler warning by removing OpenDrive(). Inside cdrom_interface::insert_cdrom() masterPort now is initialized with 0 instead of NULL to remove a compiler warning and omit a cast. - input.cpp: Added a check on define SWAP_CNTRL_AND_META_KEY in keysymToAtari() to swap them or not. - ndebug.cpp: Put a cast to long double for an fprintf() argument inside ndebug::m68k_print() to remove a compiler warning. - darwin/Info.plist: Updated version, date and link to the homepage. - darwin/sdl.m4: Added file to support the new darwin/Makefile. - darwin/SDLMain.M: Cleaned up a little. - darwin/SDLMain.h: Added methods applicationDidFinishLaunching and applicationWillTerminate. 2007/07/11 - Petr - gui-sdl/dlgDisk.cpp: BTS #1627890 fixed properly by raising the max disk size barrier up to 130 GB. Beware - the C/H/S autodetection in the SETUP now forces sectors-per-track to 255 (used to be 63) so the geometry for existing disks that would be auto-detected changes. Not sure if it affects anything but be careful. - ata.cpp: fixed sector counter overflow for 255 sectors per track 2007/07/11 - Petr - gui-sdl/dlgDisk.cpp: check for 8 GB barrier (16383/16/63 C/H/S) - thanks to mikro_sk's BTS #1627890. - aranym.spec: "patch" related lines commented out (thanks Martin Tarenskeen) 2007/07/10 - Petr - MacAranym.xcodeproj/project.pbxproj: fixed by Philipp, version increased - host.cpp: include dyngl.h only if ENABLE_OPENGL is defined (thanks Olivier) *** CVS tagged as ARANYM_0_9_5_BETA 2007/07/09 - Petr - parameters.cpp: compress_path() fixed, now converts absolute paths to shortcuts properly. - Unix/config.{guess,sub}: updated to version 2006-07-02 - NEWS, README, include/version.h, tools/export: updated for new release 2007/07/04 - Petr - rtc.cpp: check NVRAM related config options upon each reset Also fixed NVRAM error in connected VGA/TV monitor (been there since day 1) - gui-sdl/dlgVideo.cpp: radio buttons cleared correctly now.. 2007/07/03 - Petr - bootos_tos.cpp: check TOS related config options upon each reset - hostscreen.cpp: get ready for 'refresh' config option on-the-fly changes - input.cpp: hack for switching between fullscreen/window from the SETUP GUI - main.cpp: wrong millisecond count for 50 Hz VBL fixed (we used to be refreshing the screen at 12.5 Hz instead of 25 Hz since some time) - gui-sdl: added dialogs for patching TOS and for Video settings. Most of the settings require reboot to have some effect and some even cause crashes when changed on-the-fly. Interesting. The autozoom options were added in the hope that it finally helps to get documented how they affect the nfVDI resolution (rumours say that fVDI settings are overriden by this). 2007/06/23 - milan - fpu: Bill Allombert's patch for inaccurate sin/cos/tan insns of x87 FPU 2007/06/21 - Petr - fixed a bug in TOS conout redirection 2007/05/10 - Standa - hostfs.cpp: symlink resolution buffer size glitch fixed and cleaned up - nfvdi_soft.cpp: mfdb.fd_stand extension meanings changed to be bit flags (instead of 0x100 being a value itself as was before used for fVDI antialiased fonts): 0x0100 chunky expandArea 0x1000 fd_wdwidth contains number of bytes instead ofwords Those are used in the aranymfb I have implemented for Linux-m68k (patch to be published). 2007/04/02 - Petr - videl.cpp: a fix from hatari by Thothy: ST-Shifter register is byte wide - cpummu.cpp: Roman fixes 8 kB page mode and adds a flush to set_tc. 2007/03/29 - Petr commiting patch by Roman - cpummu.cpp: the writeback data was written to the wrong location as the pointer was modified. 2007/03/18 - Andreas - fpu_uae.cpp: Make dump_first_bytes a real nop when !FPU_DEBUG. 2007/03/17 - Andreas - memory.h: Change return type of test_ram_boundary to bool and always define it. - newcpu.cpp: Call mmu_set_super in m68k_reset. 2007/03/17 - Petr commiting patches by Roman Zippel - thanks! - newcpu.[cpp|h], gencpu.c: bitfield instructions fixed (were reading a bit too much). Also wrap around of bitfields in registers has been fixed. - cpummu, newcpu, memory.h, registers.h: new core of the mmu atc cache. It's now a two level cache. The first level cache is optimized for speed (and actually consists of subcaches for read/writes, super/user, instruction/data), while the second level is a bit larger and tries to take alias issues a bit into account. - configure.ac: FIXED_VIDEORAM not required for MMU mode. SDL_image added to SDL_LIBS instead of LIBS. 2007/02/18 - Andreas - Repair SDL_image configuration. 2007/02/04 - milan - JITc: 33 bit addressing hack removed, other 64-bit fixes (CMOV, SAHF), code based synced with Basilisk II - distributed dispatcher removed, not used at all - cpummu.cpp now included in all CPU modes 2007/02/02 - Petr - MMU optimizations by Roman Zippel. MMU translations cached for speed up. 2007/01/29 - Philipp - Existence check of MacOS X frameworks. 2007/01/27 - Patrice - Move path related definitions from CXXFLAGS to config.h file. 2007/01/08 - Philipp - Partially fixed background restore for mouse cursor when it's close to right or bottom border. 2007/01/06 - Patrice - Move AC_ defined functions from configure.ac to acinclude.m4 - Thread related CFLAGS are already defined in SDL_CFLAGS - OpenGL library is now dynamically loaded (no more statically linked). It also requires SDL>=1.2.10 to be able to revert to default system one. 2006/12/31 - Philipp - parameters.cpp: fixed loading of data files relative to config file location. 2006/12/30 - Philipp - nfvdi_opengl.cpp: Disabled interpolation for mouse cursor. Cursor is now drawn with correct size (16x16 instead of 15x15). 2006/12/29 - Philipp - nfosmesa.cpp: Added Darwin/Mac OS X specific enhancement which allows loading of libGL and libOSMesa libraries relative to binary executable location instead of bundle location. - configure.ac: disabled testing for SDL_image, as this way of testing fails always on Mac OS X. A new framework aware way of testing has to be found. Removed modification of CFLAGS, CXXFLAGS and LIBS after SDL check. - Makefile.in: Added references to SDL_CFLAGS, SDL_CXXFLAGS and SDL_LIBS variables to corresponding CFLAGS, CXXFLAGS and LIBS. - parameters.cpp: bugfixes concerning loading and saving of Path_Tag variables. The ~, * and config file relative path expansion and compression (when saving) is now done in the corresponding postload_xx() and presave_xx() functions. - README_Xcode.rtf: added description on how to add support for additional NatFeats (NFOSMESA and NFJPEG) to the base project. 2006/12/26 - Patrice - MinGW: sigaction() does not exists. - cygwin: sometimes, audio callback is called before host is defined. - misc: only include when needed 2006/12/20 - Patrice - nfobjs: Add function to search a NF driver by name, use it in input for NFVDI. 2006/12/19 - milan - cxmon support removed, not used for years - gdbstub removed, not finished for years - Unix/solaris/sigsegv_solaris_x86.cpp: Solaris x86 extended segfault handler (JITc support) 2006/12/14 - Philipp - Changed use of compiler defined CPU macros __i386__, __x86_64__, __powerpc__ to their corresponding CPU_i386, CPU_x86_64, CPU_powerpc macros. This is a necessary step for cross-compilation, as some CPU sources are automatically produced (build68k, gencpu). They should take the target CPU type into account and not the CPU type of the current host! - cfgopts.cpp: When saving the configuration on a Mac OS X system, the temporary file is created in /tmp instead of the current directory (path to application), as this directory is in general not writable on Mac OS X. This option could also be enabled for other Unix based systems. - src/Unix/MacOSX/*: Added new project file for Xcode 2.x used to build Universal binaries of MacAranym. 2006/12/14 - Patrice - nfvdi is disableable if needed. 2006/12/13 - Philipp - nfvdi_opengl.cpp: Fixed bug which made Mac OS X crash on gluDeleteTess() even though no tesselation object was created. - hostscreen.h: Changes to remove warnings and errors when compiled on Mac OS X with enabled OpenGL. 2006/12/07 - Philipp - Updated Xcode 1.5 project (=compiles again). Modifications to support dynamic ARAnyM home directory (configurable in Info.plist file). 2006/12/05 - Philipp - nfvdi_opengl.cpp: Fix of not-endianness-aware alpha channel clearing, which made Kronos fail to detect screen format on Mac OS X with OpenGL fVDI driver enabled. *** CVS tagged as ARANYM_0_9_4_BETA2 2006/11/27 - Andreas - uae_cpu/fpu/fpu_ieee.cpp: Fix conversion of extended zero/Inf/NaN to host format. 2006/11/27 - Petr - natfeat/ethernet.cpp, parameters.*: "MAC=aa:bb:cc:dd:ee:ff" added to [ETHx] section of config file - set your desired MAC Address freely now. 2006/11/26 - Andreas - uae_cpu/fpu/fpu_{uae,ieee}.cpp: Fix aliasing issues. 2006/11/26 - Standa - nfvdi_soft.cpp: Fixes for different vswr_mode alpha expansions (newsgroup reader Troll look good now). 2006/11/25 - Standa - nfvdi_soft.cpp: Other then 4 byte per pixel color depth is unsupported for the 8bit alpha expand mode used by fVDI antialiasing renderer. 2006/11/22 - Xavier - uae_cpu/cpummu.cpp: Reverting back to previous state. This is not a bug since instruction is not restarted if access fault is caused by a write. 2006/11/21 - Xavier - uae_cpu/cpummu.cpp: Restore memory to its original state when a misaligned memory write accessing 2 different pages generates an access fault on the 2nd page. Should fix potential problems with read-modify-instructions like NOT, NEG, ADD, SUB,... 2006/11/18 - Petr - Xavier's patch fixes the following instructions that probably misbehaved when restarted due to bus error: MOVE, RTR, SBCD, SUBX, ABCD and ADDX. - Bill Allombert's patches fix several FPU emulation errors: FCMP (Octave didn't even start), FETOX and ATANH (the latest fixed by correcting function fp_sgn1()). 2006/11/13 - Petr - parameters.cpp: there is no reasonable default filename for files that will aranym write to thus MIDI filename set to empty and PARALLEL outputs back to stderr. - parallel_file.cpp: make sure Type is set to "file" before creating the file. This allows for Type = none like in MIDI. Also ensure filename is not empty. - midi_file.cpp: ensure filename is not empty. - natfeat/nfaudio: implemented simulation of locking. At least the Locksnd() and Unlocksnd() XBIOS calls should return proper values now. - parameters.cpp: in [LILO] Kernel and Ramdisk made Path_Tag (filenames might be relative or contain the "~"). 2006/11/11 - Andreas - uae_cpu/gencpu.c: Perform pre-decrement side effect only after fetching the value from memory. 2006/11/11 - Patrice - main,hostscreen: Move video refresh stuff from main to hostscreen. - input: Use const reference to process events. 2006/11/10 - Petr - uae_cpu/gencpu.cpp: fixed RTD insn emulation bug (same problem as the LINK insn below). According to a careful review at least 10 MOVE insns are still affected by this CPU emulation problem on an unmapped memory page boundary (op_11d8_0, op_11e0_0, op_13d8_0, op_2158_0, op_2160_0, op_21d8_0, op_21e0_0, op_23d8_0, op_23e0_0, op_33d8_0) 2006/11/10 very a.m. - Petr - uae_cpu/gencpu.cpp: fixed LINK insn bug - in MMU mode, when restarted due to fetching its operand from an unmapped memory page it decremented the stack pointer twice. This was causing all sorts of weird crashes in Linux-m68k. Similar fix is likely needed for all CPU instructions... - ndebug.cpp: running with debugger active made much faster 2006/11/06 - milan - ndebug.cpp: roll back of Joy's 23rd October - debug.cpp: roll back of Joy's 23rd October - CPU debugger is primary for CPU and key OS functions debugging 2006/11/02 - Petr - parameters.cpp: store IKBD settings to [IKBD] section in config file 2006/10/28 - milan - ndebug.*: const char declarations in debug printfs - cfgopts.h: const char declaration of option name - natfeat/hostfs.cpp: new Solaris versions support struct statvfs - changes around header files on many places - aranym header files included at first 2006/10/23 - Petr - newcpu.cpp: "usp" register dump added to flight recorder - debug.cpp: ignore_irq set to 1 by default (don't trace interrupt routines) - ndebug.cpp: deactivate_debugger on 'g' (so you can enter debugger again). this breaks breakpoints support 2006/10/22 - Petr - uae_cpu/debug.cpp: reformatted using Artistic Style v1.18 using the following switches: "--style=kr --indent=tab=4 --brackets=linux --brackets=break-closing-headers --indent-cases". Also added a simple command prompt prefix: 'i'=fire IRQs while in debugger, 'I'=ignore IRQ routines while tracing. - input.cpp: fixed invoking of internal debugger by pressing the hotkey 2006/10/20 - Petr - uae_cpu/fpu/types.h: "Fix long double support for x86 targets if -m128bit-long-double" - taken from Basilisk II CVS. - input.cpp: Flight Recorder is enabled by pressing the right Shift and disabled by pressing the left Shift key. - uae_cpu/newcpu.cpp: fixed flushing of the flight recorder buffer if driven by hotkeys. Also pre-set more reasonable defaults to FRLOG_XXX defines. 2006/10/12 - Petr - added third MIDI type: 'none' and made it default to avoid creating the /tmp/aranym-midi.bin file if there is no MIDI output. - bootos_linux: added the RESET instruction before the first kernel boot in order to properly initialize hardware. Fixes bug #1543599 - aranym.spec: David Bolt continuously improves the spec file - now it builds the RPM for SUSE, RedHat and also Mandriva and includes desktop entry (aranym.desktop, added to CVS) and an icon. 2006/10/11 - Petr - ikbd, rtc: switch between localtime() and gmtime() (returning UTC). - parameters, doc/config: new parameter "GMTime" set to No by default. 2006/10/09 - Petr - configure.ac: after some profiling (http://wiki.aranym.org/speedtest) I decided to enable protect2k by default for better compatibility with real Atari hardware. Also the cxx-exceptions are enabled by default now for non-SIGSEGV memory boundary checks. They bring a major speed up to MMU mode (up to 60% in the speed test mentioned above). 2006/09/29 - Petr - main_unix.cpp: QuitEmulator didn't actually quit the program which was causing troubles mainly when no operating system was found (i.e. when the InitAll() failed). - input.cpp: InputExit() added as counterpart to InputInit() - it releases the input focus. - main.cpp: free input focus grab in ExitAll() by calling InputExit() - if the ExitAll() freezed somehow (like by calling SDL_CloseAudio, for example) this would at least let the user control their desktop... - Unix/cygwin/parameters_cygwin.cpp: getHomeFolder() and getDataFolder() ignore Cygwin environment now. Home is in Windows user's home (usually somewhere below Documents and Settings), data is where the ARAnyM's executable resides. Based on patch by Blaine Brysh (bbrysh at shaw.ca). Thanks. - main_unix, linux/sigsegv_linux_x86: remove_signal_handler (restore original sigsegv handler if there was any) right after the CPU emulation finished. This is another improvement for a possible crash in QuitEmulator that would now let SDL to clean itself (SDL parachute). 2006/09/26 - Patrice - main.cpp: Pause audio before killing hw then host classes. 2006/09/24 - Petr - GNU/kFreeBSD support in configure.ac thanks to Petr Salinger. Closes Debian BTS #388995 and also ARAnyM's patch request #1549200. 2006/09/22 - Patrice - midi: Splitted in base class and implementation class (file output atm). Added /dev/sequencer output class for Linux. *** CVS tagged as ARANYM_0_9_4_BETA 2006/09/22 - Petr - main.cpp: CapsLock in newer libsdl worked differently in MS-Windows than on my setup. Took me quite some time to figure out that the Debian's libsdl is patched with a fix for CapsLock+NumLock (see Debian BTS #317010). Wish this fix was in upstream but until it's there ARAnyM must contain a workaround that basically disables this fix in Debian's libsdl. - configure.ac, Makefile.in, natfeat/*: --enable-nfclipbrd added. Allowed in cygwin only since there is now implementation of Clipboard interconnection for MS-Windows only. - doc/config: TuneAlignment, TuneNOPfill removed; BootstrapArgs, JITInline added. - doc/aranym.1: man page updated (-P added), project URL corrected - doc/aranym-jit.1, aranym-mmu.1, aratapif.1: new manpages added - aranym.spec: thanks to David Bolt the spec file does not try to build the JIT version on 64bit system (which caused the whole build to fail). - aranym.spec, README, NEWS, TODO, version.h: updated for release 2006/09/14 - Standa - main.cpp: hack for cygwin vs. MinGW SDL_put(get)env mismatch workaround added. 2006/09/09 - Patrice - Videl: copy high bytes of color component to lower bytes, to make white really white. STE has 4bits/component, hence 0xf was 0xf0, Falcon has 6bits/component. 2006/09/04 - Patrice - Midi: don't bufferize data. 2006/08/31 - Philipp - Check global bootdrive variable before saving and after loading config file: it should always be a printable ASCII value. (0 is not acceptable) 2006/08/29 - Petr - ARAnyM window positioning code moved from hostscreen.cpp to main.cpp, changed from platform specific window manager hacks to documented SDL environment variables and changed the command line option to "-P xxx,yyy" or simply "-P center" for centered window. This also removes the problematic stuff in configure.ac for detecting X11 library I added recently. - Linux/m68k now reboots properly (before ARAnyM died with double bus error). Problem lied in missing 'virtual' keyword in definition of 'reset' function in parent class (BootOs). Beware! This inheritance trap can be hard to spot. - emul_op: implemented new M68K_EMUL_OP_RESET instruction that calls the BootOs::reset function and basically reloads the linux kernel into RAM. - bootos_linux: created a simple OS init routine for successful Linux/m68k reboot (the kernel jumps to $e00030). Makes use of M68K_EMUL_OP_RESET. 2006/08/29 - Patrice - midi: output midi as raw values. 2006/08/29 - Philipp - Repaired Mac OS X project file. Now compiles under Xcode 1.5 and can be upgraded to Xcode 2.4 (by ignoring the "path empty" error message). Some changes as suggested by Francois. Slight reorganization. Added README.txt Still has to be tested in relation to previous binary releases. - Updated autogen.sh script to stop if configure step fails. So it's easier to spot the error message and one doesn't get the idea that everything is OK! - Swapped meaning of CTRL and META key for Mac OS X back to "the logical way": The Apple key(s) represent left and right meta key and CTRL key is mapped to Atari CTRL key. ALT was already mapped to Atari ALT. - A new, more Mac like set of keyboard shortcuts defined: Left Apple + , = Open preferences dialog Left Apple + q = Quit Left Apple + r = Reboot Left Apple + escape = Grab/Ungrab mouse cursor Left Apple + d = Enable debugger (if built-in) Left Apple + s = Save screenshot Left Apple + f = Toggle fullscreen mode As you see, I wrote "Left Apple" because you can't define a hotkey to use "any" Apple key. This is a limitation of the current way how hotkeys are defined. 2006/08/25 - Philipp - Various smaller corrections: cdrom.cpp: Corrected some compiler warnings and include statements for OS X cfgopts.h: Added C++ compiler check to avoid compile errors when included from Objective C files. parameters.h: Added C++ compiler check and removed parse error when included from Objective C files. compemu_support.cpp, sysdeps.h: added correct PowerPC detection on Mac OS X systems. - hostscreen.h: Fixed p2c routine for big endian, colors are now correct. 2006/08/25 - Patrice - mkdir() also works for Darwin - Fixed hostscreen p2c routines on big endian, from Philipp Donze patch. 2006/08/25 - Petr - memory.h: finally found and fixed two (hopefully last) MMU problems. 2006/08/10 - Patrice - HostFilesys::makeDir() now accepts permission flags, to be used by hostfs nf. - Disable hardware surface usage, to avoid locking the screen too frequently. Seems to be the only cause for slowness on MacOSX when not using OpenGL. 2006/07/17 - Patrice - MinGW does not have mkdir() with permissions. 2006/07/13 - Standa - input.cpp: fixing bug #1521310: Shifters are now released before the GUI thread is started. - hostscreen.cpp: Trying to fix the toggle fullscreen. Updating the screen after toggle so that it doesn't stay black. Also calls setWindowSize() to set everything correctly. It works for me now. 2006/07/12 - Patrice - MinGW does not have gettimeofday() function. 2006/07/10 - Petr - hostscreen.cpp: window positioning surrounded with an additional SDL_VIDEO_DRIVER_X11 condition - configure.ac: check for X11/Xlib.h is skipped for MacOSX that has the include file available but does not use X11 for the gfx output. Proper fix would probably be to rely on the SDL_VIDEO_DRIVER_X11 define even in the configure... 2006/07/10 - Petr - hostscreen.cpp: window positioning surrounded with #if HAVE_X11_XLIB_H - configure.ac: check for X11/Xlib.h added (for the window positioning) - parameters.cpp: "-P" documented in the --help 2006/06/25 - Petr - hostscreen.cpp: ignore window positioning on OS_darwin - that one does not offer any SDL_SysWMinfo struct. Patch suggested by Philipp Donzé, thanks. 2006/06/05 - johan - nfvdi_opengl.cpp: Corrected alpha mask when blitting from screen to memory. 2006/06/01 - johan - hostscreen.h: Major speedup for bitplane to chunky conversion. Deactivated on big endian CPUs due to bit order differences. 2006/05/30 - Andreas - natfeat/atari_rootsec.h: Fix definition of fixed size integers. 2006/05/08 - Petr - hostscreen.cpp: implemented window positioning for X11. Needs clean up. - parameters.cpp: window positioning no longer cygwin specific. - uae_cpu/newcpu: Flight Recorder more configurable (see the FRLOG #defines) 2006/05/08 - milan - JITc: cleaning, sync with BII 2006/05/05 - Petr - uae-cpu/newcpu.cpp: improved Flight Recorder. Now can dump to a continuous log, skip interrupt handlers, omit register list and most important - it does not hang the OS when fetching the OPCODE like it used to do regularly. - uae-cpu/compiler/compemu_support.cpp: adapted for passing opcode into flight recorder. NB! One place is unfinished - line 6710 - I don't know how to pass in the opcode as second parameter, sorry. 2006/05/01 - Petr - uae-cpu/memory.h: added #ifdef PROTECT2K that brings more ST/TT hardware compatibility to ARAnyM. When defined it protects the first 2 kB of RAM against read/write access in user mode. It's disabled by default mainly because it will kill some performance when activated. - configure.ac: --enable-protect2k added. It's not enabled by default (see above, performance reasons) but it gets enabled as soon as you opt for full MMU emulation. In such case the additional performance loss will not be noticeable and it will add to more complete real HW emulation. - uae-cpu/newcpu.cpp: changed the order of initialization in m68k_reset() otherwise the PROTECT2K falls into a recursive death. It might also fix the problems with rebooting with active MMU (I think it used to crash). 2006/04/13-30 - Standa - Cygwin build: Clipboard NatFeat added. This is to be used by a m68k side filesystem to be committed soon. One would need to point the GEM environment to it by setting the SCRAPDIR or CLIPBRD variable in most AES configs. It is good to know that e.g. Thing overrides this setting with its own. So one need to configure Thing to the appropriate folder. 2006/04/03 - Standa - A new BootstrapArgs [GLOBAL] section config argument that is provided through the BOOTSTRAP NF to EmuTOS which passes those to the kernel as command line arguments. This allows us to boot without the need of mint.ini. E.g. this boots directly without even showing the bootmenu: Bootstrap = ~/mint/freemint/sys/.compile_arad/mintarad.prg BootstrapArgs = DEBUG_LEVEL=1 BOOT_DELAY=0 MEM_PROT=NO BootDrive = C 2006/03/27 - Standa - In MS Windows the window position can now be set using a command line argument [-P xpos xpos]. No config file entries added yet. The command line args are read into bx_options.video.[xy]_win_offset values. 2006/03/03 - Patrice - nfosmesa.xdd: fixed NF pointer read for MiNT device. 2006/02/27 - Petr - tools/build-cygwin.sh: version of SDL increased to 1.2.9 - include/host_clock.h: virtual destructor added - parameters.cpp: anonymous struct named HOTKEYS_REL 2006/02/26 - Standa - nfvdi_soft: the remaining logical operations implemented for the 8bit alpha expand. Adjusted to work in all TC (16bit-32bit) modes. 2006/02/21 - Standa - nfvdi_soft: expandBitmap() now alpha expands 8bit chunked (mfdb_standard = 0x0100) data *** CVS tagged as ARANYM_0_9_3_BETA 2006/02/20 - Petr - atari/*: binaries moved to a separate 'afros' CVS repository - atari/fvdi: removed completely (now hosted in fVDI CVS repository) - natfeat/fvdidrv_nfapi.h: added from fVDI CVS - natfeat/nfvdi.cpp: renamed FVDI_TEXT enum to FVDI_TEXT_AREA (to match the fVDI CVS) - src/Unix/Makefile.in: updated to not install the missing binaries - doc/*.html: documentation moved to http://wiki.aranym.org/ - aranym.spec, README, NEWS, TODO, version.h: updated for release 2006/02/12 - Andreas - Support compiling outside source directory. 2006/02/11 - Patrice - nfcdrom: Merged SDL backend into base class as default implementation. 2006/02/11 - Petr - tools/arabridge: added chown $USER /dev/net/tun 2006/02/08 - Standa - BOOTSTRAP NF added. Using this the EmuTOS bootstraps the e.g. the FreeMiNT kernel directly (without having to have any boot floppy or HDD image). More information to come later (not all info is in CVS for all parts ATM). Two new [GLOBAL] section config entries introduced: Bootstrap = path/to/the/kernel BootDrive = X 2006/02/08 - Patrice - Merged bootos_linux and lilo. 2006/02/06 - Standa - atari/hostfs and atari/network/ethernet .xfs and .xif stuff moved to the FreeMiNT CVS. The BetaDOS and src dependencies stay in their spots for now. - atari/tools/devdos: Fixed a critical bug in the path2cookie() function. Now it appears to be quite stable (the fix was actually done on 2006/02/05). 2006/02/05 - Andreas - uae_cpu/cpummu.cpp: Fix parameters of mmu_bus_error. 2006/02/04 - Patrice - BootOs files split in parts for each bootable OS. Will merge bootos_linux and lilo later. 2006/02/04 - Standa - atari/network/ethernet: updated to use nf_ops.h - atari/network/natfeat.h removed as an obsolete file - atari/hostfs: All the BetaDOS related code and ifdefs are now isolated in the metados folder only. atari/hostfs files are basically ready to go to the FreeMiNT cvs if we decide to do so. I also did a global aranym -> hostfs replace as the source is not really aranym specific. 2006/02/03 - Patrice - atari/nfpci, atari/nfosmesa, atari/nfosmesa.xdd: updated for new nf_ops.h. - Disable check for SDL_LoadObject function in configure, it is present in SDL>=1.2.6. The check fails on MacOSX for some different linker flag. - Created an host clock class to encapsulate SDL/Unix time functions. 2006/02/01 - Patrice - atari/nfcdrom, atari/nfjpeg: updated for new nf_ops.h 2006/01/20 - Standa - atari/natfeat: the natfeat.h is now deprecated. A new nf_ops.h has been taken from the FreeMiNT (freemint\sys\mint\arch\nf_ops.h) and adjusted for out of mint cvs tree use. - atari/nfstderr: converted to use the new nf_ops.h (nf_init() used to detect NFs and the returned 'struct nf_ops' pointer to call the features). Also there is the freemint\sys\xdd\nfstderr folder containing the .xdd equivalent of this driver for FreeMiNT. A great example how to do basic device driver for TOS as well as for FreeMiNT with almost the same code. - atari/hostfs: uses nf_ops.h now. Binaries and further documentation is coming soon. 2006/01/29 - Standa - atari/nfstderr: nfstderr.bos driver that provides write using the NF_STDERR NatFeat. - atari/tools/devdos: dev.dos driver that provides a filesystem with all the .bos drivers mounted. Using this you can use 'cat x.txt x:\dev\nfstderr' also in TOS. This dev.dos is generic in the sense that it doesn't depend on aranym in any way. 2006/01/29 - milan - cpummu.*, configure.ac: configurable size of ATC - JITc: fix stack alignment, m68k_compile_execute moved to JITc, sync with BII 2006/01/28 - Petr - configure.ac: Ingo Schmidt found out that --enable-blitsdlblit binary crashes with double bus fault. Thus this option is marked as EXPERIMENTAL UNSUPPORTED and BUGGY. It should probably be either fixed or removed. - Makefile.in: Ingo Schmidt found out that install phase fails when it is copying the aratapif binary. Fixed by adding one white space after 'then '. 2006/01/27 - Patrice - aranym from scratch: started MiNT section. 2006/01/26 - Standa - hostfs: dirent.d_ino was deprecated in the latest cygwin version. The stat.st_ino has to be used now. 2006/01/26 - Patrice - host: Don't need to dynamically create HostAudio object. - Created HostFilesys class for system-dependent paths functions. 2006/01/23 - Patrice - host: Added reset() method for host stuff. 2006/01/20 - Patrice - host_audio: Remove useless/crash prone num_callbacks related stuff. 2005/12/30 - Patrice - Renamed AUDIO class to more accurate HostAudio class. - Created a Host class, and put HostAudio in it. 2005/12/29 - Patrice - Created aranym exception class for future classes that need exceptions. Also now it can be created with variable list of arguments like printf(). - BootOs uses it now. 2005/12/27 - Standa - hostfs: fixing f2astrcpy() function migration bug. PureC now works under MiNT again as expected. 2005/12/26 - Patrice - hostscreen: remove unneeded inclusion of glext.h, use included SDL one. 2005/12/18 - Patrice - nfvdi_opengl: fixed getpixel() operation regarding host endianness. Reversed byte order for blits operations on big endian systems, so that GL_BGRA reads or writes ARGB pixels. Done for both 16 and 32 bits per pixel. 2005/12/12 - Patrice - Filled ARAnyM specific drivers section a bit. 2005/12/11 - Patrice - Renamed rom class to bootos, exceptions reenabled in configure.ac. New BootOs class used in main. 2005/12/10 - STanda - autogen.sh: rollback to -r 1.9. You should use ACLOCAL_FLAGS to set the include path (to whatever folder the sdl.m4 is in using -I /path/to/sdl.m4) 2005/12/09 - Patrice - Added Rom class and derivatives for TOS, EmuTOS and Linux. For now, this is disabled till a solution is found to use C++ exceptions along with JIT. Also if you want to try, add rom.cpp to $(SRCS) in Makefile.in, and #define ENABLE_CXX_EXCEPTIONS in main.cpp. The goal was to remove ROM/OS loading/init stuff out of main.cpp. Also, when resetting with TOS, the MD5 was failing because TOS was patched for ARAnyM. Both are nicely fixed with such a class. 2005/12/07 - STanda - parameters: do not screw up all hotkeys if the HOTKEY config section doesn't exist 2005/12/04 - Patrice - rtc: added method to read nvram keyboard setting (for future planned stuff in input). 2005/11/24 - Andreas - parameters.cpp: Fix aliasing violation and format string. 2005/11/20 - Patrice - Started 'ARAnyM from scratch HOWTO'. 2005/11/14 - Stefan - ChangeLog: Updated ChangeLog with missing informations. - aranym.html: Updated documentation of MaxOS X specific parts. - configure.ac: Changed name for configurations files to org.atari.aranym.conf, org.atari.aranym.nvram and org.atari.aranym.keymap. - input.cpp: removed unneded "#ifdef darwin" for command and control key change, the function was already specific to darwin. - nfvdi_opengl.h: Changed include of GL/glu.h to OpenGL/glu.h for darwin. - nfvdi_opengl.cpp: Changed include of GL/glu.h to OpenGL/glu.h for darwin. - hostscreen.cpp: Changed include of GL/glu.h to OpenGL/glu.h and GL/glext.h to OpenGL/glext.h for darwin. 2005/11/10 - Patrice - dsp_disasm was not building, fixed. - nfpci: make linux driver better subclass of nfpci, now when nfpci enabled, you have a default null nfpci driver for non linux systems. 2005/11/8 - Stefan - Makefile.in: Removed building of ARAnyM.app/Contents/ARAnyM data folder, in order to give precedence to Library/Application Support/ARAnyM by default - configure.ac: Fixed typing error of SDLMain.M file. 2005/11/7 - Stefan - Makefile.in: Added targets to build an application bundle for MacOS X. Added suffixes .m and .M to also compile Objective C and Objective C++ sources, which are needed to build the darwin port. - configure.ac: Splited EXTRASYSSRCS and DEFINES for darwin with fink and without. Without fink now the source files parameters_darwin.M and SDLMain.M below src/Unix/darwin/ get compiled and the defines now include ARANYMCONFIG, ARANYMNVRAM, ARANYMKEYMAP and ARANMYHOME. For darwin without fink now also the target changed to APP_BUNDLE in order to build an executable MacOS X application bundle. - autogen.sh: Added -I $PWD to aclocal command. This solves trouble with missing macro definitions from sdl.m4, if this file is just copied into the same directory. - parameters.h: Put #ifndef around the definitions of ARANYMCONFIG, ARANYMNVRAM, ARANYMKEYMAP to be able to define their values via configure.ac. - input.cpp: Switched behaviour of command and control keys for darwin. So under MacOS X normal shortcuts are done as usual with the apple key also for Atari/GEM applications. - parameters_darwin.M: Objective C code to define versions of the functions getHomeFolder(), getConfFolder() and getDataFolder(). They return usual MacOS X pathes like ~/Library/Preferences/ and ~/Library/Application Support/ARAnyM or a path inside the bundle itself for the configuration files. - Info.plist: Updated version informations to 0.9.1alpha. With each official release the version information should be updated. Can this be done automatically by the build system? - SDLMain.M: Completely cleaned up the source code and removed unnecessary parts. - English.lproj/aranym.nib: Renamed the resource file from SDLmain.nib to aranym.nib. Made changes to connect menu entries to according functions in SDLMain.M. - German.lproj/aranym.nib: Made a german port of the resources. - aranym.pbproj: Updated the XCode project to compile also with the changed Makefile. - memory.h: Removed unnecessary define of do_get_real_address for darwin port. - fpu_uae.cpp: Added some defines and using a namespace to overcome compatibility problems with names inside cmath and cstdio. 2005/10/24 - Andreas - Makefile.in: update install target for removal of doc/documentation.txt. - ata.cpp: fix use of uninitialized variable. 2005/10/20 - Petr - mfp.cpp: compute real TimerC frequency (linux-m68k uses 100 Hz, not 200 Hz) - main.cpp: use the real TimerC frequency for correct time in linux-m68k - configure.ac: "--enable-rtctimer" added. Enables /dev/rtc as main source of timer interrupts. Allows for precise 200 Hz Timer A interrupts. 2005/10/18 - Petr - acsifdc.cpp: corrected detection of floppy format in linux-m68k by reporting RECORD NOT FOUND when linux tried to read more sectors than there are on a track (linux tries to read 20, HD floppy has 18 spt). Also added some more heuristic so ARAnyM is now able to detect any floppy format with 80 tracks (DD/HD/ED, and also non-standard 10,11 and 20,21,22 sectors per track). - parameters.cpp: save only those multiple items ([PARTITION1-7], [ETH1-4]) that are not empty (to save some space in the config file). 2005/10/16 - STanda - hostfs: a little rollback (FS_EXT3 extensions removal) as it caused problems with required timezone settings (not easily possible for BetaDOS and FreeMiNT without mintlib-timezone package). * New .dos and .xfs drivers are in atari/hostfs/bin 2005/10/16 - Petr - aranym/atari/network/ethernet: updated for multiple interfaces. Tested. Driver (version 0.6b) now prints all found and installed interfaces. Updated also the binary (aranym.xif.bz2). - parameters.cpp: default ungrab changed to left Alt+Ctrl+Shift - TODO: updated with useful comments 2005/10/13 - Petr (& Standa :-) - natfeat/ethernet.{cpp,h}: wildly modified to allow handling more ethernet devices at once. - atari/network/ethernet/ethernet_nfapi: NFAPI version increased (XIF_IRQ is handled differently now to allow for more ethernet devices) - atari/network/linux-m68k/*: linux-m68k kernel driver for our NF Ethernet - Unix/linux+Unix/cygwin: Handler() ctor now takes ethX parameter that is used internally in receiveFunc for setting up proper interrupt bit mask. - multiple ETHx sections in config file possible now (up to four currently) - atari/network/ethernet: FreeMiNT driver updated (including binary) to version 0.6 (copes with the new NFAPI but doesn't offer multiple ETH interfaces yet). - ethernet type renamed from "ppp" to "ptp" (point-to-point) - ARAnyM and linux-m68k kernel driver tested with two concurrent network interfaces. Cool! Code updated to handle up to 8 interfaces :-) - atari/network/linux-m68k/README: detailed HOW-TO build the NF enabled kernel 2005/10/12 - Petr - acsifdc.cpp: Atari2Host_memcpy() replaced with plain memcpy(). Previous code was incorrect because real ACSI DMA doesn't respect MMU. - uae_cpu/cpu_emulation.h: Atari2Host_*/Host2Atari_* functions modified to allow easy switching between MMU aware/ignoring NatFeats. NatFeats switched to non-MMU mode. This makes it incompatible with the NatFeat patch for linux-m68k kernel published in August. - include/version.h: version number changed to warn linux-m68k users that available aranym linux kernel will not work with this aranym. - gui-sdl/sdlgui.cpp: MIN() defined by including #tools.h - NF based functions moved from cpu_emulation.h to natfeats.h - audio.cpp, audio_dma.cpp, cpummu.cpp: hidden warnings about unused variables. - configure.ac: C++ exceptions disabled by default. They are causing serious startup lockups. It might be caused by particular gcc version, or C++ lib version, or something else. We don't know for sure. Use ./configure --enable-cxx-exceptions if you want to try it out. 2005/10/05 - Petr & STanda - input.cpp: the Alt Gr key might be reported as SDLK_MODE, not SDLK_RALT. Fixed. Now Alt Gr works for more people :-) 2005/10/01 - milan - uae_cpu/newcpu.cpp: flight recorder stores the 1st word of instruction 2005/09/27 - Patrice - various places: include "host.h" instead of redefining hostScreen extern. 2005/09/26 - STanda - atari/hostfs/metados: warnings removed - atari/hostfs: Cleaned up the m68k part so that the Dcntl() is now used to mount filesystems (which only works as expected in FreeMiNT kernels 1.16.x since Apr 10 2003). . Added the FS_NOXBIT filesystem flag back so that whatever is readable is also executable from the kernel point of view (not x permission is visible though on the files). . NF API extended (the version is 0.4 now): You will need to use older aranym build to update the drivers and after that boot using the CVS aranym binary to be able to mount drives properly. - hostfs.(h|cpp): . The FS_EXT_3 xfs_stat64() and Dcntl(FUTIME_UTC) added to speed the mintlib stat() and utime() calls. . Dcntl() /xfs_fscntl()/ implementation extended: * FS_INFO and FS_USAGE implemented (makes fsetter.app be able to show filesystem information). * FTRUNCATE implemented (needed for mintlib's truncate() and ftruncate()). . ioctl(FIONREAD/FIONWRITE/FIOEXCEPT) initial implementation. 2005/09/21 - Patrice - input.cpp: Don't check for OpenGL enabled if not compiled in. 2005/09/20 - milan - natfeat/ethernet.h: virtual destructor - include/ata.h: virtual destructor - cfgopts.cpp: made some functions static and don't link as C - uae_cpu/cpuopti.c: argc and argv are declared explicitly 2005/09/20 - Johan - nfvdi.cpp: Made it possible to query ARAnyM about host mouse cursor. 2005/09/19 - Patrice - Add DSP_ prefix to some definitions. 2005/09/16 - Patrice - Remove old fvdidrv.cpp. 2005/09/15 - Petr - doc/documentation.html renamed to aranym.html (directly in repository) - doc/documentation.txt removed (is superseded by aranym.html) 2005/09/15 - milan - src/Unix/linux/sigsegv_linux_x86.cpp: added 'volatile' to struct sigcontext. Fixes GCC 4.x problem (crash upon startup). 2005/09/14 - Xavier - tools/build-cygwin.sh: fixed a small bug that was preventing a warning to be displayed. 2005/09/12 - Patrice - doc/documentation.txt converted to documentation.html 2005/09/10 - Petr - uae_cpu/cpu_emulation.h: uses ReadInt/WriteInt which is wrong (regarding the MMU) but at least consistent with all the NF modules. The complete change to the direct access will require much more work. - input.cpp: support for AltGr key like in Milan. Suggested by Ingo Schmidt, AltGr information provided by Gerhard Stoll. - parameters.h: "altgr" added to ikbd struct. Should be configurable in the config file. TODO. - sdl-gui/dlgKeyboard.cpp: AltGr configurable at run-time. - TODO, BUGS: updated. 2005/09/09 - Petr - BIG ROLLBACK of changes done on 2005/09/04 - uae_cpu/cpu_emulation.h: Host2Atari/Atari2Host operations now use direct Atari memory access thus ignoring any MMU setup. Atari2HostAddr() is back. - fakeio.cpp, videl.cpp, fvdidrv.cpp, natfeat/{nfjpeg, nfcdrom_sdl, nfcdrom_linux, nfaudio} rolled back to previous revision. 2005/09/06 - Patrice - Don't open GUI when OpenGL enabled, it will crash. hostscreen class should be split in two parts like nfvdi: a software and an OpenGL renderer. 2005/09/04 - Petr - uae_cpu/cpu_emulation.h: Host2Atari/Atari2Host operations now correctly based on ReadInt/WriteInt functions that honor MMU setup. Atari2HostAddr() removed. Was deprecated for a long time already, anyway. - fakeio.cpp: Atari2HostAddr() replaced with Read/WriteHWMem functions. Perhaps proper solution is to move the #ifdef HW_SIGSEGV into the above mentioned functions? TODO: review it. - nf_base.{cpp,h}: memory operations moved to uae_cpu/cpu_emulation.h - natfeats.cpp, natfeat/{debugprintf, xhdi, nfcdrom, nfaudio}: fixed to not use Atari2HostAddr (thus direct Atari memory access) but rather the Host2Atari/Atari2Host memcpy functions. Notice: nfaudio now uses cvt buffer always for copying the sound data from Atari to host - even when there is no conversion needed... - videl.cpp, fvdidrv.cpp, natfeat/{nfjpeg, nfcdrom_sdl, nfcdrom_linux}: TODO: needs to be modified to not use Atari2HostAddr, see above. - natfeat/nf_basicset.cpp: just renamed memcpy functions - natfeat/hostfs.cpp: renamed memcpy functions, strcpy() replaced with strncpy TODO: review and correct the "FIXME 999" strncpy()'s - natfeat/ethernet.cpp: mostly clean up for better source code readability - acsifdc.{cpp,h}: fixed to not use Atari2HostAddr(). Cleaned up a bit by merging code for reading/writing multiple sectors with single ones. Added a hack that was supposed to fix floppy under linux - not working yet. - uae_cpu/{aranym_glue.cpp, cpu_emulation.h, newcpu.cpp}: trying to make the FLIGHT_RECORDER a bit more useful. - input.cpp: if FLIGH_RECORDER is compiled in then it can be enabled for a while by pressing and holding down both Shift keys. This is just a trial how to make it more useful, will be refined in future (configurable event launcher, accessible from SETUP GUI...) - include/version.h: micro version increased to warn everybody that there were a lot of changes thus something could break... *** CVS tagged as ARANYM_0_9_1_ALPHA 2005/09/03 - Petr - atari/network/ethernet/ethernet_nfapi.h: (ethX) is missing in IRQ subcall - natfeat/ethernet.cpp: XIF_GET_MAC: subcall returns FALSE if particular ethX is not defined in the config file, TRUE otherwise. Expected by Linux ethernet driver... 2005/09/01 - milan - src/Unix/configure.ac: enforce fixed videoram for SDL blitter - src/uae_cpu/debug.cpp: correct register size 2005/08/29 - Patrice - nfvdi: Make usage of host mouse cursor a configurable option. 2005/08/21 - Petr - natfeat/ethernet.cpp: do not use Atari2Host_memcpy() and similar, they ignore MMU setup. Fixed by replacing with a2fmemcpy() family. This was an essential fix. Now NF Ethernet works under Linux-m68k :-) Other NF drivers need similar fixes. 2005/08/18 - Petr&milan - include/aramd5.h: portability 2005/08/18 - milan - CPU sync with BasiliskII (better x86 types detection and JITc correction) 2005/08/14 - milan - uae_cpu/cpummu.cpp: microoptimalization 2005/08/05 - Johan - nfvdi*: Support for accelerated text drawing. - nfvdi_opengl.cpp: Fix for S2S blit problem at bottom of screen. Also added rounding for getHwColor. - hostscreen.cpp: Removed unnecessary dependency on glu function. 2005/07/29 - Patrice - Trigger MFP interrupt only once per audio callback. Default format is 16 bits stereo for audio dma. 2005/07/26 - Patrice - mfp.h: Wrong size for irq_* values. 2005/07/25 - Patrice - Fixed speedy replay in DMA audio. Timer A interrupt still not triggered. 2005/07/21 - Patrice - Preliminary crossbar audio emulation. 2005/07/20 - Patrice - Preliminary DMA audio emulation. Remove TOS check for joypad port presence that set DMA audio bit in _SND cookie to 0 if absent (!!). 2005/07/19 - Xavier - INSTALL: added a pointer to tools/build-cygwin.sh for compiling on Microsoft Windows. 2005/07/19 - Patrice - Splitted nfaudio driver in two parts. It is now possible to have several audio emulations (ym, dma, dsp) along with nf audio emulation, all mixed in a final audio buffer. The NF audio driver now does convert buffer from Atari to host format, instead of letting Atari side doing this. 2005/07/16 - Andreas - natfeat/nfcdrom_linux.cpp: move include of linux/cdrom.h down to fix compilation problem. 2005/07/16 - Petr - natfeat/nfvdi.cpp: swapped return values for the mouse event dispatch since default fvdidrv.cpp used value 1 as indication of unknown NF subcode. - input.cpp: adapted for the swapped return values from the nfvdi dispatch. - also CHECK_HOTKEY adapted to allow hotkeys with mod keys only - and keysym.mod replaced with GetModState() since keysym.mod didn't return single mod key presses. - dlgHotkeys.cpp: display hotkeys with mod keys only correctly 2005/07/13 - milan - src/Unix/config.*: updated (thanks, Aurelien Jarno) - src/Unix/vm_alloc.cpp: close(zero_fd) only when opened - correct version of JITInlining - JIT compilation of dispatcher enabled 2005/07/10 - Johan - nfvdi_*: Made the base class capable of polygon filling. OpenGL driver makes use of that for now because of problems with the current polygon tesselation code. Software driver still uses its own polygon filler, but the support routines are now in the base class. 2005/07/10 - milan - src/Unix/configure.ac: typo - src/Unix/linux/sigsegv_linux_x86.cpp: correct type of pointers - UAE CPU: JITc inlining and check_ticks definition 2005/07/09 - Petr - main.cpp: added RTC device driver for real interrupts at 256 HZ rate. Enable #RTC_TIMER if you want to see it running. And start ARAnyM as root because it sets the /dev/rtc to 256 Hz interrupt which is not allowed to regular user (unless enabled by running the following command: sysctl -w dev.rtc.max-user-freq=1024) - startup IRQ storm corrected (more than 80 useless IRQs at power on) - IRQ debug statistics printed (if #DEBUG enabled) 2005/07/09 - Johan - nfvdi_*: Bug fix for polylines with moves. - nfvdi_opengl: Bug fix for single pixel lines. Speedup for polylines. 2005/06/21 - Patrice - hostscreen: Don't use SDL version of glext.h. Also fix bpp for OpenGL screen 2005/06/20 - milan - configure.ac: needed size of LMA increased to 16 MB, should solve problem on some systems with autodetection 2005/06/17 - Patrice - nfosmesa: Added nfosmesa device driver for MiNT, which now works. You can use it with MiNT 1.16, which was removing __NF cookie. 2005/06/16 - Patrice - nfosmesa: Reworked interface to host, can use a MiNT device (to write) ioctl or NF interface. On the Atari side, parameters are no more stacked twice. 2005/06/16 - milan - some small cleanups and fixes in building process 2005/06/15 - Patrice - nfosmesa: g++ 3 with -O3 was over-optimizing Atari2HostDouble to a null function. 2005/06/14 - Patrice - nfvdi: Add reset method. OpenGL rendering: tesselate polygons, use non power of two texture or rectangle texture when available. 2005/06/13 - Patrice - hostscreen: disabling texturing when not used. Correctly setup shadow texture when it is smaller than asked screen. - nfosmesa: Don't pollute gl namespace in NFOSMesa class. Allow NFOSMesa to be compiled with hardware OpenGL rendering. 2005/06/12 - Patrice - hostscreen,parameters: removed width and height parameters for OpenGL, using current ones or autozoom ones'. - nfvdi OpenGL: clear alpha value read. 2005/06/11 - Patrice - nfvdi,hostscreen: remove getComponent() stuff, useless with GL_BGRA format. 2005/06/09 - Patrice - nfvdi: added preliminary OpenGL fillPoly() rendering. Host screen organization fixed on the ARAnyM side. 2005/06/08 - Patrice - hostscreen: correct endianness of GL_RGBA shadow surface for videl OpenGL rendering. Updating the texture with dirty rectangles list. Added getComponent() function to read the real screen organization, waiting for Johan to sync fvdi driver. 2005/06/07 - Johan - Report mouse events (input.cpp) to m68k fVDI driver via Natfeat "backdoor". - Support for forced mouse positioning. - Fix for OpenGL integer coordinates (hostscreen) according to MicroSoft tip. - A bunch of bug fixes for OpenGL drawing. Mostly off-by-one things. 2005/06/05 - Patrice - nfvdi: added mouse cursor rendering for OpenGL driver. Host SDL cursor can be enabled in nfvdi.h by uncommenting USE_HOST_MOUSE_CURSOR (experimental). 2005/06/03 - Patrice - NF audio: close SDL audio device on exit. Closing it on Atari reset event hangs ARAnyM on my system, more investigation needed. - main.cpp, Unix/main_unix.cpp: SDL_Quit() was called twice: once in ExitAll() and once at exit(). 2005/05/27 - Patrice - nfvdi: revert back old mouse driver for software renderer. Will add OpenGL support soon, till support for host mouse cursor is usable. 2005/05/25 - Patrice - OpenGL nfvdi: fixed line clipping. 2005/05/24 - Patrice - OpenGL nfvdi: fixed screen to memory blits. - hostscreen: OpenGL rendering off by 1 unit. 2005/05/22 - Johan & Patrice - OpenGL nfvdi: more blit fixes. Added line clipping. 2005/05/20 - Patrice - OpenGL nfvdi: preliminary blitArea() between screen and memory. - input, ikbd: Add support for joystick hat. 2005/05/19 - Patrice - nfvdi: Add some OpenGL logical operations for blitArea() operations, and preliminary expandArea() function. Updated aranym.sys FVDI driver. 2005/05/16 - Patrice - nfvdi: Enable OpenGL rendering when opening the VDI workstation. 2005/05/14 - Patrice - nfvdi: Missing constructor, and initialization. Swapped disable/enable cursor in drawMouse. OpenGL renderer: add logical operations, and screen to screen blits. 2005/05/13 - milan - uae_cpu/cpu_mmu.*: experimental ATC disabling 2005/05/13 - Patrice - nfvdi: Use host mouse cursor. Need to sync with input.cpp mouse routines. 2005/05/12 - Patrice - Keep all OpenGL things in hostScreen and nfvdi classes. - Split blitArea() function in 4 parts. 2005/05/11 - milan - uae_cpu/cpu_mmu.*: a small prototype fix, debug variable disabled 2005/05/11 - Patrice - Can dynamically choose a NF CD-ROM driver (linux or sdl one). Can also choose a NF VDI driver: software renderer or the non working OpenGL renderer - Get confused with bpp (bytes per pixel) and bpp (bits per pixel). 2005/05/11 - milan - natfeats.cpp: THROW(), not LONGJMP() 2005/05/10 - Patrice - OpenGL rendering done regularly in Videl->renderScreen(), instead of hostScreen.update(): much faster! - Added getBpp() function to FVDI driver (recompilation needed!), needed when using FVDI driver with OpenGL rendering. 2005/05/09 - Patrice - Moved more driver independant stuff from nfvdi_soft.cpp to nfvdi.cpp 2005/05/08 - Patrice - Dynamically create the natfeats. A few more work, and we will be able to choose between different NF drivers for the same feature. 2005/05/07 - Patrice - NF vdi driver split in 2 parts: a base class, and an implementation class (software rendering driver atm). 2005/05/06 - milan - support of old headers removed 2005/05/01 - milan - uae_cpu/compiler: sync with Basilisk (64bit pointers fixed) - Unix/configure.ac: C++ exceptions disabled in JIT compiler mode 2005/04/29 - milan - Unix: a small sync with Basilisk and cleanup - ata.*, cdrom.*: sync with Bochs and small cleanup - uae_cpu: small sync and cleanup of non-JIT CPU - doc/hguide.txt: actualized a bit 2005/04/27 - milan - Unix/configure.ac: nfjpeg test corrected 2005/04/26 - Xavier - Unix/configure.ac: nfjpeg enabled by default 2005/04/24 - Andreas - new configuration option --enable-cxx-exceptions, implement use of C++ exceptions instead of setjmp/longjmp for exception handling. - ndebug.cpp: fix stdarg usage, handle NEED_TO_DEBUG_BADLY in showHistory. 2005/04/22 - Xavier - hostscreen.cpp: SDL_WM_ToggleFullScreen does not work on some GUIs (Microsoft Windows GUI, for example). Added some code to implement the switch to and from fullscreen mode in this case. 2005/04/22 - Patrice - nfjpeg: Save d1/a0-a1 used as scratch registers by gcc when calling JPEG decoding routines 2005/04/17 - Petr - Makefile.in: fvdi.prg.bz2 was removed from archive... - aranym.spec: %files section cleaned up. Fixes build problem with unpackaged documentation and makes it much easier to maintain (no need to track changes in Makefile.in). 2005/04/15 - STanda - atari/hostfs/hostfs_xfs.c: some filesystem flags changed. this should fix the bug #1178909 (hostfs broken under linux) and problems with not being able to execute files with executable flag set. * tagged as ARANYM_0_9_0 2005/04/14 - Petr - doc/documentation.txt: [PARTITION] documented. Programming with ARAnyM documented (NatFeats, detection of ARAnyM presence). - doc/config, parameters.cpp: [DISK] renamed to [PARTITION]. - build_cygwin.sh moved from doc/ to tools/. - README, NEWS, version.h: usual release updates 2005/04/05 - Petr (actually Carlo) - src/MacOSX/*: Carlo has updated the project (added MMU target) 2005/04/01 - Thomas Huth - uae_cpu/newcpu.cpp: free table68k memory 2005/03/24 - Patrice - natfeats: don't switch to supervisor mode if already in supervisor mode to read cookie jar pointer. 2005/03/21 - milan - parameters.cpp: correct the previous commit 2005/03/21 - Patrice - parameters.cpp: display custom enabled NatFeats. 2005/03/20 - STanda - fvdidrv: fixed outstanding bug in the aranym.sys driver. The pixel sizes were updated recursively twice which made them wrong. 2005/03/15 - Petr - gui-sdl/file.cpp: current dir is no longer presented as "./" but it's simply an empty string (fileselector had to be adapted to this change, see below). - gui-sdl/dlgFileSelect.cpp: - initialized 'eol' to remove compiler warning. - if there is an empty path to dir the getcwd() is used to preset it with a reasonable value. - filename "." removed from the fileselector. - gui-sdl/dlgDisk.cpp: allows entering non-existing filename (useful for generating new disk images). Help page updated accordingly. 2005/03/14 - Xavier - gui-sdl/dlgFileSelect.cpp: - New sorting algoritm : folders at the top, files at the bottom. - Reformatted using GNU indent (with "-kr -nce -ts4", as suggested by Petr). 2005/03/05 - Xavier - doc/build-cygwin.sh: added SDL_image support. Allows to compile nfjpeg on Windows. 2005/03/03 - STanda - doc/documentation.txt: update on networking. Clean that up someone. - Blaine Brysh's suggection to remove the 'tapdev' check done. 2005/02/28 - Patrice - nfjpeg, nfpci, nfosmesa, nfcdrom: Use the correct fonction to read current cookie value, not a mix between internal function and mintlib's one. 2005/02/25 - Xavier - doc/build-cygwin.sh: defaults to SDL 1.2.8. 2005/02/24 - Petr - lilo.cpp: required defines copied to lilo.cpp to allow compiling under non-linux systems. 2005/02/23 - Patrice - nfjpeg, nfpci, nfosmesa: Display a message when __NF cookie is missing, or when NF functions needed are missing in ARAnyM. 2005/02/22 - Petr - parameters.cpp: 'RedirPrinter' removed. Default printer file is 'stderr'. - aranym.spec: aranymrc.example removed. * tagged as ARANYM_0_9_0_BETA 2005/02/20 - Petr - atari/aranymrc.example moved to doc/config and updated with all current config options - parameters.cpp: fixed wrong sizeof() for [HOTKEYS] - doc/documentation.txt updated (networking, LILO) doc/aranym-lilo.txt removed - Makefile.in: NFJPEG and NFOSMESA added - aranym.spec: LILO added to MMU build - README, BUGS, NEWS, include/version.h: updated for new release 2005/02/18 - Patrice - nfosmesa: Can not autodetect which libOSMesa is loaded, so ChannelSize in config file is mandatory for any libOSMesa library used. The OpenGL contexts created by OSMesa are endianness independent, no need to convert them after rendering. - nfjpeg: Correct SDL include path. 2005/02/17 - Petr - parameters.cpp: open up SETUP if no config file found and new one is to be created so that users can edit the default values before saving. - dlgAlert: flexible formatting of text to any number of lines (up to 20). Two types of alerts - info "OK" and confirm "OK/Cancel". - dlgMain: dlgAbout and dlgHelp replaced with info alert. - dlgDisk, dlgHotkeys: HELP button and page added - TODO: updated (at last I could remove some long standing issues :) 2005/02/14 - Petr - main.cpp: display the right key for invoking SETUP GUI in the window caption bar. 2005/02/13 - Petr - gui-sdl/sdlgui: getEvent() function fetches the keyboard and mouse events (now also UP events) from the USEREVENT queue and converts them to normal SDLKey and SDLMouse events. - include/parameters.h: hotkey struct bx_hotkeys_t defined and added to global bx_options. - input.cpp: the following seven hotkeys are user-definable now: Setup, Quit, Reboot, Ungrab, Debugger, ScreenShot and FullScreen. - gui-sdl/dlgHotkeys.cpp: hotkey editor added, allows for online editing of the seven hotkeys listed above. - gui-sdl/dlgMain.cpp: hotkey editor activated. - parameters.cpp: hotkeys are saved to config file, section [HOTKEYS]. Further cleanup. [ARANYMFS] fallback dropped. 2005/02/12 - Patrice - nfosmesa: Add support for 16 and 32 bits per channel for OSMesa, using libOSMesa16 or libOSMesa32. 2005/02/04 - Patrice - Added parallel port emulation driver via Linux /dev/parport device. 2005/01/30 - Andreas - uae_cpu/newcpu.cpp: Handle unaligned access in get_ilong_1. 2005/01/29 - Patrice - configure.ac: Add option to add path to Mesa header files. 2005/01/28 - Andreas - uae_cpu/newcpu.h: Handle unaligned access in get_ilong. 2005/01/26 - Patrice - Move all parallel port implementation stuff in yamaha. Don't flush on output to a real file. - Remove useless FAQ item about CD-ROM configuration. 2005/01/25 - Andreas - uae_cpu/cpummu.cpp: Fix wrong address in mmu_get_unaligned, thanks to milan for tracking this down. 2005/01/25 - Patrice - parallel: small fixes. Can redirect to a file, to stdout or stderr. 2005/01/25 - Andreas - uae_cpu/cpummu.cpp, uae_cpu/memory.h: Fix wrong size field in ssw. 2005/01/24 - STanda - fVDI driver * famous fVDI boot bug fixed! VIDEL is shut off on openwk() instead on the first NF(fVDI) call. * Changing the resolution upon openwk() again (back to what was in 0.8.10?) * cleanup in the spec.c m68k part of the driver. 2005/01/24 - Patrice - nfosmesa: Return OpenGL version as 1.0 when extensions disabled. 2005/01/24 - Andreas - More MMU emulation fixes. Linux boots now. 2005/01/23 - Patrice - Reorganized parallel port emulation. Time to write drivers for all OS. 2005/01/22 - Patrice - configure on MacOSX does not like using AC_CHECK_HEADER. 2005/01/22 - Petr - input.{cpp,h}: little cleanup, private things declared static - main.cpp: little cleanup, removed unused function - hostscreen.*, input.cpp, main.cpp, parameters.cpp: "--disable-gui" now disables the SDL GUI related code in these files. 2005/01/21 - Patrice - nfjpeg: Decoding images, with width not multiple of 16 works in Brainstorm's viewer. Zview has a bug in its plugin. 2005/01/20 - Patrice - nfjpeg: More fixes, now Brainstorm's JPEG viewer works, but images with width not multiple of 16 have a problem. 2005/01/19 - STanda - atari/fvdi/../spec.c: bitplane modes are marked as bitplane in v_scrninfo(), unnecessary noshadow and assumenf options removed - 8b_pal.c: palette setting is system wide (not per virtual workstation) 2005/01/19 - Patrice - dsp_cpu.cpp: 64 bit fixes. - nfjpeg: Fixed problems due to endianness and packed structure of JPEG decoder. Decoding works in Zview (except for images with width not multiple of 16), but not in Brainstorm's demo program. 2005/01/18 - milan - gdbstub: a few fixes in communication, configuration for base pointers added 2005/01/18 - Patrice - nfosmesa: revert back mandatory SDL 1.2.6 check. Now nfosmesa disabled if SDL don't have loadable libraries functions. 2005/01/17 - Patrice - nfosmesa: libGL is also dynamically loaded now. It is easier to control which libGL library ARAnyM will use. 2005/01/16 - Patrice - Enable compiling ARAnyM using the Fink suite on MacOSX. (configure --with-fink) 2005/01/16 - milan - cdrom.cpp: new fix for *BSD (thanks, Konrad) - gdbstub: gdb as external debugger (still buggy) 2005/01/16 - Petr - natfeat/xhdi: fixed scary off-by-one bug. Direct partition access works OK. Also implemented proper way for finding out size of block device (such as /dev/hda1) so we can access host disk partitions directly now! 2005/01/14 - Patrice - Preliminary NatFeat JPEG decoder. Don't try it, it does not work atm. If you think you can debug it, SDL_image with JPEG support is required. 2005/01/13 - Petr - natfeat/xhdi: direct access to partitions added (use [DISKx] in config) Beware: the code is not well tested. Might destroy your data! - parameters.cpp: [DISKx] enabled in the config file 2005/01/12 - milan - all files: "unused varible" GCC warnings can be viewed with ./configure --enable-full-debug a few other warnings gone 2005/01/12 - Andreas - natfeat/nfcdrom.cpp: Include for SDL_SwapBE16. 2005/01/12 - Petr - ata.cpp: removed a scary hack for hiding an unused variable - all files: "unused variable" GCC warnings are gone thanks to DUNUSED macro - natfeat/ethernet.cpp: possibly fixed buffer overflow bug in readPacket() 2005/01/12 - Patrice - nfcdrom.cpp: 64 bit fix. 2005/01/11 - milan (thanks Andreas Jochens) - uae_cpu/aranym_glue.cpp: 64 bit fix for GCC 4.0 happy - uae_cpu/newcpu.cpp: 64 bit fix for pc_offset computation 2005/01/11 - Petr - gui-sdl/sdlgui.cpp: 64bit cleanup thanks to Debian BTS #288992 2005/01/11 - STanda - fvdidrv.cpp: 64bit cleanup attempt - CygWin networking tunnel NIF name taken into account - paremeters.cpp: extra slash addition fixed 2005/01/10 - milan - uae_cpu/gencpu.c, uae_cpu/newcpu.cpp: unswapped opcodes disabled in full MMU 2005/01/10 - Andreas - uae_cpu/cpummu.cpp: Many MMU emulation fixes. - uea_cpu/gencpu.c: Make sure that memory stores are performed after all changes visible by the emulation. - uae_cpu/memory.h: Set wb3 for the execption routine on memory write. - uae_cpu/newcpu.cpp: Pass wb3 fields in the access fault exception frame. Don't call check_ram_boundary on a virtual address. - uea_cpu/newcpu.h: Don't call get_real_address in m68k_setpc when FULLMMU. Remove autoinc stuff again. - uae_cpu/registers.h: Add wb3_data, wb3_status, fault_pc, remove autoinc. Don't use pc_p and pc_oldp when FULLMMU. 2005/01/08 - Petr - mfp.cpp: irq handling (enable/pending/masked) copied bit-by-bit from STonC. And it seems to work! At last... Thanks, Laurent, for your great MFP emulation. - configure.ac, TODO: linux kernel headers no longer necessary - ikbd.cpp: when IKBD is reset it should send out the code 0xF1. Linux-m68k kernel checks for it. Fixed. Kernel no longer reports "WARNING: keyboard self test failed!" :-) 2005/01/08 Andreas Schwab - lilo.cpp: Load ramdisk at end of ST ram. 64-bit fixes. Copy needed bits from Linux/m68k kernel headers instead of including them. 2005/01/07 - Andreas Schwab - uae_cpu/cpummu.h: Fix values of MMU_MMUSR_T and MMU_MMUSR_R. - uae_cpu/cpummu.cpp: Fix interpretation of write bit in ptestr/ptestw opcodes. 2005/01/06 - Andreas Schwab - uae_cpu/gencpu.c: Don't pop too much for format 7 exception frame in rte insn. 2005/01/06 - Petr - mfp.cpp: Laurent (STonC author whose code has been used for ARAnyM MFP emulation) identified copy&rename_variables&paste error. Fixing that finally made the setGPIPbit() working (has been waiting for the fix since ARAnyM version 0.1.4! :-O ) - ikbd.cpp: Laurent pointed out that IKBD should not access the MFP externally via the 0xfffa01 address but rather use the setGPIPbit() only. Fixed. - mfp.cpp again: added floppy/SCSI/IDE IRQ and modified the ACIA IRQ to follow the automaticServiceEnd flag. This lets Linux-m68k detect the IDE devices without "hda: lost interrupt" messages. 2005/01/05 - Andreas Schwab - uae_cpu/cpummu.cpp: ptestr/ptestw must never generate an exception, and always to a full table search, an existing ATC entry must be removed but otherwise ignored. - uae_cpu/gencpu.c, uae_cpu/newcpu.*, uae_cpu/registers.h: when an mmu-generated access error occurs we must undo all auto-inc/dec adjustments to address registers, because after returning from the exception handler the instruction is restarted. 2005/01/04 - Andreas Schwab - uae_cpu/gencpu.c - emulation of the moves insn fixed. It is one step further into being able to boot Linux/m68k on ARAnyM. 2004/12/17 - Patrice - nfosmesa: more endianness fixes. Extensions reenabled, beware the lengthy compilation! 2004/12/16 - Patrice - nfosmesa: more endianness fixes. 2004/12/15 - Patrice - nfosmesa: more endianness fixes, small doc in doc/documentation.txt, added ldg to spec file. 2004/12/14 - Patrice - nfosmesa: more bugfixes (mainly to adapt m68k arrays to host CPU endianness). 2004/12/13 - Patrice - nfosmesa: many bugfixes. The hardest/longest part to do: converting all arrays (const TYPE *) to a temporary array for the host CPU. Disabled building of OpenGL extensions (much longer to compile and test). What is working: SDL tests programs, many NeHe tutorials using SDL (not all, due to disabled extensions); for pure Atari software: kronos, tinygl test programs. Added the osmesa.ldg for testers. 2004/12/11 - Patrice - hostscreen.cpp: move one update function using OpenGL from .h to .cpp, needed for compiling for OSMesa. - NF: Add Natfeat OSMesa rendering support for Atari applications using host CPU (highly experimental!). 2004/11/24 - STanda - TAP-Win32 networking for cygwin builds implemented and fully functional The natfeat/ethernet.cpp split to natfeat card emulation and host OS dependent driver part. The dependent part was moved to the appropriate folder Unix/linux and Unix/cygwin. 2004/11/21 - milan - CPU JIT: sync with the latest BII core, really many changes, amd64 corrected, cleanups 2004/11/20 - milan - configure, vm_alloc, main_unix.cpp: a small memory management reorganization, 33BIT addressing, cleanups 2004/11/14 - milan - ata.*, cdrom.*: a small cleanup, some things from Bochs (multisession read TOC) * tagged as ARANYM_0_8_11_BETA 2004/11/07 - Petr - wheel mouse support: based on discussion in mailing list and patch provided by Xavier. Switchable between original arrow up/down key simulation and new Eiffel compatible set of extended scancodes in the SETUP GUI. No possibility to store in config file, yet (intentionally). - doc/documentation.txt: updated section about creating empty disk image. Also added more information about ARAnyM networking (mostly gathered from my replies in the mailing lists). - SETUP GUI: Disk dialog has now its own Apply/Cancel buttons. The main Apply button in the main dialog was removed. Also Keyboard&mouse dialog offers first functionality: switching between two host mouse wheel modes. - DOC files, aranym.spec, include/version.h: updated for a new release. 2004/11/01 - Patrice - hostscreen.cpp: don't need to have autozoom enabled to force a screen size - fvdidrv.cpp: forgot some break instructions. - FVDI aranym.sys modified, for the host resolution to be read. 2004/10/31 - Petr - Carlo provided a new keyboard translation routine that translate directly mac scancodes into atari scancodes: all keys are translated correctly. SDL routine translate mac scancodes in their internal codes but for some keys the translation is incorrect. - fVDI driver (aranym.sys) has finally been recompiled. 2004/09/29 - Xavier - fvdidrv.cpp: fixed a typo that prevented ARAnyM to compile here. - uae_cpu/debug.cpp: fixed a bug in debugger that corrupted SR. - main.cpp: added a patch that allows TOS 4.04 to detect TT-Ram without any AUTO folder program. FASTRAM.PRG not needed anymore. 2004/09/24 - Patrice - Natfeat FVDI driver: added functions to read back the screen width and height really set on the host side 2004/09/13 - Petr - newcpu.cpp, spcflags.h: SPCFLAGS_NMI removed, _BRK used instead (like seen in hatari). SPCFLAGS_MODE_CHANGE removed (it was unused). 2004/09/10 - Patrice - hostscreen.cpp, videl.cpp, parameters.cpp: create a specific section in the configuration file for autozoom. You can now choose to want a constant host screen size for whatever the Atari screen size is. Note about FVDI: it is not aware of this "fixed size", using a bigger size than FVDI's one is OK, but the display is not centered. Using a smaller size is buggy, so don't do it! 2004/09/08 - Xavier - src/gui-sdl/sdlgui.cpp: edit field handling cleaned. 2004/09/07 - Petr - src/parameters.[cpp,h]: configPath added to aranymfs struct. Fixes problem with adding more colons on repeated saving of config file. - src/gui-sdl/dlgDisk.cpp: fixed a problem with updating the CHS values when new disk image was selected. 2004/09/04 - milan - src/parameters.cpp: don't show parameters, which aren't compiled in 2004/09/03 - Petr - atari/network/ethernet/ethernet.c, nfeth-config.c: the idea of new IOCTLs was not working because inet4.xdd blocks the IOCTLs and does not pass them to the XIF driver. So now I am using SIOCGLNKSTATS and it works! Fixed more scary bugs (word alignment in parameters to nfCall can be a killer). nfeth-config even respects the NIF parameter (try eth1 :-) The XIF driver has yet to be updated to handle more NIFs at once. - src/natfeat/ethernet.cpp: better debug message. Make use of safe strncpy. 2004/09/02 - Petr - atari/network/ethernet/ethernet.c, nfeth-config.c: corrected some scary bugs, now it should work but doesn't yet. Seems like the new IOCTLs are blocked somewhere. - patrice: videl.cpp: second fix for autozoom, now zoom tables recalculated also when host screen size changes. 2004/09/01 - Petr - tools/arabridge: modified to allow bridging a non-defaultroute interface. Useful for situations when the machine is on public Internet and you don't want to put ARAnyM there. Also all RedHat specific things replaced so now it works on Debian nicely. 2004/08/31 - Petr - atari/network/ethernet/ethernet.c: - updated for FreeMiNT 1.16 - makes use of nf_ops in kerinfo for clean NatFeat usage (if available) - IP_AUTO configuration was plain wrong thus removed - implements three new control calls for the nfeth-config (SIOCGIFADDRFH, SIOCGIFDSTADDRFH, SIOCGIFNETMASKFH) that have also been defined in FreeMiNT's sockio.h - proper GPL headers added 2004/08/30 - patrice - videl.cpp: with JIT, Atari video screen size was 0 for both height and width, with autozoom, hence the crash. 2004/08/28 - Xavier - gui-sdl/sdlgui.cpp, input.cpp: rewrote edit field handling. - gui-sdl/dlgFileSelect.cpp: updated for the new edit field handling. 2004/08/27 - Petr - lilo.cpp: thanks to David Muse analysis and suggestions I corrected the LiloCheckKernel() simply by copy&pasting it from linux bootstrap properly :-) 2004/08/19 - milan - Unix/cygwin/sigsegv_cygwin.cpp, Unix/linux/sigsegv_linux.cpp: cleaning, merging 2004/08/19 - Xavier - uae_cpu/cpu_emulation.h, Unix/cygwin/sigsegv_cygwin.cpp: hwsp and pagehwsp address checking modes support on Cygwin. - Unix/cygwin/sigsegv_cygwin.cpp, Unix/linux/sigsegv_linux.cpp, Unix/xbsd/sigsegv_xbsd.cpp: hwsp and pagehwsp address checking modes fixed (stacked address fault was wrong). - NFPCI: Patrice: give access to the 256 bytes of configuration space. Some bugfixes. 2004/08/16 - Xavier - Unix/cygwin/sigsegv_cygwin.cpp: fixed GCC warnings. - Unix/cygwin/sigsegv_cygwin.cpp, Unix/linux/sigsegv_linux.cpp, Unix/xbsd/sigsegv_xbsd.cpp: nested sigsegv are not allowed anymore. This was unused since 2004/07/06 and was not supported under Windows. 2004/08/12 - Xavier - Unix/configure.ac, Unix/cygwin/sigsegv_cygwin.cpp, uae_cpu/cpu_emulation.h : clean solution to avoid nested sigsegv on Windows/Cygwin and any other OS that would need it. * tagged as ARANYM_0_8_10_BETA 2004/08/07 - Petr on behalf of Carlo - added a target to generate the DMG file (inspired by bochs) - The SDL library is inserted automatically in the application bundle; now it does not require any installation. 2004/08/05 - Xavier - Unix/cygwin/sigsegv_cygwin.cpp: small cleaning. 2004/08/02 - Xavier - Unix/configure.ac, Unix/cygwin/sigsegv_cygwin.cpp: extended sigsegv handler for Windows/Cygwin. The code needs some cleaning, but at least allows to boot Afros and TOS 4.04. We can now enjoy JIT speed on Windows too ! 2004/07/29 - milan - debug.cpp: S&!M means interupt mode, not only M 2004/07/28 - milan - newcpu.cpp: removing "patch" from 2002/09/28 (PureC hack), it can be enabled with configure script - debuggers: switch 'I' modified, debugger can ignore interupt mode 2004/07/28 - Petr - atari/tools/pcpatch.c: verbose error handling 2004/07/28 - patrice - Correctly read PCI devices list (inspired from pciutils code). 2004/07/26 - milan - src/cdrom.cpp: typo bug (thanks, Konrad) 2004/07/20 - Xavier - Unix/configure.ac: - checks for direct, real and fixed addressing availability made more accurate. - direct, real and fixed addressing allowed on Cygwin. Real addressing won't work since Cygwin can't mmap() low memory. Direct and fixed addressings need a cygwin1.dll from 2004/07/16 or later on W2K and WXP (Available at http://www.cygwin.com/snapshots/ until next Cygwin release - current DLL version is 1.5.10-3 at the time of writing). 2004/07/18 - Xavier - Unix/main_unix.cpp: in direct addressing mode, memory must be allocated with only one call to vm_acquire(). Otherwise memory parts may not be contiguous. CPU emulation rely on this. 2004/07/14 - milan - small sysdeps.h reorganisation 2004/07/14 - Xavier - doc/build-cygwin.sh: updated for SDL 1.2.7 and latest Cygwin (new GCC and X.org/X11 packages). - Unix/acinclude.m4: updated for automake 1.8+. - Unix/configure.ac: fixed error message about extended segfault handler. 2004/07/13 - Petr - natfeat/ethernet.cpp: ARATAPIF is now found in $PATH again (Standa forgot to remove some of his debugging stuff). Thank for the bug report goes to Clement BENRABAH. 2004/07/13 - milan - macro BUS_ERROR defined in cpu_emulation.h and documented - some other minor (mainly cosmetic) corrections 2004/07/12 - Petr - ide.cpp: Xavier explained that Adam's open source IDE driver might use the f00002 register because it's mapped to the same 16-bit IDE port as the f00000. 2004/07/11 - milan - lilo support corrected - other minor (cosmetic) corrections 2004/07/09 - milan - (sig)setjmp/longjmp corrections 2004/07/08 - milan - minor (cosmetic) corrections 2004/07/07 - Petr - uae_cpu/fpu/mathlib.h: Francois fixes sinh and tanh by following the cosh emulation example. 2004/07/07 - milan - man page corrected * tagged as ARANYM_0_8_9_BETA 2004/07/06 - Petr - ikbd.cpp: write to MFP directly, don't throw nested SIGSEGV. This not only fixes the JIT CPU crash on keypress in linux 2.6.x but also seems to help booting linux-m68k (it doesn't freeze now when you press a key) - blitter.cpp: this is probably a breaking news after years of blitter crashing and countless hours spent on debugging it: the source and destination address registers must be restored to original values upon finishing the job, since TOS does not always set the source and dest address for a new blitter job - it clearly relies on the original values set in previous job. This is very unexpected behaviour since Blitter documentation says the source and dest addr registers show increasing values when you read them. Also, now Blitter starts blitting as soon as the BUSY line (0x3c & 0x80) was set - this was possible after implementing the word and long wide register accesses and thanks to idea and support from Thomas. - gui-sdl/dlgAlert.cpp: strdupa() is not defined in neither cygwin nor macosx so there is a quick workaround. - lilo.cpp: fixed reading of gzipped files. Simply the macro is HAVE_LIBZ, not HAVE_ZLIB :-) - gui-sdl/sdlgui.cpp: accept numbers on numpad. This is still not correct code, it should use the unicode field of the keysym struct. * tagged as ARANYM_0_8_8_BETA 2004/07/05 - Petr - gui-sdl/dlgAlert.cpp: an AES like AlertBox created. So far a rough code but does what I needed. - gui-sdl/dlgDisk.cpp: Disk Image generation added. - on behalf of Carlo: UAE FPU is (thanks to Francois' tests) the default for MacOSX target in their project builder. Filename expansion takes a special '*' wildcard that gets expanded to Data folder path (the bundle folder for MACOSX). - parameters.cpp: Carlo corrected a bug in the relative path expansion routine - now if there isn't the trailing slash it's added. - tools/createdisk/*, tools/disk_image.c: removed - Makefile.in, aranym.spec: createdisk & disk_image removed, arabridge added - README, NEWS, TODO, aranym.1, aranym.spec, version.h: standard updates for new release. 2004/07/04 - Petr - input.cpp: iconification of fullscreen window on releasing the grabbed input disabled since Standa added there switching from fullscreen to window. - gui-sdl/file.[cpp,h]: File_Exists() and File_Read() take const char parameter. Disabled the (IMHO) useless feature of File_Read - trying several different file extensions automagically. 2004/07/03 - Petr - uae_cpu/fpu/mathlib.h: fixed tan() error Martin Tarenskeen reported. - uea_cpu/newcpu.cpp, hardware.cpp: if HW_SIGSEGV is used (mainly for JIT compiler) then use sigsetjmp/siglongjmp to restore signal mask when generating BUS ERROR. This fixes the SIGSEGV during TOS 4.04 boot when reading the $ff8e09 register. 2004/07/01 - Petr - BUGS: FPU problems documented. We need fix even for Pentium host based systems! 2004/06/21 - milan - diskimage supports images lager than 2GB (large file support) 2004/06/01 - STanda (actualy done the 2004/05/19) - input.cpp: The capslock keyboard LED and the m68k side OS capslock state synchronization should be better now. - hostfs.cpp: Small broken symlink related bugfix. 2004/05/15 - patrice - Nfpci.prg bugfixes, and also on host side. pci_read_config_* functions work now. We can enumerate the host PCI devices. 2004/05/14 - patrice - Nfpci.prg now finished. Time to implement it on the host side now. 2004/05/13 - patrice - Added resident program NFPCI.PRG, does not work ATM: it thinks there is already a PCIBIOS driver installed. 2004/05/12 - patrice - Primary framework for NatFeats PCI driver 2004/04/24-25 - STanda - parameters.cpp,cfgopts.*: Created a Path_Tag that serves as a String_Tag like entry plus that there is the '~' replaced with $HOME and the relative paths are made absolute (to the configuration file location). - parameters_*.cpp: separated the getDataFolder() and getHomeFolder(). The getHomeFolder() is used for the '~' expansions in parameters.cpp. - hostfs.cpp: * Petr's version of xfs_native_init() fixed, extended and used. * symlinks should work better now: if there is a HOSTFS mapping for the symlink target then it is translated as a symlink to that target else the real hostfs target is shown (the user doesn't notice it is a symlink in fact in that case). - hostfs.dos (atari/hostfs/metados): * Adjusted to the recent FreeMiNT CVS state to compile and also made BetaDOS only. No more MetaDOS compatibility attempts. * Dfree() fix - for Calamus to be able to save its documents. * Some minor bugfix backports from the current FreeMiNTs CVS version. * The mountpoint entries are now shared among several hostfs.dos instances using a 'BDhf' cookie entry (atari/hostfs/metados/main.c). - ethernet.cpp: * Alternative networking setup: aranym doesn't need to use the suid aratapif now. CVSROOT/tools/arabridge script is able (with root permissions) to establish a bridge over the tap0 tunnel and eth0 nif so that aranym would become fully featured LAN machine from ethernet point of view. E.g. you can try DHCP directly from within ARAnyM then. * [ETH0] type = ppp|bridge and tunnel = tap0 config options added * However there are still some problems: the initialization can fail sometimes. I got it working several times, but in some network configurations it simply doesn't work. I don't have a clue why ATM :( (tested on RH9.0). 2004/04/10 - Petr on behalf of Carlo - acsifdc.cpp: local variable masked out class variable of same name. Bug was there since 2004/02/02. Fixed. 2004/04/06 - Petr on behalf of Carlo - MacOSX/: obsolete aranym_for_library and pkg_support were removed. main_OSX.cpp added, with modified memory allocation routines. The installation package is no longer required. Now there is only a folder to drag to the hard-disk. - configure.ac: added MACOSX_support define, corrected bug in vm_allocate test. - uae_cpu/memory.h: scary typo error fixed - main.cpp, parameters.cpp: these patches were not accepted as I don't like unnecessary polluting of main source code with #ifdef MACOSX_support. We need something like Unix/cygwin/cygwin_parameters.cpp for MacOSX to keep the main source clean. 2004/03/29 - milan - Makefile.in: .cvsingnore not in dists - configure.ac: flightrecorder option corrected 2004/03/04 - Carlo & milan (thank you, Carlo, for your great job) - macro do_get_real_address() for OS_darwin corrected 2004/03/03 - Carlo & milan - MacOS X doesn't support fixed allocation in ARAnyM, so special workaround needed 2004/02/28 - milan - sigsegv handler for Linux as computed gotos (partially), disabled, slower 2004/02/22 - Petr on behalf of Carlo - MacOSX/*: I have solved the problem with DIRSEPARATOR and ARANYM_DATADIR defines in my project. I have modified the shell script that call autogen.sh: now calls it only if it exist (on official release autogen.sh is missing), otherwise it calls configure. I have added the directory "pkg_support": in this directory there are instructions and files to build an installer package for aranym. I have removed "aranym_for_library" directory: this is not needed for the new installing method. The directories ".aranym" "usr" "etc"... are all hidden under MacOSX Finder so they are accessible only through the terminal window. I have renamed ".aranym" in "Aranym_files" and moved the data dir in $HOME/Documents/Aranym_files. In this manner they are accessible through the Finder. I have modified paths in configure.ac so they are correctly expanded in configure. 2004/02/19 - Xavier - gui-sdl/sdlgui.cpp : SG_DISABLED state now ready for use. - gui-sdl/dlgDisk.cpp: "Generate" buttons visible (but disabled). 2004/02/16 - Xavier - gui-sdl/sdlgui* : - added SG_RADIO flag. - removed SGRADIOBUT objects. The exact same effect is now obtained with a SGCHECKBOX object with the SG_RADIO flag. - font is now loaded into a 8 biplanes surface. SDL has some strange reactions with 1 bitplane... - removed converted font. We now directly use the 8 bitplane font. This allows to choose text color and correct a bug where the font was not correctly converted (after a screen depth change while GUI is displayed). - removed SDLGui_PrepareFont() and SDLGui_FreeFont(). - added SG_DISABLED state. Not finished yet. - cleaned color handling. - SGTEXT objects drawn differently if SG_SELECTED flag is set. - gui-sdl/dlgMain.cpp: removed calls to SDLGui_PrepareFont() and SDLGui_FreeFont(). - gui-sdl/dlgFileSelect.cpp: files list elements are now SG_SELECTABLE so user can see which one is selected. * tagged as ARANYM_0_8_7_BETA 2004/02/15 - Petr - natfeat/hostfs.cpp: restore 0.8.5's xfs_init to fix the mount root bug. - README, NEWS, TODO, aranym.1, aranym.spec, version.h: standard updates for new release. 2004/02/14 - Petr - all HW chips' classes: made sure they contain function reset() that initializes internal variables of the objects. This will be called when RESET instruction is executed to provide complete hardware reset. - hardware.cpp: added HWReset(), calls reset functions of all HW chips. - most NatFeat classes: added reset() function (same reason as above). - nf_basicset.cpp, debugprintf.cpp: make use of SafeStrncpy - nf_objs.*: added NFReset(), calls reset functions of all NatFeats. - uae_cpu/aranym_glue.cpp: RESET instruction emulation now resets all emulated hardware and native features. 2004/02/13 - Xavier - gui-sdl/sdlgui.*: - introduced new flags : SG_SELECTABLE and SG_BACKGROUND. - boxes and buttons drawing improved thanks to these new flags. - SGTEXT and SGEDITFIELD objects are now drawn with a background. - removed imports from hostscreen.cpp I added when writing SDLGui_Get[First|Next]BackgroundRect(). - gui-sdl/dlg*.cpp: modified to take sdlgui.* improvements into account. - src/Unix/configure.ac: removed an old hack in Cygwin's $LIB. This was not necessary anymore (thanks to build-cygwin.sh) and was preventing configure to successfully compile some tests. Configure tests impacted (which wrongly reported "no" before) : - "whether mmap supports MAP_ANON", - "whether mmap supports MAP_ANONYMOUS", - "whether mprotect works", - "for atanh", - "for isnan", - "for isinf", and - "for finite". 2004/02/09 - Xavier - videl.cpp, uae_cpu/aranym_glue.cpp: connected virtual reset line of our virtual CPU to our virtual videl. ;) Moved code from videl constructor to init() method. ARAnyM video mode/display/main surface is now reseted to its default upon m68k RESET instruction. We won't see screens like http://phoenix.inf.upol.cz/~opichals/aranym/jinneeXaAES.png anymore. (You'll have to take your screenshots before rebooting from now on, Standa. ;) ) This is still minimal, as with real hardware, all videl registers are set to 0 when this event occurs (Display is turned off until TOS initialize videl properly.). But I suspect EmuTOS wouldn't be able to turn it on yet. BTW, other virtual components should be wired there, too... * tagged as ARANYM_0_8_6_BETA 2004/02/08 - Petr - gui-sdl/dlgAbout.cpp: RTFM AUTHORS - gui-sdl/dlgMain.cpp: visually restructured a bit, added three buttons for quick access to most often used functions. - gui-sdl/dlgHelp.cpp, Unix/configure.ac: Help page added - hostscreen.cpp: added a comment that explains why user.code = SDL_USEREVENT - input.cpp: GUI thread talks back to INPUT thread by SDL message as well. Should fix the infamous X async reply I started getting recently. Maybe even the problem on Mac. - natfeat/nf_base.*: SafeStrncpy() added (respects buffer size). - natfeat/hostfs.*: ctor/dtor added, init/exit used for clearing the allocated buffers. Resets the mounted points on ARAnyM Restart now. Also makes use of SafeStrncpy(). Perhaps EasyMiNT installation won't require aranym quit now. - AUTHORS, README, BUGS, NEWS, TODO, aranym.1, aranym.spec, version.h: standard updates for new release. 2004/02/06 - Xavier - gui-sdl/sdlgui.cpp: fix for resolutions smaller than the dialog size. Dialogs dimensions back to 40x25. 2004/02/05 - patrice - New DSP thread killing when shutdown. 2004/02/05 - Petr (on behalf of Carlo) - MacOSX/*: modified the project for version 0.8.6. Also included a shell script for calling the autogen.sh inside the project. - blitter.cpp: updated for getVIDEL(), fixed wrong parameters in the memmove call (BLITTER_MEMMOVE only) 2004/02/04 2:11am - Petr (dedicated to Konrad :) - rtc.cpp: fixed two real scary bugs. How could this code work previously?? Weird that these bugs didn't appear under Linux for so long. Sorry guys :) Now Windows boot in correct resolution and without double bus errors! - include/version.h: version 0.8.6alpha 2004/02/03 - Petr - gui-sdl/*: dimensions made smaller (39x24) to fix the crashes in ST-Low (Xavier increased the dialog dimensions by a few pixels) - rtc.cpp: few more debug messages - main.cpp: DEBUG disabled 2004/02/02 - milan - cdrom.cpp: Solaris support corrected 2004/02/02 - Petr - acsifdc.cpp: when fixing my 0.8.5beta bug that Xavier has found I decided to clean the whole floppy code. FDC routines were included from fdc.cpp. Dropped emulation of second floppy drive. Fixed remounting a floppy with different geometry. The hack for auto remounting a floppy disk is now configurable with #define REMOUNT_FLOPPY_ON_BOOTSECTOR_READING. If it's enabled floppy access is very slow but exchanging real floppies is detected. When it is disabled then floppy access is fast but detecting of media change does not work. - fdc.cpp: removed (its content is included in acsifdc.cpp) - Unix/Makefile.in: fdc.cpp dropped - gui-sdl/dlgDisk.cpp: better calling of the floppy functions - main.cpp: init floppy after reboot 2004/02/01 - Petr - MacOSX/*: some unspecified updates from Carlo, used for building the binary that is on download. 2004/01/30 - milan - configure.ac: support better native debugger with gcc and gdb - Makefile.in: small POSIX update - ata.cpp: small sync with Bochs (set transfer mode and better controller init) - compemu_support.cpp: warning "JIT disabled if you have small cache size" enabled - cdrom.cpp: some corrections in the latest port from Bochs 2004/01/29 - Petr - src/MacOSX/*: suddenly Carlo Baiocco appeared and sent me a complete MacOSX Project builder folder. Give it a try, perhaps it finally builds a binary for MacOSX? Follow the MacOSX/README.rtf for more info. 2004/01/28 - Petr - cdrom.cpp,h: Stefan replaced it with a file from current Bochs and forgot to update the ChangeLog. It might break some other platforms. Beware. - BUGS: two Windows related problems Konrad reported are documented and will hopefully be resolved in next release. 2004/01/26 - Xavier - doc/build-cygwin.sh: preserve timestamps when copying ARAnyM sources. This allows CVS to find which files where modified when commiting from ${ARANYM_BUILD}. 2004/01/25 - Xavier - gui-sdl/sdlgui.*: - aligned SGBUTTONs handling on other objects. They now need to have SG_EXIT or SG_TOUCHEXIT flag set to end dialog processing. Dialog definitions needs to be updated accordingly. This simplify code (and allows to use SGBUTTONs like SGCHECKBOXes). SG_EXIT and SG_TOUCHEXIT buttons are still deselected before dialog exit however. This should be removed and caller code should be responsible of deselecting buttons. - created a secondary loop to hande mouse clicks (SDLGui_MouseClick() function). Now, once an object is clicked, we ignore any keypress until mouse button is released. This fixes some underlying bugs (clicked buttons not deselected when user press RETURN, or when resolution change). - created a new function to handle keypress. First step to the full rewriting of SGEDITFIELD objects handling. - implemented SDLGui_Get[First|Next]BackgroundRect() functions. They allow main thread (hostscreen.cpp) to get a list of rectangles to update the background without erasing the opened dialog. We are ready to implement "flying dialogs". :) This code will need updating if we implement SG_POPUP handled by sdlgui, since popup menu can be higher than root box. - SDLGui_ObjFullCoord() now returns correct coordinates for SGEDITFIELD objects. - factorized some code ; simplified loops. This allows central loops to be far more readable. - commented a bit. - corrected some returns values and tests. Object #0 should be handled the same way as the others. Functions should return -1 when no objects found, and calling functions should test for ">= 0" and not "> 0". - src/hostscreen.cpp: rewritten HostScreen::blendBackgrounds(). It now uses SDLGui_Get[First|Next]BackgroundRect() functions and is a bit shorter than before. - gui-sdl/dlg*.cpp: added SG_EXIT flag on all SGBUTTONs object (unless they were already SG_TOUCHEXIT). - gui-sdl/dlgDisk.cpp: uncommented IDE0_GENERATE and IDE1_GENERATE buttons. Added SG_HIDDEN flag on them for now (until SG_DISABLED flag is implemented or the code behind is written). 2004/01/24 - milan - CPU: small cleanup - JIT: blacklist opcode for debugging - sync with BasiliskII 2004/01/23 - Petr - gui-sdl/dlgDisk.cpp: changed floppy path was not applied to the bx_options - doc/documentation.txt: Bjoern Spruck has contributed a network init script. 2004/01/09 - Xavier - gui-sdl/dlgAbout.cpp: made "OK" button the default one. - gui-sdl/dlgDisk.cpp: - made "Back to main menu" button the default one. - shortened displayed pathes to better suit new button's look. - gui-sdl/dlgFileSelect.cpp: made "Okay" button the default one. - gui-sdl/dlgKeyboard.cpp: made "Back to main menu" button the default one. - gui-sdl/dlgMain.cpp: - made "Close" button the default one. This may not be the better choice. I think we could set "Apply changed settings" button as default once any parameter is modified, and set "Close" back when user changes are applied. This way pressing RETURN 2 times would apply setting, then close GUI. - fixed indentation. - gui-sdl/sdlgui.*: - Made SDLGui_Draw3DBox() more fexible. Allows to choose width of 3D and black border now. It's a shame not to use it more : buttons are very nice with a 10 pixel wide 3D effect. ;) - implemented SG_DEFAULT buttons. - Reviewed TOUCHEXIT objects handling (fixes fileselector arrows bug introduced on 2004/01/06). 2004/01/08 - patrice - dsp_disasm.cpp: many references to old 'dsp.' variable lying around, now replaced by 'GetDSP()->'. - hostscreen.h: forget to include config.h for ENABLE_OPENGL value. 2004/01/07 - Xavier - doc/build-cygwin.sh: Corrected a minor bug in error handling. * tagged as ARANYM_0_8_5_BETA 2004/01/07 - Petr - gui-sdl/dlgMain.cpp: show "unsupported yet" everywhere for the curious. - NEWS, README etc: update for release - doc/build-cygwin.sh: "bash" is in /bin/ (and rpmbuild insists on that) 2004/01/06 - Xavier - gui-sdl/sdlgui.cpp: improved maintainability and "look'n'feel". - Factorized objects coordinate computation. - Factorized objects refreshing code. - Factorized objects drawing code. - Radio button handling simplified. - Dialog centered "on the fly" (root object coordinates not modified anymore). - Dialog centered at the pixel level instead of char level. - Boxes/Buttons borders more GEM-like. - Buttons labels centered at the pixel level instead of char level. - When user click on a button and move the mouse before he release mouse button, the state of the button is dynamicaly updated. - SDLGui_FindObj() takes buttons and boxes border into account. Since ARAnyM GUI does not use radio buttons or popup buttons, these objects have not been tested. Will do it ASAP. Please report any problem with them. - hostscreen.cpp: modified GUI size to keep root box borders on screen. 2004/01/05 - Petr - main_unix.cpp, parameters.cpp: 'program_name' is back (cygwin needs it) - input.cpp: try to iconify fullscreen window when user wants to release mouse and keyboard (Hi Guido :-) - main.cpp: NatFeats initialized at startup, de-initialized at exit and re-initialized at Restart. The re-init code (exit + init) is not optimal. Maybe we should come up with a reinit() function and let NF authors to define what should happen at creation time only and what should be refreshed upon each reboot. - natfeat/nf_base.*: bool init() and void exit() virtual functions defined. - natfeat/nf_objs.*: initNatFeats() calls all NF's init(). Similarly for exitNatFeats(). - natfeat/xhdi.cpp: the init() function is used for remembering the disk settings so that on-the-fly changes in SETUP don't ruin the pending disk operations. This was the main reason for introducing NF init/exit although after reviewing the code it was obvious that such functions were needed for a long time and will be useful for other complex modules (hostfs?) in future. 2003/01/04 - STanda - fvdidrv: * NF API interface polished (made with a use of the enum {} like e.g. hostfs). The old non-NF interface dispatch routine removed. * Color handling rewritten to be able to support virtual workstation local palette. The NF API functions now take HW color values instead of the color index (XaAES RSC palette feature works properly now). * The interface version bumped to 1.100 (nfapi version constant 0x10000960 -> 0x11000960) due to the color handling changes. 2004/01/03 - Petr - videl.cpp, parameters.*, main.cpp, configure.ac, documentation.txt: DIRECT_TRUECOLOR hack removed. I don't think it was ever used. - main_unix.cpp: code rearranged for slightly better readability. - gui-sdl/sdlgui.*: SG_HIDDEN state introduced. Helps for context-sensitive display. - gui-sdl/dlgDisk.cpp: no more confused users as all CD-ROM unrelated settings are hidden now when CD-ROM is selected. An automagic detection of C/H/S geometry for loaded disk images added. - parameters.*, main.cpp: tos and emutos paths moved to bx_options struct. The goal is to keep everything in the struct for easier handling in the SETUP GUI. - main_unix.cpp: 'program_name' is gone. 2004/01/02 - Petr - gui-sdl/dlgDisk.cpp: Disk geometry added (C/H/S). Also, there is Insert/Eject button in each IDE set so it now supports mounting of two IDE CD-ROMs simultaneously :) - gui-sdl/sdlgui.cpp,h: CHECKBOX can be placed on right side of the text. Same thing could/should be done for RADIO button. - gui-sdl/font8.h: font8.bmp included in the code itself to get rid of problems with loading it at runtime - gui-sdl/sdlgui.cpp: Load_XBM() for initializing the font (kindly provided by Martin Doering, thanks). - parameters.cpp,h: recently added guifont_path removed :) It will come back, though, once the TOS font file format loading is implemented (see TODO). - Makefile.in: font8.bmp is not installed - configure.ac, Makefile.in: GUISDLSRCS introduced (contains gui-sdl/ files) - TODO: one thing done (font8), another ideas arrived (floppy bootup insert) 2004/01/01 PM - Petr - fdc.cpp: added is_floppy_inserted() (used in the config GUI). Also changeFloppy() called on insert_floppy() - this fixes the old reported problem with installing NVDI from several diskettes. - hardware.cpp,h: getIDE() added (used in RestartAll for IDE reinit). - ide.cpp,h: init() added - contains the conversion of some bx_options that was previously in parameters:postload_ide(). In init() it's better as we need to convert the options also after config GUI changes (where we don't want to call postload_* stuff). - main.cpp: call IDE::init() in RestartAll() to reinitialize the IDE settings (possibly changed in the config GUI). - parameters.cpp,h: 'floppy.inserted' removed. Instead, we'd need something like 'floppy.present' to indicate whether to mount the floppy on boot or not. Also the bx_options.atadevice parameters conversion moved to ide::init(). - parameters.cpp: loadSettings() now properly pre-/postinitialized by calling preset_cfg() and postload_cfg(). - gui-sdl/dlgDisk.cpp: rewritten, finished, tested, working. - gui-sdl/dlgMain.cpp: load of settings from a config file now properly update GUI settings. Also the "Apply" button is enlarged to emphasize that without applying of the changes the Save Settings or Reboot/Close actions ignore the changes made in config dialogs. - TODO: large update/rewrite. Get involved if you have some spare time. 2004/01/01 AM - Petr - gui-sdl/dlgMain: adding more options - input.cpp, main.cpp,h: RestartAll() now reinitializes the OS (in future it has to reinitialize also the memory and all hardware). Visible result of this change is the possibility of loading another config file from GUI in run-time and reboot with different OS (from TOS to AFROS, for example). ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~ Happy New Year to all ARAnyM fans ~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 2003/12/31 - Petr - main.cpp: startup GUI now uses the same thread schema as the normal GUI. Windows SDL couldn't read mouse events in timer thread :-( - input.cpp: small clean up in the GUI handling 2003/12/28 PM - Petr - hostscreen.cpp: removed the scary IPC hack and switched to user SDL events - input.cpp: same IPC hack fix, SDL keyboard and mouse events mapped to the user event. The event processing (in check_event()) changed from PollEvent to threadsafe PeepEvents(). - gui-sdl/sdlgui.cpp: IPC fix: keyboard and mouse events decoded from user events. - gui-sdl/dlgMain.cpp: missing initialization of reboot/shutdown flags. Loading/saving of config file with editable filename implemented. - parameters.cpp,h: loading and saving of config file from GUI works now. - main.cpp: fixed scary bug - how could this work this morning? Use the GUI timer thread _before_ the actual 200 Hz timer thread is started... 2003/12/28 AM - Petr - sdl-gui.cpp, dlgMain.cpp: font init moved back to the main dialog, freeing of font surface added. - hostscreen.cpp: color palette initialized to 16 default TOS colors - main.cpp: startup GUI with separate timer thread for handling input events before the standard 200 Hz timer starts - parameters.cpp,h: "-G" command line parameter opens the startup GUI. 2003/12/27 - Petr - SDL GUI cleanup: first, all SDL GUI related files are in gui-sdl/ folder now. Then, each dialog is in its own file. At last, SDL GUI now supports EDIT field (have yet to add passing the keyboard info) and the FileSelect now supports editing the filename ("save as..."). We are basically in sync with hatari 0.45 now. - sdl-gui.cpp: dialogs are now centered automagically by DrawDialog(). May seem unnecessary at first but helps when the screen resolution is changed and dialogs need to be redrawn at different positions. - input.cpp: cleaned up the way the GUI is open - main.cpp: prepare for the initial GUI popup - ndebug.cpp: "char" -> "int" to get rid of a compiler warning - sdl-gui.cpp: font init moved from dlgMain to SDLGui_Init(). - include/version.h: we are at 0.8.5alpha now 2003/12/26 - Petr - input.cpp: cleaned up. 2003/12/25 - Petr - hostscreen.cpp: terrific hack that lets the SDL GUI thread know about resolution change. * tagged as ARANYM_0_8_4_ALPHA 2003/12/24 - Petr - hostscreen.cpp: blendBackgrounds() added. This function updates the background of active GUI with the running ARAnyM screen contents. I played with SDL_SRCALPHA etc. to make the background a bit greyed out or something but haven't succeeded. - main.cpp: blendBackgrounds() called with 5 Hz refresh. Also the VIDEL renderScreen is now called even if GUI is active (naturally, otherwise the blendBackground couldn't work). 2003/12/19 - patrice - bad implementation of bcopy() macro for mingw in sysdeps.h. - changed DATADIR to ARANYM_DATADIR to make mingw and cygwin happy (not conflicting with their system headers). 2003/12/17 - Petr - parameters.cpp: "GUIfont" config option added (as promised). Most of the complicated logic for guessing the right path for non-Unix systems can be removed soon. - sdlgui.cpp: removed the cygwin_to_win32 conversion of the GUI font path. Two reasons for that: first, user can specify the path in MS-DOS format in the config file now (if ever needed). Second, the mingw32 compiled SDL does not work properly anyway so we use cygwin compiled SDL now (and that one surely reads unix-like paths). 2003/12/16 - Petr - mfp.cpp: initializing the internal variables suddenly fixed all the weird problems I had with booting the aranym since I converted the HW classes to dynamically created objects. So it's finally solved. 2003/12/16 - Xavier - doc/build-cygwin.sh: added a small shell script to ease compilation on Cygwin systems. This script is needed since SDL does not allow to build Cygwin applications out of the box. Please read comments at the top of build-cygwin.sh for detailed informations. - doc/compiling_for_windows.txt: removed old documentation superseded by build-cygwin.sh. 2003/12/15 - Petr - why to bother with demoing weird problems in extfs.cpp when the file is obsolete and can be removed? Good idea from Standa. ExtFS removed. HostFS is the only right choice now. - emul_op.cpp: bunch of obsolete emul_op instructions was removed. - aradata.cpp: register 0x9000a.L removed (it used to report the ExtFS drives bitmask but I can't recall if it was ever used in the planned application for auto-configuration of the BetaDOS's config file). - hardware.cpp: the ARADATA now handle 18 bytes of HW regs only and I plan to convert the remaining mouse information to NatFeats so that ARADATA could be removed completely. - hostfs.cpp: debugging disabled. Proper GPL header added. - Unix/configure.ac: ZLIB is required only if LILO is enabled so the check for ZLIB is not performed when LILO is not enabled (Patrice's idea but he was too lazy to do it :) 2003/12/09 - Petr - extfs.cpp: rewritten the initialization of rootPath a bit. And added #define DEMO_WEIRD_PROBLEM. That is the "AFROS does not boot" problem that is still there and can be easily exhibited just by allocating the 'A' rootPath earlier in the start process. Note that it somehow affects the MFP interrupts which later causes EmuTOS to hang during boot. Very weird. - extfs.{cpp|h}: proper GPL header (this one should be added to ALL files) 2003/12/09 - STanda the change from (2003/10/02): " Fxattr() now returns the (uint32)MAPVOIDPTO32( fc->index ) instead of the host OS' statBuf.st_ino. This is a problem IMO due to that the fc->index might change on releaseCookie()/dupCookie(). Proposals?" proved wrong. Rolling it back. 2003/11/28 - Petr - extfs.cpp: made sure the drives[].rootPaths are really initialized to a defined value. Also, I don't like functions in header files so moved constructor/destructor to the CPP. And it seems to fix the problem with freezing EmuTOS due to a MFP problem. 2003/11/27 - Petr - forgotten "extern DSP" declarations removed * interesting thing: I figured out that AFROS boots on the 0.8.4+ ARAnyM if the [HOSTFS] H= is at least 12 bytes long. Example: stock AFROS contains just "H=/tmp/". The boot freezes. But if this path is extended to "H=/tmp/6789012" AFROS boots. Sounds like an encouraging thing to debug... Hopefully not a compiler bug! 2003/11/25 - Petr - Patrice convinced me to do a two years pending rewrite of the hardware emulation dispatcher. This is a pretty fundamental change to the deepest internals of ARAnyM so please take it with great care and do backup all your disk drives first! It may easily destroy all your data if I made a mistake somewhere. All HW modules are now true dynamically created instances. This fixes a number of hidden problems including the crash of DSP emulation thread on OS X. It also allowed me to improve and simplify the address dispatcher (as has been written in TODO for a looong time). Almost all files are affected. Definitely all that emulate HW and a couple more. All HW classes are based on BASE_IO now, ICio is gone (why did I introduce it? I can't remember). The speed impact is non-measurable (on my machine, at least) and the source code now looks way better. I am glad I finally rewrote it. I also know AFROS does not boot. I have yet to figure out why. - fdc.cpp: HWget/HWput replaced with much smarter FDC::[sg]etDMAaddr() - aranym_glue.cpp: REBOOT_OR_HALT is set to HALT now. Rebooting was not a good choice (I ended up in an neverending loop of reboots). - main.cpp: fdc_init() moved to ACSIFDC constructor. Also the ROM->RAM first two long words copying moved to InitOS(). HWExit() calling added. - hardware.cpp: the special case in reading/writing words or longs for HW_IDE is finally gone. Now each class can override the handle*** functions if it wants to catch the word and long access. Hopefully nothing breaks after this essential change. - parameters.cpp: added zero parameters to fix compiler warning about missing initializers. - *.cpp: many "unused parameter" warnings resolved by enclosing unused parameters in /* */ * tagged as ARANYM_0_8_3_BETA 2003/11/23 - stefanq - added darwin folder containing all necessary files to make a Mac OS X port of aranym - Makefile.in: added option -r to target APP_LIB, wich is necessary for darwin. - configure.ac: corrected the pathes for frameworks for darwin - input.cpp: added some #ifdef OS_darwin to reflect some differences in the keyboard layout of Apple computers. - parameters.cpp: changed a %d inside an fprintf() call to %lu to prevent a compiler warning. 2003/10/26 - Petr - doc/hguide.txt: written "Threads and Interrupts" chapter. I always wanted to document it since I myself had often hard time recalling how it was actually implemented. 2003/10/25 - Petr - newcpu.cpp, aranym_glue.cpp: bus error handling code rearranged a bit: SDL related code should not pollute the newcpu.cpp. Also tried to fix the indentation (in the BUS ERROR handler of the Exception function at least, since Milan does not want me to reformat the whole file). In case of problems the ARAnyM reaction (reboot or halt) is now common for both EPS (exception per second) and DBF (double bus fault) and is configurable by defining REBOOT_OR_HALT at compile time. If REBOOT_OR_HALT == 1 ARAnyM reboots in case of double bus error or bus error loop. Else it halts CPU and quits. By default it reboots. EPS code now counts both EPS at same PC and also general EPS (regardless of the current PC). Runtime configurable limit is for EPS_PC only, so far. The general EPS' limit is configurable at compile time by defining EPS_LIMIT to a number. Should be made runtime configurable as well. The only missing thing is SDL dialog informing about the situation and offering more options. See the /* remarks */ in code. Bus errors are not printed on console now. The EPS and DBF patches should take care of problems and we are not interested in "normal" bus errors. - TODO: updated (some items removed since they were done already) - AUTHORS: slight update 2003/10/25 - Xavier - newcpu.cpp: better fix for double bus errors - CPU restarts now - main.cpp: display correct EmuTOS build date - configure.ac: caddr_t final solution - vm_alloc.cpp: caddr_t cleans the #ifdefs out 2003/10/17 - Xavier - newcpu.cpp: real trap for double bus errors - configure.ac: allows to "make depend" on Cygwin and correct end message of configure script so that user knows he should "make depend" before "make" - Makefile.in: sed script in "make depend" more readable - vmalloc.cpp: correct a build error on Cygwin (an mmap we forgot...) 2003/10/14 - patrice - newcpu.cpp: added exception per second limiter, configurable in .aranymrc 2003/10/06 - milan - nfcdrom: another cleanup (destructors) 2003/10/06 - milan - newcpu.cpp: Exceptions in JIT handled correctly now, grrr. 2003/10/05 - milan - BasiliskII sync and cleanup, AMD64 as a host (in 32-bit mode) - nfcdrom.h: some methods are abstract now - aranym_glue.cpp: support for compiled mainloop in JIT ** ARAnyM 0.8.2beta released 2003/10/04 - Petr - natfeat/nf_basicset: added OS_TYPE and CPU_TYPE to NF_NAME(1) - minor TODO update - Makefile.in: nfcdrom.bos added to install targets - atari/network/ethernet/README: URL of site about TUN/TAP added - doc/compiling_for_windows.txt added - doc/aranym-lilo.txt added - doc/aranym.1 (man page) - small typo corrected - include/version.h: increased for 0.8.2beta release 2003/10/04 - Milan - Bochs sync and cleanup, mainly around CD-ROM support 2003/10/02 - STanda - Harddisk usage related documentation made up-to-date. - HOSTFS: cleanup + some new features. * Fxattr() now returns the (uint32)MAPVOIDPTO32( fc->index ) instead of the host OS' statBuf.st_ino. This is a problem IMO due to that the fc->index might change on releaseCookie()/dupCookie(). Proposals? * The first fscntl() implementation added. * The convertPathA2F() method was removed. This was a legacy code from the times when the native implementation had the BetaDOS driver API. Now it has the FreeMiNT's XFS API and the BetaDOS' driver API (GEMDOS) emulation was stolen from FreeMiNT. * The ExtDrive * was added to the XfsCookie and is filled within the fetchXFSC() method. This was needed for the cookie2Pathname(). * xfs_symlink() improved - still not perfect * open() modeMint2Host conversion introduced (for the case the stat.h is incompatible - not very likely) 2003/09/30 - patrice - Natfeat CD-ROM driver splitted to ease port to other OS. 2003/09/29 - milan - Makefile.in: APP_LIB added (hmmm, sorry, diploma thesis, thanks Francois and Stefan :-) 2003/09/25 - milan - configure.ac: OS_TYPE and CPU_TYPE for future natfeat exported to sources - hostfs.cpp: debuginfo blocked for CVS 2003/09/23 - patrice - Audio CD players should work now. And data CD-ROMs can be read using any iso9660 dos Atari driver. 2003/09/21 - patrice - Added NF CD-ROM BOS driver. Very simple Atari CD player programs work, but some ioctls are still not implemented correctly, and for the moment not usable for iso9660 fs access, and only for Linux. 2003/09/15 - STanda - --enable-realstop added to the configure options (default=yes and implies the --enable-spcflags-excl option). The STOP condition wait and locking was integrated properly to the uae_cpu core. 2003/09/15 - STanda & !Petr - STOP instruction emulation greatly improved. usleep() was replaced with SDL_CondWait() - better portable and what's more important - fixing jerky mouse movement under new FreeMiNT, fVDI and EmuTOS! 2003/09/10 - Petr (commiting patches submitted by Guy Harrison, thanks!) - Makefile.in: fixes possible conflicts between aranym headers and system ones - autogen.sh: shouldn't 'make depend' unless it configures... 2003/09/05 - Petr - blitter.cpp, mfp.cpp, rtc.cpp: rid of compiler warning "comparing unsigned variable with signed value" - various files: rid of compiler warning "unused parameter" 2003/09/03 - milan - CPU flight recorder from BasiliskII ported and SR support added - ndebug compilation warnings fixed 2003/08/29 - milan - some compiler warnings solved - more warnings support with GCC - inline warnings not showed now - MONITOR0-9 Emulops for JIT modified 2003/08/15 - milan - new CPUDEBUG emulops, switches for new internal variable cpu_debugging, for CPU debugging - make dependencies corrected - gencomp.c: compilation warning cleaned - md5.h -> aramd5.h : thanks, Guy Harrison - vm_alloc.cpp: Cygwin workaround, thanks, Xavier Joubert 2003/08/06 - milan - mingw support cleaned (added to sysdeps.h) 2003/08/05 - milan - autogen.sh, configure.ac: cleaning, free patch from Guy Harrison for MAKE, xeys problem solved - configure.ac, lilo.cpp: zlib & lilo support standardized nightmare -> bobek transfer - Makefile.in: make depend for linux corrected 2003/07/28 - Petr - natfeat/xhdi.cpp: XHInqTarget2 implemented. Also some little cleanup (error codes replaced with symbolic names) - parameters.[cpp,h]: added floppy status ('inserted'). Floppy path correctly initialized - version.h: version increased to 0.8.1 CVS - SDL GUI: MAX_FILENAME_LENGTH defined in file.h - newcpu.cpp: exceptions (bombs) are displayed again (dunno who and why disabled it) - parameters.cpp: printing of version at startup is in main_unix.cpp 2003/07/18 - Petr My little cleanups: - #ifdef OS_mingw cleaned up. Created a new Unix/mingw_include.h file that should be included to a generally available include file (config.h?) if the host OS is mingw. - SDL locks moved from newcpu.cpp to aranym_glue.cpp (let's keep the borrowed modules as clean as possible). - emul_op.cpp: activate_debugger() on 0x71ff disabled as it was crashing whole emulation. 2003/07/17 - Petr - src/natfeat/hostfs.cpp: converPathA2F() tried to strip a drive letter from base path. Xavier debugged this and patched it to not remove the drive letter since it's the HostFS path (and drive letter on Windows is important). 2003/07/16 - Petr - src/natfeat/hostfs: a small workaround for a bug in Cygwin's GCC allows extending the path buffers back to 2048 chars (thanks to Xavier) 2003/07/13 - Petr - configure.ac: ARANYMHOME quotation mark encapsulation fixed for cygwin (thanks to Xavier) - updated TODO 2003/07/11 - milan - nice night - some stupid bugs in JIT compiler corrected: - compiler_dumpstate() with no previous compilation - not ended NEG in sigsegv handler - etc. (sorry, it is too late) - Makefile.in: define -D_REENTRANT -D_THREAD_SAFE - ata.cpp: CD-ROM product ID corrected for little endian 2003/06/26 - ARANYM_0_8_0_BRANCH merged to main and tagged as _ABANDONED. The merge brought just minor JIT and HostFS fixes (see 2003/04/1[25]) 2003/06/12 - milan - configure.ac: ECE support corrected 2003/06/11 - milan - emul_op.cpp: better OP_MONX 2003/06/10 - milan - emul_op: new instruction 0x71ff (OP_DEBUGGER) starts debugger if available new instructions 0x71fX (OP_MONX) display CPU registers 2003/06/01 - milan - configure.ac, Makefile.in: MacOS X support updated (thanks, Stefan Kuhr) - "SDL/" removed from includes, path to SDL headers must be fully defined - sync with BasiliskII 2003/05/27 - milan - configure.ac: MacOS X support rewritten (thanks, Stefan Kuhr) 2003/05/26 - milan - configure.ac, fpu_ieee.cpp: Sparc problem solved, see "2003/04/23 - milan" and GCC bugs #8300 and #9763 2003/05/01 - patrice - minimal ncr5380 scsi emulation to allow Linux boot. Maybe TOS harddisk drivers also do not hang anymore: need testing. - lilo: ramdisk copied to FastRAM, so it is not written over when kernel boots. 2003/04/28 - patrice - midi: Added option to output bytes sent to MIDI interface in a file. - lilo: Bugfix, thanks to midi output. 2003/04/25 - patrice - cfgopts modified so the value given can contain the '=' sign. Added Lilo to Aranym: you can boot a Linux/m68k kernel with it. MMU support required (and debugged!) for this option. 2003/04/23 - milan - configure.ac: on Sparc with GCC 3.x use older FPU (UAE), GCC bug workaround - Makefile.in,configure.ac: small update 2003/04/22 - johan - fvdidrv.cpp: Reverse transparent mode for vrt_cpyfm corrected. 2003/04/16 - patrice - Corrected inclusion of SDL headers. Removed useless glut library linking. 2003/04/15 - STanda - hostfs: * constant usage cleanup. * xfs_creat()/xfs_dev_open() issues fixed (gunzip works properly now) * xfs_native_init() improved to be able to handle both the 1.15.x and 1.16 (new Dcntl() feature) - reacts on the 0-31 devnums when appropriate. 2003/04/12 - Petr - compemu_support.cpp: unnecessary fopen("/dev/zero", O_RDWR) removed. This allows running aranym-jit on ARAnyM Demo CD (Knoppix based). ** ARAnyM 0.8.0beta3 released 2003/04/10 - Petr - parameters.cpp: addFilename() has a different order of arguments and is able to deal with additional path separators - cygwin support hopefully perfect now (uses registry to find out the path to "My Documents" folder which is used instead of the Unix-ish $HOME). - hostfs.cpp: char a[2048] - local arrays for filenames now defined with MAXPATHNAME2LEN (MAXPATHNAMELEN was already used and I wasn't sure if it can be used in the other cases as well). - !IMPORTANT! With MAXPATHNAME2LEN set to 2048 gcc 3.2 created incorrect code on cygwin. Thus both MAXPATHNAME[2]LEN were set to 255 for now. I realize it's dangerously low value but if we are suffering from stack overwrites we need to go low and re-check all issues again. Note that this fixes the wrong mapping of host folders under Cygwin.. 2003/04/09 - Petr - parameters.cpp: do not include emu_bochs.h - this breaks some platforms. - tools_cygwin.cpp: Xavier submits a routine for reading the registry 2003/04/08 - Petr - hostfs.cpp: fixed very annoying bug that was causing bus error when opening root of a host drive. - parameters_cygwin: fixed a bunch of small bugs, now tested and works OK. 2003/04/08 - patrice - Document autozoom in the [VIDEL] section, and [OPENGL] section, in documentation.txt and aranymrc.example ** ARAnyM 0.8.0beta2 released 2003/04/08 - Petr - cfgopts: Thomas correctly suggested to use memmove() for overlapping blocks of memory. - changes made between ARANYM_0_8_0BETA1 and 0_8_0_BETA2 merged to main. 2003/04/07 - patrice - Preliminary support for mingw compilation suite. 2003/04/07 - STanda - hostfs.cpp: General debug messages cleanup. The st2flags() and flags2st() methods fixed (a need for open()). The isPathValid() method removed (was only useful for aranymfs.dos). Dpathconf(8-9) added and 7 fixed (Thing has a bug in 1.27 here IIRC). 2003/04/07 - Petr - configure.ac: parameters.cpp and its children updated. Should be ready for adding more cygwin specific functions. 2003/04/06 - Petr - parameters.cpp: '-S' handling corrected. Small cleanup in getopt().. - natfeat/ethernet.cpp: back to execp(), now starting of 'aratapif' works OK thanks to use of _exit(). - parameters.cpp: cleanup in getConf/DataFilename(). Now uses 'callbacks' for obtaining the folder path. These callbacks are defined for Unix and for Cygwin so far (Cygwin needs a different handling). Hacks with "--datadir=/" removed completely. Thanks to Xavier for the Win32 related information and ideas. - Unix/cygwin: new folder with tools_cygwin.cpp and parameters_cygwin.cpp. The Makefile.in was not updated yet.. Trying to find a more flexible way than copying things from parameters_unix to parameters_linux... 2003/04/03 - STanda - hostfs.*: general clean up - tools.*: The 32bit <-> host mapping for systems with non 32bit void* and int. Several other functions were moved to the tools.h. 2003/04/01 - Petr & Honza/ATACK - main_unix.cpp: segfault on gentoo (where the argv[0] does not contain the path (only filename)). - natfeat/ethernet.cpp: missing ethX definition in DEBUG() statement 2003/03/30 - Petr - cygwin gets its own folder with a tools.cpp file. - sdlgui.cpp really needs the explicit conversion of the path. Xavier was right, after all. 2003/03/29 - milan - Petr's version capabilities implemented - infoprint as cname for panicbug, sorry Petr - man page from debian added 2003/03/28 - STanda & Petr - natfeat/hostfs.cpp: DIRSEPARATOR used wherever possible. Might fix HostFS on Windows. - parameters.cpp: DATADIR can't be relative so now it checks for "//" (configure --datadir="/") and then ARAnyM uses the path to the binary as the DATADIR path (fixed later the same day) 2003/03/27 - Petr - parameters.cpp: correction and clarification of "-d" command line switch - input.cpp: a key for generating screenshots changed to "PrintScreen" (the Alt+PrintScreen collided with Linux kernel hacking SysRq combination) - [ARANYMFS] config file block header changed to [HOSTFS]. The [ARANYMFS] is still read in case [HOSTFS] is not found in the config file. But in near future ARAnyM will stop reading the old [ARANYMFS]. Updating your config file automatically is as easy as starting aranym with -s. After that you may just remove the [ARANYMFS] block from your config file. - user-specific files ("config", "nvram") are stored in subfolder ".aranym" in the $HOME folder. If $HOME is not defined, $USERPROFILE is used instead (Windows 2000). If neither $HOME nor $USERPROFILE is defined then the path to the ARAnyM binary is used. - system-wide data files ("ROM", "etos512k.img", "font8.bmp") are stored in subfolder "aranym" in the "/usr/local/share" folder (by default). This folder can be changed in configure by --datadir=. If this folder is defined as 1 char long path ("." for the actual folder) or is empty then ARAnyM tries to use the path to the ARAnyM binary instead. - DIR_SEPARATOR renamed to DIRSEPARATOR and corrected (it's been already used in several places). 2003/03/27 - milan - configure.ac: DIR_SEPARATOR added. 2003/03/26 - milan - JIT games, sync with BailiskII 2003/03/24 - milan - Solaris support updated - one paranoia "volatile" fix in CPU ** ARAnyM 0.8.0beta1 released 2003/03/24 - Petr - aranym.xfs renamed to hostfs.xfs - new binary drivers (hostfs.dos, hostfs.xfs, aranym.xif, nfeth-config) added to CVS. - Makefile.in: installs new hostfs (instead of old aranymfs) and also new aranym.xif plus utilities. - aranym.spec: updated for new release, install new files. - doc/documentation.txt: slight update (regarding BetaDOS only) 2003/03/23 - Petr - nfeth-config.sh: added, calls araethip and shows how easy is to configure the device automagically. - araether.c: AUTO_IP_CONFIGURE (automatical internal configuration of eth addr and netmask) added but is not working well, thus disabled by default. Also the DEBUG(()) system doesn't seem to work so I wrote mine for the ioctl() - can be enabled by defining MY_DEBUG. - renamed things: "araeth*" -> "ethernet", "araethip" -> "nfeth-config" - atari/hostfs/README, atari/network/ethernet/README: updated - 'aratapif' started by 'execv()' from the same folder where aranym was started from. Also a couple of checks for file owner and setuid bit added so users get warnings if chown/chmod was not applied to aratapif. - version.h updated to 0.8.0beta1 - configure.ac, Makefile.in: renamed "pif" to "ifc" and "arapif" to "tapif" - TODO, BUGS, INSTALL, NEWS, README and other files updated. 2003/03/22 - Petr - [ETH0] settings in the config file - aranym_xfs.c: ifdef'ed one debug print - araethip.c: improved and adapted for possible many eth devices 2003/03/21 - Petr - networking: NF API extended to allow emulating more than 1 network card - aranym.xif: added SIOCGIF modes to autoconfigure the device with its IP and netmask. - natfeat/ethernet.cpp: initialization corrected. The XIF should not install on atari side unless the host initialization was finished OK. 2003/03/20 - STanda - hostfs.cpp: mapping improved. - .DOS/.XFS: .xfs works now just like the MetaDOS's driver it maps all the drives under the same driver letters. It goes through the [aranymfs] for the mapping. After a conversation with Frank Naumann I conclude that the M(B)etaDOS/ExtenDOS would not work with the 1.16 FreeMiNT kernel line. So do not use the .dos driver there as the very same thing is provided by the .xfs there now. The configuration stays the same. - aranym_xfs.c: the source can be swithed to use the Dcntl() to map the drives, but in that case you can't get the single letter mountpoints. 2003/03/19 - STanda - hostfs.cpp: the metados hostfs.dos driver simply sets the mapping the same way as aranymfs.dos. No change for the user. NOTE: Do not use aranymfs.dos driver. It doesn't work under FreeMiNT 1.16 kernel - aranym.xfs: now mounts the [aranymfs] mountpoints to U:/GG (need to develop a hack to map that to U:\G only /single letter mount point) - not via Dcntl() which looks in BIOS in this case) 2003/03/18 - milan - P4 fix for JIT compiler - sync with BasiliskII 2003/03/17 - milan - FPU updated, preparation for K8 2003/03/17 - STanda - hostfs.cpp: the chattr/chmod functions ported from STonX. Not tested. It just compiles ATM. 2003/03/16 - Petr - natfeat/doc/native.txt updated (used Laurent's latest version without the NF_CONTROL stuff and with corrected unsigned long ID). - TODO updated - natfeat/ethernet.cpp, atari/network/araeth/araether.c: subIDs are now defined in a separate header file named araether_nfapi.h. This should make the connection between host side and atari side of the natfeat clearly visible. - natfeat/ethernet.cpp: getting of IP addresses added. Used in a separate program called 'araethip'. Version of the arether_nfapi must have been increased so update your aranym.xif binary. - atari/network/araeth/getparams/araethip.c added. Can be run from MiNT's rc.net to call the ifconfig and route with proper IP addresses. - atari/network/araeth/README: updated with info about 'aratapif' and the tunnel device - simply about getting the whole thing working. 'araethip' is not covered yet in this README. 2003/03/15 - Petr - major rewrite of the aratapif (ARAnyM TAP IFconfig) and related updates in natfeat/ethernet.cpp. Now it actually works! 2003/03/14 - Petr - dsp_cpu.cpp, araifc/inet.c: small fixes to remove GCC warnings 2003/03/13 - milan - IDE: sync with bochs, BeOS, Cygwin, Darwin - araifc integration 2003/03/12 - STanda - hostfs.cpp: fake methods for chattr, chmode, chown and some more. The report the fakeness to the host OS console in debug mode ATM. - araifc (ARAnyM ifconfig implementation for tuntap) 2003/03/12 - milan - list of supported OS updated - Makefile.in: diskimage cleaning 2003/03/11 - STanda - aratapif: made working even in nondebug mode. The exec() arguments needs to be put into the child process adress space to be able to execute any binary. - BetaDOS 3.12: works correctly with the hostfs.dos driver here it seems. Please test the driver throughly. It gives you the long names also under FreeMiNT (unlike the aranymfs.dos which does not work at all in my 1.16 setup - it does in 1.15.12 however) 2003/03/07 - Petr - aranym.spec: paths to share/aranym had to be corrected (though I'd say they were OK previously and that our Makefile install: is wrong) 2003/03/06 - Petr - external configuration tool for the setting up the tap0 device 2003/03/05 - STanda - small fix in hostfs/metados/main.c 2003/03/04 - Petr - ata.[cpp|h], parameters.[cpp|h] cleaned up: obsolete disk_options_t and cdrom_options_t structures removed. Everything is stored in the atadevice_options_t now. Nice bonus is the possibility of naming the IDE device with new config option "ModelName" (string, up to 40 characters). 2003/03/02 - Petr - natfeat/atari_example_gfa.lst: example for GFA Basic programmers - natfeat/atari_example.c: updated for Ssystem() call 2003/03/01 - Petr - parameters.[cpp|h]: single partition devices under the SCSI nickname need the partition ID to be configurable - natfeat/nf_base.cpp: added, contains Atari<->Host memcpy and strcpy functions (taken from hostfs.cpp). - hostfs: major NF API clean up. Versioning added. HOSTFS is Supervisor only now. Also the mount point in MiNT is "U:\hostfs" now. 2003/02/28 - Petr - natfeat/ethernet.cpp: getHWaddr takes exactly 6 bytes and it's not a string so no EOS should be added. Thus strncpy changed to memcpy. 2003/02/27 - Petr - Ethernet: README of aranym.xif made clearer, IP addresses in ece.cpp configurable by #define and the default ATARI IP address changed to 192.168.0.2 (to prevent users from asking a question why it was .5). - natfeat/ece.cpp renamed to ethernet.cpp - NatFeat "ECE" dropped, new NatFeat "ETHERNET" with different API supporting also versioning and allows passing the interrupt level and MAC address from the host side. Also the ETHERNET NF is Supervisor only (naturally). 2003/02/26 - Petr - ETHERNET_OLD (the one from Basilisk) removed completely - Networking now at interrupt level 3 (Audio stays at int level 5) - parameters.cpp: "--swap-ide" command line switch added (exchanges IDE0 and IDE1 drives). I find it useful for preparing new disk images.. - parameters.[cpp|h]: get ready for SCSI disks ([DISK0-7]) (single partition mounting) 2003/02/26 - STanda & Petr - natfeat/ece.cpp: after removing hostScreen.lock and one unfortunate D(bug) it started working. Wonderful. TODO: change interrupt (probably to INT3). Also would be good if root privileges for tuntap weren't necessary. - "araeth" -> "eth" rename 2003/02/20 - Petr - videl.cpp: fixed wrong st_shift reset, removed VIDEL regs initialization (since EmuTOS now initializes VIDEL properly). Startup color depth of host window is 8bit now (should be enough). 2003/02/19 - STanda - fvdidrv.cpp: the expandArea M->M for bitplanes fixed The only TODO for full bitplane support is to support non-word aligned blits and expands. ... next shift (evening) ... the VDI pen -> TOS colors reduced only to proper setting of the palette (see getTosColor() method). 2003/02/18 - STanda - fvdidrv.cpp: the bitplane modes improved. Up to the 4bit mode everything works well. The 8bit mode is on the way. There is still some little imperfection there. 2003/02/18 - Petr - videl.cpp: writing to f_shift resets the st_shift and that fixes the color depth detection routine. 2003/02/17 - STanda - BeOS patches for extfs.cpp and natfeat/hostfs.cpp 2003/02/16 - Petr - cleanup in src/natfeat - fundamental NF functions grouped in 'basicset' - cleanup in emulop.cpp - removed everything that has a NF replacement - cleanup in araobjs.cpp - removed everything that is in src/natfeat as well - NF_SHUTDOWN added 2003/02/12 - STanda - tools/createdisk: rewritten into 'sh' syntax and tested on Solaris/HPUX/FreeBSD (all due to the clarity of the FreeBSD distribution requested) * you can create image of whatever size and pretty fast (we are using lseek() there now and so on ext2 you can create and image file bigger than your available space ;)) * You need not to use the mbrdata file if you don't need it. See the usage notes for more. 2003/02/09 - patrice - ikbd.cpp: corrected SendMouseMotion() which don't modify the buttons variable anymore. - hostscreen.cpp, parameters.cpp: added 'Filtered' property to [OPENGL] section if you want do enable/disable linear filtering for screen rendering. 2003/02/04 - Petr - input.cpp: fixed a long-standing bug with automatic mouse grab upon entering the ARAnyM window. This didn't work correctly when the ARAnyM window didn't have input focus. - ikbd.cpp: there is a bug in the algorithm of compressing the mouse packets. I added a simple workaround but in the future this should be fixed properly. - input.cpp: added a warning when the SDL reports weird mouse relative motion event. Such event is reset otherwise our mouse would get mad. I am wondering why SDL reports such scary values for relative motion.. 2003/01/29 - milan - Makefile.in: corrected, floppy.sh is executable - memory.h: ISO C++ ** ARAnyM 0.7.0 released 2003/01/29 - Petr - xhdi.cpp: used off_t in fseek hoping that this would make it LFS compatible - Makefile.in, aranym.spec: three more contrib files added for installation 2003/01/16 - milan - configure.ac: support for large files (>2GB) corrected support for OpenGL 2003/01/15 - STanda - fVDI: The drawMouse() hot_x/hot_y are stripped to 4 bits. = The m68k driver had a bug in the parameter passing for drawMouse() so DO NOT FORGET to update your disk images. 2003/01/14 - STanda - fVDI: The drawMouse() calling fixed for the natfeat dispatch. The mouse color should be OK again. And... EmuTOS works with fVDI since now. 2003/01/12 - Petr - natfeat/atari_example.c improved (using function pointers now) - include/version.h improved (automatically appends "CVS_date_" to unoficial builds) 2003/01/11 - Petr - "__NF" cookie fixed - now the structure contains pointers to nfID and nfCall. - src/natfeat/atari_example.c updated - it's now based on the __NF cookie only. 2003/01/10 - Petr - tools/diskimage.c: a tool for creating disk images up to 32 GB large. Note that our IDE emulation is limited to 2 GB disks for now. Will be fixed soon, hopefully. 2003/01/09 - Petr - fixed _SND cookie value: now it contains just '4' to indicate that no hardware is available except of XBIOS functions. If DSP emulation is compiled in and active the _SND cookie contains %00001100 (according to recent info in mailing list the 3rd bit means DSP). - improved the patch of TOS 4.04 again - this time added "__NF" cookie (untested yet) and also a nice example of how cool the boot logo may be. - Didier updated audio driver to use NatFeats when available... 2002/12/29 - Petr - videl: Sébastien Briais sent a patch that allows virtual screen on VIDEL by emulating the 'linewidth' and 'lineoffset' VIDEL registers. - videl: the 'od_posledni_zmeny' variable translated to English, at last. 2002/12/19 - STanda - the atari/network/araeth aranym.xif for ECE (ethernet card emulation) added. It doesn't work ... see the README there. nb: The ether_unix.cpp;emul_op.cpp;include/ether*.h may be removed I left them in place until it all actually runs with my implementation - Installation and BUGS section added into the atari/hostfs/README 2002/12/16 - STanda - several cleanups regarding the extfs and hostfs (main.cpp, nf_objs.cpp) - STL bugfix in natfeat/hostfs.h (the std namespace usage) 2002/12/14 - johan - Special handling of 32 bit vro_cpyfm D=S mode (see 2002/09/28). - Mode handling for screen->screen blits. - Updated fvdi.prg, aranym.sys and fvdi.sys. 2002/12/10 - STanda - extfs: interface & debug cleanup - hostfs: completely new NatFeat driven implementation of the host OS filesystem access. The m68k implementation in in atari/hostfs folder. Read the README placed there. 2002/11/30 - patrice - videl: autozoom does not work correctly if target is smaller than source. - hostscreen: added OpenGL rendering for the Atari screen. 2002/11/09 - milan - sync with BasiliskII: some obsolete structures removed, support for Opteron 2002/11/06 - Petr - aranym can be compiled without the DSP emulation again - ulong in nf_stderr fixed to uint32 2002/11/03 - Petr - XHDI - returning values corrected 2002/10/29 - Didier & Petr - found and fixed serious buffer overflow in uae_cpu/readcpu.cpp. EMULOP_RETURN (unused), NATFEAT_ID and NATFEAT_CALL should behave better now. 2002/10/28 - Petr - NF_STDERR added to NatFeats - NF_VERSION corrected (should display version of NatFeat API, not version of aranym) - new cmdline option "-e" (--emutos) enforces EmuTOS boot. 2002/10/22 - johan - fVDI driver NatFeat support added. 2002/10/20 - Petr (version 0.6.8-beta) - NatFeat instruction opcodes changed back to good old $7300/$7301. The LineF interface requires the $fe0x instructions to be long words and I am not ready to accept such change of NatFeat calling convention. 2002/10/19 - Petr (version 0.6.7-beta2 - NatFeat opcode change!) - GFA Basic "fix" - it writes 0x16 to IKBD and then waits for a joystick packet in an endless loop. So we are sending a Petr packet now. - NatFeat instruction codes changed to unused LineF ones: $fe00 and $fe01. Hope that this will make all future ColdFire CPU users happy ;-) - cosmetic changes (aranym prints its version and compile date on startup) - new "readonly" parameter to [IDE] config replaces the "xhdiWrite" but works generally - i.e. allows opening disk images on CD-ROMs (suitable for our aranym CD) - CD-ROM in GUI features [Insert] / [Eject] button now 2002/10/15 - milan - Mac OS X: keyboard scancode workaround - non-cheaders support (for MipsPro C/C++ compiler) - cleanups in classes MFP_timer, ndebug, in macros around ADDRESSING modes etc. - FAQ: changes around disks 2002/10/14 - milan - configure & etc.: generic bool, volatile and inline handling 2002/10/13 - Petr - fixed CDROM mount/unmount support - fixed FastRAM max size check on Linux with real addressing and no JIT - added CD-ROM automount (like on real Atari :-) 2002/10/13 - milan - sync with BasiliskII CVS - JIT compiler: NOP filler based on binutils (default) Gwenole added some checks - Mac OS X: some small corrections - xBSD: sigsegv handler setting for JIT compiler corrected 2002/10/12 - milan - sync with BasiliskII CVS - JIT compiler: tune_alignment as configuration feature (TuneAlignment) new management of blockinfos - cpuotpi "disabled" - not used now, needs reimplementig - IDE: sync with Bochs CVS (only some small corrections in debug messages, result data of the ATAPI command 'inquiry' fixed, added multiple cdrom support for win32 - still not used) - dialog.cpp: enabled Discs, the 1st CDROM driver mount/unmount ** ARAnyM 0.6.6 released 2002/10/10 - patrice (version 0.6.6-beta) - dsp: dsp nothread code removed. - configure: DSP is enabled by default now 2002/10/09 - milan - sigsegv_linux.cpp: x86 F6 instructions was badly decoded. NOT8, NEG8, IDIV8, MUL8, IMUL8 implemented, TEST8 corrected 2002/10/08 - Petr (version 0.6.5-beta) - the major arch change in version 0.6.0 has been reverted. CPU is running in the main thread again. SDL_Timer thread is back on all platforms but it's not doing anything but setting up a CPU flag that is being checked in CPU inner loop, in do_specialties(). Advantages: - all SDL activity is in the main thread automagically - should fix all the troubles with non-Linux host operating systems TODO: - check if the overall performance of ARAnyM is not worse than before - make sure the keyboard is checked under all circumstances (STOP insn, CPU crash, deep JIT loop, ...?) so we won't lose the control over aranym. 2002/10/03 - milan - ndebug supports breakpoints 2002/10/02 - milan - add raw_cmp_b_mi() and raw_call_m_indexed() for generated, not used now, BasiliskII used translated main loop now, ARAnyM not - it's main loop is more complicated - x86 calls in loops removed as in BasiliskII but for another reason, not enough stable for newer versions of compilers, in some cases slower - for OpenBSD dirent.h again in sysdeps.h - preversion of JIT compiler support for OpenBSD/i386, later I will enable it also for NetBSD/i38 and FreeBSD/i386 2002/10/01 - patrice - ikbd: Joystick support bugfixed. 2002/10/01 - milan - use off_t for file offsets in IDE emulation (from Bochs), sync with Bochs - for SGI/Irix SystemV opendir used - for Solaris dirent.h again in sysdeps.h 2002/09/30 - milan - v&V commands added to ndebug, (
) vs. operations - typo fix in configure.ac script 2002/09/28 - Petr (version 0.6.4-beta) - XHDI writing to disk fixed. Previously it was appending the new records at the end of the disk image file so it did not destroy any data but made the disk image larger. Now it's fixed and rewrites real data in the disk image so make sure you have 'XhdiWrite' set to 'No' in your aranym config file if you want to preserve your data intact. 2002/09/28 - Petr (version 0.6.3-beta) - fixed #ifdef NEED_TO_DEBUG_BADLY code - BUS ERROR loops are detected and back trace is displayed (the latter only if fullhistory was enabled at compile time) - display better info when exception occurs (NPC = new PC = the exception handler address, SP = stack pointer) - irritating bus error loops that occur when 68000-only application tries to catch bus error by its own (PureC IDE) should be fixed now. 2002/09/28 - johan (version 0.6.2-beta) - Special handling of vro_cpyfm D=S mode for performance improvement. No loop unrolling yet, and only implemented for 16 bit mode. 2002/09/27 - patrice - acia, ikbd, midi emulation updated. Preliminary joystick support (emulated joystick 0 on IKBD). 2002/09/25 - milan - sync with bochs (4 internal ATA channels) 2002/09/24 - milan - sync with BasiliskII (cleanups, jumps align corrected) 2002/09/24 - patrice (version 0.6.1-beta) - videl: bugfixes, Atari screen centered on host screen, autozoom feature added (with and without integer coefficients). 2002/09/23 - patrice - hostscreen: modified to select the nearest best video mode. - videl: modified to render from any bpp to any bpp, using any screen pitch. 2002/09/20 - patrice - DSP: bit-reversed addressing fixed, host port transfer when threaded fixed use of C++ constructor/destructor for the DSP class. 2002/09/15 - Petr (version 0.6.0-alpha) - major architectural change: SDL_Timer stuff removed, #define USE_TIMERS removed. Now CPU emulation runs in a separate SDL thread and the main thread just loops (waits for 10ms, executes 'invoke200HzInterrupt' and loops back). Advantages: - VIDEL screen redraw runs in the main SDL thread - that should make many host operating systems happier (please report) - immediate reaction to hotkeys (Quit, GUI etc) - same (or even higher) speed as previously (82 kdhrystones on XP 1G7+) TODO: everything that makes use of SDL functions should be moved to the main thread. This includes fVDI (actually hostscreen) and GUI. The GUI could probably simply replace the current main_loop. With fVDI the problem is more complicated. We will probably have to send all fVDI actions from the CPU thread to the main thread using some sort of IPC. 2002/09/12 - Petr (version 0.5.0-beta) - TOS was not ready for large 68040 caches that are provided by JIT compiler. I added a few missing 68040 cache patches that were developed by Douglas originally. - version increased to 0.5.0-beta1 (version 0.4.0 was for working DSP and 0.3.0 for JIT CPU) 2002/09/12 - milan - sigsegv_linux.cpp: set_eflags() - cpuopti.c, compemu_support.cpp: workaround for gcc 3.x - tools/memory.h.patch: for a bit better access to HW space for JIT compiler, unofficial! 2002/09/10 - milan - autoconf 2.53+ needed now - ndebug.cpp, newcpu.cpp: ISO C++ forbids assignment of arrays, so Patrice's patch completed 2002/09/07 - Petr (commiting for milan) - newcpu.cpp - flush_icache(0) is required otherwise JIT does not work 2002/09/05 - milan - DIV8, TEST8 implemented (not tested) - AND8, OR8, ORIMM8 now handle flags 2002/09/01 - milan - some small (not tested) corrections in FPU emulation code (UAE&i386 versions) 2002/08/28 - patrice - DSP: host port read not working with thread, fixed 2002/08/27 - patrice - Thread support for DSP bugfixed. 2002/08/26 - Petr - JIT (actually sigsegv handler) fixed again, better this time. 2002/08/26 - patrice - DSP emulation can be run in its own thread. 2002/08/26 - milan - sigsegv_linux.cpp: CMP8 much better - hardware.cpp: in_handler handled in all HW_SIGSEGV configurations - ata.cpp, ide.cpp: real 32-bit access, word swap added for I/O operations, io write to 0xf00005 handled (error register) - uae_cpu/newcpu.cpp: jump table for distributed dispatcher generated corretcly on little endian platforms now 2002/08/13 - Petr - NF_Name() now returns the number of characters (excluding the trailing '\0') which would have been written to the final string if enough space had been available. 2002/08/12 - Petr - nf_call changed to return a signed 32-bit number (type 'long' in C lang.) - nf_call for invalid NatFeat ID returns an undefined value now. 2002/08/11 - Petr - NatFeats now keep their name and SupervisorRequired flag with them. - NatFeats main dispatcher now checks for user/supervisor mode and throws privilege instruction exception if appropriate. - NatFeats main dispatcher does not copy parameters to local array. NatFeats themselves fetch the parameters with getParameter() call. - final renaming: "natfea" -> "natfeat", "_rcall" -> "_call" - various doc bits found in mailing list stored in src/natfeat/doc folder. It's partially obsolete but I tried to update at least the native.txt. - example of running some basic NatFeats for (not only) PureC stored in src/natfeat/atari_example.c 2002/08/08 - patrice - DSP: CCR-related stuff written, some bugfixes. 2002/08/05 - Petr - NATFEA_ID and NATFEA_RCALL can now be used in User mode as well. Supervisor mode is not required. NatFeats themselves have to throw illegal instruction exception if they require Supervisor mode and are called from User mode. - little clean up in the NatFeats dispatcher. It now detects wrong address and throws proper BUS ERROR. 2002/08/04 - Petr (version 0.3.0b1) - Native Features implemented. The CPU recognizes two new instructions: NATFEA_ID (opcode $7300) and NATFEA_RCALL (opcode $7301). These instructions are privileged (can be executed in supervisor mode only). - Two new basic NatFeats (Native Features) implemented: "NF_NAME" returns the name of "emulator" in a given string buffer. "NF_VERSION" returns the version of "emulator" encoded in long hex number. - XHDI was adapted for NF "XHDI" (still callable also via old EmulOp but that's deprecated and will be removed before release). 2002/08/03 - johan - Native part of fVDI driver updated to work with new API (dependencies on internal fVDI structures removed, parameters passed on the stack). - Some internal fixes and cleanups in the native part of the driver. - New binaries for both the fVDI engine and the m68k part of the driver are needed, and are also checked in. 2002/08/02 - Petr - EmuTOS loading fixed again - it can be any (>0) size now. - EmuTOS loading routine display the date when the EmuTOS was built. - XHDI support moved to separate xhdi.[ch] file and XHDIDriver class. XHReadWrite() implemented. Old DMAread EmulOp is deprecated now. - XHReadWrite() writes to disk only if XdhiWrite switch in config file. - nearly all compile time warnings removed! 2002/08/01 - Petr - EmuTOS image size can be either 256 or 512 kB long - two serious bugs in linux sigsegv handler fixed: OR and MOV. There are more bugs in the ia32 emulated routine, unfortunately. JIT won't work until all of them get fixed. 2002/07/31 - patrice - DSP emulator: Many bugs fixed (end of dsp_*.cpp files for complete changes) 2002/07/31 - Petr - bug in fresh IDE emulation code fixed (thanks Johan and Standa) 2002/07/26 - patrice - dsp_cpu.cpp: lua operation and read_memory fixed - dsp_disasm.cpp: Added missing '\n' in disasm output 2002/07/23 - patrice - ndebug.cpp: Make it gcc-3 friendly. - dsp.cpp: Added mu-law table generator - dsp_disasm.cpp: Changed all output from D(bug()) to fprintf() - yamaha.cpp, dsp_cpu.cpp: Removed useless #include "config.h" 2002/07/23 - milan - support for cdrom under MacOS X ported from Bochs, not tested yet - updated IDE emulation, some error states detected more correctly now ** ARAnyM 0.2.0 released 2002/07/20 - Petr - saving/restoring screen background under SDL GUI fixed - SDL GUI now survives resolution change without a crash but the dialog is not redrawn correctly yet. - hostScreen::update() now always update the mainSurface (the physical one). Updating the logical (when GUI is opened the background) surface is IMHO not required and it also caused problems when updating the screen upon GUI closing. - OS loading changed: first TOS 4.04 is tried and if fails then EmuTOS is tried. If even that fails (which should not since we include EmuTOS in ARAnyM binary distribution now) then a warning and an advice for obtaining the EmuTOS is displayed. - the window mover now displays an advice for pressing the Pause key for opening the GUI. 2002/07/20 - patrice - Dsp: more bugfixes, see end of dsp_[cpu|disasm].cpp file for complete changelog 2002/07/19 - Petr - SDL GUI now stores background to another (cloned) surface. Also fVDI does not draw into the physical video surface when GUI is visible. - GUI Reset option works. - if GUI font8.bmp is not loaded the GUI is not accessible 2002/07/18 - Petr - DSP host code is disabled when DSP_EMULATION is not defined. This was required to get Alt+Ctrl+Del warm boot working again (there must be a bug in current DSP emulation). - trying to enforce releasing the Alt+Ctrl keys after Alt+Ctrl+Esc combo that causes ARAnyM to drop the mouse/keyboard exclusive control. 2002/07/16 - Petr - fixed pretty scary bug in yamaha.cpp. As a direct result PARCP started working reliably. 2002/07/16 - milan - hguide.txt: updated, added section 9 (Checking memory boundary) - hwsp possibility of checking memory boundary corrected - linux_sigsegv.cpp: Added support for MOVSX8, MOVZX8, OR8, MOV8 2002/07/16 - patrice - Host port reworked. More bugfixes and completion of the emulator. DspDebug can be started, it finds the DSP. 2002/07/15 - milan - main.cpp: SDL_Delay on exit increased (for slower machines) - sigsegv_linux.cpp, memory.h, fakeio.cpp: extended sigsegv handler upgraded 2002/07/10 - patrice - I finished nearly all intructions. I also added a disassembler (disabled by default but you can enable it with --enable-dspdisasm) 2002/07/09 - Petr - DSP integrated properly in the autoconfig system. By default it's disabled but you can enable it with --enable-dsp in configure phase. 2002/07/08 - patrice - DSP 56001 emulation started. It is not finished, but I think it has a good shape. I wanted to do this because I would like to be able to run DSP development tools under Aranym, to assemble DSP programs. I used the Motorola DSP56000UM/AD book as documentation. Consider this as v0.000000001 stuff (unstable, bugged, incomplete). 2002/07/03 - milan - JIT compiler: some minor corrections in JIT - sigsegv_linux.cpp, memory.h: new memory access for x86/linux added - without direct check of memory boundary (extended sigsegv handler) 2002/07/01 - STanda - The filename -> 8.3 format transformation adjusted. Now it should handle also the filenames ending with a dot (.). These should be appended with a hash code as an extension. 2002/06/26 - Petr - SDL GUI integrated properly: it is now running in its own SDL thread so it's able to run in parallel with Atari emulation. The input events are still fetched in the Timer thread and are passed to the GUI thread via a couple of global variables (should be reworked to a FIFO buffer). Still needs to fix the screen double buffering... A whole set of dialogs should be designed for ARAnyM now (see dialog.cpp). - TOS loading routine now requires the original TOS 4.04 only - the other patched flavors of TOS 4.04 are not accepted since now on. The prepatched versions made it harder for us to add or remove various patches. Thus we won't support them. - romdiff.cpp does not patch out the RESET instruction anymore. It was patched out on Afterburner040 because that machine didn't really like the RESET. ARAnyM handles reset gracefully so there's no reason to patch it out. - aranym_glue.cpp: added hardware initialization on the RESET instruction. So far only IKBD is initialized (as there were problems with IKBD after reset). 2002/06/24 - Petr - do_get_real_addr() replaced with Atari2HostAddr() in fdc.cpp and audio.cpp - ExitAll()/QuitEmulator() reworked to allow clean exit from debugger even on slow machines (the timer thread must be stopped first before the Atari memory is released). 2002/06/24 - STanda - fvdidrv.*, videl.*, extfs.* cleanup. The memptr usage introduced. There should be no (or at least less) problems with the ia64 compilation. 2002/06/09 - Petr - SDL GUI restores original background (see hostScreen.save_bkg/restore_bkg) - SDL GUI "Quit" works 2002/06/07 - Petr - ScrollLock switches between fullscreen and windowed mode - in window mode you'll get a 'heart beat' - an activity indicator - SDL GUI is enabled by default now (can be disabled with --disable-gui) press Pause key to invoke it. 2002/05/27 - milan - vm_alloc.*: the lastest changes discarded, problems during configure - newcpu.cpp: SDL_mutex for exclusive spcflags handling initialised 2002/05/24 - Petr - as suggested by Heiko I added a complete locking to the virtual IKBD queue. Let's see if it works OK or if the mouse/keyboard is not working properly. 2002/05/22 - STanda - The aranymfs atari sources updated. The MetaDOS part was converted into the gcc compilable code (Makefile created) and the mint .XFS source was added. The binaries (.bz2 packed) was updated with the newly compiled files. You might want to try them to test whether they work as the previous ones. - atari/fvdi/utility/fvdicout: The Ptermres should be now filled with a correct value IMHO. 2002/05/20 - Heiko Achilles - when a mouse movement package is fetched from the ACIA/IKBD buffer this patch puts all movements of the same type, which are currently in the buffer, into one. So the fetching is quicker and there's no noticeable mouse delay anymore. TODO: replace bool inGet with proper semaphores 2002/05/14 - milan - vm_alloc.cpp: better structure, not own OS dependent includes - main.cpp, main_unix.cpp, aranym_glue.cpp, cpu_emulation.h: some debug outputs added for JIT compiler a small reform in memory allocation one stupid bug (of course, I'm the author) found in QuitEmulator (vm_release(nil)) - JIT compiler: one debug output added for segfault handler of JIT compiler 2002/05/12 - milan (record in ChangeLog by Petr) - ata.cpp: updated to bochs' latest source (supported SEEK and something else) 2002/05/10 - milan (record in ChangeLog by Petr) - input.cpp: hack for remounting CD on Ctrl+SysRq, needs to be removed! - gencpu.cpp: lotsa weird changes, probably related to distributed dispatcher - newcpu.cpp: minor distributed dispatcher related changes - JIT compiler: one segfault fixed 2002/04/29 - Petr - ErrorAlert() has been replaced with panicbug() as I needed sprintf like parameter parsing. Now all file errors in main() report also the problematic filename. 2002/04/25 - STanda - The fvdicout.app added to atari/fvdi/utility. This is the Johan'si bconout.gtp replacement. It is built using the FreeMiNT CVS tree and with heavy utilization of the TosWin2 vt52 emulation sources. It needed only a slide changes in TosWin2 sources. This should not be the final solution. The real one would by to implement the vt52 emulation into the fVDI engine itself which is on the TODO list in the fVDI remainings. Using this I don't have problems here with TOS applications here. It needs to be started after the VDI initialization (e.g. from the desktop). There might be some code to initialize the VDI later in it. - AraEther made compilable. nearly no code check or test done. 2002/04/21 - milan - header files reform - distributed dispatcher rewroted - JIT compiler integrated ** Version 0.1.7 2002/04/21 - milan - pre-support of FreeBSD 2002/04/21 - Petr - ExtFs: Dpathconf(DP_XATTR) disabled altogether. It was causing problems in Thing (Thing didn't refresh source window of 'move' operation). - $7135 illegal insn (debug print) was not printing until LF was sent. fflush added. - SDL GUI, taken from hatari. Not working yet, but soon will be. - atari sound driver (from Didier) included in atari/sound CVS folder. - EmuTOS loading: now checked for proper file length. 2002/04/20 - Petr - audio.cpp - wrong memset() addr fixed. No more crashes, sound works like a charm. 2002/04/20 - STanda - PurePascal and its debugger snapshot added. - ExtFs: Small general code cleanup 2002/04/19 - Didier MEQUIGNON & Petr - audio driver: Atari side uses ZMAGXSND.PRG, a slightly modified MagiCMac sound driver. The communication is based on illegal instruction $712c and IRQ 5 used as a callback from host to Atari. Aniplayer is supposed to play sound nicely but so far it's crashing on me (Petr). 2002/04/19 - STanda & Petr - ExtFs: Petr has discovered that ExtFs:Fxattr should probably _not_ take the DTA structure. This bug was originating in the Julian Reschke's cookfs01 driver sources that I started to program from (he uses DTA in the Fxattr signature, although he never uses this argument - most probably cut&paste bug). Now the Fxattr works properly which means: * The Dpathconf() DP_XATTR return value works also good for Thing to refresh the destination window. The access time and originating time was masked out here to let it work for more hostfs filesystem types properly. It is subject to change. The hostfs mounted to the particular hostfs path is to be investigated whether it supports the features and the flags should be set appropriately. * QED save and load problems fixed. Here it seems that the most ExtFs MetaDOS problems on Linux host OS are gone. Please test heavily. Thanks goes to Petr and his hacker's history! ;) - ExtFs namespace method/function recognition doesn't work under FreeMiNT because mintbind.h are only macros..... The names were changed to have the ExtFs suffix. 2002/04/18 - STanda - ExtFs bug in Fsnext fixed. If the path for Fsfirst doesn't contain wildcards then many applications don't call the Fsnext. We need an array of paths for mutiple Fsfirst/Fsnext called with a different DTA buffer pointer. We also need to free the paths if they are not used any more (Fsnext with -49 or Fsfirst without wildcards and 0). If the path was freed from the array then we return -49 from Fsnext now. This fix causes LZHSHELL.APP be able to extract an archive to the MetaDOS driven filesystem. - The Patrice's patch adjusted to be only namespace distiguished calls. No _emu suffix. Needs to be tried to compile under FreeMiNT. 2002/04/13 - Petr - AranymFS: we can't rely on error codes returned by hostfs functions. For example TOS Fcreate() returns -34 if the path to file does not exist. The fix I put there helps ST-Zip to unpack folders onto host fs. - AranymFS: Dpathconf(DP_XATTR) disabled (because I didn't know the correct parameter). Suddenly Thing is able to refresh the destination window correctly. - new experimental spec file for building RPM package. - new TOS patch for redirecting printer Xconout vector to host console - new function "Reboot" that does hard restart of the machine. ** Version 0.1.6 2002/04/12 - Petr - newcpu.cpp: NMI will break out of the STOP jail. From user point of view - if EmuTOS happens to crash you'll be able to quit ARAnyM now. - newcpu.cpp: STOPped CPU did not generate 200 Hz system interrupt when compiled with --disable-sdltimer. Fixed. ** Version 0.1.5 2002/04/10 - Petr - fixed bug in Reset insn emulation that caused EmuTOS crash - uae_cpu/spcflags.h cleaned up. NMI flag introduced. I also added the MFP|VBL|NMI into periodic flags check (wondering how it could work before). - clean Quit implemented. No more killed SDL or X threads. Using NMI like on real machine :-) 2002/04/10 - milan - IDE: synced with Bochs CVS (concat_image_t(), not used in ARAnyM now, but who knows) - CPU: instr. Reset calls now AtariReset() cleaning in JIT integration synced with BasiliskII CVS (DOTRACE x STOP) ** Version 0.1.4 2002/04/09 - Petr - fixed my own stupid bug in acsifdc.cpp that broke floppy support. Thanks Martin for reporting it. 2002/04/04 - STanda - MetaDOS Fopen implementation shoudn't be able to open a directory. Fixed due to the Olivier Landemarre and the CharView author who provided a source of the application that had this problem. The EasyGEM library tries to open directory entries using Fopen. Thanks for EasyGEM beeing open-source. - Newly created files specified with all letters in upper case will be automatically converted to lowercase ones. This follows a small limitation that there is no way to create e.g. PC.PRG on halfsensitive fs (it will be pc.prg... but the Pc.prg and any other combination would work). This can be made optional. - m68k part of the MetaDOS driver was pretty printed and converted to correct (DOS mode newlines). No need to update the binary here. - PureC (PC.PRG) patch to let it working on MetaDOS driven filesystem (src/atari/tools/pcpatch.*). 2002/04/03 - milan - sync with BailiskII-JIT (25.3.2002) 2002/04/02 - Patrice Mandin & milan - pre-patched for Atari MiNT :-) 2002/04/02 - Petr - MFP and ACIA/FDC/ATA updated to be ready for major MFP rewrite. ** Version 0.1.3 - don't forget to update your Atari fVDI driver 2002/03/27 - STanda - extfs.cpp/transformFileName rewritten nearly from scratch. Now it should be more readable source than before. A simple findFirst function fix: no error on the stat() failure. E.g. an invalid symbolic link on the host fs. - fVDI driver: floating Videoram bug fixed. 2002/03/26 - milan - MMU returns logical address during bus error - IEEE FPU is default only for i386 2002/03/26 - Petr - transformFileName in extfs.cpp fixed three times. ARAnyM will not crash when it encounters a long filename. ST-Zip will not crash when browsing MetaDOS drive. Maybe that PureC works now as well? 2002/03/22 - Petr - IEEE FPU emulation fixed: 68040 specific insn (like FSMOVE) don't throw illegal opcode exception anymore. - IEEE FPU is now the default FPU emulation in configure phase. 2002/03/21 - milan & Petr - forgot to set the faulty address when invoking BUS ERROR from hardware registers access. - Exception 2 panicbug displays the faulty address now. - wrong bus error stack frame format 7 fixed. 2002/03/20 - Petr - MFP and RTC tweaking to get Linux-m68k running 2002/03/15 - milan - Exception() is called only from main loop, not from trans. function. 2002/03/14 - Olivier Landemarre & STanda - ExtFs: ugly bug in flags2st fixed. This might affect some problems we had with the MetaDOS driver, but unfortunatelly PureC still refuses to compile a project. Preprocessor flag to use creat() instead of open() in Fcreate implementation... no improvement here though (just suggestion from Olivier). 2002/03/12 - milan - Irix among supported platforms 2002/03/11 - milan - MMU is back, based on Wez Furlong's patch (UAE) 2002/03/06 - STanda - ExtFs: xfs_getname implemented. The Pure C now finds the project file, but it crashes on assembler compilation. The ExtFs::cookie2Pathname() now uses getHostFileName to be able to work case insensitively. 2002/03/05 - milan - memptr for addressing in Atari memory out of uae_cpu - sync with Bochs CVS 2002/03/02 11:31:18 GMT o ReadCDSector() (for win32 ASPI) returns 1 if target status is okay o win32 ASPI version of insert_cdrom() checks media status using ReadCDSector() - gencpu.c patched for MMU (based on Wez Furlong's MMU patch 0.8.20.2 for UAE) 2002/03/03 - Gwenole Beauchesne & milan - fpu_x86 debug mode corrected 2002/02/28 - milan - get_i*_1 moved to newcpu.cpp - probably last sync with aranym2 (unofficial CVS) before MMU and pre-JIT support (new gencpu.c and subdirectory compiler) 2002/02/27 - milan - corrections of types in hostscreen.h and memory.h (using uintptr instead of uae_u32 with Host addressing) 2002/02/26 - milan - Native Feature instruction framework added - address validation in CPU interface - exceptions.h removed, interface moved to CPU interface, include file in sysdeps.h - error handling of CD-ROM eject on Linux 2002/02/25 - milan - fp_extended, fp_single, fp_double -> fpu_extended, fpu_single, fpu_double - spcflags handling rewritten - original PC handling, must be converted to ARAnyM's after stabilisation (slower) - exception stack handling is for 68040 now - table68k based on JIT BasiliskII - EmulOp (0x71XX) is handled as usual instruction 2002/02/25 - Petr - web updated (Ctirad wrote new About) - simplified most of the presentation.xlst but it's still not good enough. - limited the text size to 600 pixels for more pleasant reading on wide screens 2002/02/23 - Petr - separated input related code from main.cpp into input.cpp - all open() functions have "O_BINARY" flag appended so that Cygwin binaries won't mess CRLF in files (cdrom.cpp, extfs.cpp, fdc.cpp) ** Version 0.0.22 so you can see new IDE code is there. 2002/02/21 - milan & Petr - cdrom.cpp sync with Bochs (CD-ROM eject supported) - ata.cpp sync with Bochs (32-bit data access supported) - CD-ROM eject in Linux added - hardware.cpp + ide.cpp updated for 32-bit IDE data access. It did not work so it is disabled in ide.cpp for now. 2002/02/20 - Petr - config file is created with proper default values - IDE devices are disabled by default - CONFGUI obsolete #ifdef stuff removed from parameters.cpp 2002/02/20 - milan - new FPU (based on JIT BasiliskII) 2002/02/19 - milan - src/ <-> CPU interaction cleaned - memory access cleaned 2002/02/18 - milan - floating VideoRAM 2002/02/18 - Olivier Landemarre & STanda - Compilation problem under Cygwin fixed. In extfs.c for Cygwin MFSNAMELEN is undefined should replace by buf.f_namelen. The condition was added due to the BSD systems so I've changed it to if OS_*bsd then... ** ARAnyM 0.0.21 released 2002/02/12 - Petr - IDE emulation adapted for Falcon: $f00039 is recognized but ignored. 2002/02/12 - milan & Thomas Huth - ARAnyM support only 68040 only. Other CPUs aren't generated 2002/02/11 - milan - synced with Bochs IDE - new version of CPU interface 2002/02/01 - Frank Naumann & Petr & milan - PAGE_MASK renamed on ARAM_PAGE_MASK (ARAnym Memory PAGE_MASK), PAGE_MASK is defined in /usr/include/machine/param.h on OpenBSD - PAGE_CHECK renamed on ARAM_PAGE_CHECK - ndebug doesn't use ioctl() now for any switching tty's setting - support for statfs on [Net|Open]BSD 2002/02/01 - Petr - fixed long-standing bug in ATA.cpp that made ARAnyM stuck when no IDE disk drive was found (or defined in config). 2002/02/01 - milan - the 1st step of rewriting CPU/Memory <-> HW interface, look at cpu_emulation.h 2002/02/01 - STanda - MiNT aranym.xfs added. This is the preliminary version working with HostOS root in u:\nativefs just like stonx.xfs does. The mapping to other folders is possible and is going to be done later. There are several unimplemented functions there, but the basic functionality is implemented. The m68k part is available only as a binary in src/atari/aranymfs. The sources were grabbed from the STonX directly and hacked just to work and needs cleaning. The whole ExtFs should be rearchitectured. It was designed for MetaDOS and now it is getting very, very unclean. Better not to look into the code. I will rewrite this nearly from scratch during the planed shift to a portable library. CAUTION: There might be crude bugs in it, so please test it on some not very essential files on the mounted host filesystem. 2002/01/30 - Petr - emul_op.cpp: OP_DEBUGUTIL made more secure (wrong addr will not crash aranym) 2002/01/29 - Petr - two EmuTOS screenshots added - unsupported Windows binary available in download section ** ARAnyM 0.0.20 released 2002/01/28 - Petr - tools/clocky.prg.bz2 updated - the hotkey combo is back at LShift+RShift (the Alt+LShift collided with Thing). - updated aranymrc.example - updated most documentation and web pages 2002/01/27 - Petr - XHDI dispatch added to emul_op - XHGetCapacity() implemented - DMAread() improved 2002/01/26 - STanda - extfs.[ch]* cleanup from non needed arguments 2002/01/24 - Olivier & Petr - on Windows the host operations (fVDI, aranymfs) block the timer thread so we have to call the invoke200HzInterrupt() manually as soon as the host operations finish. - download.html offers nightly snapshots now. 2002/01/18 - milan - FixedSizeFastRAM fixed - no debugger fixed - install part of Makefile fixed 2002/01/17 - milan - cleaning in ./src - memory access etc. 2002/01/15 - Petr - you can undefine USE_GETTICKS in main.cpp to replace SDL_GetTicks() with gettimeofday(). This might help on platforms where SDL_GetTicks() is slowed down by aranymfs or fVDI driver. 2002/01/13 - STanda - fVDI driver patches for expandArea in 24 and 32bit depth. Also the 1, 2, 4 bit depth modes were made available. There are still bugs in the expandArea Mem->Mem. Also blits are word aligned when they shoud not be. 2002/01/13 - Petr - DMAread() added to emul_op interface (used in current EmuTOS) - faq.xml updated by Ctirad - configure.in: SDLTIMER and PAGE_CHECK are enabled by default. 2002/01/11 - Olivier Landemarre & Petr - fixed bug in time sync (signed long is bad for GetTicks()) - fixed bug in TimerC disabling (wrong bit mask for &) 2002/01/10 - Rodolphe Pineau & milan - vm_acquire_fixed corrected, configure script also 2002/01/09 - Rodolphe Pineau & milan - 1st step for SGI/Irix - aranymfs more portable (Solaris supported now also) - corrections in configure script, memory allocation, memory access 2002/01/08 - STanda - The aranymfs config file setting finished (thanks to Petr) - fVDI driver doesn't destroy palette setting on resolution change The SDL_SetVideoMode clears the palette setting -> the palette is stored and restored after change (hostscreen.cpp/setWindowSize()) - the driver has also correct 8bit inverse color handling. - up and running 2002/01/08 - Petr - the config file format and location has changed (now at $HOME/.aranym/config) - most global config variables moved to bx_options struct - NVRAM (formerly CMOS) file is stored in the aranym config folder as well now. - fixed many bugs in the parameters.cpp code. It should be quite usable now. 2002/01/07 - Petr [ ARANYM_0_0_17 tag ] - NVRAM RTC getting current year fixed. 2002/01/07 - Patrice Mandin & STanda - Patrice: I did a simple patch for the vdi color mapping. The following ugly piece of code removed. #ifdef __PUREC__ short vdi2pix[1]; /* Of course really 256... */ #else short vdi2pix[0]; /* Of course really 256... */ #endif 2002/01/05 - Petr - floppy geometry detection fixed. It could never work before! 2002/01/03 - Petr - Blitter now calls Do_Blit() on reading status register only. Doesn't seem to fix the errors during Bconout, though. - Xconout redirected to host console using poor VT52 emulation. 2002/01/03 - STanda - fVDI driver: the resolution is changed during the virtual workstation creation. Copyright notes updated (synchronized with Johan's). 2001/12/30 - Petr - Johan increased PAGE of PAGE_CHECK to 1MB (for nonMMU mode). This greatly improved the performance - 36k5 dhry on my machine now. For the MMU040 the PAGE is 4kB. 2001/12/29 - Petr (tagged as ARANYM_0_0_16) - Johan Klockars' PAGE_CHECK (dividing address space into 4k blocks) added. It produces slightly better dhrystones than 0.0.14 (34k2 vs 33k5) but real-life gcc benchmark didn't show any speed up. Perhaps this is a great idea for the MMU040 implementation but without MMU040 it doesn't help much. - parameters.cpp and main.cpp cleaned up a bit. 2001/12/27 - Petr (tagged as ARANYM_0_0_15) - FastRAM can be fixed size ("./configure --enable-fastram=X") - that makes the check_ram_boundary() even faster (comparing with constant instead of fetching the value of a global variable). 35k2 dhry now (this is probably the fastest possible solution before splitting the RAM into 4k blocks as Johan suggested. - TOS 4.04 patched to enable FastRAM check. - fullmmu is disabled by default now. 2001/12/26 - Petr (tagged as ARANYM_0_0_14) - handling of MFP interrupts moved from CPU to MFP module - checking for VBL and MFP joined in one 'if' - another nice speedup (33k5 now) 2001/12/25 - Petr (tagged as ARANYM_0_0_13) - ACIA IRQs are not buffered (like TimerC IRQs are) - it was causing bad keyboard&mouse lockups. Apparently TOS can read several scancodes from IKBD in one IRQ and our poor implementation fits that feature :-) - TimerC interrupt fired only if enabled in MFP IRQ enable reg. 2001/12/22 - Petr (tagged as ARANYM_0_0_12) - most video related parameters moved to bx_options.video struct - added "--refresh " cmdline option. Default value is 2 = 50/2 Hz screen refresh. Allowed values are 1 - 200 (50Hz - 1/4 Hz) - check_ram_boundary() allows direct access to physical videoram - check_ram_boundary() now makes FastRAM equally fast as ST-RAM (30k5) 2001/12/21 - STanda - RH gcc 2.96.98 preprocessor bug workaround: The remarks in multiline macros are before the linetrailing backslash. 2001/12/20 - Petr - cleaned up newcpu.cpp do_specialties() - STOP instruction handling really works and gives CPU time slices back to host OS! 2001/12/19 - Petr - check_ram_boundary() cleaner now - no default value for 'write' parameter and the 'size' parameter contains the natural value - 1 for byte access, 2 for a word access and 4 for a long (doubleword) access. - you can define NO_MEMORY_CHECK in memory.h to see the original speed of old unsafe, often crashing ARAnyM (Dhry: 27k -> 31k) 2001/12/17 - Petr - SDL Timers are back! --enable-sdltimer - VBL timer runs at precise 50 Hz now - VIDEL screen refresh at fixed 25 Hz now 2001/12/16 - Petr - check_ram_boundary() takes an additional parameter that sets the size of memory access. Now finally all memory accesses are checked and nothing can escape from ARAnyM allocated memory. - acceleration for blitter configurable: --enable-blitmemmove turns the memmove acceleration on and --enable-blitsdlblit allows the SDL_blitsurface to be used. - check memory by array experimental code removed altogether. It was not faster unfortunately and it didn't allow the size check that has just been added to check_ram_boundary. 2001/12/11 - STanda - fVDI driver patch to not disable the DEBUG. There was the debug.h included from another .h file which wasn't correct. Some Johan's methods were moved to the .cpp file. - framebuffer driver detection to force the fullscreen mode and therefore no mouse pointer redraw problems when using Clocky(TM). The mouse cursor was trying to leave the window (actualy the screen surface in fb, which was causing troubles) - The SDL_WarpMouse is now called after the HWInit() (actualy SDL_SetVideoMode) where doesn't cause floating point exceptions and aranym crashes in fbcon. 2001/12/07 - Petr - first two long words (addresses 0..7) are readonly now like on real Atari. Thanks to Patrice for forcing us to fix it :-) ** ARAnyM 0.0.11 released 2001/12/05 - Petr - "-N" or "--nomouse" added to cmdline options. It basically disables the auto mouse grabbing at startup. Suitable especially for debugging. - one more illegal/emul_op instruction enabled: 0x7135 can be used for debug prints - especially for EmuTOS debugging. - CMOS/NVRAM now starts with English/UK/USA keyboard layout. Thus you get the right keys even without Clocky on most regular PC keyboards. 2001/12/05 - milan - "initialization" of 0-7 moved to reset routine, more secure solution - patched ins. BFINS (uae 0.8.19) - sync with my "Pragues versions" - buffer in newm68k_disasm cleared after every ShowEA/fprintf, disasm in ndebug corrected 2001/12/03 - Olivier Landemarre & STanda - ExtFs: Frename fix. 2001/12/02 - Petr - keyboard conversion code rewritten again. As the SDL returns different scancodes for same keys under different OSes I created a heuristic analysis of pressed keys that tries to detect the offset between the SDL scancode and the physical one. Tested under framebuffer and X11 on Linux. 2001/11/30 - Johan Klockars && STanda - fVDI: improved and made fit into fVDI CVS repository directory structure. General speedup of line and polygon drawing. New copy of m68k part sources. Since now you should use the aranym.sys.bz2 m68k binary along with current aranym CVS sources. The old m68k part source will be removed later. 2001/11/28 - Petr - new keyboard conversion code: now based on pure scancodes. Clocky for Aranym now distributed with English PC101 keyboard. With Clocky loaded you have real WYSIWYG. Feel free to submit other .KBD files for Clocky (French, German,..?) 2001/11/25 - Petr - new FastRAM.PRG with automatic size detection and _FRB buffer. 2001/11/21 - milan - cleanning in includes 2001/11/21 - Olivier Landemarre & milan - problems with new Cygwin corrected - FullScreen tag in ARANYMRC 2001/11/20 - milan - small correction in ATCs (MMU), not enough, grr 2001/11/20 - Francois LE COAT & milan - better support for Solaris 2001/11/20 - Olivier Landemarre & milan - the 2nd step for Cygwin 2001/11/19 - Petr - MD5 should be OK on big endian machines (Sparc) - new TOS 4.04 patches - cleaned up a lot thanks to the disassembly made by Patrice. Nemesis init routines removed. Reboot code not moved to $600. Movem patch removed. The whole additional code moved behind the TOS end so French and other RSCs are OK now. You are encouraged to drop the previously patched TOS versions and to use just plain original TOS 4.04. - parallel port emulation added. This is the lowelevel stuff - Yamaha and MFP are mapped to IBM EPP parallel port. Several things are hardcoded and the whole stuff is disabled by default for now. But when I tested it PARCP ran quite well! 2001/11/02 - STanda - fVDI: The driver handles some bitplane functionality. It works somehow, but it still has many bug in this mode. The color palette is correct only if booted in the same color depth. 2001/11/14 - Petr - corrected XML->HTML compilation - made the IDE f00039 alternate status register same as the main IDE status reg. 2001/11/13 - milan - web/Makefile corrected - saxon.jar not in CVS now (downloaded with wget from ftp.sophics.cz/pub/aranym/tools) - gemram removed from Makefile.in 2001/11/13 - Olivier Landemarre & milan - support for Cygwin 2001/11/11 - Petr - during configure you can "--enable-directcolor" which is the infamous TOS and Aranym patch for direct truecolor with VIDEL. I made it configurable in compile time to simplify the memory boundary checks in uae-cpu/memory.h. The default is no direct truecolor (it's a hack, after all). - during configure you can "--enable-boundaryarray" which is a different method for checking the memory boundaries. It's based on an array of bool flags - each bool represents 1 MB of memory. There are separate tables for reading and writting because you can't write to the ROM area. Advantages: o FastRAM is finally no slower than ST-RAM o ST-RAM and FastRAM size can be configured in runtime very easily o you can even simulate memory windows (FastRAM SIMM banks, e.g.) o regular memory access gets a higher priority over HW reg access o the code might be faster than the original 5 comparisons Disadvantages: o the whole megabyte of ROM area is readable (so including 0xe8-0xefffff) o the code might be slower than the original due to indexing in 4 kB array - a change in IKBD emulation that fixes the problem with slow mouse motion in Videlity Config prg. 2001/11/07 - milan - new correction in mmu_decode_addr, I suppose still not enough 2001/11/06 - milan - corrections of PFLUSH, PTEST (I found my old corrections on hd, grr, 2 months old, grr) - MMU address decoding works now (after set_mmu Desktop runs, sometimes), but still MiNT (and not only MiNT) gives Bus error/illegal instruction, I know about one bug, I'll correct it later. - mmusetup.cnf example added to reposity - make install and Debian package corrected - the 1st step for Solaris 2001/11/06 - Petr - TOS was patched with WinX by a mistake. Fixed. GEMRAM 1.0 from Aratools does not work correctly as the ROM area is not writeable. Use real GEMRAM instead. 2001/11/05 - STanda - VIDEL: Since now we are using 8bit SDL surface for all VIDEL depths less than 16. The blitting routines were optimalized (the destBPP checks are done outside the main blit loop). The #define SUPPORT_MULTIPLEDESTBPP enabled to let support VIDEL definitely 8, 16, 24 and 32 bit destination depths. 2001/11/02 - STanda - fVDI: The driver now normally initializes to 16bit when no mode option is provided in the fvdi.sys. The screen size remains the same as before fvdi.prg initialization then. 2001/11/01 - Petr - mouse behaviour much improved. Automatic grab is configurable now. You can ungrab the mouse by Alt+Ctrl+Esc and grab it back by left mouse click. - new command line option "--save" will save the config file with actual values. 2001/11/01 - STanda - fVDI: The 16,24 and 32bit modes works now. 2001/10/31 - STanda - fVDI: The resolution change works now with the current driver. Do not try to compile the m68k part, it's just full of hacks, but it works for me. Just use the binary from CVS. The only useable is the 16bpp in any resolution in X11. I didn't try it in framebuffer or so. 2001/10/30 - STanda - The HostScreen support for 8,16,24 and 32 BPP finished. Many optimalizations done in getting the switches out from loops. There should be some speedup, but this I can't see on my computer and I didn't even try to make any benchmarks. 2001/10/29 - Petr - --floppy added to the command line options - --rom removed - EmuTOS= in the config file. EmuTOS gets a higher priority over the TOS. - updated aranymrc.example 2001/10/29 - milan - ARAnyM can be used now without support of debugger (--enable-debug=no) - ndebug can be activated now also if you send SIGINT to ARAnyM (and that's why it cannot cooperate with cxmon) - ndebug is now default debugger - support for gmake - --config FILE command line option added - the command line options are scanned for version/help/config before parsing of a configuration file 2001/10/26 - milan - support for instruction history now also in ndebug - small change in m68k_run_1 2001/10/25 - Petr - when the aranym catches segmentation fault it releases mouse and keyboard and shows last 20 instructions prior the segfaulting instruction (only if compiled with --enable-fullhistory). - InitROM() asks for 512 kB long file (on the net there are just 256 kB ROM images). - Floppy stuff moved to fdc. Automatic mounting - first read/write with fallback to read only. Media Change trick prepared but disabled for now because the floppy does not read past 499 sector (try e.g. Diskus Read Test). Dunno what's wrong. Wonder if the floppy ever worked correctly? 2001/10/24 - STanda - fVDI: Essential bugfixes added. Now the driver works properly except for the bugs in the fVDI engine. These are discussed with the fVDI author. The lines with a negative y coordinate are drawn properly now. 2001/10/23 - STanda - Screenshot added to the website. - fVDI: Mouse Is not hidden at the right and bottom screen edge. Is colorized properly. The shape's hotspot shift implemented. Shouldn't crash on higher resolutions than 640x400. Put pixel fixed to take the pattern in mind. The lineClipping fixed. The lines that starts and ends out of the screen are not drawn due to the fVDI.PRG beta engine.. the beta crashes sometimes too) The v0.95 works quite well, but with display bugs like no pictures in ST-Guide, wrong colors of Thing's keyboard cursor. - the hardcoded screen resolution changed to the hostScreens one in mouseOut handling. 2001/10/19 - STanda - fVDI: The driver updated to work with FVDI.PRG beta. This beta enables e.g. the monochrome images in ST-Guide and fixes many bugs. There is still a bug in new line clipping, but I just don't have time to fix it now. I know exactly what is the problem. 2001/10/18 - Petr - MD5 class added - InitROM() detects both our ABTOS and the original TOS 4.04. - InitROM() patches TOS 4.04 2001/10/17 - STanda - README The sophics.cz replaced by atari.org for http access. The ftp and email addresses was left. (I don't know wheter aranym@atari.org works and the ftp must stay @sophics, the absolute path problems) - ExtFs: Small bug fix. The Fsfirst&next returns the . and .. dirs too. (according to Julian Reschke's advice) - Tools: The changes that were made and uploaded to Petr's ftp are in CVS now The README was modified a bit. 2001/10/16 - STanda - fVDI: The segfault bug in gfxLineColor removed. - VIDEL: The 16, 24 and 32 destBpp are supported when #define SUPPORT_MULTIPLEDESTBPP in videl.cpp (the SDL surface depth setting is in hostscreen.cpp). 2001/10/16 - milan - support for BasiliskII's monitor cxmon - aranymrc now supports FastRAM's size. 2001/10/16 - STanda - fVDI: The driver should be working now in TC (I finally got the Thing executed and looking correctly) 2001/10/09 - milan - some changes in memory allocation, now support for malloc on dummy platforms 2001/10/08 - STanda - fVDI: the blitting works on destination 16bpp (still no shadow buffer used). 2001/10/08 - STanda - ALT+PrintScreen generates a snapshot file using the SDL_SaveBMP. - Host OS dependent objects moved to the host.cpp(h) and aranym specific objects like ExtFs and FVDIDrv moved to araobjs.cpp(h) - general cleanup of unused variables (fdc.cpp) - the WEB pages updated 2001/10/02 - milan - the first "public" version of "ndebug", some modes still disabled - platform's independent memory allocation, if ARAnyM doesn't know better 2001/10/02 - Petr - ROM file reading back in main.cpp - TTRAM renamed to FastRAM everywhere - --ttram renamed to --fastram, -T renamed to -F - --grab_mouse switch removed - added 'cookie_MCH' config option, it holds hex long value - maxInnerCounter in main.cpp should be tuned to your CPU speed. The lower your CPU is the lower the value should be. 2001/10/02 - STanda - fVDI: blitArea screen2screen & mem2screen (TC) works now. - fVDI, VIDEL: bitplane to chunky conversion is move into the HostScreen inline - should cause no performace penalty 2001/10/01 - STanda - fVDI: drawLine supports the logical operations now. 2001/09/25 - milan - cleaning of memory allocation 2001/09/21 [ARAnyM 0.0.8] - Petr - in a fVDI session (when VIDEL rendering is disabled) if VIDEL VideoRAM address is changed the VIDEL rendering is enabled again. This is essential for example when you reset the Atari machine (you want to see the Fuji logo, don't you? :) - MFP TimerC emulation simplified - no more double TimerC interrupts as we are now calling the invoke200HzInterrupt each 5 milliseconds. - hardware.cpp helper functions removed. Now modules call their public functions directly. It's better readable and faster this way, I think. 2001/09/20 - STanda - fVDI: Off by one bug fixed in fillArea. - fVDI: Separate functions for transparent and opaque background. gfxPrimitives methods moved to the HostScreen. Several methods made inline. fVDI driver Shouldn't cause BUS ERROR now. 2001/09/20 - Petr - fixed very annoying bug in direct_tc mode (no more segfaults at $e08ba8 I hope!) - mouse code for host-client transformation is now conditional (only when not running in fullscreen). 2001/09/20 - STanda - The fVDI driver update: colors work correctly, expandArea implemented to display icons and texts, putPixel speedup. Now it seems pretty fast when DEBUG is 0 ;) - gfxprimitives cleanup 2001/09/19 - Petr - TT-RAM (or FastRAM) size entered on command line (--ttram) is in MB now. - new .aranymrc option named "FastRAM", acts as the --tram switch. - first release of aratools.tgz, available at ftp.sophics.cz/pub/aranym. FastRAM (or TT-RAM?) can be anything from 0 to about 112 MB (then it crashes, I suspect it's due to the weird Milan's virtual memory management). 2001/09/18 - Petr - keys remapped: Atari Help is on the F11 host key, Atari Undo is on F12 key. Keys PageUp/PageDown are mapped to Atari combo Shift+ArrowUp/Down which should work in most GEM programs (handy stuff, you get used to it fairly quickly). - mouse behavior changed: first, it's grabbed automatically and centered on standard screen size (640x480). Second, with special tool support (right now modified Clocky - you find it in ftp.sophics.cz/pub/aranym) you are able to move the mouse out of the Atari aranym window. Works just like in vmware. Pity it has hardcoded GEM screen size right now. Needs to be fixed - made more flexible. - ARADATA I/O registers are ready to support arbitrary FastRAM size and automatic StandaFS config.sys updating, I just need to write the tools for that. 2001/09/11 [ARAnyM 0.0.7] - Petr - real hard fight with Aniplayer. I found that it checks whether there's a $CAFEFADE number at $F4000014. This check was killing aranym since my check_ram_boundary() was broken (due to a number of stupid bugs). Anyway, this CAFEFADE signals that there can be a hardware located at that address already (it is flash ROM of Centurbo2 according to Didier) and that is a bad sign for us since we wanted to have the host videoram there. 2001/09/10 [ARAnyM 0.0.6] - Petr - proper check_ram_boundary in memory.h. Has to be always enabled, otherwise programs like e.g. Aniplayer can kill the whole aranym.. FastRAM works again (still fixed to 32 MB). - SDL_Timer is not used anymore. CPU now checks once in a while (currently each 100 m68k instructions) whether it's time to emulate an interrupt. The original behavior with timers may be enabled with -DUSE_TIMERS. 2001/09/09 - Petr - direct TrueColor works again - clicking in fullscreen X11 works again (generally mouse grabbing works again) - disabled the shit in main_unix.cpp (the memory management) - fixed a few little bugs 2001/09/04 - Petr - milan's port of ata.cpp and cdrom.cpp from Bochs v1.2 now enables direct access to CD-ROM! Use "IsCDROM = Yes" in your [IDE1] section of aranym conf file. 2001/09/01 - milan - switch for enabling full opcode's history for debugger 2001/08/31 - milan - other small corrections for MMU - memory access now a bit quicker 2001/08/29 - milan - stupid buggy preversion of TV conf. GUI aranymrc, needs to rewrite in better form, something as powertweak's text mode conf. Output in aranymtest.rc file. Also needed to find problem with size of strings (buffer overflow). - directive DebugOnStart from ARANYMRC changed to Bool_Tag - patched stupid mistake by entry of debugger (Alt x Alt+Pause) - some small corrections for MMU - newm68k_disasm hasn't any problem with memory addressing now (set/longjmp problem) 2001/08/29 - STanda - VIDEL got the doRender flag with setter setRendering(). The host_colors_uptodate variable name was changed to hostColorsSync. - HostScreen got the doUpdate flag cleared upon initialization if the HWSURFACE was created. - fVDIDriver got first version of drawLine and fillArea (thanks to SDL_gfxPrimitives). 2001/08/20 - milan - support for autodetection of a real disk's geometry in Linux, also for createdisk.sh's disks, but new version of parameters.cpp needs reorganization in IDEx part - patched ins. SBCD, ABCD, NBCD (uae 0.8.17), BDcc, Scc in table68k patched - UAE FPU as default FPU (now better than i386 opt!) - devdist in Makefile 2001/08/16 - Petr - config file taken from PARCP. Feel free to extend the global_conf struct in parameters.cpp with more options. 2001/08/15 - STanda - the videl.cpp ST compatible color palette handling added (thanks to Ctirad) 2001/08/13 - milan - bindist in Makefile - aranymrc example - IDE x's settings from aranymrc file 2001/08/10 - milan - real addressing now working correct - the first step for reintegration of BasiliskII's CPU API - Makefile depends repaired - new sync with BasiliskII (CVS 24.7.2001) - memory allocation back in main_unix.cpp - better for portability of real addressing, also ROM reading back there, not only POSIX, we have also non-POSIX OS's 2001/08/09 - Petr - added ata-new.cpp and cdrom.cpp from Bochs. Compilable but don't work yet (dunno why). 2001/08/08 - STanda - no atexit crash ( atexit(ExitAll) called ) - numblock key mapping fixed. (/,*,-,+ keys fixed) - bitplane to chunky conversion speedup (enrolling the conversion loop etc.) 2001/07/24 - Petr - portable stuff moved from Unix folder up to the main.cpp (should be cleaned up) - bx_options moved from ata.cpp to parameters and should become global structure for aranym options - floppy is not inserted automatically upon start - this is because my machine does not have a floppy connected and it caused aranym to hang. Should be a command line parameter like -floppy or something. 2001/07/20 - milan - signals & pthread removed, now only SDL needs pthread - mmu_op patched, setjmp/longjmp only, no exceptions - some warnings "killed" - "ndebug" integrated (only dbprintf), now D(bug()) without \n 2001/07/13 - STanda - BLITTER function table restored. (the only - bad - thing is that all BLITTER member data must be public to be able to work like this) - direct_truecolor mode made working again (was not probably since the HostScreen creation) - note: the original fVDI driver sources compiled as they are and got corrupted (parachute) one. fVDI author notified and requested the whole source tree again. 2001/07/09 - STanda - SDL comunity solved our mouse problem in Xs! Get the newest SDL cvs, make & install - the grab_mouse is set by default when in fullscreen 2001/07/02 - milan - new UAE CPU port from BasiliskII (CVS 25.6.2001) - more portable 2001/06/18 - STanda - version increased to 0.0.5 - the SDL dependent parts of the code were moved to the HostScreen class. The HostScreen hostScreen; object is created statically in the hardware.cpp. (Most of the methods are inline and thus put into hostscreen.h file) - several methods were renamed again (one example for all: getVideoMode() -> getScreenBpp()). - some copyright (and CVS) comments added. Please - authors - put the CVS comments to the beginning and to the bottom of each source file conforming the template provided in the projects root directory (template.cpp). 2001/06/18 - STanda - videl renderScreen() fix (lock & unlock screen added - again) - the Shift+Pause combination is now used to exit the emulator immediately (this was Petr's code change, but forgotten to tell us ;))... anyway thanks for really good working videl now. I seem not to have any problems with color palette here :). 2001/06/17 - Petr - System Timer (200 Hz Timer C) should be precise even under heavy load now. The MFP stuff needs to be rewritten from scratch. My C++ OOP knowledge sucks. - implemented virtual destructor in ICio class. Thanks to that the desctructor of RTC is called and saves the settings to disk (file "cmos" - actual folder, needs to be fixed - "$HOME/.aranym/cmos" looks like a good idea). - NVRAM is read from disk/stored to disk automatically. You can use your favorite NVRAM editor now. - system date/time is restored from RTC (host local time is used, not GMT). Year needs to be fixed yet. - a lot of work on mouse cursor, still not as good as STonX's one. Mouse is grabbed automatically when you move the cursor over Aranym window. To release it hold Control and right click. Then you can leave the aranym window - when you move the mouse pointer back over the window it's grabbed again. - it seems that Videl uses different color register sets for different color depths (as 4 and 16 color depth's colors are incorrect). Scary. Probably some compatibility nightmare. - fixed too early SDL_Video initialization. Do not init stuff in constructors as they are invoked before main(). Fix the ExtFs stuff (install "A" ???) 2001/06/15 - Petr - VIDEL finished. Hardware color palette registers are used properly now. 2001/06/13 - STanda - some VIDEL public routins adjusted to provide fVDI driver needed methods. (lockScreen(), unlockScreen(), getHostVideoramAddress()) - updateScreen() semantics was updated to SDL_UpdateRect... (only). The original method functionality was captured in new renderScreen() method 2001/06/12 - Petr - VIDEL rewritten using the new BASE_IO class. Got proper getVideoMode() and getWidth/Height (all stolen from Linux-m68k source code). Extended resolutions (using BlowUP030) work now perfectly (e.g. 1024x768). - new DSP module is based on the new BASE_IO - you see, it's easy to write HW emulation stuff now. 2001/06/08 - Petr - highly unfinished, very preliminary, often crashing support for extended VIDEL resolutions. I know how to fix it, just give me some time. 2001/06/06 - Petr - '--grab_mouse' command line switch for X-Windows - floppy can be inserted and removed in run-time. Press F11 to insert a floppy read-only. Hold Shift and press F11 to insert the floppy read-write. Make sure you have rw permissions on /dev/fd0 for this. Press F12 to remove a floppy. It seems to be unnecessary to manually remove the floppy each time since the writting should be synchronized (O_SYNC). This is not a final stage yet - if we stopped supporting disk images we could make the floppy inserting/removing fully automatic. 2001/06/05 - STanda - extfs: the drives are assignable from commandline option -disk (-d) The AUTO/CONFIG.SYS must still contain the conresponding drive-letter assignment with the -d options on the commandline. - the paramenters.cpp contains the drive assignment which is read by ExtFs.init() method (called from main_unix.cpp) - the short -debug option was redesigned to -D 2001/05/29 - Petr - version increased to 0.0.3 - major speed up (22 -> 27 thousand dhrystones) thanks to moving setjmp() out of main CPU loop - excep_no var removed from memory.cpp and newcpu.cpp - fixed VBL invocation (main_unix.cpp) 2001/05/29 - Petr - version increased to 0.0.2 - uae_cpu/memory.h - you can enable or disable CHECK_MEMORY_END. When enabled, direct_truecolor bombs out in early stage of TOS boot (because TOS cannot write to videoram). When disabled, FastRAM works (just run FASTRAM.PRG from the desktop and you'll get 32 MB of additional fast ram). - 'boot_color_depth' switch works now thanks to late initializing of RTC module in HWInit(). - 'monitor' switch allows you to choose between VGA and TV connected on Videl output. - 'direct_truecolor' switch allows you to patch TOS so that Videl VideoRAM is set directly to host's VideoRAM. Thus VIDEL writes directly to host's VGA card video memory (if framebuffer is used as the SDL_VIDEODRIVER). 2001/05/28 - Petr - implemented proper Bus Error (hardware.cpp and others). This helps in a number of places, namely in FPU detection routines. - fixed floppy emulation (fdc.cpp). STonX code contained wrong HW register addresses. I found it when I enabled FastRAM - the FDC was crashing the virtual machine. - added memory bounds checking (memory.h). Ill behaving programs (and bad FDC emulation, as mentioned above :) won't crash the virtual machine anymore! - new memory allocation (main_unix.cpp), enables 32 MB of FastRAM. aranym-1.0.2/FAQ000066400000000000000000000063421242022243000133270ustar00rootroot00000000000000Contents: 1) CVS read only 2) AES Error (WinX) 3) disk from Atari in ARAnyM 4) GEMBench blitter test crashes --- Question: I would like to contribute to the development. I wanted to use CVS but it's read only. What can I do? Answer: Create a diff file using the following command: "cvs diff -u >cvsdiff.txt" Then mail the cvsdiff.txt to pstehlik@sophics.cz. --- Question: I copied my mint setup on ARAnyM. It may works if I can use long file names and access rights. Should I use a new disk image for that ? How would I build one? Answer: if you have a working setup on Atari and want to have the same on ARAnyM, follow these steps: 1) if you want to use the disk directly, simply take it from your Atari machine and put it to your host machine (be it PC, Mac or whatever, we don't care). Set up the drive in .aranym/config, e.g. [IDE0] Present = Yes Path = /dev/hdc Cylinders = 2100 Heads = 16 SectorsPerTrack = 63 ByteSwap = No The "Path" point to the physical device. /dev/hdc is master on secondary IDE channel (ask someone if you don't know what I am talking about). The "Cylinders/Heads/SectorsPerTrack" values maybe either written on the disk label or in your hard drive utility (e.g. HDDRUTIL) - but only if it's an IDE drive. ARAnyM also tries to guess the values, if you set one from these values to -1 (supported only for real devices, only under Linux today). 3) if you want to leave your original disk in your original Atari and use just a copy of that disk then create a disk image: On Atari you can use anything that allows you to store the whole disk drive into one file - e.g. Diskus. Naturally you need a second harddrive with more free space than is the size of your disk you are creating the image of). Then you have to copy the image to the host somehow. On the host (PC, Mac, ...), in Unix like OS you can create the disk image with as simple command as: dd if=/dev/hdc of=/home/aranym/disk_image bs=1M For windows you may want to try out a "WinImage" (use download.com?) For configuring ARAnyM see the 2) above, the Path now points to the /home/aranym/disk_image. The "Cylinders/Heads/SectorsPerTrack" are needed to be set to correct values. In case you are not sure then go to the /proc/ide/hdX/geometry (applies for Linux only) where X depends on what drive you are creating the image from and use the values in the line starting with "physical" word respectively. Beware of the hdparm utility which gives you only the "logical" C/H/S which is not really what you need. Note: if the image has been created on Atari, you have to set the ByteSwap IDE ARAnyM option to "Yes". 4) start ARAnyM and enjoy. Everything should work as expected. However, if you were using some special HW drivers, like e.g. Afterburner, Centurbo or NOVA/Rage gfx card drivers, you want to disable them. So try the first boot with Ctrl held down (AUTO folder programs are not executed then). --- Question: The GEMBench Blitting test crashes/hangs every time I run it using fVDI. Answer: Put the following line into your FVDI.SYS: xbiosfix GEMBench is not really good benchmark program for ARAnyM anyway. aranym-1.0.2/INSTALL000066400000000000000000000065701242022243000140310ustar00rootroot000000000000001) Compilation requirements --------------------------- For compiling ARAnyM you will need libSDL, version at least 1.2.10. You can get it from http://www.libsdl.org/ or from your OS distribution vendor. If you want to compile source fetched from CVS you also need automake, libtool and autoconf (http://www.gnu.org/ or your OS vendor). Supported platforms: All Debian GNU/Linux platforms and x86 BeOS x86 GNU/Linux x86 MS Windows + Cygwin x86 OpenBSD (unmaintained) PPC MacOS X SGI Irix (unmaintained) Sun Sparc Solaris In progress (in alphabetical order): m68k FreeMiNT x86 FreeBSD x86 NetBSD 2) Compilation -------------- 2-1) Unix or Linux ------------------ If you got the source code from CVS then type ./autogen.sh && make If you have a source snapshot or proper ARAnyM source code release then type ./configure && make ./configure --help shows you all the compile time options. If everything went OK you got an executable file named "aranym". 2-2) Microsoft Windows ---------------------- Compilation is accomplished using the Cygwin linux-like environment (http://www.cygwin.com/). Details are available in tools/build-cygwin.sh. 2-3) Apple Mac OS X ------------------- Go to src/Unix/darwin folder first. If you got the source code from CVS then just type make If you want to configure ARAnyM for your personal needs, type ../configure_ppc --help Add preferred options to the CONFIGURE_OPTIONS_ppc and CONFIGURE_OPTIONS_i386 variables at the top of Makefile inside the darwin folder. After that run make again. If everything went OK, you got an executable named "ARAnyM.app" inside the src/Unix/darwin folder. This application expects its default configuration inside the current user's ~/Library/Preferences/org.aranym.amcfg file. Inside that config file a path beginning with */ will be expanded to ~/Library/Application Support/ARAnyM. The ARAnyM.app also supports virtual machine bundles: Put all your disk image files, host-fs destination folders, ROM image etc. and a properly configured org.aranym.amcfg file into a new folder. Give that folder the extension ".ARAnyM" or ".amvm". The Mac OS X Finder will then treat this new Folder as a so called bundle. Just dubble click on it and ARAnyM should start and use it. To modify such a bundles content, in the Finder Control-click or right-click on it and select "Show Package Contents". There are also other methods of building ARAnyM for OS X. Refere also to the documents inside src/Unix/MacOSX. 3) Installation --------------- You may install ARAnyM on Unix/Linux by typing 'make install' (have root privileges as default configuration installs to /usr/local/), or you may run the binary directly by typing ./aranym. Next step is to obtain the operating system (TOS 4.04 or EmuTOS) and install a harddrive. More on this in the README file. Easiest is to download one of the 'afros' disk images (Aranym FRee OS) that contain everything preinstalled. 4) Troubleshooting ------------------ If you compiled libSDL by yourself and installed to /usr/local/ you might experience the following problem when running autogen.sh: aclocal: configure.in: 835: macro `AM_PATH_SDL' not found in library The fix is relatively easy: export ACLOCAL_FLAGS="-I /usr/local/share/aclocal" This helps aclocal to find the .m4 file and everything is fine then. aranym-1.0.2/Makefile.in000066400000000000000000001036001242022243000150350ustar00rootroot00000000000000# Unix makefile for ARAnyM # Inspired in BasiliskII's Makefile #makefile := $(word $(words $(MAKEFILE_LIST)), $(MAKEFILE_LIST)) ## System specific configuration @SET_MAKE@ SHELL = /bin/sh prefix = @prefix@ includedir = @includedir@ exec_prefix = @exec_prefix@ bindir = @bindir@ datadir = @datadir@ datarootdir = @datarootdir@ mandir = @mandir@ man1dir = $(mandir)/man1 docdir = $(prefix)/share/doc builddir = @builddir@ top_srcdir = @top_srcdir@ srcdir = $(top_srcdir)/src DESTDIR = ARCH := @CPU_TYPE@ DEPEND := $(builddir)/depend_$(ARCH) makefile := $(builddir)/Makefile CC = @CC@ CXX = @CXX@ CFLAGS1 = @CFLAGS@ CFLAGS = @CFLAGS@ $(SDL_CFLAGS) $(ZLIB_CFLAGS) CXXFLAGS1 = @CXXFLAGS@ CXXFLAGS = @CXXFLAGS@ $(SDL_CFLAGS) $(ZLIB_CFLAGS) CPPFLAGS = -I$(GEN_DIR) -I$(srcdir)/include -I$(srcdir)/Unix -I$(builddir) -I$(srcdir)/natfeat @CPUINCLUDES@ @CPPFLAGS@ $(DISASM_CFLAGS) ARCHFLAGS = @ARCHFLAGS@ GENCPU_FLAGS = @GENCPU_FLAGS@ WFLAGS = @WFLAGS@ DEFS = @DEFS@ @DEFINES@ DISASM_CFLAGS=@DISASM_CFLAGS@ DISASM_LIBS=@DISASM_LIBS@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ $(SDL_LIBS) $(ZLIB_LIBS) $(DISASM_LIBS) SDL_LIBS = @SDL_LIBS@ SDL_CONFIG = @SDL_CONFIG@ SDL_CFLAGS = @SDL_CFLAGS@ ZLIB_LIBS = @ZLIB_LIBS@ ZLIB_CFLAGS = @ZLIB_CFLAGS@ SYSSRCS = @SYSSRCS@ CPUSRCS = @CPUSRCS@ GENCPUSRCS = @GENCPUSRCS@ DSPSRCS = @DSPSRCS@ MIDISEQSRCS = @MIDISEQSRCS@ NFCDROMSRCS = @NFCDROMSRCS@ NFPCISRCS = @NFPCISRCS@ NFOSMESASRCS = @NFOSMESASRCS@ NFJPEGSRCS = @NFJPEGSRCS@ NFVDISRCS = @NFVDISRCS@ NFCLIPBOARDSRCS = @NFCLIPBOARDSRCS@ PARALLELX86SRCS = @PARALLELX86SRCS@ PARALLELPARPORTSRCS = @PARALLELPARPORTSRCS@ SERIALSRCS = @SERIALSRCS@ GUISDLSRCS = @GUISDLSRCS@ DYNGLSRCS = @DYNGLSRCS@ DBGSP = @DBGSP@ TAPIF = @TAPIF@ USBHOSTSRCS = @USBHOSTSRCS@ AM_DEFAULT_VERBOSITY = @AM_DEFAULT_VERBOSITY@ GENCOMP_ARCH = @GENCOMP_ARCH@ GENCOMP_SRC = gencomp$(filter _$(GENCOMP_ARCH),_arm) ACLOCAL = aclocal AUTOCONF = autoconf AUTOHEADER = autoheader PERL = @PERL@ MKDIR_P = @MKDIR_P@ INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ host_alias = @host_alias@ host_triplet = @host@ ## Files SRCS = main.cpp \ Unix/main_unix.cpp \ Unix/vm_alloc.cpp \ Unix/host_clock_unix.cpp \ acia.cpp \ acsifdc.cpp \ adler32.c \ aradata.cpp \ aranym_exception.cpp \ ata.cpp \ audio_conv.cpp \ audio_dma.cpp \ audio_crossbar.cpp \ blitter.cpp \ bootos.cpp \ bootos_tos.cpp \ bootos_emutos.cpp \ bootos_linux.cpp \ cdrom.cpp \ cfgopts.cpp \ dirty_rects.cpp \ dsp.cpp \ disasm-glue.cpp \ disasm-builtin.cpp \ emul_op.cpp \ natfeats.cpp \ fakeio.cpp \ hardware.cpp \ host.cpp \ host_audio.cpp \ host_clock.cpp \ hostscreen.cpp \ hostscreen_opengl.cpp \ host_surface.cpp \ host_surface_opengl.cpp \ ide.cpp \ identify.cpp \ ikbd.cpp \ input.cpp \ joypads.cpp \ logo.cpp \ md5.cpp \ mfp.cpp \ midi.cpp \ midi_file.cpp \ mmu.cpp \ ndebug.cpp \ ncr5380.cpp \ parallel.cpp \ parallel_file.cpp \ parameters.cpp \ romdiff.cpp \ rtc.cpp \ serial.cpp \ scc.cpp \ tools.cpp \ videl.cpp \ videl_zoom.cpp \ yamaha.cpp \ natfeat/nf_base.cpp \ natfeat/nf_objs.cpp \ natfeat/xhdi.cpp \ natfeat/nfaudio.cpp \ natfeat/nfbootstrap.cpp \ natfeat/nf_basicset.cpp \ natfeat/debugprintf.cpp \ $(MIDISEQSRCS) \ $(NFCDROMSRCS) \ $(NFPCISRCS) \ $(USBHOSTSRCS) \ $(NFOSMESASRCS) \ $(NFJPEGSRCS) \ $(NFVDISRCS) \ $(NFCLIPBOARDSRCS) \ $(PARALLELX86SRCS) \ $(PARALLELPARPORTSRCS) \ $(SERIALSRCS) \ $(SYSSRCS) \ $(CPUSRCS) \ $(DSPSRCS) \ $(LILOSRCS) \ $(GUISDLSRCS) \ $(DYNGLSRCS) GENSRCS = \ uae_cpu/build68k.c \ uae_cpu/cpuopti.c \ uae_cpu/gencpu.c \ uae_cpu/readcpu.cpp \ uae_cpu/compiler/$(GENCOMP_SRC).c BUNDLE_RESOURCES = \ $(srcdir)/Unix/darwin/busybee.icns \ $(top_srcdir)/data/logo.png BUNDLE_LOCALIZATON_FOLDERS = \ $(srcdir)/Unix/darwin/*.lproj BUNDLE_CONTENTS = \ $(srcdir)/Unix/darwin/Info.plist \ $(srcdir)/Unix/darwin/PkgInfo BUNDLE_FRAMEWORKS = /Library/Frameworks/SDL.framework /Library/Frameworks/SDL_image.framework BEOS_RESOURCES = \ $(top_srcdir)/aranym.rdef BEOS_XRES = @BEOS_XRES@ BEOS_RC = @BEOS_RC@ BEOS_SETVERSION = @BEOS_SETVERSION@ APP = aranym APP_ARCH = aranym_$(ARCH) APP_STATIC = aranym_static APP_LIB = libaranym.a APP_BUNDLE = ARAnyM.app APP_IFC = aratapif TARGET = @TARGET@ PACKAGE_VERSION = @PACKAGE_VERSION@ ## Rules AM_V_CC = $(am__v_CC_$(V)) am__v_CC_ = $(am__v_CC_$(AM_DEFAULT_VERBOSITY)) am__v_CC_0 = @echo " CC " $@; AM_V_CXX = $(am__v_CXX_$(V)) am__v_CXX_ = $(am__v_CXX_$(AM_DEFAULT_VERBOSITY)) am__v_CXX_0 = @echo " CXX " $@; AM_V_CXXLD = $(am__v_CXXLD_$(V)) am__v_CXXLD_ = $(am__v_CXXLD_$(AM_DEFAULT_VERBOSITY)) am__v_CXXLD_0 = @echo " CXXLD " $@; AM_V_GEN = $(am__v_GEN_$(V)) am__v_GEN_ = $(am__v_GEN_$(AM_DEFAULT_VERBOSITY)) am__v_GEN_0 = @echo " GEN " $@; .PHONY: install installdirs uninstall mostlyclean clean distclean depend $(APP_BUNDLE) .SUFFIXES: .SUFFIXES: .c .cpp .s .o .h .m .M all: $(builddir)/version_date.h $(TARGET) $(TAPIF) BUILD_SOURCES = \ $(top_srcdir)/atari/nfosmesa/glfuncs.h \ $(top_srcdir)/src/natfeat/nfosmesa/call-gl.c \ $(top_srcdir)/src/natfeat/nfosmesa/dispatch-gl.c \ $(top_srcdir)/atari/nfosmesa/ldg/osmesa.h \ $(top_srcdir)/atari/nfosmesa/ldg/tiny_gl.h \ $(top_srcdir)/atari/nfosmesa/osmesa_load.c \ $(top_srcdir)/atari/nfosmesa/tinygl_load.c \ $(top_srcdir)/atari/nfosmesa/link-tinygl.h \ $(top_srcdir)/atari/nfosmesa/slb/tiny_gl.h \ $(top_srcdir)/atari/nfosmesa/tinygl_loadslb.c \ $(empty) OBJ_DIR = obj_$(ARCH) $(OBJ_DIR):: @[ -d $(OBJ_DIR) ] || mkdir $(OBJ_DIR) > /dev/null 2>&1 GEN_DIR = gen_$(ARCH) $(GEN_DIR):: @[ -d $(GEN_DIR) ] || mkdir $(GEN_DIR) > /dev/null 2>&1 define SRCS_LIST_TO_OBJS $(patsubst %,$(OBJ_DIR)/%.o, $(basename $(notdir $(GENCPUSRCS) $(SRCS)))) endef $(builddir)/version_date.h: $(top_srcdir)/ChangeLog echo '/* generated from ChangeLog */' > $@ sed -n '/^20[0-9][0-9]\/[0-9]*\/[0-9]/p' < $(top_srcdir)/ChangeLog | sed 's/^\(20[0-9][0-9]\/[0-9]*\/[0-9]*\).*/#define VERSION_DATE "\1"/;q' >> $@ OBJS = $(SRCS_LIST_TO_OBJS) SRC_PATHS += $(sort $(GEN_DIR)/ $(dir $(SRCS))) empty:= space:= $(empty) $(empty) VPATH += $(subst $(space),:,$(strip $(addprefix $(filter-out ./,$(srcdir)/), $(SRC_PATHS)))) $(APP): $(OBJ_DIR) $(GEN_DIR) $(BUILD_SOURCES) $(OBJS) $(AM_V_CXXLD)$(CXX) -o $@ $(LDFLAGS) $(ARCHFLAGS) $(OBJS) $(LIBS) ifneq ($(BEOS_XRES),) $(BEOS_RC) -o $(APP).rsrc $(BEOS_RESOURCES) endif ifneq ($(BEOS_XRES),) $(BEOS_XRES) -o $(APP) $(APP).rsrc endif ifneq ($(BEOS_SETVERSION),) $(BEOS_SETVERSION) $(APP) \ -app 0 9 0 d 0 \ -short "$(APP) $(PACKAGE_VERSION)" \ -long "$(APP) $(PACKAGE_VERSION)" endif $(APP_ARCH): $(OBJ_DIR) $(GEN_DIR) $(OBJS) $(AM_V_CXXLD)$(CXX) -o $@ $(LDFLAGS) $(ARCHFLAGS) $(OBJS) $(LIBS) $(APP_STATIC): $(OBJ_DIR) $(GEN_DIR) $(OBJS) $(AM_V_CXXLD)$(CXX) -o $@ -static $(LDFLAGS) $(ARCHFLAGS) $(OBJS) $(LIBS) $(APP_LIB): $(OBJ_DIR) $(GEN_DIR) $(OBJS) $(AM_V_CXXLD)$(LD) -r -o $@ $(LDFLAGS) $(ARCHFLAGS) $(OBJS) $(LIBS) $(APP_BUNDLE): $(APP) rm -rf $(APP_BUNDLE) mkdir -p $(APP_BUNDLE)/Contents cp -r $(BUNDLE_CONTENTS) $(APP_BUNDLE)/Contents mkdir -p $(APP_BUNDLE)/Contents/MacOS cp $(APP) $(APP_BUNDLE)/Contents/MacOS #mkdir -p $(APP_BUNDLE)/Contents/ARAnyM mkdir -p $(APP_BUNDLE)/Contents/Resources mkdir -p $(APP_BUNDLE)/Contents/Frameworks for fwFolder in $(BUNDLE_FRAMEWORKS); do \ if test -d $$fwFolder; then \ cp -rp $$fwFolder $(APP_BUNDLE)/Contents/Frameworks/; \ fi; \ done cp -r $(BUNDLE_RESOURCES) $(APP_BUNDLE)/Contents/Resources for locFolder in $(BUNDLE_LOCALIZATON_FOLDERS); do \ cp -R $$locFolder $(APP_BUNDLE)/Contents/Resources/; \ done find $(APP_BUNDLE)/Contents/Resources -type d -and \( -name CVS -or -name \*~.nib \) -or -name \*~ -or -name \*.bak | xargs rm -rf install: $(APP) $(TAPIF) doc/$(APP).1 doc/$(APP)-jit.1 doc/$(APP)-mmu.1 doc/$(APP_IFC).1 installdirs $(INSTALL_PROGRAM) $(APP) $(DESTDIR)$(bindir)/$(APP) if [ "x$(APP_IFC)" = "x$(TAPIF)" ]; then \ $(INSTALL_PROGRAM) $(APP_IFC) $(DESTDIR)$(bindir)/$(APP_IFC);\ $(INSTALL_DATA) doc/$(APP_IFC).1 $(DESTDIR)$(man1dir)/$(APP_IFC).1 ;\ fi $(INSTALL_DATA) doc/$(APP).1 $(DESTDIR)$(man1dir)/$(APP).1 $(INSTALL_DATA) doc/$(APP)-jit.1 $(DESTDIR)$(man1dir)/$(APP)-jit.1 $(INSTALL_DATA) doc/$(APP)-mmu.1 $(DESTDIR)$(man1dir)/$(APP)-mmu.1 $(INSTALL_DATA) $(srcdir)/../ChangeLog $(DESTDIR)$(docdir)/$(APP)/changelog $(INSTALL_DATA) $(srcdir)/../TODO $(DESTDIR)$(docdir)/$(APP)/TODO $(INSTALL_DATA) $(srcdir)/../AUTHORS $(DESTDIR)$(docdir)/$(APP)/AUTHORS $(INSTALL_DATA) $(srcdir)/../NEWS $(DESTDIR)$(docdir)/$(APP)/NEWS $(INSTALL_DATA) $(srcdir)/../README $(DESTDIR)$(docdir)/$(APP)/README $(INSTALL_DATA) $(srcdir)/../FAQ $(DESTDIR)$(docdir)/$(APP)/FAQ $(INSTALL_DATA) $(srcdir)/../COPYING $(DESTDIR)$(docdir)/$(APP)/COPYING $(INSTALL_DATA) $(srcdir)/../BUGS $(DESTDIR)$(docdir)/$(APP)/BUGS $(INSTALL_DATA) $(srcdir)/../INSTALL $(DESTDIR)$(docdir)/$(APP)/INSTALL $(INSTALL_DATA) $(srcdir)/../doc/config $(DESTDIR)$(docdir)/$(APP)/config $(INSTALL_DATA) $(srcdir)/../atari/newdesk.inf $(DESTDIR)$(datadir)/$(APP)/atari/newdesk.inf $(INSTALL_DATA) $(srcdir)/../atari/mmusetup.cnf $(DESTDIR)$(datadir)/$(APP)/atari/mmusetup.cnf $(INSTALL_DATA) $(srcdir)/../atari/hostfs/bdconfig.sys $(DESTDIR)$(datadir)/$(APP)/atari/hostfs/bdconfig.sys $(INSTALL_DATA) $(srcdir)/../atari/hostfs/README $(DESTDIR)$(datadir)/$(APP)/atari/hostfs/README $(INSTALL_DATA) $(srcdir)/../atari/nfosmesa/README $(DESTDIR)$(datadir)/$(APP)/atari/nfosmesa/README $(INSTALL_DATA) $(srcdir)/../atari/network/ethernet/nfeth-config/eth0-config.sh $(DESTDIR)$(datadir)/$(APP)/atari/network/eth0-config.sh $(INSTALL_DATA) $(srcdir)/../atari/network/ethernet/README $(DESTDIR)$(datadir)/$(APP)/atari/network/README $(INSTALL) $(srcdir)/../tools/arabridge $(DESTDIR)$(datadir)/$(APP)/arabridge $(INSTALL) $(srcdir)/../tools/floppy.sh $(DESTDIR)$(datadir)/$(APP)/floppy.sh $(INSTALL_DATA) $(srcdir)/../atari/tools/README $(DESTDIR)$(datadir)/$(APP)/atari/tools/README $(INSTALL_DATA) $(srcdir)/../atari/tools/pc101us.kbd.bz2 $(DESTDIR)$(datadir)/$(APP)/atari/tools/pc101us.kbd.bz2 $(INSTALL_DATA) $(srcdir)/../atari/sound/README $(DESTDIR)$(datadir)/$(APP)/atari/sound/README $(INSTALL_DATA) $(srcdir)/../data/wm_icon.bmp $(DESTDIR)$(datadir)/$(APP)/wm_icon.bmp $(INSTALL_DATA) $(srcdir)/../data/logo.png $(DESTDIR)$(datadir)/$(APP)/logo.png installdirs: $(SHELL) $(srcdir)/../mkinstalldirs $(DESTDIR)$(bindir) $(DESTDIR)$(man1dir) $(DESTDIR)$(datadir)/$(APP) $(DESTDIR)$(datadir)/$(APP)/atari $(DESTDIR)$(datadir)/$(APP)/atari/hostfs $(DESTDIR)$(datadir)/$(APP)/atari/nfcdrom $(DESTDIR)$(datadir)/$(APP)/atari/nfjpeg $(DESTDIR)$(datadir)/$(APP)/atari/nfosmesa $(DESTDIR)$(datadir)/$(APP)/atari/network $(DESTDIR)$(datadir)/$(APP)/atari/tools $(DESTDIR)$(datadir)/$(APP)/atari/sound $(DESTDIR)$(docdir)/$(APP) uninstall: rm -f $(DESTDIR)$(bindir)/$(APP) if [ "x$(APP_IFC)" = "x$(TAPIF)" ]; then \ rm -f $(DESTDIR)$(bindir)/$(APP_IFC);\ rm -f $(DESTDIR)$(man1dir)/$(APP_IFC).1 ;\ fi rm -f $(DESTDIR)$(man1dir)/$(APP).1 rm -f $(DESTDIR)$(man1dir)/$(APP)-jit.1 rm -f $(DESTDIR)$(man1dir)/$(APP)-mmu.1 rm -f $(DESTDIR)$(docdir)/$(APP)/changelog rm -f $(DESTDIR)$(docdir)/$(APP)/TODO rm -f $(DESTDIR)$(docdir)/$(APP)/AUTHORS rm -f $(DESTDIR)$(docdir)/$(APP)/NEWS rm -f $(DESTDIR)$(docdir)/$(APP)/README rm -f $(DESTDIR)$(docdir)/$(APP)/FAQ rm -f $(DESTDIR)$(docdir)/$(APP)/COPYING rm -f $(DESTDIR)$(docdir)/$(APP)/BUGS rm -f $(DESTDIR)$(docdir)/$(APP)/INSTALL rm -f $(DESTDIR)$(docdir)/$(APP)/config rm -f $(DESTDIR)$(datadir)/$(APP)/atari/newdesk.inf rm -f $(DESTDIR)$(datadir)/$(APP)/atari/mmusetup.cnf rm -f $(DESTDIR)$(datadir)/$(APP)/atari/hostfs/bdconfig.sys rm -f $(DESTDIR)$(datadir)/$(APP)/atari/hostfs/README rm -f $(DESTDIR)$(datadir)/$(APP)/atari/nfosmesa/README rm -f $(DESTDIR)$(datadir)/$(APP)/atari/network/eth0-config.sh rm -f $(DESTDIR)$(datadir)/$(APP)/atari/network/README rm -f $(DESTDIR)$(datadir)/$(APP)/arabridge rm -f $(DESTDIR)$(datadir)/$(APP)/floppy.sh rm -f $(DESTDIR)$(datadir)/$(APP)/atari/tools/README rm -f $(DESTDIR)$(datadir)/$(APP)/atari/tools/pc101us.kbd.bz2 rm -f $(DESTDIR)$(datadir)/$(APP)/atari/sound/README rm -f $(DESTDIR)$(datadir)/$(APP)/wm_icon.bmp rm -f $(DESTDIR)$(datadir)/$(APP)/logo.png rmdir $(DESTDIR)$(datadir)/$(APP)/atari/hostfs rmdir $(DESTDIR)$(datadir)/$(APP)/atari/nfcdrom rmdir $(DESTDIR)$(datadir)/$(APP)/atari/nfjpeg rmdir $(DESTDIR)$(datadir)/$(APP)/atari/nfosmesa rmdir $(DESTDIR)$(datadir)/$(APP)/atari/network rmdir $(DESTDIR)$(datadir)/$(APP)/atari/tools rmdir $(DESTDIR)$(datadir)/$(APP)/atari/sound rmdir $(DESTDIR)$(datadir)/$(APP)/atari rmdir $(DESTDIR)$(datadir)/$(APP) rmdir $(DESTDIR)$(docdir)/$(APP) mostlyclean: rm -r -f $(APP) $(APP_BUNDLE) $(APP_ARCH) $(APP_LIB) $(APP_STATIC) $(TAPIF) cdromtest m68kdisasm $(OBJ_DIR)/* core* *.core *~ *.bak clean: mostlyclean rm -rf $(GEN_DIR) distclean: clean rm -rf $(OBJ_DIR) rm -f $(makefile) rm -f $(builddir)/config.cache $(builddir)/config.log $(builddir)/config.status $(builddir)/config.h rm -f $(DEPEND) rm -rf $(top_srcdir)/autom4te.cache mrproper: distclean rm -f $(top_srcdir)/aclocal.m4 $(builddir)/configure $(top_srcdir)/config.h.in bindistdirs: $(SHELL) $(top_srcdir)/mkinstalldirs tmpdist tmpdist$(bindir) tmpdist$(man1dir) tmpdist$(datadir)/$(APP) tmpdist$(datadir)/$(APP)/atari tmpdist$(datadir)/$(APP)/atari/hostfs tmpdist$(datadir)/$(APP)/atari/nfcdrom tmpdist$(datadir)/$(APP)/atari/nfjpeg tmpdist$(datadir)/$(APP)/atari/nfosmesa tmpdist$(datadir)/$(APP)/atari/network tmpdist$(datadir)/$(APP)/atari/tools tmpdist$(datadir)/$(APP)/atari/sound tmpdist$(docdir)/$(APP) bindist: $(APP) $(TAPIF) $(top_srcdir)/doc/$(APP).1 $(top_srcdir)/doc/$(APP)-jit.1 $(top_srcdir)/doc/$(APP)-mmu.1 $(top_srcdir)/doc/$(APP_IFC).1 bindistdirs $(INSTALL_PROGRAM) $(APP) tmpdist$(bindir)/$(APP) if [ "x$(APP_IFC)" = "x$(TAPIF)" ]; then \ $(INSTALL_PROGRAM) $(APP_IFC) tmpdist$(bindir)/$(APP_IFC);\ $(INSTALL_DATA) $(top_srcdir)/doc/$(APP_IFC).1 tmpdist$(man1dir)/$(APP_IFC).1 ;\ fi $(INSTALL_DATA) $(top_srcdir)/doc/$(APP).1 tmpdist$(man1dir)/$(APP).1 $(INSTALL_DATA) $(top_srcdir)/doc/$(APP)-jit.1 tmpdist$(man1dir)/$(APP)-jit.1 $(INSTALL_DATA) $(top_srcdir)/doc/$(APP)-mmu.1 tmpdist$(man1dir)/$(APP)-mmu.1 $(INSTALL_DATA) $(top_srcdir)/ChangeLog tmpdist$(docdir)/$(APP)/changelog $(INSTALL_DATA) $(top_srcdir)/TODO tmpdist$(docdir)/$(APP)/TODO $(INSTALL_DATA) $(top_srcdir)/AUTHORS tmpdist$(docdir)/$(APP)/AUTHORS $(INSTALL_DATA) $(top_srcdir)/NEWS tmpdist$(docdir)/$(APP)/NEWS $(INSTALL_DATA) $(top_srcdir)/README tmpdist$(docdir)/$(APP)/README $(INSTALL_DATA) $(top_srcdir)/FAQ tmpdist$(docdir)/$(APP)/FAQ $(INSTALL_DATA) $(top_srcdir)/COPYING tmpdist$(docdir)/$(APP)/COPYING $(INSTALL_DATA) $(top_srcdir)/BUGS tmpdist$(docdir)/$(APP)/BUGS $(INSTALL_DATA) $(top_srcdir)/INSTALL tmpdist$(docdir)/$(APP)/INSTALL $(INSTALL_DATA) $(top_srcdir)/doc/config tmpdist$(docdir)/$(APP)/config $(INSTALL_DATA) $(top_srcdir)/atari/newdesk.inf tmpdist$(datadir)/$(APP)/atari/newdesk.inf $(INSTALL_DATA) $(top_srcdir)/atari/mmusetup.cnf tmpdist$(datadir)/$(APP)/atari/mmusetup.cnf $(INSTALL_DATA) $(top_srcdir)/atari/hostfs/bdconfig.sys tmpdist$(datadir)/$(APP)/atari/hostfs/bdconfig.sys $(INSTALL_DATA) $(top_srcdir)/atari/hostfs/README tmpdist$(datadir)/$(APP)/atari/hostfs/README $(INSTALL_DATA) $(top_srcdir)/atari/nfosmesa/README tmpdist$(datadir)/$(APP)/atari/nfosmesa/README $(INSTALL_DATA) $(top_srcdir)/atari/network/ethernet/nfeth-config/eth0-config.sh tmpdist$(datadir)/$(APP)/atari/network/eth0-config.sh $(INSTALL_DATA) $(top_srcdir)/atari/network/ethernet/README tmpdist$(datadir)/$(APP)/atari/network/README $(INSTALL) $(top_srcdir)/tools/arabridge tmpdist$(datadir)/$(APP)/arabridge $(INSTALL) $(top_srcdir)/tools/floppy.sh tmpdist$(datadir)/$(APP)/floppy.sh $(INSTALL_DATA) $(top_srcdir)/atari/tools/README tmpdist$(datadir)/$(APP)/atari/tools/README $(INSTALL_DATA) $(top_srcdir)/atari/tools/pc101us.kbd.bz2 tmpdist$(datadir)/$(APP)/atari/tools/pc101us.kbd.bz2 $(INSTALL_DATA) $(top_srcdir)/atari/sound/README tmpdist$(datadir)/$(APP)/atari/sound/README $(INSTALL_DATA) $(top_srcdir)/data/wm_icon.bmp tmpdist$(datadir)/$(APP)/wm_icon.bmp $(INSTALL_DATA) $(top_srcdir)/data/logo.png tmpdist$(datadir)/$(APP)/logo.png chmod -R a+r tmpdist cd tmpdist && GZIP=--best tar chozf ../$(APP).tar.gz * rm -rf tmpdist devdist: mrproper cd $(srcdir)/../../ && GZIP=--best tar chozf $(APP).tar.gz aranym dist: distclean cd $(srcdir)/../../ && GZIP=--best tar chozf $(APP).tar.gz --exclude=autogen.sh --exclude=CVS --exclude=.cvsignore aranym depend: $(builddir)/version_date.h $(AM_V_CC)$(CC) -MM $(CPPFLAGS) $(DEFS) $(DBGSP) $(WFLAGS) $(CFLAGS) $(ARCHFLAGS) $(addprefix $(srcdir)/,$(filter %.c,$(SRCS))) | sed 's,^[^ ],$$(OBJ_DIR)/&,' > $(DEPEND) $(AM_V_CXX)$(CXX) -MM $(CPPFLAGS) $(DEFS) $(DBGSP) $(WFLAGS) $(CXXFLAGS) $(ARCHFLAGS) $(addprefix $(srcdir)/,$(filter %.cpp,$(SRCS))) | sed 's,^[^ ],$$(OBJ_DIR)/&,' >> $(DEPEND) $(AM_V_CC)$(CC) -MM $(CPPFLAGS) $(DEFS) $(DBGSP) $(WFLAGS) $(CFLAGS1) $(addprefix $(srcdir)/,$(filter %.c,$(GENSRCS))) | sed 's,^[^ ],$$(GEN_DIR)/&,' >> $(DEPEND) $(AM_V_CXX)$(CXX) -MM $(CPPFLAGS) $(DEFS) $(DBGSP) $(WFLAGS) $(CXXFLAGS1) $(addprefix $(srcdir)/,$(filter %.cpp,$(GENSRCS))) | sed 's,^[^ ],$$(GEN_DIR)/&,' >> $(DEPEND) $(OBJ_DIR)/%.o : %.c $(AM_V_CC)$(CC) $(CPPFLAGS) $(DEFS) $(DBGSP) $(WFLAGS) $(CFLAGS) $(ARCHFLAGS) -c $< -o $@ $(OBJ_DIR)/%.o : %.m $(AM_V_CC)$(CC) $(CPPFLAGS) $(DEFS) $(DBGSP) $(WFLAGS) $(CFLAGS) $(ARCHFLAGS) -c $< -o $@ $(OBJ_DIR)/%.o : %.cpp $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) $(DBGSP) $(WFLAGS) $(CXXFLAGS) $(ARCHFLAGS) -c $< -o $@ $(OBJ_DIR)/%.o : %.M $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) $(DBGSP) $(WFLAGS) $(CXXFLAGS) $(ARCHFLAGS) -c $< -o $@ $(OBJ_DIR)/%.o : %.s $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) $(DBGSP) $(CFLAGS) $(ARCHFLAGS) -c $< -o $@ $(GEN_DIR)/%.o : %.c $(AM_V_CC)$(CC) $(CPPFLAGS) $(DEFS) $(DBGSP) $(WFLAGS) $(CFLAGS1) -c $< -o $@ $(GEN_DIR)/%.o : %.cpp $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) $(DBGSP) $(WFLAGS) $(CXXFLAGS1) -c $< -o $@ $(GEN_DIR)/%.o : %.s $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) $(DBGSP) $(CFLAGS) -c $< -o $@ $(GEN_DIR)/cpuopti: $(GEN_DIR)/cpuopti.o $(AM_V_CC)$(CC) $(LDFLAGS) -o $(GEN_DIR)/cpuopti $(GEN_DIR)/cpuopti.o $(GEN_DIR)/build68k: $(GEN_DIR)/build68k.o $(AM_V_CC)$(CC) $(LDFLAGS) -o $(GEN_DIR)/build68k $(GEN_DIR)/build68k.o $(GEN_DIR)/gencpu: $(GEN_DIR)/gencpu.o $(GEN_DIR)/readcpu.o $(GEN_DIR)/cpudefs.o $(AM_V_CXX)$(CXX) $(LDFLAGS) -o $(GEN_DIR)/gencpu $(GEN_DIR)/gencpu.o $(GEN_DIR)/readcpu.o $(GEN_DIR)/cpudefs.o $(GEN_DIR)/gencomp: $(GEN_DIR)/$(GENCOMP_SRC).o $(GEN_DIR)/readcpu.o $(GEN_DIR)/cpudefs.o $(AM_V_CXX)$(CXX) $(LDFLAGS) -o $(GEN_DIR)/gencomp $(GEN_DIR)/$(GENCOMP_SRC).o $(GEN_DIR)/readcpu.o $(GEN_DIR)/cpudefs.o $(GEN_DIR)/cpudefs.cpp: $(GEN_DIR)/build68k uae_cpu/table68k $(GEN_DIR)/build68k <$(srcdir)/uae_cpu/table68k > $(GEN_DIR)/cpudefs.cpp $(GEN_DIR)/cpuemu.cpp: $(GEN_DIR)/gencpu cd $(GEN_DIR); ./gencpu $(GEN_DIR)/compemu.cpp: $(GEN_DIR)/gencomp cd $(GEN_DIR); ./gencomp $(GEN_DIR)/cpustbl_nf.cpp: $(GEN_DIR)/cpuemu.cpp $(GEN_DIR)/cpustbl.cpp: $(GEN_DIR)/cpuemu.cpp $(GEN_DIR)/cputbl.h: $(GEN_DIR)/cpuemu.cpp $(GEN_DIR)/compstbl.cpp: $(GEN_DIR)/compemu.cpp $(GEN_DIR)/comptbl.h: $(GEN_DIR)/compemu.cpp $(OBJ_DIR)/cpustbl_nf.o: $(GEN_DIR)/cpustbl.cpp $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) $(DBGSP) $(WFLAGS) $(CXXFLAGS) $(ARCHFLAGS) -DNOFLAGS -c $< -o $@ $(OBJ_DIR)/cpustbl.o: $(GEN_DIR)/cpustbl.cpp $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) $(DBGSP) $(WFLAGS) $(CXXFLAGS) $(ARCHFLAGS) -c $< -o $@ $(OBJ_DIR)/cpudefs.o: $(GEN_DIR)/cpudefs.cpp $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) $(DBGSP) $(WFLAGS) $(CXXFLAGS) $(ARCHFLAGS) -c $< -o $@ $(OBJ_DIR)/compstbl.o: $(GEN_DIR)/compstbl.cpp $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) $(DBGSP) $(WFLAGS) $(CXXFLAGS) $(ARCHFLAGS) -c $< -o $@ $(GEN_DIR)/cpustbl.o: $(GEN_DIR)/cpustbl.cpp $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) $(DBGSP) $(WFLAGS) $(CXXFLAGS) -c $< -o $@ $(GEN_DIR)/cpudefs.o: $(GEN_DIR)/cpudefs.cpp $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) $(DBGSP) $(WFLAGS) $(CXXFLAGS) -c $< -o $@ ifdef GENCOMP_ARCH $(OBJ_DIR)/compemu_support.o: compemu_support.cpp codegen_$(GENCOMP_ARCH).cpp compemu_midfunc_$(GENCOMP_ARCH).cpp $(GEN_DIR)/comptbl.h endif $(OBJ_DIR)/cpuemu1.o: $(GEN_DIR)/cpuemu.cpp $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) $(DBGSP) $(GENCPU_FLAGS) -DPART_1 $(CXXFLAGS) $(ARCHFLAGS) -c $< -o $@ $(OBJ_DIR)/cpuemu2.o: $(GEN_DIR)/cpuemu.cpp $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) $(DBGSP) $(GENCPU_FLAGS) -DPART_2 $(CXXFLAGS) $(ARCHFLAGS) -c $< -o $@ $(OBJ_DIR)/cpuemu3.o: $(GEN_DIR)/cpuemu.cpp $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) $(DBGSP) $(GENCPU_FLAGS) -DPART_3 $(CXXFLAGS) $(ARCHFLAGS) -c $< -o $@ $(OBJ_DIR)/cpuemu4.o: $(GEN_DIR)/cpuemu.cpp $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) $(DBGSP) $(GENCPU_FLAGS) -DPART_4 $(CXXFLAGS) $(ARCHFLAGS) -c $< -o $@ $(OBJ_DIR)/cpuemu5.o: $(GEN_DIR)/cpuemu.cpp $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) $(DBGSP) $(GENCPU_FLAGS) -DPART_5 $(CXXFLAGS) $(ARCHFLAGS) -c $< -o $@ $(OBJ_DIR)/cpuemu6.o: $(GEN_DIR)/cpuemu.cpp $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) $(DBGSP) $(GENCPU_FLAGS) -DPART_6 $(CXXFLAGS) $(ARCHFLAGS) -c $< -o $@ $(OBJ_DIR)/cpuemu7.o: $(GEN_DIR)/cpuemu.cpp $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) $(DBGSP) $(GENCPU_FLAGS) -DPART_7 $(CXXFLAGS) $(ARCHFLAGS) -c $< -o $@ $(OBJ_DIR)/cpuemu8.o: $(GEN_DIR)/cpuemu.cpp $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) $(DBGSP) $(GENCPU_FLAGS) -DPART_8 $(CXXFLAGS) $(ARCHFLAGS) -c $< -o $@ $(OBJ_DIR)/cpuemu1_nf.o: $(GEN_DIR)/cpuemu.cpp $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) $(DBGSP) -DPART_1 -DNOFLAGS $(CXXFLAGS) $(ARCHFLAGS) -c $< -o $@ $(OBJ_DIR)/cpuemu2_nf.o: $(GEN_DIR)/cpuemu.cpp $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) $(DBGSP) -DPART_2 -DNOFLAGS $(CXXFLAGS) $(ARCHFLAGS) -c $< -o $@ $(OBJ_DIR)/cpuemu3_nf.o: $(GEN_DIR)/cpuemu.cpp $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) $(DBGSP) -DPART_3 -DNOFLAGS $(CXXFLAGS) $(ARCHFLAGS) -c $< -o $@ $(OBJ_DIR)/cpuemu4_nf.o: $(GEN_DIR)/cpuemu.cpp $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) $(DBGSP) -DPART_4 -DNOFLAGS $(CXXFLAGS) $(ARCHFLAGS) -c $< -o $@ $(OBJ_DIR)/cpuemu5_nf.o: $(GEN_DIR)/cpuemu.cpp $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) $(DBGSP) -DPART_5 -DNOFLAGS $(CXXFLAGS) $(ARCHFLAGS) -c $< -o $@ $(OBJ_DIR)/cpuemu6_nf.o: $(GEN_DIR)/cpuemu.cpp $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) $(DBGSP) -DPART_6 -DNOFLAGS $(CXXFLAGS) $(ARCHFLAGS) -c $< -o $@ $(OBJ_DIR)/cpuemu7_nf.o: $(GEN_DIR)/cpuemu.cpp $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) $(DBGSP) -DPART_7 -DNOFLAGS $(CXXFLAGS) $(ARCHFLAGS) -c $< -o $@ $(OBJ_DIR)/cpuemu8_nf.o: $(GEN_DIR)/cpuemu.cpp $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) $(DBGSP) -DPART_8 -DNOFLAGS $(CXXFLAGS) $(ARCHFLAGS) -c $< -o $@ $(OBJ_DIR)/compemu1.o: $(GEN_DIR)/compemu.cpp $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) $(DBGSP) -DPART_1 $(CXXFLAGS) $(ARCHFLAGS) -c $< -o $@ $(OBJ_DIR)/compemu2.o: $(GEN_DIR)/compemu.cpp $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) $(DBGSP) -DPART_2 $(CXXFLAGS) $(ARCHFLAGS) -c $< -o $@ $(OBJ_DIR)/compemu3.o: $(GEN_DIR)/compemu.cpp $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) $(DBGSP) -DPART_3 $(CXXFLAGS) $(ARCHFLAGS) -c $< -o $@ $(OBJ_DIR)/compemu4.o: $(GEN_DIR)/compemu.cpp $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) $(DBGSP) -DPART_4 $(CXXFLAGS) $(ARCHFLAGS) -c $< -o $@ $(OBJ_DIR)/compemu5.o: $(GEN_DIR)/compemu.cpp $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) $(DBGSP) -DPART_5 $(CXXFLAGS) $(ARCHFLAGS) -c $< -o $@ $(OBJ_DIR)/compemu6.o: $(GEN_DIR)/compemu.cpp $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) $(DBGSP) -DPART_6 $(CXXFLAGS) $(ARCHFLAGS) -c $< -o $@ $(OBJ_DIR)/compemu7.o: $(GEN_DIR)/compemu.cpp $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) $(DBGSP) -DPART_7 $(CXXFLAGS) $(ARCHFLAGS) -c $< -o $@ $(OBJ_DIR)/compemu8.o: $(GEN_DIR)/compemu.cpp $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) $(DBGSP) -DPART_8 $(CXXFLAGS) $(ARCHFLAGS) -c $< -o $@ $(GEN_DIR)/cpufast.s: $(GEN_DIR)/cpuemu.cpp $(GEN_DIR)/cpuopti $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) -S $(CXXFLAGS) $(ARCHFLAGS) $< -o $(GEN_DIR)/cputmp.s $(GEN_DIR)/cpuopti <$(GEN_DIR)/cputmp.s >$@ || mv $(GEN_DIR)/cputmp.s $@ rm -f $(GEN_DIR)/cputmp.s $(GEN_DIR)/cpufast1.s: $(GEN_DIR)/cpuemu.cpp $(GEN_DIR)/cpuopti $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) -DPART_1 -S $(CXXFLAGS) $(ARCHFLAGS) $< -o $(GEN_DIR)/cputmp1.s $(GEN_DIR)/cpuopti <$(GEN_DIR)/cputmp1.s >$@ || mv $(GEN_DIR)/cputmp1.s $@ rm -f $(GEN_DIR)/cputmp1.s $(GEN_DIR)/cpufast2.s: $(GEN_DIR)/cpuemu.cpp $(GEN_DIR)/cpuopti $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) -DPART_2 -S $(CXXFLAGS) $(ARCHFLAGS) $< -o $(GEN_DIR)/cputmp2.s $(GEN_DIR)/cpuopti <$(GEN_DIR)/cputmp2.s >$@ || mv $(GEN_DIR)/cputmp2.s $@ rm -f $(GEN_DIR)/cputmp2.s $(GEN_DIR)/cpufast3.s: $(GEN_DIR)/cpuemu.cpp $(GEN_DIR)/cpuopti $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) -DPART_3 -S $(CXXFLAGS) $(ARCHFLAGS) $< -o $(GEN_DIR)/cputmp3.s $(GEN_DIR)/cpuopti <$(GEN_DIR)/cputmp3.s >$@ || mv $(GEN_DIR)/cputmp3.s $@ rm -f $(GEN_DIR)/cputmp3.s $(GEN_DIR)/cpufast4.s: $(GEN_DIR)/cpuemu.cpp $(GEN_DIR)/cpuopti $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) -DPART_4 -S $(CXXFLAGS) $(ARCHFLAGS) $< -o $(GEN_DIR)/cputmp4.s $(GEN_DIR)/cpuopti <$(GEN_DIR)/cputmp4.s >$@ || mv $(GEN_DIR)/cputmp4.s $@ rm -f $(GEN_DIR)/cputmp4.s $(GEN_DIR)/cpufast5.s: $(GEN_DIR)/cpuemu.cpp $(GEN_DIR)/cpuopti $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) -DPART_5 -S $(CXXFLAGS) $(ARCHFLAGS) $< -o $(GEN_DIR)/cputmp5.s $(GEN_DIR)/cpuopti <$(GEN_DIR)/cputmp5.s >$@ || mv $(GEN_DIR)/cputmp5.s $@ rm -f $(GEN_DIR)/cputmp5.s $(GEN_DIR)/cpufast6.s: $(GEN_DIR)/cpuemu.cpp $(GEN_DIR)/cpuopti $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) -DPART_6 -S $(CXXFLAGS) $(ARCHFLAGS) $< -o $(GEN_DIR)/cputmp6.s $(GEN_DIR)/cpuopti <$(GEN_DIR)/cputmp6.s >$@ || mv $(GEN_DIR)/cputmp6.s $@ rm -f $(GEN_DIR)/cputmp6.s $(GEN_DIR)/cpufast7.s: $(GEN_DIR)/cpuemu.cpp $(OBJ_DIR)/cpuopti $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) -DPART_7 -S $(CXXFLAGS) $(ARCHFLAGS) $< -o $(GEN_DIR)/cputmp7.s $(OBJ_DIR)/cpuopti <$(GEN_DIR)/cputmp7.s >$@ || mv $(GEN_DIR)/cputmp7.s $@ rm -f $(GEN_DIR)/cputmp7.s $(GEN_DIR)/cpufast8.s: $(GEN_DIR)/cpuemu.cpp $(GEN_DIR)/cpuopti $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) -DPART_8 -S $(CXXFLAGS) $(ARCHFLAGS) $< -o $(GEN_DIR)/cputmp8.s $(GEN_DIR)/cpuopti <$(GEN_DIR)/cputmp8.s >$@ || mv $(GEN_DIR)/cputmp8.s $@ rm -f $(GEN_DIR)/cputmp8.s $(GEN_DIR)/cpufast_nf.s: $(GEN_DIR)/cpuemu.cpp $(GEN_DIR)/cpuopti $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) -DNOFLAGS -S $(CXXFLAGS) $(ARCHFLAGS) $< -o $(GEN_DIR)/cputmp.s $(GEN_DIR)/cpuopti <$(GEN_DIR)/cputmp.s >$@ || mv $(GEN_DIR)/cputmp.s $@ rm -f $(GEN_DIR)/cputmp.s $(GEN_DIR)/cpufast1_nf.s: $(GEN_DIR)/cpuemu.cpp $(GEN_DIR)/cpuopti $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) -DPART_1 -DNOFLAGS -S $(CXXFLAGS) $(ARCHFLAGS) $< -o $(GEN_DIR)/cputmp1.s $(GEN_DIR)/cpuopti <$(GEN_DIR)/cputmp1.s >$@ || mv $(GEN_DIR)/cputmp1.s $@ rm -f $(GEN_DIR)/cputmp1.s $(GEN_DIR)/cpufast2_nf.s: $(GEN_DIR)/cpuemu.cpp $(GEN_DIR)/cpuopti $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) -DPART_2 -DNOFLAGS -S $(CXXFLAGS) $(ARCHFLAGS) $< -o $(GEN_DIR)/cputmp2.s $(GEN_DIR)/cpuopti <$(GEN_DIR)/cputmp2.s >$@ || mv $(GEN_DIR)/cputmp2.s $@ rm -f $(GEN_DIR)/cputmp2.s $(GEN_DIR)/cpufast3_nf.s: $(GEN_DIR)/cpuemu.cpp $(GEN_DIR)/cpuopti $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) -DPART_3 -DNOFLAGS -S $(CXXFLAGS) $(ARCHFLAGS) $< -o $(GEN_DIR)/cputmp3.s $(GEN_DIR)/cpuopti <$(GEN_DIR)/cputmp3.s >$@ || mv $(GEN_DIR)/cputmp3.s $@ rm -f $(GEN_DIR)/cputmp3.s $(GEN_DIR)/cpufast4_nf.s: $(GEN_DIR)/cpuemu.cpp $(GEN_DIR)/cpuopti $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) -DPART_4 -DNOFLAGS -S $(CXXFLAGS) $(ARCHFLAGS) $< -o $(GEN_DIR)/cputmp4.s $(GEN_DIR)/cpuopti <$(GEN_DIR)/cputmp4.s >$@ || mv $(GEN_DIR)/cputmp4.s $@ rm -f $(GEN_DIR)/cputmp4.s $(GEN_DIR)/cpufast5_nf.s: $(GEN_DIR)/cpuemu.cpp $(GEN_DIR)/cpuopti $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) -DPART_5 -DNOFLAGS -S $(CXXFLAGS) $(ARCHFLAGS) $< -o $(GEN_DIR)/cputmp5.s $(GEN_DIR)/cpuopti <$(GEN_DIR)/cputmp5.s >$@ || mv $(GEN_DIR)/cputmp5.s $@ rm -f $(GEN_DIR)/cputmp5.s $(GEN_DIR)/cpufast6_nf.s: $(GEN_DIR)/cpuemu.cpp $(GEN_DIR)/cpuopti $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) -DPART_6 -DNOFLAGS -S $(CXXFLAGS) $(ARCHFLAGS) $< -o $(GEN_DIR)/cputmp6.s $(GEN_DIR)/cpuopti <$(GEN_DIR)/cputmp6.s >$@ || mv $(GEN_DIR)/cputmp6.s $@ rm -f $(GEN_DIR)/cputmp6.s $(GEN_DIR)/cpufast7_nf.s: $(GEN_DIR)/cpuemu.cpp $(GEN_DIR)/cpuopti $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) -DPART_7 -DNOFLAGS -S $(CXXFLAGS) $(ARCHFLAGS) $< -o $(GEN_DIR)/cputmp7.s $(GEN_DIR)/cpuopti <$(GEN_DIR)/cputmp7.s >$@ || mv $(GEN_DIR)/cputmp7.s $@ rm -f $(GEN_DIR)/cputmp7.s $(GEN_DIR)/cpufast8_nf.s: $(GEN_DIR)/cpuemu.cpp $(GEN_DIR)/cpuopti $(AM_V_CXX)$(CXX) $(CPPFLAGS) $(DEFS) -DPART_8 -DNOFLAGS -S $(CXXFLAGS) $(ARCHFLAGS) $< -o $(GEN_DIR)/cputmp8.s $(GEN_DIR)/cpuopti <$(GEN_DIR)/cputmp8.s >$@ || mv $(GEN_DIR)/cputmp8.s $@ rm -f $(GEN_DIR)/cputmp8.s DYNGL_PL = $(top_srcdir)/tools/dyngl.pl $(top_srcdir)/atari/nfosmesa/glfuncs.h: $(top_srcdir)/tools/glfuncs.h $(DYNGL_PL) $(AM_V_GEN)if test -z "$(PERL)"; then \ echo "$@ is out of date, but PERL not available" >&2; \ else \ $(PERL) $(DYNGL_PL) -macros $(top_srcdir)/tools/glfuncs.h > $$$$.tmp && mv $$$$.tmp $@ || { $(RM) $$$$.tmp; false; } \ fi $(top_srcdir)/src/natfeat/nfosmesa/call-gl.c: $(top_srcdir)/atari/nfosmesa/glfuncs.h $(DYNGL_PL) $(AM_V_GEN)if test -z "$(PERL)"; then \ echo "$@ is out of date, but PERL not available" >&2; \ else \ $(PERL) $(DYNGL_PL) -calls $(top_srcdir)/tools/glfuncs.h > $$$$.tmp && mv $$$$.tmp $@ || { $(RM) $$$$.tmp; false; } \ fi $(top_srcdir)/src/natfeat/nfosmesa/dispatch-gl.c: $(top_srcdir)/atari/nfosmesa/glfuncs.h $(DYNGL_PL) $(AM_V_GEN)if test -z "$(PERL)"; then \ echo "$@ is out of date, but PERL not available" >&2; \ else \ $(PERL) $(DYNGL_PL) -dispatch $(top_srcdir)/tools/glfuncs.h > $$$$.tmp && mv $$$$.tmp $@ || { $(RM) $$$$.tmp; false; } \ fi $(top_srcdir)/atari/nfosmesa/ldg/osmesa.h: $(top_srcdir)/tools/glfuncs.h $(DYNGL_PL) $(top_srcdir)/atari/nfosmesa/gltypes.h $(AM_V_GEN)if test -z "$(PERL)"; then \ echo "$@ is out of date, but PERL not available" >&2; \ else \ $(PERL) $(DYNGL_PL) -ldgheader $(top_srcdir)/tools/glfuncs.h > $$$$.tmp && mv $$$$.tmp $@ || { $(RM) $$$$.tmp; false; } \ fi $(top_srcdir)/atari/nfosmesa/osmesa_load.c: $(top_srcdir)/tools/glfuncs.h $(DYNGL_PL) $(AM_V_GEN)if test -z "$(PERL)"; then \ echo "$@ is out of date, but PERL not available" >&2; \ else \ $(PERL) $(DYNGL_PL) -ldgsource $(top_srcdir)/tools/glfuncs.h > $$$$.tmp && mv $$$$.tmp $@ || { $(RM) $$$$.tmp; false; } \ fi $(top_srcdir)/atari/nfosmesa/ldg/tiny_gl.h: $(top_srcdir)/tools/glfuncs.h $(DYNGL_PL) $(top_srcdir)/atari/nfosmesa/gltypes.h $(AM_V_GEN)if test -z "$(PERL)"; then \ echo "$@ is out of date, but PERL not available" >&2; \ else \ $(PERL) $(DYNGL_PL) -tinyldgheader $(top_srcdir)/tools/glfuncs.h > $$$$.tmp && mv $$$$.tmp $@ || { $(RM) $$$$.tmp; false; } \ fi $(top_srcdir)/atari/nfosmesa/tinygl_load.c: $(top_srcdir)/tools/glfuncs.h $(DYNGL_PL) $(AM_V_GEN)if test -z "$(PERL)"; then \ echo "$@ is out of date, but PERL not available" >&2; \ else \ $(PERL) $(DYNGL_PL) -tinyldgsource $(top_srcdir)/tools/glfuncs.h > $$$$.tmp && mv $$$$.tmp $@ || { $(RM) $$$$.tmp; false; } \ fi $(top_srcdir)/atari/nfosmesa/link-tinygl.h: $(top_srcdir)/tools/glfuncs.h $(DYNGL_PL) $(AM_V_GEN)if test -z "$(PERL)"; then \ echo "$@ is out of date, but PERL not available" >&2; \ else \ $(PERL) $(DYNGL_PL) -tinyldglink $(top_srcdir)/tools/glfuncs.h > $$$$.tmp && mv $$$$.tmp $@ || { $(RM) $$$$.tmp; false; } \ fi $(top_srcdir)/atari/nfosmesa/slb/tiny_gl.h: $(top_srcdir)/tools/glfuncs.h $(DYNGL_PL) $(top_srcdir)/atari/nfosmesa/gltypes.h $(AM_V_GEN)if test -z "$(PERL)"; then \ echo "$@ is out of date, but PERL not available" >&2; \ else \ $(PERL) $(DYNGL_PL) -tinyslbheader $(top_srcdir)/tools/glfuncs.h > $$$$.tmp && mv $$$$.tmp $@ || { $(RM) $$$$.tmp; false; } \ fi $(top_srcdir)/atari/nfosmesa/tinygl_loadslb.c: $(top_srcdir)/tools/glfuncs.h $(DYNGL_PL) $(AM_V_GEN)if test -z "$(PERL)"; then \ echo "$@ is out of date, but PERL not available" >&2; \ else \ $(PERL) $(DYNGL_PL) -tinyslbsource $(top_srcdir)/tools/glfuncs.h > $$$$.tmp && mv $$$$.tmp $@ || { $(RM) $$$$.tmp; false; } \ fi # For tests $(GEN_DIR)/newcpu.s: newcpu.cpp $(CXX) -fverbose-asm $(CPPFLAGS) $(DEFS) -S $(CXXFLAGS) $< -o $@ $(GEN_DIR)/memory.s: memory.cpp $(CXX) -fverbose-asm $(CPPFLAGS) $(DEFS) -S $(CXXFLAGS) $< -o $@ $(APP_IFC): aratapif.c $(AM_V_CC)$(CC) $(LDFLAGS) $(CPPFLAGS) $(DEFS) $(WFLAGS) $(CFLAGS) $(ARCHFLAGS) -o $(APP_IFC) -DHAVE_AFINET $(srcdir)/Unix/aratapif.c m68kdisasm: disasm-main.cpp disasm-glue.cpp disasm-builtin.cpp $(AM_V_CXXLD)$(CXX) $(LDFLAGS) $(CPPFLAGS) $(DEFS) $(WFLAGS) $(CFLAGS) $(ARCHFLAGS) -o $@ $(srcdir)/disasm-main.cpp $(DISASM_LIBS) cdromtest: $(srcdir)/cdromtest.cpp $(srcdir)/natfeat/nfcdrom.cpp $(srcdir)/natfeat/nfcdrom_sdl.cpp $(srcdir)/natfeat/nfcdrom_linux.cpp $(srcdir)/natfeat/nfcdrom_win32.cpp $(AM_V_CC)$(CXX) $(LDFLAGS) $(CXXFLAGS) $(CPPFLAGS) $(DEFS) $(WFLAGS) $(CFLAGS) $(ARCHFLAGS) -o $@ $(srcdir)/cdromtest.cpp $(LIBS) gldiff: $(PERL) $(DYNGL_PL) -protos /usr/include/GL/gl.h /usr/include/GL/glext.h /usr/include/GL/osmesa.h | diff $(top_srcdir)/tools/glfuncs.h - || true $(PERL) $(DYNGL_PL) -macros $(top_srcdir)/tools/glfuncs.h | diff $(top_srcdir)/atari/nfosmesa/glfuncs.h - || true $(PERL) $(DYNGL_PL) -calls $(top_srcdir)/tools/glfuncs.h | diff $(top_srcdir)/src/natfeat/nfosmesa/call-gl.c - || true $(PERL) $(DYNGL_PL) -dispatch $(top_srcdir)/tools/glfuncs.h | diff $(top_srcdir)/src/natfeat/nfosmesa/dispatch-gl.c - || true $(PERL) $(DYNGL_PL) -ldgheader $(top_srcdir)/tools/glfuncs.h | diff $(top_srcdir)/atari/nfosmesa/ldg/osmesa.h - || true $(PERL) $(DYNGL_PL) -ldgsource $(top_srcdir)/tools/glfuncs.h | diff $(top_srcdir)/atari/nfosmesa/osmesa_load.c - || true $(PERL) $(DYNGL_PL) -tinyldgheader $(top_srcdir)/tools/glfuncs.h | diff $(top_srcdir)/atari/nfosmesa/ldg/tiny_gl.h - || true $(PERL) $(DYNGL_PL) -tinyldgsource $(top_srcdir)/tools/glfuncs.h | diff $(top_srcdir)/atari/nfosmesa/tinygl_load.c - || true $(PERL) $(DYNGL_PL) -tinyldglink $(top_srcdir)/tools/glfuncs.h | diff $(top_srcdir)/atari/nfosmesa/link-tinygl.h - || true $(PERL) $(DYNGL_PL) -tinyslbheader $(top_srcdir)/tools/glfuncs.h | diff $(top_srcdir)/atari/nfosmesa/slb/tiny_gl.h - || true $(PERL) $(DYNGL_PL) -tinyslbsource $(top_srcdir)/tools/glfuncs.h | diff $(top_srcdir)/atari/nfosmesa/tinygl_loadslb.c - || true # Include dependencies ifneq ($(wildcard $(DEPEND)),) include $(DEPEND) endif aranym-1.0.2/NEWS000066400000000000000000001331031242022243000134700ustar00rootroot000000000000002014/10/17 - version 1.0.1 released ========== Just a quick bugfix release: o SDL NF CDROM is included in the build correctly o JIT is supported on kfreebsd (alternate kernel for Debian OS) o some warnings that prevented build on Debian fixed 2014/10/15 - version 1.0.0 released ========== Major highlights of this release: o JIT CPU compiler now supports also ARM platforms driven by Linux o JIT CPU compiler fixes memory management and adds some instructions o massive NatFeat HostFS fixes and improvements (symlinks and more) o NatFeat CD-ROM for Win32 and SDL o NatFeat OSMesa support improved (OpenGL 4.4 / Mesa 10.1.4) osmesa.ldg can replace tinygl.ldg now o seamless mouse integration and keyboard input improved o NVRAM: many country codes added (from current FreeMiNT) o libSDL2 is supported now (along with libSDL 1.2.x) o Cygwin, MinGW, Mac OS X, CentOS and Debian build fixes Countless bug fixes and many other under-the-hood improvements are included as well. This release crowns more than 13 years of continuous development by many dedicated programmers (listed in the AUTHORS file). Thank you all! 2014/04/12 - version 0.9.16 released @ atariada.cz ========== Major highlights of this release: o JIT CPU compiler supported on 64-bit Linux and Mac OS X now! (Jens made a miracle) o MFPR FPU emulation should be perfect (Andreas ironed out few remainings bugs) o Ethernet support under Mac OS X should be way better (Philipp added support for big packets and multi-packets) o new config setting "LoadToFastRAM" to load kernel in FastRAM (is Andreas working on fixing Linux-m68k issues in FastRAM?) o David Gálvez improved NatFeat USB support (now requires FreeMiNT 1.19+) There's also a small set of bugs fixed in this release - mainly in Mac OS X thanks to Philipp but also some generic things like GPIP (Patrice). 2013/04/15 - version 0.9.15 released ========== The main new feature of this release is the seamless mouse integration mode: o Mouse input handling is improved a lot. Now ARAnyM has a seamless mouse integration when new Clocky (2013/04/15) is loaded. o There is no need to manually ungrab or grab the mouse. o Also mouse grab on left button click now reacts on the first button click everytime (previously only if you had window focus) and the host and mouse cursor positions are synced. o And if you ungrab the mouse intentionally then it's not automatically grabbed when the host mouse pointer returns to ARAnyM window. o At last, the annoying "resetting weird mouse packet" error is gone, too. Bugs fixed: o Native Features were missing proper memory overflow checks and bugs in NatFeat drivers could kill the ARAnyM. o NFVDI had a bug (a race condition) in resolution switching. o build date of EmuTOS was decoded improperly 2012/09/20 - version 0.9.14 released ========== Mac users: check out the new bridged ethernet (see README_ethernet.rtf). All users: try out the new Single Blit Composing and Single Blit Refresh modes - they might give you a better video performance. There are also many compilation and build fixes for various MacOSX targets and few MPFR FPU fixes. And last but not least, there's a neat user requested feature - mouse ungrab (frees your keyboard and mouse from ARAnyM window so you can work in other applications while ARAnyM is running) simply by clicking the host middle mouse button (well, works only if you don't have the Eiffel mouse wheel emulation enabled in settings). 2012/03/23 - version 0.9.13 released ========== A couple of important bugfixes accumulated in last few days: o USB NatFeat doesn't fail to claim devices in certain cases o MPFR FPU got fix for restarting of instructions after access error o JIT CPU version should work even when compiled with newer compilers o update your mmusetup.cnf in MiNT setup for larger FastRAM (see provided atari/mmusetup.cnf that is set for 512 MB FastRAM now) 2012/03/19 - version 0.9.12 released ========== New features: o MPFR based new precise FPU emulation core. Somewhat slower than the normally used IEEE or UAE FPU emulation cores (about 5 times) but should be totally complete and precise. Enabled in Linux binary MMU builds (aranym-mmu). Hopefully Debian-m68k developers will enjoy it :-) o USB NatFeat fully usable: http://wiki.aranym.org/manual#usb With a FreeMiNT driver you can access your USB flash discs from the Atari side easily. First enter the SETUP GUI and plug in the desired USB device. The USB support is compiled in by default in all linux binary packages. o NF Clipboard implemented newly for BeOS o "aranym --version" will now list the built-in FPU core and also all NatFeats that are compiled in. Bugfixes: o memleaks in various files o blitter memmove fix o MacOSX project fixes o small 64bit fixes in nfcdrom o aliasing issue fixes (in nfosmesa that is not compiled in) o CPU CAS+CAS2 instructions - several very important fixes! o some little fixes for newer GCCs in various files o RPM spec file updated for Fedora, openSUSE and Mandriva. Give rpmbuild -tb aranym_0.9.12.orig.tar.gz a try! 2011/02/06 - version 0.9.11 released ========== New features: SCC serial port emulation and USB NatFeat support. BeOS/Haiku port: fixes and improvements. MMU emulation: fix for initialization and FPU registers. Video: fix (refresh palette when switching from true color to bitplane mode) and an improvement (use current fullscreen size if fixed size is 0x0). 2010/05/27 - version 0.9.10 released ========== New feature: GEM clipboard support that allows you to pass data between GEM clipboard and the host one (MS Windows, Mac OS X and X Window System). It's currently implemented in FreeMiNT only and uses its aranym.xfs virtual filesystem (U:\host\clipbrd). Please see setup instructions in http://wiki.aranym.org/gem_clipbrd Also couple of important bugfixes: o fixed two nasty crashes in HostFS (related to recent symlink fixes) o fixed Xcode building universal binaries on PPC o VIDEL autozoom feature with correct aspect ratio for non-square pixels 2009/09/05 - version 0.9.9 released ========== This time mostly bugfixes: o fixed possible crash in HostFS when quitting ARAnyM (not serious) o fixed possible crash due to bug in libSDL up to v1.2.13 (very serious) o fixed some redrawing problems in 8 and 16 color depths with soft NfVDI o fixed all compile time warnings and Categories entry in aranym.desktop o fixed weirdness when mouse pointer was leaving the window on Win and OSX o fixed problem with invalid HostFS symlink breaking directory list o improvement: HostFS symlinks are now shown as relative if possible o fixed indirect descriptors handling in MMU o fixed HostFS symlinks for certain path configurations o added Mode key in the set of ARAnyM hotkey modifiers o fixed Alt+mouse click problem on Mac OSX o fixed Right Shift detection upon startup If you found ARAnyM crashing previously when moving windows around or doing any other activity where VDI had to blit screen areas then please upgrade to this version ASAP. We've added a workaround for a serious bug in the libSDL that was causing these weird ARAnyM crashes. 2009/04/25 - version 0.9.8beta released ========== o CPU: fixed TRAPcc and FTRAPcc instructions (for Guillaume's mplayer :-) o VIDEL: pixel precise horizontal scrolling implemented o fixed BUSY signal handling on the parallel port o fixed mouse grab/ungrab/autograb (see below) o added new ARAnyM mouse cursor (white arrow) o added middle mouse button handling (in Eiffel mode) o added suport for reversing mouse Y-axis in IKBD (used in Linux-m68k) o fixed many DSP56001 instructions o fixed NFJPEG on 64bit hosts o fixed several NF drivers to work under FreeMiNT (not rely on __NF cookie) o buggy JIT-FPU was disabled. Now FPU is precise though slower in JIT mode Mouse grab/ungrab/autograb has changed: first, ungrabbing when leaving ARAnyM window was fixed (issue with autograb on the window border). Then, ARAnyM got a new mouse cursor (white one) so you can recognize now when the mouse is grabbed (the cursor pointer is black in TOS) and when it's not (the cursor pointer is white now). At last, mouse autograb upon entering ARAnyM window was disabled until we can ensure the Atari mouse cursor is positioned in sync with host mouse cursor (will require Atari OS support, probably in a form of aranym.acc and AES implementing appl_tplay). Also the "AutoGrabMouse" config option has been removed. 2008/11/08 - version 0.9.7beta released ========== Mostly small fixes at various places plus a lot of work went into improving the DSP56001 emulation. Also the sound DMA emulation is improved to a point where GSXB driver should be unnecessary. o improved automatic network setup on Mac o reworked audio DMA emulation. Also added configurable host sound frequency o one MMU bug fixed (regarding TTR) o special support for halting ARAnyM on linux-m68k reboot (--halt) o SDL GUI fixed (missing events after alerts) o EMULOP is now privileged so if some old ARAnyM TSR starts crashing this is why o joypads are now emulated o joysticks and joypads can be configured in the config file o '<>' and 'End' keys' scancodes made Atari compatible Check the doc/config example file for the new [JOYSTICKS] and [AUDIO] sections. 2008/01/29 - version 0.9.6beta2 released ========== Main change: major graphics output overhaul, two video backends - software and OpenGL renderer. Faster graphics output on all platforms. Try enabling the OpenGL output in the [OPENGL] section of the config file (beware, might not work on some platforms, tested on Linux only). Massive Mac OS X port improvements: MacIntel supported, fat binaries available, JIT working (on x86), networking working, and more. o IDE disks now up to 130 GB large (removed 32 GB barrier) o SCSI/partitions no longer limited to 2 GB, and made up to 4x faster o new ARAnyM logo at startup, new window manager, menu and desktop icons o networking fixes: now works after reboot, new Setup config dialog added o HostFS fixes: Dreadlabel() for MAGXDESK o SDL-GUI: 8x16 font, 80 columns, improved old dialogs and added new ones o MinGW compilable (native MS Windows binary, contrary to Cygwin one) o RTC timer on Linux host for more precise MFP timer interrupts (if it errors out try running "sudo sysctl -w dev.rtc.max-user-freq=1024") o new command line option "--locale CC" where CC is ISO country code (example: "--locale DE" will preset NVRAM to german keyboard layout) o one more FPU bug (visible in frexp()) fixed 2007/07/09 - version 0.9.5beta released ========== This version brings major speed up of the MMU version thanks to contribution of Roman Zippel and also many improvements for Mac OS X as well as bunch of smaller fixes at many places by dedicated ARAnyM developers. o OpenGL fixes: mouse cursor, alpha channel on big-endian machines o OpenGL is loaded dynamically now (requires SDL 1.2.10 or newer) o new project file for Xcode 2.x used to build Universal binaries of MacAranym o JITc for Solaris x86 o MMU translation cache for major speed up of the MMU mode (now almost comparable with non-MMU mode - 3 GHz host CPU outperforms 100 MHz 68060!) o HostFS symlink fix o new TOS patches and VIDEO SETUP dialogs. Most of the settings require reboot to take effect. o VIDEL refresh was wrong, now fixed and configurable on-the-fly in SETUP o TV/VGA switch was wrong, now fixed and configurable in the SETUP o small CPU bitfield insn fix, FPU sin/cos fix, VIDEL ST-Shifter fix, nfVDI mfdb.fd_stand fix, TOS bconout redir fix... o many other build system fixes 2006/11/28 - version 0.9.4beta2 released ========== I was so wrong when I wrote "last MMU bugs were fixed" in previous release notes. This second beta release fixes several newly found CPU/FPU bugs that appeared when ARAnyM became actually used by Debian-m68k people. So the linux-m68k kernel as well as other MMU/FPU software should run much better now. Other news and fixes: o optional MIDI output to /dev/sequencer (in [MIDI] try Type=sequencer) o ARAnyM shouldn't hang on quit anymore o protect2k enabled by default (better HW compatibility with Atari) o cxx-exceptions enabled by default (considerably faster in MMU mode) o in Cygwin ARAnyM ignores $HOME and follows Windows practice with $HOME under Document and Settings/ o new config file option "GMTime" (set to No by default). When enabled, ARAnyM uses Greenwich Mean Time (useful when running an OS that knows timezones like something Linux based or maybe even properly configured SpareMiNT) o linux-m68k properly boots now (with HW initialized) o IKBD settings (mouse wheel, AltGr) stored in [IKBD] section of ARAnyM config file o sound: preliminary locking (XBIOS LockSnd/UnlockSnd) implemented o nfVDI: fixed vswr_mode alpha expansions (tested on newsgroup reader Troll) o new option in [ETHx]: MAC = aa:bb:cc:dd:ee:ff for configuring the MAC Address of the network interface. You can run several ARAnyMs in a LAN now :-) For the additions in the ARAnyM config file see the provided commented configuration file. 2006/09/22 - version 0.9.4beta released ========== This release has one major highlight: two last MMU emulation bugs have been fixed and ARAnyM now runs Linux-m68k stable for days without any single issue. I can now fully recommend ARAnyM for Linux-m68k kernel development and also Debian-m68k development. Hoping that it will help the m68k linux platform to survive for a little longer. There is also a great new feature for those who are tired of setting up virtual disk drives for booting to TOS/GEM system: ARAnyM now supports bootstrapping directly from host filesystem! You need new versions of both EmuTOS and FreeMiNT kernel (with built-in HostFS driver) and the following configuration (in the [GLOBAL] section of ARAnyM config file): ------ aranym config -------- Bootstrap = /path/to/mint.prg BootstrapArgs = DEBUG_LEVEL=1 BOOT_DELAY=0 MEM_PROT=NO BootDrive = C ----------------------------- Of course you also need to define the BootDrive (C:) host path in the [HOSTFS] config section. FreeMiNT tries to locate the modules and other files in usual C:\MINT\ path that is redirected to your host filesystem. Other news and fixes: o new command line parameter -P (as in Position) will position the ARAnyM window to your desired location - enter the coordinates of upper left window corner ("-P 50,50") or try to center the window with "-P center". This should help especially on MS-Windows where the ARAnyM window often ended partially off screen. o Host desktop <-> AES clipboard interconnection. Currently for MS-Windows only. You need a special FreeMiNT driver that creates a new filesystem in FreeMiNT where you can point the AES to store the Clipboard. Find more information in documentation at http://wiki.aranym.org/ o various improvements in graphics area - major speed up for bitplane modes, speed up of graphics on Mac OS X, OpenGL alpha mask fix and others. o Mac OS X: Swapped meaning of CTRL and META key for Mac OS X back to "the logical way": The Apple key(s) represent left and right meta key and CTRL key is mapped to Atari CTRL key. A new, more Mac like set of keyboard shortcuts defined: Left Apple + , = Open preferences dialog Left Apple + q = Quit Left Apple + r = Reboot Left Apple + escape = Grab/Ungrab mouse cursor Left Apple + d = Enable debugger (if built-in) Left Apple + s = Save screenshot Left Apple + f = Toggle fullscreen mode o MS-Windows: corrected/improved window/fullscreen toggle. o bug #1521310 fixed: Shifters are now released before the GUI thread is started. o MIDI now outputs raw data which could be used for mapping the MIDI port to host MIDI directly (untested) o new compile-time configuration (--enable-protect2k) improves compatibility with ST/TT/Falcon where hardware protects first 2 kB of RAM against user mode accesses. Enabled by default in MMU build only since it can cause some performance degradation. 2006/02/20 - version 0.9.3beta released ========== Exciting news: ARAnyM now has its own domain (http://aranym.org) and also brand new Wikiwiki for easier cooperation on improving ARAnyM documentation - visit http://wiki.aranym.org and look around... This is not much polished release. I have intended it mainly as a checkpoint for both developers and users, to resync and continue developing further. Eventhough most work went into into NF VDI since last release so ARAnyM can now output via OpenGL and features TrueType fonts (thanks to improved fVDI) there are many other changes in most areas of ARAnyM: o hotkey combination to free keyboard/mouse lock is LeftAlt+Ctrl+Shift (configurable in the SETUP GUI) o improved and bugfixed HostFS o fixed nfjpeg and enabled by default o nfosmesa with driver for FreeMiNT o switch to fullscreen and back works in MS Windows now o OpenGL NF VDI driver (almost?) working o configurable mouse cursor (ikbd or host) o configurable NF CDROM driver (linux or sdl) o configurable NF VDI driver (software or opengl) o joystick hat o DMA audio emulation o RTC timer for precise 200 Hz Timer C emulation o multiple ethernet interfaces (up to four in default build) o AltGr key (right Alt key on PC keyboard) o ethernet and floppy work in linux-m68k kernel o improved Mac OS X port o all binaries removed from source archive, to comply with Debian rules (don't distribute what you can't rebuild from the archive with supplied tools). There is a new AFROS CVS repository for the binary drivers. If upgrading from previous release you have to update the HostFS, NF VDI and also Ethernet drivers. We'll provide a ZIP archive with all necessary drivers. The impatient can get the Atari drivers at http://aranym.org/bin/ 2005/04/14 - version 0.9.0 released ========== We've been providing 68040 PMMU (a memory management unit emulation, required for running FreeMiNT with MMU protection, and Linux/m68k) since version 0.1.5 (almost three years ago) though this is the first version of ARAnyM where the PMMU really works, thanks to awesome debugging and fixing done by Andreas Schwab. So ARAnyM runs Linux/m68k kernel now. Really. This opens up a new area of usage - ARAnyM can help developing Linux/m68k kernel and systems based on it (Debian/m68k, for example). Besides the PMMU there is a whole lot of new features and fixes: o multisession CD in IDE emulation o Win32 networking (TAP based, like in Linux) o NFOSMESA: OpenGL rendering for Atari applications using host CPU o NFJPEG: JPEG decoder (a TSR) using host CPU power via NatFeats, based on Brainstorm's JPEG DSP decoder API o direct disk partitions access o MFP interrupts fixed o LILO fixes, compiles without linux headers now o many 64-bit fixes and cleanups o compiling using the Fink suite on MacOSX o famous fVDI boot bug fixed o fVDI fixes in bitplanes o parallel port mapped to parport (in linux) or to a file o hotkeys configuration: Setup, Quit, Reboot, Ungrab, Debugger, ScreenShot and FullScreen hotkeys can be configured at runtime in the SETUP. o SETUP fileselector improved (folders before files, CWD) o fVDI pixel size bug fixed o documentation.txt updated with several new sections (networking, programming with ARAnyM, single partitions support and more). 2004/11/07 - version 0.8.11beta released ========== We've been slow and quiet lately but nevertheless a progress has been made. Some important changes for users include: o FASTRAM.PRG is no longer needed. Xavier patched TOS 4.04 so it now finds out the correct FastRAM size automagically. o Bridged networking works and is easy to set up thanks to the updated 'arabridge' script and slightly improved documentation.txt. You must update your 'aranym.xif' FreeMiNT driver (now requires FreeMiNT 1.16.0 or newer) and also the nfeth-config tool. o JIT compiler in Windows binary works better than in previous release. o integrated LILO fixed (though ARAnyM does not boot Linux-m68k yet). o various little SETUP GUI improvements (edit fields are much better now, CHS values are updated correctly after creating new empty disk image, repeated saving of config file from the SETUP GUI fixed, new Keyboard and mouse setup dialog - almost empty now, but promising :-). o AutoZoom screen fixed and improved. You can now choose a constant host screen size for whatever the Atari screen size is. Might be very useful for LCD/DFP owners. This improvements required change in the API and so new version of 'aranym.sys' fVDI ARAnyM screen driver must be installed in your setup. o Mac users might enjoy new keyboard translation tables. All keys should be mapped correctly. o new EmuTOS included in this release fixes XaAES/FreeMiNT 1.16.1beta keyboard problems. o host mouse wheel can produce Eiffel 1.08+ compatible scancodes now. Switch this mode in the SETUP GUI. Note that currently neither fVDI nor EmuTOS support this. All beta testers (i.e. YOU :-) are encouraged to report all bugs and problems either into aranym user mailing list or directly into the bug tracker (available on ARAnyM webpages under the 'Contact' link). 2004/08/07 - version 0.8.10beta released ========== Great news for MS Windows users: ARAnyM runs with JIT CPU compiler now thanks to Xavier's work on sigsegv handler. Other than that we have been fixing bugs and cleaning the source code: o Francois fixed sinh and tanh (FPU instructions) o 'aratapif' is found in $PATH again o many more internal bug fixes that are not directly visible to users 2004/07/06 - version 0.8.9beta released ========== Great bug fixes: o JIT CPU is working on Linux 2.6.x o Blitter is finally not crashing anymore o integrated LILO (Linux Loader) reads gzipped files o SDL GUI now accepts numbers typed on numpad Especially the Blitter fix itself justifies a new release since it has always been buggy and it was so annoying. Now we've won. 2004/07/05 - version 0.8.8beta released ========== Main bug fixes: o MC68881 tan() insn fixed on ia-32 host cpu arch o one of JIT SIGSEGV crashes on linux 2.6.x o floppy emulation (corrupted in 0.8.6beta release) o HostFS fixes (symlinks, Dfree) o many MACOSX fixes (FPU works) and improvements o CapsLock under X11 fixed o various SDL GUI bugfixes New features: o new networking based on bridging: tools/arabridge is able to establish a bridge over the tap0 tunnel and eth0 nif so that aranym becomes part of your LAN visible from other machines etc. For example DHCP from ARAnyM works now. [ETH0] type = ppp|bridge and tunnel = tap0 config options added o Patrice's experimental PCI bridge (disabled in default builds), can be used for developing PCI drivers for Milan/Hades on ARAnyM :-) o SETUP GUI visually improved again (3D Look! :) o easy Disk Image generation in the SETUP - just enter your desired disk image path and size in MB and click on Generate. o configuration file parser now recognizes "~" special char that is expanded to $HOME (path to user home dir). 2004/02/15 - version 0.8.7beta released ========== o fixing HostFS bug that was introduced in 0.8.6beta o further visual improvements of SETUP GUI o better handling of Reset/Restart of an operating system 2004/02/08 - version 0.8.6beta released ========== Important bugfixes, further SETUP improvements and new Mac OSX target: o visual improvements in SETUP GUI o new functions available in SETUP GUI (Fullscreen, ScreenShots, Help) o fixed changing path to Floppy in the SETUP o fixed serious bug in Floppy path configuration (crash at startup) o fixed serious bug in NVRAM handling (might caused crashes at early TOS boot) o hopefully fixed problem with HostFS mount points on aranym reboot 2004/01/07 - version 0.8.5beta released ========== Number of important changes: o JIT CPU fixed! (although kernel 2.6 is not supported yet) o double bus errors (infamous error loops) handled now correctly o direct Mac OS X support for ARAnyM (compiles but doesn't run(?)) o HostFS fixed o script for easy building of ARAnyM on Windows/cygwin o SETUP GUI greatly improved - Disks Setup is complete, other will follow o SETUP GUI at startup of ARAnyM (-G command line switch) o floppy insert/eject support at runtime (in the SETUP GUI) o fVDI NatFeat driver with local color palette support (XaAES likes it) You will have to update your fVDI driver. o ARAnyM now defines new value for the _MCH cookie: 0x50000. Update your .aranym/config files with this new value. o Alt+Ctrl+Esc now helps releasing mouse&kbd input even in fullscreen New AFROS is released together with ARAnyM to provide the updated fVDI driver. Generally most work went into the SDL GUI SETUP which is becoming a central place for on-the-fly reconfiguration. Press the "Pause" key to open up the SETUP GUI anytime. Currently only disk configuration is complete but new setup dialogs will follow shortly. 2003/10/04 - version 0.8.2beta released ========== Changes: o Direct Linux-m68k loading with integrated LILO o MIDI output to a file o HostFS cleaned up again (you must upgrade your HOSTFS.DOS driver) o SCSI emulation introduced which simplifies the harddisk driver installation greatly o STOP CPU instruction fixed to work properly (no more shaky mouse under EmuTOS and FreeMiNT) o Native access to host's CD/DVD-ROM using BetaDOS BOS NatFeat CDROM driver o Various little updates in README, FAQ and doc/documentation.txt o Literally tons of bugfixes and improvements (fVDI, JIT, XHDI, portability) 2003/04/11 - version 0.8.0beta3 released ========== Changes: o Windows/Cygwin support greatly improved (see below) o HostFS bugfixed and works equally well on Windows/Cygwin Binaries released for Windows/Cygwin now define clearly where ARAnyM files are stored: User-specific files (configuration, NVRAM) are in subfolder ".aranym" in the My Documents folder (usually available from your desktop directly). System-wide data (TOS, EmuTOS, font8.bmp) are stored in subfolder "aranym" relative to the aranym.exe binary. 2003/04/08 - version 0.8.0beta2 released ========== Changes: o the key for making a screenshot changed to PrintScreen o [ARANYMFS] renamed to [HOSTFS] o aratapif execution fixed o HostFS improved o Cygwin support should be better For updating your ARAnyM config file simply run "aranym -s". 2003/03/23 - version 0.8.0beta1 released ========== New features: o Networking. Yeah! ARAnyM.XIF as the Ethernet driver for MiNT-Net. o VIDEL compatible (bitplane) 1, 2, 4 and 8 bit fVDI modes. o new command line option "--swap-ide" that allows you to boot from [IDE1] o new HostFS drivers (both BetaDOS and MiNT's xfs) are fully working now. o for GFA programmers out there: natfeat/atari_example_gfa.lst o new config option "ModelName" for [IDE0/1]. Name your drives :-) o P4 fix for JIT (thanks to Gwenole of Basilisk II) o CD-ROM now also on Windows/Cygwin Naturally some bugs were fixed - most notably in mouse input. Also we've received some BeOS related patches so ARAnyM might run on BeOS as well now. 2003/01/29 - version 0.7.0 released ========== What is new? NatFeats seem to finally stabilize. "__NF" cookie has been hardwired both to TOS 4.04 and to EmuTOS so it can be used by user applications to test for extended host capabilities. See the example code in src/natfeat/atari_example.c. Improved VIDEL emulation (virtual screens work now). Improved VIDEL rendering including auto zooming and OpenGL render. fVDI fixed. You must update your floppy/disk images with new fVDI driver. New experimental hostfs access drivers - instead of using MetaDOS driver under FreeMiNT Standa created a proper FreeMiNT XFS driver and then wrote a FreeMiNT API emulation layer for singleTOS' MetaDOS! This is untested so beware and backup your data first. Also more work has been done on ECE (Ethernet Card Emulation). It's unfinished, though - currently the MiNT driver throws bombs. We would need some Atari hackers to debug some of the Atari driver peculiarities. Large disks (disk images) supported now. There is also a new tool for creating real large disk images (up to 32 GB!) And as always, many bugfixes. I also put together a first snapshot of the "afros" (ARAnyM FRee OS" :-) Just download it, unpack it and run aranym with the provided config file. 2002/10/20 - version 0.6.8 released ========== Highlights: - aranym on Mac OS X really works - aranym can open read only disk drives or images (designed for aranym on CD) - CD-ROM works like on real Atari (auto mount) - GFA Basic works thanks to IKBD fix Finally an active Mac OS X user cared to send us a few mails so Mac OS X is now fully working and a binary package of aranym for Mac OS X will soon be available. Thanks Wim! The new option for read only disk drives has been extended so it's not XHDI specific anymore but works generally also for emulated IDE interface. Thus change your aranym config file - the XhdiWrite is replaced with ReadOnly flag. [IDE0|1] # XhdiWrite = Yes|No ; default is No, enable for EmuTOS ReadOnly = Yes|No ; default is No, change to Yes if you want ; to open read only disk image (e.g. from a CD) Many various changes to JIT compiler (TuneAlignment, NOP filler and more). Several JIT related statistics are enabled in this build. CD-ROM support was greatly improved. CD Automount works like on real Atari, you just insert a CD and access it. For unmounting a CD you can either use various software utilities (try Ctrl+Shift+J in Thing!) or you can also use the aranym GUI - you'll find there new section "Discs" and in that a CD-ROM button labelled either "Eject" or "Insert" (depends on the current CD-ROM status). Also an interesting fix in IKBD now allows GFA Basic (3.6TT) to run on Aranym (even under EmuTOS :) Some cosmetics changes - documentation updated mildly, aranym now prints its version on startup (include in your debug reports), some clean ups in the source code for better portability (non-c-headers support, generic bool..). 2002/10/12 - version 0.6.6 released ========== This release brings a couple of major changes. Probably the greatest is that the JIT (just-in-time) compiler of m68k code into x86 code works and makes ARAnyM the fastest Atari clone ever made. Now you can do things you never thought that would be possible - like watching fullscreen DivX movies or playing famous games like Quake. It's real fast. Another cool thing is the Native Features interface, designed to allow writing video/sound/disk drivers and other extensions in a portable way. First thing that got ported to NatFeat interface is the XHDI extension that lets EmuTOS access the ARAnyM disk drives directly. Other drivers will be ported to NatFeats soon. Look at src/natfeat/atari_example.c to see how easy is to write a NatFeat compliant driver. Surprising news is the DSP M56001 emulation that was added by Patrice. See what he has to say about it: "I only got one DSP program to work: a very simple rotozoom one I wrote. There are many things missing in the DSP emulation: interrupts, audio. The only programs that could work are those that use the DSP for calculations (and read/write their parameters on the host port). BadMood is in this case. You can also use the Motorola DSP tools to build DSP programs under Aranym, they work." Patrice also rewrote the IKBD/MIDI/ACIA implementation and ARAnyM now supports also joysticks. And improved VIDEL by adding auto center and auto zoom features (small Atari resolution should be zoomed automatically). New config options in aranym config file are as follows: [JIT] JIT = Yes|No JITFPU = Yes|No JITCacheSize = // cache size - bigger = better JITLazyFlush = [IDE0|1] XhdiWrite = Yes|No // default is No, enable for EmuTOS Also, ndebug was improved. Breakpoints were added and also "run until = " was implemented. fVDI blitting is faster now up to 4 times. Also, you have to update both fVDI.PRG and aranym.sys fVDI driver on your disk images. Don't forget that! For other fixes and changes please look into the ChangeLog file. Thanks. This is a list of unreleased versions and major changes in them: 2002/10/08 - version 0.6.5b - CPU back in main thread, SDL issues fixed 2002/09/28 - version 0.6.4b - Xhdi writing fixed. Backup your disk/images! 2002/09/28 - version 0.6.3b - bus error looping could be partially sorted out 2002/09/28 - version 0.6.2b - fVDI blitting accelerated, new IKBD/ACIA/joystick 2002/09/24 - version 0.6.1b - VIDEL zooming on dest screen 2002/09/15 - version 0.6.0b - SDL loop in main thread, CPU in separate thread 2002/09/12 - version 0.5.0b - CPU JIT compiler works thanks to 68040 TOS patch 2002/08/26 - version 0.4.0b - DSP runs in its own thread and is nearly complete 2002/08/04 - version 0.3.0b - Native Features implemented 2002/07/20 - version 0.2.0 released (celebrating the Woody release!) ========== Long time since previous release. I have been waiting for finishing a couple of promising modules but since Debian 3.0 (AKA Woody) has just been released I am releasing ARAnyM as well to celebrate it :-) Seriously, we wanted to give you something to play with and test the number of changes and new features in ARAnyM while we'll be working towards next major release. Major news: - new graphical user interface for runtime configuration of ARAnyM (unfinished yet) - EmuTOS being part of ARAnyM binary distribution (TOS 4.04 is not required to boot ARAnyM anymore) - boot floppy image with essential up-to-date ARAnyM drivers and tools (so you can easily upgrade your harddisk images) And now more detailed news in ARAnyM since last public release: Standa created 'fvdicout.app' which, being based on TosWin II source code should bring a complete VT52 emulation for applications with console output under fVDI. You'll find it in atari/fvdi/utility folder. Heiko Achilles added a 'mouse packet compressor' that is supposed to remove any delay when moving with mouse more quickly (or on more loaded machine). It may either fix problems you could have with your mouse or it can create a new, previously unseen mouse events' bugs. Test and let us know. The aranymfs (the MetaDOS host filesystem driver) has been converted to GCC compilable form. Please beware and test the host filesystem access carefully. Brand new keyboard hotkeys: - Scroll Lock (the mostly unused key on PC keyboards) now switches between windowed and fullscreen mode! - Ctrl+Pause cold reboots the ARAnyM correctly now - Pause key now invokes cool new ARAnyM GUI configuration. Please note that the GUI is far from being finished. The only useful option is the "Reset" and perhaps also the Quit (for those that can't remember the Shift+Pause combo). The GUI will soon be filled with tons of configure options so stay tuned... Another change from previous versions is that we now require original TOS 4.04. Various patched versions we supported before are unsupported now. So please get a clean original TOS 4.04 - or give the EmuTOS a try! All you need is to empty the "TOS=" option in the ARAnyM config file. Long filename->TOS 8.3 format conversion was improved so that it now handles also filenames ending with a dot. A long standing bug in Yamaha emulation was fixed. This helps mainly the lowlevel emulation of parallel port access. The parallel/printer port is emulated so accurately that even PARCP works flawlessly. Note though that this is not enabled automatically as it requires root privileges to run ARAnyM. We are going to add other methods for accessing the host parallel port in a more user/kernel friendly way. I know that after releasing the input focus with Alt+Ctrl+Esc combo sometimes the Alt+Ctrl stay held down. I added a special code for removing the stale Alt+Ctrl state. Please let us know if this helped. Hackers Guide (hguide.txt) was updated. If you want to hack on ARAnyM you should read it first. From the other exciting news: Patrice Mandin has started work on DSP emulation for ARAnyM. He's actually nearly finished it so it may be available in the next version of ARAnyM already! Johan Klockars also started rewriting some pretty core things in the fVDI ARAnyM driver and fVDI itself so expect the next major release to be a real killer (in both good and bad sense ;-) BTW, if there is a developer that would be willing to finish the nearly working ECE (Ethernet Card Emulation) then please join us in ARAnyM development mailing list. Generally, there is a lot of cool things to work on in ARAnyM project so if you want to help out then write to us. 2002/04/22 - version 0.1.7 released ========== Sound is working! Put the atari/sound/zmagxsnd.prg to your AUTO folder and Aniplayer (after switching to XBIOS in its Sound Config dialog) should play all sounds nicely! Several very bad or annoying bugs in aranymfs fixed. Now it should be real usable. It's possible to Reboot the machine by pressing Ctrl+Pause. IKBD problems after reboot will be fixed in next release. Two new config file options: "Redir_Console" and "Redit_Printer". If set to "yes" the BIOS console (2 and 5) or printer (0) output is redirected to the host console. RPM spec file for ARAnyM. If your Linux distro is RPM based you may want to try out the following command: 'rpm -tb aranym-0.1.7.tar.gz' It should build a binary RPM package of aranym which you can then install the usual way (rpm -i aranym*.rpm). 2002/04/12 - version 0.1.6 released ========== Serious problem with NMI not being able to break STOPped CPU fixed. Also when compiled with --disable-timer it now generates system 200 Hz interrupt correctly even when the CPU is STOPped. 2002/04/11 - version 0.1.5 released (please update your fVDI driver!) ========== Since the previous public release we made a lot of changes. Probably the most significant is the large rewrite of CPU. Current ARAnyM can be compiled with full PMMU (Memory Management Unit of Motorola 68040 CPU). This brings the ability to run FreeMiNT with memory protection enabled. It also opens door for running Unix-like operating systems (Linux or NetBSD for m68k) but unfortunately the current level of HW emulation is not sufficient for those yet. But we are working on it (and gladly accept any help from you!) While rewriting the CPU we also updated the FPU. ARAnyM's FPU now fully supports all MC68881/2 as well as MC86040 FPU instructions. There is also a developer version of ARAnyM with JIT (just-in-time compiler) but it is not stable enough yet. SGI/Irix is yet another supported host platform and we have added preliminary support for MiNT as the host platform ;-) On most supported host platforms the memory access was accelerated (thus the overall speed of ARAnyM increased). ARAnyM is the first Atari compatible platform with support for the native instruction interface (Native Features). That will bring new possibilities for next generation Atari software. AranymFS - our system clean MetaDOS driver for accessing host filesystem was greatly bugfixed. During debugging of this some Atari software proven to be ill-designed (such as PureC IDE - it is unable to cope with files on MetaDOS drives due to misusing certain range of GEMDOS handles. We developed a patch for it so now you can enjoy compiling with PureC on host filesystem). Besides that, there is a beta version of AranymFS.XFS driver for MiNT! The other improvements include new IDE emulation (including ATAPI CD-ROM, try e.g. ejecting the CD from within Thing desktop), new config file is created with correct default values, and many other fixes. Note that due to changes in fVDI host driver you need to update your fVDI Atari driver - there is a precompiled fvdi.sys in "atari/fvdi/drivers". Also you might want to update the AranymFS driver for MetaDOS/BetaDOS: it's also available as a precompiled binary in "atari/aranymfs/" folder. Last note: printing to Atari parallel port is now redirected to the console where you started ARAnyM from... This is not the final solution but rather a little hack that can be used for debug prints. 2002/02/12 - version 0.0.21 released ========== ARAnyM has a new version of IDE emulation. It should work on more platforms (*BSD, for example). Generally the portability is better (fixes also in ndebug and aranymfs). There is a new untested alpha version of aranym.xfs for MiNT. And we have a new long detailed users guide in documentation.txt file. 2002/01/28 - version 0.0.20 released ========== ARAnyM is at least +33% faster than the previous release. We greatly optimized the CPU memory access time and also interrupt emulation. ARAnyM runs with the SDL TimerThread by default again. This gives us more flexibility (see the STOP insn below) and is necessary for the upcoming JIT CPU (just-in-time compilation of m68k code). ARAnyM supports STOP instruction that put the CPU to sleep. This works perfectly in latest EmuTOS (CVS version). ARAnyM does not eat CPU cycles when the EmuTOS is idle. ARAnyM configuration file changed its location and got more options: all ARAnyM user files are now located in $HOME/.aranym/ folder. The configuration file is named "config" (thus the complete path is $HOME/.aranym/config). The configuration file is created automatically if it is not found. The old $HOME/.aranymrc is not read, you have to update your new config file by hand. New noteworthy command line options include "--refresh " where you can specify the VIDEL refresh. ARAnyM now contains special support for native harddrive access from EmuTOS. This allows EmuTOS to actually boot from a harddrive attached to ARAnyM machine. Many many fixes - in floppy (formatting works), fVDI driver (colors after resolution change), NVRAM (year 2002 not 2001), MFP (TimerC) and more. Great thing for all Debian users - ARAnyM is now included in Debian Sid distribution. Last but not least - ARAnyM runs under Windows as well. You can compile the released source code with Cygwin to get Windows executable. Look into ChangeLog for more details. 2001/12/06 - version 0.0.11 released ========== The keyboard emulation in aranym has been rewritten and is based on pure scancodes now. Thanks to that the original TOS kbd tables should work on regular PC keyboards (at least English/USA works perfectly). You should be able to use any NVRAM configuration tool to switch your TOS kbd layout nationality from USA (now default) to any other of the six(teen) defined. Don't forget to update the Clocky.prg (current version available in src/atari/tools/ does not alter the original TOS keyboard by default). Previously there were errors when reading floppies with FastRAM enabled. Use the latest FastRAM v2.0 (available in src/atari/tools) and floppies will be OK - well, apart from those large floppies (4 MB and more) from STonX. These are NOT VALID floppies but rather single partitions of a harddrive. ARAnyM will handle them when we implement XHDI emulation. IKBD emulation was fixed so that Videlity config program works now. Videlity is a Falcon screen enhancer (freeware). Get it and enjoy Videl at 1024x768 :) fVDI was greatly improved so you might not need to play with Videlity at all. Use the new aranym.sys driver available in src/atari/fvdi/drivers/ and also the new fVDI.prg itself (src/atari/fvdi/). The patches for TOS 4.04 were cleaned up a lot. If you were using a prepatched TOS version please delete it and get the original TOS 4.04. IDE emulation was fixed so that formatting and partitioning of ext2 by a MiNT installer work now properly. Various bugfixes were done including ndebug, aranymfs, MMU040, command line parameters and more. If you want to debug aranym itself (in gdb) or to debug something inside of aranym using the internal debugger then you might want to disable the mouse grabbing completely: simply run aranym --nomouse (or -N). Last but not least - ARAnyM has been successfully ported to Solaris (with help of Francois LE COAT) and Windows/cygwin (thanks to Olivier Landemarre). 2001/11/06 ========== The TOS patch we used included WinX by a mistake. That's been removed. Now you'll need to install real GEMRAM and also WinX to your auto folder if you wish to use the WinX AES enhancements. Please note that the GEMRAM 1.0 from the Aratools does not work. It actually didn't work for a long time. Use the real GEMRAM (that copies ROM to RAM) instead if you want to use WinX. 2001/11/01 ========== Mouse behavior fixed: 1) you can release mouse grab by pressing Alt+Ctrl+Esc (VMware compatible) 2) you can grab mouse by click the left mouse button (VMware compatible) 3) if the Atari mouse driver is active, you can release mouse by moving the mouse off the window and by moving back you grab it again. This can be disabled by setting "AutoGrabMouse=No" in the config file. You can save the config file by 'aranym -s' (or --save). This is useful if you want to see newly added options. You can also choose a different config file by 'aranym -c /path/to/different/aranymrc'. This even works together: 'aranym -c /tmp/aranymrc.example -s' will create a fresh config file in /tmp with all default values. 2001/10/29 ========== --rom removed --floppy added aranymrc.example updated .aranymrc has a new option "EmuTOS" that holds a path to the EmuTOS. When "EmuTOS=" is defined the "TOS=" is ignored (EmuTOS is the future! :) 2001/10/18 ========== Aranym is now able to work with the original TOS 4.04. 2001/10/02 ========== --ttram renamed to --fastram -T renamed to -F --grab_mouse and -g removed (mouse is always grabbed) .aranymrc has a new option "cookie_MCH" that holds hex value. Example: cookie_MCH = 0x3000 is for standard Falcon _MCH Other details in src/ChangeLog aranym-1.0.2/README000066400000000000000000000106461242022243000136570ustar00rootroot00000000000000 ARAnyM (Atari Running on Any Machine) version 1.0.2 released on 2014/10/17 1) License ---------- ARAnyM is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. ARAnyM 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 ARAnyM; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 2) What is this? ---------------- ARAnyM is a multiplatform virtual machine (a software layer, or an emulator) for running Atari ST/TT/Falcon operating systems and applications on almost any hardware with many host operating systems. The reason for writing ARAnyM is to provide Atari power users with faster and better machines. The ultimate goal is to create a new platform where TOS/GEM applications could continue to live forever. Features: --------- o 68040 CPU (including MMU040) o 68040 and 68881/2 FPU o 14 MB ST-RAM and up to 3824 MB (configurable) of FastRAM o VIDEL, Blitter, MFP, SCC, ACIA, IKBD for highest possible compatibility o Sound (compatible with Atari Falcon DMA Sound) o Atari floppy DD/HD for connecting floppy image or real floppy drive o two IDE channels for connecting disk images, harddrives or CD-ROMs o extended keyboard and mouse support (including mouse wheel) o direct access to host file system via BetaDOS and MiNT xfs drivers o networking using ethernet emulation with a driver for MiNT-Net o TOS 4.04, EmuTOS, MagiC or Linux-m68k as the boot operating system o runs with FreeMiNT, MagiC, and any other operating system that runs also on real Atari computer. o Native CD-ROM access (under Linux, other OS: audio CD only), without scsi/ide/whatsoever emulation o USB and PCI NatFeat support for developing Atari drivers on ARAnyM Important: ARAnyM is not finished. Consider this to be a beta version and a work-in-progress. Sorry for incomplete and confusing documentation. Any help with programming/documentation/porting is very welcome! 3) Installing ------------- See INSTALL file and http://wiki.aranym.org/ 4) Configuring and running -------------------------- See http://wiki.aranym.org/ 5) Keyboard shortcuts --------------------- Keys not found on a PC keyboard: -------------------------------- Atari Help key - mapped on the F11 Atari Undo key - mapped on the F12 Keys not found on Atari keyboard: --------------------------------- Page Up key - mapped as Shift+Arrow Up (usual combination in GEM apps) Page Down key - mapped as Shift+Arrow Down (usual combo in GEM apps) Special keys (most can be re-defined in the SETUP): ------------- Pause/Break - invoke SETUP GUI (ARAnyM on-the-fly configuration) Shift+Pause - QUIT ARAnyM Ctrl+Pause - REBOOT ARAnyM Alt+Pause - enter integrated debugger (only if started with "-D") PrintScreen - create a screenshot in actual directory Alt+Ctrl+Shift+Esc - release the keyboard/mouse input focus so you can use your keyboard and mouse in other host applications. Can be changed to other key combo in the Settings. Middle mouse does the same job. Scroll Lock - switch between windowed and fullscreen mode 10) Troubleshooting ------------------ If your Microsoft IntelliMouse doesn't work correctly on Linux framebuffer console you may want to set the SDL_MOUSEDEV_IMPS2 environment variable to 1. Example for bash: export SDL_MOUSEDEV_IMPS2=1; aranym 11) More information -------------------- Read the NEWS file for user visible changes. Read ChangeLog for internal changes. Look at TODO if you want to help us. Join our mailing list for ARAnyM users - the WEB interface for the list is at https://lists.bobek.cz/mailman/listinfo/cz-bobek-lists-aranym-user Visit http://aranym.org/ for latest information and source code. Help us improve the Wiki documentation at http://wiki.aranym.org/ For developers we have a developer mailing list and a CVS server. For details go to http://aranym.org/ The "Power Without The Price" is back! aranym-1.0.2/TODO000066400000000000000000000041121242022243000134560ustar00rootroot00000000000000Things to do eventually ----------------------- Fix bugs: - "-d" cmdline option doesn't work (doesn't win over config file settings) - [HOSTFS] settings into SETUP GUI ASAP - [ETHx] update with DNS IP address (requires FreeMiNT update) - colon as filename case sensitivity flag in HostFS - see Xavier's msg in ML Solution: come up with URL like paths: "file://path?parameter=value" where parameter is e.g. CaseSensitivity. Thanks to file:// scheme this should even be backward compatible. - correct postal address of GPL - don't store empty config entries (ETH2,3,4; DISK2,3,4,5,6,7; HOSFSA-Z, ..) TODO in keyboard support: - loadable keyboard layout (similar to hatari) - editable keyboard layout (need WYSIWYG - impossible in 320x200) TODO in TOS patches and utilities: - automatic updater of BDCONFIG.SYS - separate mouse driver from Clocky and make it NatFeat based - finish and publish TOS XHDI disk driver Some hot ideas (before they get forgotten) ------------------------------------------ Note that the name before a TODO item doesn't mean the item is assigned to that particular programmer but rather who is author of the idea :-) - Petr: make.sh magic: "nfeth-config.c" build by ./make.sh of the xif. - Petr: write some doc about bridging the tuntap - perhaps the following URL could help? http://tldp.org/HOWTO/Ethernet-Bridge-netfilter-HOWTO-3.html#ss3.1 - Petr: extend the config file routines to save also some comments above each head section. Example: # the following section defines hotkeys. Format is # hotkey = keycode : modifiers # where keycode and modifiers are defined in SDL_keysym.h [HOTKEYS] - Milan: SIGINT ndebug problem solution - Milan: --with-opengl-prefix - STanda: hostfs.cpp: enable debug and implement all NOT IMPLEMENTED needed methods. - patrice: rework dsp thread synchronization. It seems it may hang sometimes. - patrice: full automake/autoconf support. - patrice: C++-ize the input layer, get rid of various keytables hacks. - patrice: fvdi aranym.sys driver (m68k side) must follow the host surface R,G,B,A organization. aranym-1.0.2/aclocal.m4000066400000000000000000000145301242022243000146330ustar00rootroot00000000000000# generated automatically by aclocal 1.11.3 -*- Autoconf -*- # Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, # 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free Software Foundation, # Inc. # This file is free software; the Free Software Foundation # gives unlimited permission to copy and/or distribute it, # with or without modifications, as long as this notice is preserved. # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY, to the extent permitted by law; without # even the implied warranty of MERCHANTABILITY or FITNESS FOR A # PARTICULAR PURPOSE. # pkg.m4 - Macros to locate and utilise pkg-config. -*- Autoconf -*- # serial 1 (pkg-config-0.24) # # Copyright © 2004 Scott James Remnant . # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # PKG_PROG_PKG_CONFIG([MIN-VERSION]) # ---------------------------------- AC_DEFUN([PKG_PROG_PKG_CONFIG], [m4_pattern_forbid([^_?PKG_[A-Z_]+$]) m4_pattern_allow([^PKG_CONFIG(_(PATH|LIBDIR|SYSROOT_DIR|ALLOW_SYSTEM_(CFLAGS|LIBS)))?$]) m4_pattern_allow([^PKG_CONFIG_(DISABLE_UNINSTALLED|TOP_BUILD_DIR|DEBUG_SPEW)$]) AC_ARG_VAR([PKG_CONFIG], [path to pkg-config utility]) AC_ARG_VAR([PKG_CONFIG_PATH], [directories to add to pkg-config's search path]) AC_ARG_VAR([PKG_CONFIG_LIBDIR], [path overriding pkg-config's built-in search path]) if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then AC_PATH_TOOL([PKG_CONFIG], [pkg-config]) fi if test -n "$PKG_CONFIG"; then _pkg_min_version=m4_default([$1], [0.9.0]) AC_MSG_CHECKING([pkg-config is at least version $_pkg_min_version]) if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then AC_MSG_RESULT([yes]) else AC_MSG_RESULT([no]) PKG_CONFIG="" fi fi[]dnl ])# PKG_PROG_PKG_CONFIG # PKG_CHECK_EXISTS(MODULES, [ACTION-IF-FOUND], [ACTION-IF-NOT-FOUND]) # # Check to see whether a particular set of modules exists. Similar # to PKG_CHECK_MODULES(), but does not set variables or print errors. # # Please remember that m4 expands AC_REQUIRE([PKG_PROG_PKG_CONFIG]) # only at the first occurence in configure.ac, so if the first place # it's called might be skipped (such as if it is within an "if", you # have to call PKG_CHECK_EXISTS manually # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_EXISTS], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl if test -n "$PKG_CONFIG" && \ AC_RUN_LOG([$PKG_CONFIG --exists --print-errors "$1"]); then m4_default([$2], [:]) m4_ifvaln([$3], [else $3])dnl fi]) # _PKG_CONFIG([VARIABLE], [COMMAND], [MODULES]) # --------------------------------------------- m4_define([_PKG_CONFIG], [if test -n "$$1"; then pkg_cv_[]$1="$$1" elif test -n "$PKG_CONFIG"; then PKG_CHECK_EXISTS([$3], [pkg_cv_[]$1=`$PKG_CONFIG --[]$2 "$3" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes ], [pkg_failed=yes]) else pkg_failed=untried fi[]dnl ])# _PKG_CONFIG # _PKG_SHORT_ERRORS_SUPPORTED # ----------------------------- AC_DEFUN([_PKG_SHORT_ERRORS_SUPPORTED], [AC_REQUIRE([PKG_PROG_PKG_CONFIG]) if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi[]dnl ])# _PKG_SHORT_ERRORS_SUPPORTED # PKG_CHECK_MODULES(VARIABLE-PREFIX, MODULES, [ACTION-IF-FOUND], # [ACTION-IF-NOT-FOUND]) # # # Note that if there is a possibility the first call to # PKG_CHECK_MODULES might not happen, you should be sure to include an # explicit call to PKG_PROG_PKG_CONFIG in your configure.ac # # # -------------------------------------------------------------- AC_DEFUN([PKG_CHECK_MODULES], [AC_REQUIRE([PKG_PROG_PKG_CONFIG])dnl AC_ARG_VAR([$1][_CFLAGS], [C compiler flags for $1, overriding pkg-config])dnl AC_ARG_VAR([$1][_LIBS], [linker flags for $1, overriding pkg-config])dnl pkg_failed=no AC_MSG_CHECKING([for $1]) _PKG_CONFIG([$1][_CFLAGS], [cflags], [$2]) _PKG_CONFIG([$1][_LIBS], [libs], [$2]) m4_define([_PKG_TEXT], [Alternatively, you may set the environment variables $1[]_CFLAGS and $1[]_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details.]) if test $pkg_failed = yes; then AC_MSG_RESULT([no]) _PKG_SHORT_ERRORS_SUPPORTED if test $_pkg_short_errors_supported = yes; then $1[]_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "$2" 2>&1` else $1[]_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "$2" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$$1[]_PKG_ERRORS" >&AS_MESSAGE_LOG_FD m4_default([$4], [AC_MSG_ERROR( [Package requirements ($2) were not met: $$1_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. _PKG_TEXT])[]dnl ]) elif test $pkg_failed = untried; then AC_MSG_RESULT([no]) m4_default([$4], [AC_MSG_FAILURE( [The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. _PKG_TEXT To get pkg-config, see .])[]dnl ]) else $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS $1[]_LIBS=$pkg_cv_[]$1[]_LIBS AC_MSG_RESULT([yes]) $3 fi[]dnl ])# PKG_CHECK_MODULES m4_include([m4/cxxbool.m4]) m4_include([m4/float.m4]) m4_include([m4/framework.m4]) m4_include([m4/sdl.m4]) m4_include([m4/sdl2.m4]) m4_include([m4/stat-time.m4]) m4_include([m4/tm_gmtoff.m4]) m4_include([m4/util.m4]) aranym-1.0.2/aranym.rdef000066400000000000000000000147771242022243000151410ustar00rootroot00000000000000/* * Copyright 2010 François Revol * * This file is part of the ARAnyM project which builds a new and powerful * TOS/FreeMiNT compatible virtual machine running on almost any hardware. * * ARAnyM is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * ARAnyM 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 ARAnyM; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ resource(1, "BEOS:APP_FLAGS") (#'APPF') $"09000000"; resource vector_icon { $"6E6369660404015F0500020106033E40000000000000003E4000484000484000" $"0019007FBF0446A8FF0B0135020012023E30000000000000003F70004A100047" $"C00000FFFFFFFF4F5502043C22C3DE22B86F22223C22B86F22C3DE3C56B86F56" $"C3DE56563C56C3DE56B86F0A04342D342F362F362D0A0436313633383338310A" $"0436333635383538330A04383138333A333A310A04383338353A353A330A0434" $"353437363736350A0432353237343734350A0432373239343934370A04343734" $"39363936370A042E332E35303530330A043639363B383B38390A04383738393A" $"393A370A043A353A373C373C350A043C333C353E353E330A043C313C333E333E" $"310A043C353C373E373E350A043A373A393C393C370A043839383B3A3B3A390A" $"04363B363D383D383B0A04343B343D363D363B0A04323B323D343D343B0A0432" $"3D323F343F343D0A04303D303F323F323D0A04303F30413241323F0A042E3F2E" $"413041303F0A042E412E43304330410A042E432E45304530430A042E452E4730" $"4730450A0430473049324932470A0432473249344934470A0434453447364736" $"450A0436433645384538430A04384138433A433A410A04384538473A473A450A" $"0436473649384938470A043A3F3A413C413C3F0A043A3D3A3F3C3F3C3D0A0438" $"3D383F3A3F3A3D0A043C3D3C3F3E3F3E3D0A043A3B3A3D3C3D3C3B0A043C393C" $"3B3E3B3E390A043E393E3B403B40390A043E3B3E3D403D403B0A043E373E3940" $"3940370A044039403B423B42390A043E313E33403340310A043E2F3E31403140" $"2F0A04402F40314231422F0A04402D402F422F422D0A04422D422F442F442D0A" $"04442D442F462F462D0A04462D462F482F482D0A04482F48314A314A2F0A0448" $"3148334A334A310A0446334635483548330A04483548374A374A350A04443544" $"37463746350A0446374639483948370A0442374239443944370A04423B423D44" $"3D443B0A04443B443D463D463B0A04463D463F483F483D0A04443D443F463F46" $"3D0A04423D423F443F443D0A04403D403F423F423D0A043E3D3E3F403F403D0A" $"043E3F3E414041403F0A043E413E43404340410A043E433E45404540430A043E" $"453E47404740450A043C433C453E453E430A043C413C433E433E410A04403F40" $"414241423F0A0442414243444344410A0444414443464346410A044641464348" $"4348410A04484148434A434A410A0442434245444544430A0442454247444744" $"450A0442474249444944470A0444434445464546430A0446454647484748450A" $"0446474649484948470A04484548474A474A45060A0001000240000000000000" $"00003E00004680004A50000A0101001001178300040A020100000A02010002BF" $"89D8000000000000BF89D84B4C4E4B4C4E0A00540102030405060708090A0B0C" $"0D0E0F101112131415161718191A1B1C1D1E1F202122232425262728292A2B2C" $"2D2E2F303132333435363738393A3B3C3D3E3F404142434445464748494A4B4C" $"4D4E4F50515253542021200A03540102030405060708090A0B0C0D0E0F101112" $"131415161718191A1B1C1D1E1F202122232425262728292A2B2C2D2E2F303132" $"333435363738393A3B3C3D3E3F404142434445464748494A4B4C4D4E4F505152" $"535420201F" }; resource(101, "BEOS:L:STD_ICON") #'ICON' array { $"FFFFFFFFFFFFFFFFFFFF1D15AF0704020104D50F661C3FFFFFFFFFFFFFFFFFFF" $"FFFFFFFFFFFFFFFF1AAE0227DE2703293D000028DDB31D3F3FFFFFFFFFFFFFFF" $"FFFFFFFFFFFFFF0F26D5B3B427DE2703283D290029038C3F3F3F3FFFFFFFFFFF" $"FFFFFFFFFF1CD5DC168C0BDD00290227DE022702280129671D1F1D1FFFFFFFFF" $"FFFFFFFF1A258E60133D292928DE2802270428DE28290029671EB3191FFFFFFF" $"FFFFFF1C278D3F090029283D27DE28022703283D27292801016687041C1FFFFF" $"FFFFFFD5B41ED5002901B4DADE2928DE022905601A1A1C18002960B4031FFFFF" $"FFFF0FDC60080028DE2908122829290229D5673F131012111103D466000CFFFF" $"FF1C288DAE002828DE292929D508DE28D61A3F12280000293F0E018DD5011CFF" $"FF0CDDAD00283D2729DE29031B3F11261A3F122929DE29281F0D00D58D000AFF" $"1E01DCD500000C1CDD0000291E1F12011B1127022801091DDD012829AE04011D" $"1529DD012802D50E28B5120EAE0D0A123FD50028010E13AE8E072929B4080113" $"0C02273D27DE022701163F1E29000F1F17AE02280718873D1CAE2929DD09000C" $"07290228DE290C1E28113F1929113F18291614281FD6B51E28290327DED500D6" $"04002803283DAE3FDE292903873F1528181D1D19042929D53D2702DE27DD3304" $"020029DE282908AE01D5AF113F12D5AEB519180C0B11D4003D28DE2802D5293D" $"03290128DE28290005601F1A1804AE1F031612DE1E1F19D5290227DE28052903" $"D5000028DE280103603F120129131F1B401C1B1D1B1B1E1C032829DE28D50003" $"D43D0128DE29081A1F10270328010E3F28121F1EDE282903282928DE03D52906" $"8D270129DE01CE1F123D282901B512AE0A1818AE0A0CAE0F15D50228DD09010B" $"1B8C280028010C1C2801283DD56710291E3F0D011C3F1E181C0A2829D4D70113" $"3F1E8D2929000B1CDD2929033F0A2904603F8E29193F1101292929DD0C29001E" $"FF3F3FD43D00AE1F01000B1C28151629DE1C17291C0BD51A1D0A29AEDE020BFF" $"FF3F3F3FDD3305AE1414111010870B2801B50A273FD6D53F1404D5B402001CFF" $"FFFF60403FD50000183FAE011CB50029280229DE18D5081729038D01000DFFFF" $"FFFFFFD48D400A29292928DE2929280327DE2903273D2700DD11042904FFFFFF" $"FFFFFF1D02D46610270029DE29280227DE290327DE2900D48E0201011C1FFFFF" $"FFFFFFFF1B02018E87D403282929DE2828DE29292905ADB40300021AFEFFFFFF" $"FFFFFFFFFF1C070005AE8ED4D5DE02270227DD08B40CD50000061CFFFFFFFFFF" $"FFFFFFFFFFFFFF0F00000308D5B505D504DDD509052900000F1FFFFFFFFFFFFF" $"FFFFFFFFFFFFFFFF1B0D0200000001020101000000010D1BFFFFFFFFFFFFFFFF" $"FFFFFFFFFFFFFFFFFFFF1E150D0805020204080D151EFFFFFFFFFFFFFFFFFFFF" }; resource(101, "BEOS:M:STD_ICON") #'MICN' array { $"FFFFFFFF19AE073D02D5AD3FFFFFFFFF" $"FFFF1EAEAEB4283D2701298D3FFFFFFF" $"FFFFB4150428032702273D283F8D1DFF" $"FFAE873D281129DE29171515D5AE0DFF" $"1AD4DE022802870567A83D2816D50561" $"0DDD01AE0508160B87020511D401D58F" $"052803B40B1D041A0ED5110F0A27D5DF" $"0102288E03D51B0A1716D50527DE2803" $"0228DE2916120C1A87131E162903DD33" $"D5293D8710280413AE18D6B5D529D503" $"60DE2915290287041ED51E110A29D5AF" $"FF1A29110A870C09B50A871110D5021A" $"FF18863D0FDD0A2902270909DDD60DFF" $"FFFF09AED5DE292802273DD406071FFF" $"FFFFFF0C05D5D5DE04D5D53D0DFFFFFF" $"FFFFFFFF1A0D050302050D1AFFFFFFFF" }; resource(1, "BEOS:APP_SIG") (#'MIMS') "application/x-vnd.ARAnyM"; resource(1, "BEOS:FILE_TYPES") message { "types" = "application/x-atarist-rom", "types" = "application/x-atarist-disk" }; aranym-1.0.2/aranym.spec000066400000000000000000000341311242022243000151350ustar00rootroot00000000000000# generic defines used by all distributions. # %define ver 1.0.2 # # %define myrelease 1 %define mybuild 1 %define _rel %{myrelease}.%{mybuild} # define the package groups. If they all followed the same naming convention, # these would be the same. They don't, and so they aren't :( # %define suse_group System/Emulators/Others %define mandriva_group Console/Emulators %define fedora_group Console/Emulators # defaults # %define group Console/Emulators %define rel %{_rel} %define my_suse 0 %define my_mandriva 0 %define my_fedora 0 %define my_centos 0 %if 0%{?suse_version:1}%{?sles_version:1} %define my_suse 1 %endif # if present, use %distversion to find out which Mandriva version is being built # define %distversion and %_icondir in your .rpmmacros if build fails # %if 0%{?distversion:1} %if 0%{?!mandriva_version:1} %define mandriva_version %(echo $[%{distversion}/10]) %endif %endif %if 0%{?mandriva_version:1} %define my_mandriva 1 %define my_vendor mandriva %endif # if present, decode %dist to find out which OS package is being built on # %if 0%{?dist:1} # Centos or Fedora # %define my_which_os %(i=%{dist} ; if [ "${i::3}" == ".fc" ] ; then echo "1" ; else echo "0" ; fi ) %if %{my_which_os} %if 0%{?!fedora_version:1} %define fedora_version %(i=%{dist} ; echo "${i:3}" ) %endif %else %if 0%{?!centos_version:1} %define centos_version %(i=%{dist} ; echo "${i:3}00" ) %endif %endif %endif %if 0%{?fedora_version:1} %define my_fedora 1 %define my_vendor fedora %endif %if 0%{?centos_version:1} %define my_centos 1 %define my_vendor centos %endif %if %{my_suse} %if %{suse_version} %define rel %{myrelease}.suse%(echo $[%suse_version/10]).%{mybuild} %else %define rel %{myrelease}.sles%{sles_version}.%{mybuild} %endif %define group %{suse_group} %endif # building on a Mandriva/Mandrake Linux system. # # this should create a release that conforms to the Mandriva naming conventions. # %if %{my_mandriva} %define rel %{myrelease}.mdv%{mandriva_version}.%{mybuild} %define group %{mandriva_group} %endif # building on a Fedora Core Linux system. # # this should create a release that conforms to the Fedora naming conventions. # %if %{my_fedora} %if 0%{?!fedora_version:1} %define fedora_version %(i="%dist" ; echo "${i:3}") %endif %if 0%{?!dist:1} %define dist .fc%{fedora_version} %endif %define rel %{myrelease}%{dist}.%{mybuild} %define group %{fedora_group} %endif # building on a Centos Linux system. # # this should create a release that conforms to the Centos naming conventions. # %if %{my_centos} %if 0%{?!centos_version:1} %define centos_version %(i="%dist" ; echo "${i:3}") %endif %if 0%{?!dist:1} %define dist .el%{centos_version} %endif %define rel %{myrelease}%{dist}.%{mybuild} %define group %{fedora_group} %endif # move the icons into a standardised location # %if 0%{?!_icondir:1} %define _icondir %{_datadir}/icons/hicolor/ %endif # ensure where RPM thinks the docs should be matches reality # gets around SUSE using %{_prefix}/share/doc/packages and # fedora using %{_defaultdocdir} # %define _docdir %{_prefix}/share/doc %if %{my_suse} Requires: libSDL-1_2-0 >= 1.2.12 Requires: libSDL_image-1_2-0 >= 1.2.5 Requires: zlib >= 1.2.3 Requires: libmpfr4 >= 3.0.0 Requires: libusb-1_0-0 >= 1.0.0 BuildRequires: libSDL-devel >= 1.2.12 BuildRequires: libSDL_image-devel >= 1.2.5 BuildRequires: zlib-devel >= 1.2.3 BuildRequires: mpfr-devel >= 3.0.0 BuildRequires: libusb-1_0-devel >= 1.0.0 BuildRequires: update-desktop-files BuildRequires: make %endif %if %{my_mandriva} Requires: libSDL1.2_0 >= 1.2.12 Requires: libSDL_image1.2_0 >= 1.2.5 Requires: zlib >= 1.2.3 Requires: libmpfr4 >= 3.0.0 Requires: libusb1.0_0 >= 1.0.0 BuildRequires: libSDL-devel >= 1.2.12 BuildRequires: libSDL_image-devel >= 1.2.5 BuildRequires: zlib-devel >= 1.2.3 BuildRequires: libmpfr-devel >= 3.0.0 BuildRequires: libusb1-devel >= 1.0.0 %endif %if %{my_fedora} Requires: SDL >= 1.2.12 Requires: SDL_image >= 1.2.5 Requires: zlib >= 1.2.3 Requires: mpfr >= 3.0.0 Requires: libusb1 >= 1.0.0 BuildRequires: SDL-devel >= 1.2.12 BuildRequires: SDL_image-devel >= 1.2.5 BuildRequires: zlib-devel >= 1.2.3 BuildRequires: mpfr-devel >= 3.0.0 BuildRequires: libusb1-devel >= 1.0.0 %endif %if %{my_centos} Requires: SDL >= 1.2.12 Requires: SDL_image >= 1.2.5 Requires: zlib >= 1.2.3 Requires: mpfr >= 2.4.1 Requires: libusb1 >= 1.0.0 BuildRequires: SDL-devel >= 1.2.12 BuildRequires: SDL_image-devel >= 1.2.5 BuildRequires: zlib-devel >= 1.2.3 BuildRequires: mpfr-devel >= 2.4.1 BuildRequires: libusb1-devel >= 1.0.0 %endif # Now for the meat of the spec file # Name: aranym Version: %{ver} Release: %{rel} License: GPLv2 Summary: 32-bit Atari personal computer (similar to Falcon030 but better) virtual machine URL: http://aranym.org/ Group: %{group} Source0: http://prdownloads.sourceforge.net/aranym/%{name}_%{version}.orig.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Requires: hicolor-icon-theme BuildRequires: hicolor-icon-theme BuildRequires: desktop-file-utils BuildRequires: gcc-c++ #Patch0: aranym-0.9.7beta-desktop.patch %description ARAnyM is a software only TOS clone - a virtual machine that allows you to run TOS, EmuTOS, FreeMiNT, MagiC and Linux-m68k operating systems and their applications. Authors: Ctirad Fertr, Milan Jurik, Standa Opichal, Petr Stehlik, Johan Klockars, Didier MEQUIGNON, Patrice Mandin and others (see AUTHORS for a full list). %prep %setup -q #%%patch0 %build %configure --enable-jit-compiler --enable-usbhost %{__make} depend %{__make} %{__mv} aranym aranym-jit %{__make} clean %configure --enable-fullmmu --enable-lilo --enable-usbhost %{__make} depend %{__make} %{__mv} aranym aranym-mmu %{__make} clean %configure --enable-usbhost %{__make} depend %{__make} %install mkdir -p %{buildroot}%{_bindir} mkdir -p %{buildroot}/%{_mandir}/man1 mkdir -p %{buildroot}/%{_datadir}/aranym make install DESTDIR=%{buildroot} install -m 755 aranym-mmu %{buildroot}%{_bindir} # should be 4755 but build fails due to SUID bit set # install -m 755 aratapif %{buildroot}%{_bindir} install -m 755 aranym-jit %{buildroot}%{_bindir} # add a desktop menu entry # mkdir -p %{buildroot}/%{_datadir}/applications mkdir -p %{buildroot}/%{_icondir}/32x32/apps mkdir -p %{buildroot}/%{_icondir}/48x48/apps install -m 644 contrib/icon-32.png %{buildroot}/%{_icondir}/32x32/apps/aranym.png install -m 644 contrib/icon-48.png %{buildroot}/%{_icondir}/48x48/apps/aranym.png %if %{my_suse}%{my_mandriva} install -m 644 contrib/%{name}.desktop %{buildroot}/%{_datadir}/applications/%{name}.desktop %if %{my_suse} %suse_update_desktop_file -i %{name} %endif %if %{my_mandriva} desktop-file-install \ --delete-original \ --dir %{buildroot}%{_datadir}/applications \ --add-category System \ --add-category Emulator \ %{buildroot}/%{_datadir}/applications/%{name}.desktop %endif %endif %if %{my_fedora}%{my_centos} install -m 644 contrib/%{name}.desktop %{buildroot}%{_datadir}/applications/%{my_vendor}-%{name}.desktop desktop-file-install \ --delete-original \ --vendor %{my_vendor} \ --dir %{buildroot}%{_datadir}/applications \ --add-category X-Fedora \ --add-category System \ --add-category Emulator \ %{buildroot}/%{_datadir}/applications/%{my_vendor}-%{name}.desktop %endif %if %{my_suse}%{my_mandriva} install -m 644 contrib/%{name}-jit.desktop %{buildroot}/%{_datadir}/applications/%{name}-jit.desktop %endif %if %{my_fedora}%{my_centos} install -m 644 contrib/%{name}-jit.desktop %{buildroot}%{_datadir}/applications/%{my_vendor}-%{name}-jit.desktop %endif %if %{my_suse}%{my_mandriva} install -m 644 contrib/%{name}-mmu.desktop %{buildroot}/%{_datadir}/applications/%{name}-mmu.desktop %endif %if %{my_fedora}%{my_centos} install -m 644 contrib/%{name}-mmu.desktop %{buildroot}%{_datadir}/applications/%{my_vendor}-%{name}-mmu.desktop %endif %if %{my_mandriva} %post %update_menus %endif %if %{my_mandriva} %postun %clean_menus %endif %clean %{__rm} -rf %{buildroot} %{__rm} -rf %{_tmppath}/%{name}-%{version}-%{release}-buildroot %files %defattr(-,root,root) %{_mandir}/man1/%{name}.1* %{_mandir}/man1/aratapif.1* %{_datadir}/%{name} %{_docdir}/%{name} %{_icondir}/32x32/apps/%{name}.png %{_icondir}/48x48/apps/%{name}.png %{_datadir}/applications/*%{name}.desktop %{_bindir}/aratapif %{_bindir}/aranym %{_bindir}/aranym-jit %{_mandir}/man1/%{name}-jit.1* %{_datadir}/applications/*%{name}-jit.desktop %defattr(-,root,root) %{_bindir}/aranym-mmu %{_mandir}/man1/%{name}-mmu.1* %{_datadir}/applications/*%{name}-mmu.desktop %changelog * Wed Oct 10 2014 Petr Stehlik 1.0.0 New ARAnyM release. Reset the minimal SDL version down to 1.2.12 * Tue Jul 08 2014 Thorsten Otto Bumped the minimal SDL version to 1.2.15 * Tue Jun 03 2014 Jens Heitmann Desktop copy added for CentOS; dependencies for centos (JIT version crashes with SDL < 1.2.15) * Mon Apr 12 2014 Petr Stehlik 0.9.16 New upstream ARAnyM release. JIT supported on 64-bit now. * Mon Apr 15 2013 Petr Stehlik 0.9.15 New ARAnyM release. * Fri Mar 23 2012 Petr Stehlik 0.9.13 New ARAnyM release. Make use of two new desktop files. Mandriva desktop files without the vendor prefix. * Sat Mar 17 2012 Petr Stehlik 0.9.12 New ARAnyM release. New FPU emulation for MMU mode (using MPFR) New Native Features enabled (PCI, USB) New dependencies (zlib, mpfr, libusb) * Wed May 26 2010 Petr Stehlik 0.9.10 New ARAnyM release. Icons moved to icons dir. Source archive filename follows Debian convention. * Sat Sep 05 2009 Petr Stehlik 0.9.9 New ARAnyM release. * Sat Apr 25 2009 Petr Stehlik New ARAnyM release. * Sat Nov 08 2008 Petr Stehlik New ARAnyM release. * Wed Jan 30 2008 Petr Stehlik Added SDL_image to Requires: Bumped the minimal SDL version to 1.2.10 Enabled the Requires: for mandriva (still untested) * Tue Jan 29 2008 Petr Stehlik Desktop file corrected and renamed to lowercase. _icondir defined for Fedora. For other changes see ChangeLog. * Mon Jan 28 2008 Petr Stehlik The right icon added. Desktop file updated. Build system root changed. New release. Version increased. Other changes in NEWS file. * Mon Jul 09 2007 Petr Stehlik New release. Version increased. Other changes in NEWS file. * Tue Oct 11 2006 David Bolt 0.9.4beta Added an aranym.desktop file for inclusion in desktop menus. Temporarily uses emulator.png as the menu icon. Added bits to spec file to try and build packages for (open)SUSE, Mandriva and Fedora Core distributions without any changes. * Fri Sep 22 2006 Petr Stehlik New release. Version increased. Other changes in NEWS file. Thanks to David Bolt this spec file is nicely updated - does not fail on 64bit anymore. Thanks, David! * Mon Feb 20 2006 Petr Stehlik URL changed to aranym.org. Version increased. Other changes in NEWS file. * Sun Apr 17 2005 Petr Stehlik Files list fixed. * Thu Apr 14 2005 Petr Stehlik Version increased. NFJPEG enabled. * Tue Feb 22 2005 Petr Stehlik Version increased. aranymrc.example removed. * Sun Feb 20 2005 Petr Stehlik Version increased. LILO enabled in the MMU version. * Sun Nov 07 2004 Petr Stehlik Version increased. * Tue Jul 06 2004 Petr Stehlik Version increased. * Mon Jul 05 2004 Petr Stehlik Version increased. tools/createdisk/ removed. tools/arabridge added. For other changes see the NEWS file. * Sun Feb 15 2004 Petr Stehlik Version increased. For other changes see the NEWS file. * Sun Feb 08 2004 Petr Stehlik Version increased. For other changes see the NEWS file. * Wed Jan 07 2004 Petr Stehlik Version increased. For other changes see the NEWS file. * Sat Jan 03 2004 Petr Stehlik font8.bmp removed. * Sat Oct 04 2003 Petr Stehlik Version increased. NFCDROM.BOS added. * Fri Apr 11 2003 Petr Stehlik Man dir fixed. Debug info disabled. * Mon Apr 08 2003 Petr Stehlik Various fixes for the 0.8.0. And full 68040 PMMU build added as aranym-mmu. Also manual page added. * Mon Mar 24 2003 Petr Stehlik HostFS and network drivers added. ARATAPIF installed setuid root. Ethernet enabled. * Sun Mar 23 2003 Petr Stehlik Version increased for the new release. See the NEWS file for details. * Fri Mar 07 2003 Petr Stehlik Fixed paths to share/aranym folder. * Wed Jan 29 2003 Petr Stehlik New release. Updated list of provided files. * Tue Oct 22 2002 Petr Stehlik aranym-jit (JIT compiler for m68k CPU) generated. * Sun Oct 20 2002 Petr Stehlik EmuTOS image file renamed back. * Sat Oct 12 2002 Petr Stehlik EmuTOS image file renamed. Updated for new release. * Sun Jul 21 2002 Petr Stehlik SDL GUI font and EmuTOS image files added. * Sat Jul 20 2002 Petr Stehlik Version increased. * Thu Jun 06 2002 Petr Stehlik Install path changed from /usr/local to /usr * Mon Apr 22 2002 Petr Stehlik Sound driver added * Sun Apr 14 2002 Petr Stehlik First working version aranym-1.0.2/atari/000077500000000000000000000000001242022243000140705ustar00rootroot00000000000000aranym-1.0.2/atari/CONFIGVARS000066400000000000000000000020331242022243000154520ustar00rootroot00000000000000# # cross compiling # ifneq (yes,$(M68K_ATARI_MINT_CROSS)) CROSS = no else CROSS = yes endif # # target and host compiler # ifeq ($(CROSS),yes) CROSSPREFIX=m68k-atari-mint- NATIVECC = gcc NATIVECFLAGS = -O -Wall CRLF = echo crlf -s # e.g. when you don't have the mintlib/gemlib/cflib in # the /usr/m68k-atari/mint GENERAL = $(M68K_ATARI_MINT_CFLAGS) $(M68K_ATARI_MINT_LDFLAGS) else CROSSPREFIX= NATIVECC = gcc NATIVECFLAGS = -O -Wall CRLF = crlf -s endif CC = $(CROSSPREFIX)gcc AS = $(CC) AR = $(CROSSPREFIX)ar RANLIB = $(CROSSPREFIX)ranlib STRIP = $(CROSSPREFIX)strip FLAGS = $(CROSSPREFIX)flags # # some tools # YACC = bison -dk LEX = flex MV = mv CP = cp RM = rm -f TOUCH = touch MKDIR = mkdir MKDIR_P = $(MKDIR) -p SED = sed # # optimizations # OPTS = -O2 -finline-functions -fomit-frame-pointer # # warning options # WARN = \ -Wall \ -Wmissing-prototypes \ -Wshadow \ -Wpointer-arith \ -Wcast-qual \ -Waggregate-return # -Winline \ # # default definitions # DEFINITIONS = # # model type # MODEL = aranym-1.0.2/atari/hostfs/000077500000000000000000000000001242022243000153765ustar00rootroot00000000000000aranym-1.0.2/atari/hostfs/README000066400000000000000000000015531242022243000162620ustar00rootroot00000000000000hostfs.xfs ========== The .xfs driver is now maintained in the FreeMiNT CVS repository. hostfs.dos ========== This is the MetaDOS driver that makes use of the NatFeat .XFS interface. Basicaly it is the FreeMiNT file IO GEMDOS implementation (FreeMiNT_CVS/sys/ dosfile.c dosdir.c) mangled so that it compiles as a standalone binary. Installation ------------ MetaDOS driver: * copy new hostfs.dos to your AUTO folder and add the entries into your bdconfig.sys, as follows: \AUTO\HOSTFS.DOS, E:E \AUTO\HOSTFS.DOS, F:F This example maps drives E: and F:. BUGS ---- hostfs.dos - relocatable programs crash due to a serious bug in MetaDOS. Use BetaDOS instead (version 3.12+ might be available at http://www.ettnet.se/~dlanor/main/html/ra_files.htm). Compilation ----------- * use make.sh to compile * the binary is placed into the bin subfolder aranym-1.0.2/atari/hostfs/bdconfig.sys000066400000000000000000000070351242022243000177160ustar00rootroot00000000000000;---------------------------------------------------------------------------- ;File name: BDCONFIG.SYS Revision date: 1998.08.27 ;Purpose: BetaDos configuration Creation date: 1998.02.27 ;---------------------------------------------------------------------------- ;(C)1998 by Ronald Andersson Email: dlanor@oden.se ;---------------------------------------------------------------------------- ;The first four entries are commented out, partly because you may not have ;a CD-ROM to use them for, and partly because I have no distribution rights ;for the BOS drivers. They are from the SPIN distribution by Julian Reschke ;and from ExtenDOS, and are what I use for CD-ROM access on my Falcon030. ; ;;;*BOS, c:\auto\cd.bos, A:13.0 ;;;*BOS, c:\auto\spin_sd.bos, B:14\0 ;;;*DOS, c:\auto\unidrive.dos, X:A ;;;*DOS, c:\auto\bd_9660f.dos, Y:B ; ;One DOS driver above is my own, and is a slightly improved ISO9660F version. ;This has been completely restructured, so as to simplify adding new abilities ;(when I get time for that) such as support of long filenames and Dopendir etc. ; ;The filesystems below are my own, though 'Cook_FS' was inspired by Julian ;Reschkes 'CookieFS'. His pioneer effort in producing new DOS sources gave ;me the impetus (and needed knowledge) to start the BetaDos project. ; ;Cluster.DOS implements a drive that holds a 'cluster' of other drives, that ;are presented as subfolders, similar to the U: drive of MagiC and MiNT. ;The main difference is that this one works in SingleTOS as well... ;As yet many features of U: are still missing of course (\proc, \dev, etc.), ;but some of these will be added later (especially link stuff). ; ;For SingleTOS users I recommend editing the 'V:0' of Cluster.Dos to 'U:0'... ;Or like me, use both. V: can also be used under MagiC and MiNT, so it has ;proven a useful medium for symbolic links that can be used identically in ;all available TOS systems, with or without multitasking. I use it a lot ! ; ;*DOS, c:\auto\cluster.dos, V:0 ;*DOS, c:\auto\cook_fs.dos, W:1 ; ;Cook_FS is just another cookie filesystem, based on exactly the principles ;and methods in Julian Reschke's CookieFS. It has been completely recoded ;though this did not motivate many changes, except where it concerned the ;new object linking method, which enforced some changes. ; ;As yet these filesystems can be considered FreeWare, but I make no promises ;as to what policy I will apply regarding future versions... ; ;In addition to the 'classic' MetaDOS commands, BetaDOS now also supports a ;new command '*SLB,' Identically to how that has been implemented by Julian Reschke in his MetaDOS enhancements. So BetaDOS remains MetaDOS compatible. ; ;*SLB, c:\auto\slb_load.ovl c:\gemsys\magic\xtension ; ;Only one such command per BDCONFIG.SYS file is meaningful, and the path at ;the end specifies the default path BetaDOS will look for .SLB files in. If ;the SLBPATH environment variable is used, this replaces the default path ;with a proper path list. The *SLB, command is still needed though, because ;if it is not used BetaDOS will ignore the new GEMDOS functions Slbopen and ;Slbclose, so the shared code libraries will not be accessible then. ;Thanks go to Julian Reschke again for providing much info on the SLB stuff. ; ;ARAnyM HOSTFS configuration *DOS, \auto\hostfs.dos, M:M ;ARAnyM HOSTFS configuration end ;---------------------------------------------------------------------------- ;End of file: BDCONFIG.SYS ;---------------------------------------------------------------------------- aranym-1.0.2/atari/hostfs/hostfs_nfapi.h000066400000000000000000000024731242022243000202400ustar00rootroot00000000000000/* * joy 2003 * * trying to clean up the NFAPI mess * * GPL */ #ifndef _HOSTFS_NFAPI_H #define _HOSTFS_NFAPI_H /* * General versioning rules: * The driver version is literaly HOSTFS_XFS_VERSION.HOSTFS_NFAPI_VERSION * * note: therefore you need to be careful and set the NFAPI_VERSION like * 0x or something if needed. */ /* * general XFS driver version */ #define HOSTFS_XFS_VERSION 0 #define BETA /* if you change anything in the enum {} below you have to increase this HOSTFS_NFAPI_VERSION! */ #define HOSTFS_NFAPI_VERSION 04 enum { GET_VERSION = 0, /* subID = 0 */ GET_DRIVE_BITS, /* get mapped drive bits */ /* hostfs_xfs */ XFS_INIT, XFS_ROOT, XFS_LOOKUP, XFS_CREATE, XFS_GETDEV, XFS_GETXATTR, XFS_CHATTR, XFS_CHOWN, XFS_CHMOD, XFS_MKDIR, XFS_RMDIR, XFS_REMOVE, XFS_GETNAME, XFS_RENAME, XFS_OPENDIR, XFS_READDIR, XFS_REWINDDIR, XFS_CLOSEDIR, XFS_PATHCONF, XFS_DFREE, XFS_WRITELABEL, XFS_READLABEL, XFS_SYMLINK, XFS_READLINK, XFS_HARDLINK, XFS_FSCNTL, XFS_DSKCHNG, XFS_RELEASE, XFS_DUPCOOKIE, XFS_SYNC, XFS_MKNOD, XFS_UNMOUNT, /* hostfs_dev */ DEV_OPEN, DEV_WRITE, DEV_READ, DEV_LSEEK, DEV_IOCTL, DEV_DATIME, DEV_CLOSE, DEV_SELECT, DEV_UNSELECT, /* new from 0.04 */ XFS_STAT64 }; extern unsigned long nf_hostfs_id; #define HOSTFS(a) (nf_hostfs_id + a) #endif /* _HOSTFS_NFAPI_H */ aranym-1.0.2/atari/hostfs/make.sh000077500000000000000000000013351242022243000166540ustar00rootroot00000000000000if [ x"$FREEMINT_SRC_HOME" = x ]; then FREEMINT_SRC_HOME=/home/joy/mint/freemint fi if [ ! -e "$FREEMINT_SRC_HOME/COPYING.MiNT" ]; then echo "The $FREEMINT_SRC_HOME seems not to be the FreeMiNT CVS root"; exit 1; fi HOSTFS_BUILD_HOME="$FREEMINT_SRC_HOME/sys/xfs" # copy the sources into the FreeMiNT cvs tree cp -r ../hostfs/metados "$HOSTFS_BUILD_HOME"/hostfs cp -r ../natfeat "$HOSTFS_BUILD_HOME" # build them (all or debug targets are available) (cd "$HOSTFS_BUILD_HOME/hostfs/metados"; make distclean; make $@) # move the binaries into the bin folder mkdir -p bin cp "$HOSTFS_BUILD_HOME"/hostfs/metados/*.dos bin # cleanup the FreeMiNT cvs tree #rm -rf "$HOSTFS_BUILD_HOME/hostfs" #rm -rf "$HOSTFS_BUILD_HOME/natfeat" aranym-1.0.2/atari/hostfs/metados/000077500000000000000000000000001242022243000170325ustar00rootroot00000000000000aranym-1.0.2/atari/hostfs/metados/BINFILES000066400000000000000000000002331242022243000201460ustar00rootroot00000000000000# This file gets included by the Makefile in this directory to determine # the files that should go only into binary distributions. BINFILES = hostfs.dos aranym-1.0.2/atari/hostfs/metados/EXTRAFILES000066400000000000000000000003011242022243000204150ustar00rootroot00000000000000# This file gets included by the Makefile in this directory to determine # the files that should go only into source distributions. SRCFILES += BINFILES EXTRAFILES MISCFILES Makefile SRCFILES aranym-1.0.2/atari/hostfs/metados/MISCFILES000066400000000000000000000002351242022243000202730ustar00rootroot00000000000000# This file gets included by the Makefile in this directory to determine # the files that should go both into source and binary distributions. MISCFILES = aranym-1.0.2/atari/hostfs/metados/Makefile000066400000000000000000000044721242022243000205010ustar00rootroot00000000000000# # Makefile for hostfs.xfs # # If you got these sources as part of STonX note: # - You have to copy all files of this directory into the FreeMiNT source # tree at "sys/xfs/hostfs". Instead of you may change top_srcdir at this # Makefile to "sys" directory of the MiNT source tree. # "make" does only work, if you do so! # # Note: You need a crosscompiler to make hostfs.xfs or a native m68k-atari-mint # gcc, make etc. # To use crosscompiling change the variables at CONFIGVARS. # To crosscompile even FreeMiNT, you may have to change CRLF at # CONFIGVARS (e.g. say "CRLF = echo crlf"). There may be additional # errors, because of using "flags" at some sub-Makefiles. Comment out # "flags"-calls at those Makefiles (resulting programms will only work # if you're running at least version 1.15.10 of FreeMiNT. # TARGET = hostfs.dos GENFILES = $(TARGET) .xfso .natfeat SHELL = /bin/sh SUBDIRS = srcdir = . top_srcdir = ../../.. subdir = metados include $(top_srcdir)/CONFIGVARS include $(top_srcdir)/RULES include $(top_srcdir)/PHONY all-here: $(TARGET) debug: $(MAKE) DEBUG_INFO="-DDEBUG_INFO" # default overwrites INCLUDES = -I$(top_srcdir) -I.natfeat DEFINITIONS = LD = $(CC) -nostdlib -Wl,--entry -Wl,_init LIBS = $(LIBKERN) -lgcc CPU = 000 # ensure that FreeMiNT CVS proc.h is never loaded MDFLAGS = -D_mint_proc_h -D_libkern_kernel_xfs_xdd_h # some little code pieces needs to be metados dependent MDFLAGS += -D__KERNEL_XFS__ MDFLAGS += -DARAnyM_MetaDOS MDFLAGS += $(DEBUG_INFO) CFLAGS += $(MDFLAGS) # default definitions OBJS = $(COBJS:.c=.o) $(SOBJS:%.S=%.o) .xfso: $(srcdir)/../hostfs_xfs.c $(srcdir)/../hostfs_dev.c $(MKDIR) -p $@ $(CP) -r $(srcdir)/../hostfs_xfs.c $(srcdir)/../hostfs_dev.c $@ $(CP) -r $(srcdir)/../hostfs_xfs.h $(srcdir)/../hostfs_dev.h $@ $(CP) -r $(srcdir)/../hostfs_nfapi.h $@ touch $@/BINFILES touch $@/EXTRAFILES touch $@/MISCFILES echo "COBJS = hostfs_xfs.c hostfs_dev.c" >$@/SRCFILES $(CP) Makefile.xfso $@/Makefile cd $@; $(MAKE) CPU=$(CPU) MDFLAGS="$(MDFLAGS)" .natfeat: $(srcdir)/../../natfeat $(MKDIR) -p $@ $(CP) -r $ # include static void VDEBUGOUT (int, const char *, va_list); int debug_level = 10; /* how much debugging info should we print? */ # if 1 int out_device = 2; /* BIOS device to write errors to */ # else int out_device = 6; # endif /* * out_next[i] is the out_device value to use when the current * device is i and the user hits F3. * Cycle is CON -> PRN -> AUX -> MIDI -> 6 -> 7 -> 8 -> 9 -> CON * (Note: BIOS devices 6-8 exist on Mega STe and TT, 9 on TT.) * * out_device and this table are exported to bios.c and used here in HALT(). */ /* 0 1 2 3 4 5 6 7 8 9 */ char out_next[] = { 1, 3, 0, 6, 0, 0, 7, 8, 9, 2 }; /* * debug log modes: * * 0: no logging. * 1: log all messages, dump the log any time something happens at * a level that gets shown. Thus, if you're at debug_level 2, * everything is logged, and if something at levels 1 or 2 happens, * the log is dumped. * * LB_LINE_LEN is 20 greater than SPRINTF_MAX because up to 20 bytes * are prepended to the buffer string passed to ksprintf. */ # ifdef DEBUG_INFO # define LBSIZE 50 /* number of lines */ # else # define LBSIZE 15 # endif # define LB_LINE_LEN (SPRINTF_MAX + 20) /* width of a line */ static char logbuf [LBSIZE][LB_LINE_LEN]; static ushort logtime [LBSIZE]; /* low 16 bits of 200 Hz: timestamp of msg */ int debug_logging; int logptr; /* NatFeat functions defined */ static long _NF_getid = 0x73004e75L; static long _NF_call = 0x73014e75L; #define nfGetID(n) (((long _cdecl (*)(const char *))&_NF_getid)n) #define nfCall(n) (((long _cdecl (*)(long, ...))&_NF_call)n) #define nf_stderr(str) \ (nfCall((nfGetID(("NF_STDERR")),str))) #ifndef ARAnyM_MetaDOS /* * The inner loop does this: at each newline, the keyboard is polled. If * you've hit a key, then it's checked: if it's ctl-alt, do_func_key is * called to do what it says, and that's that. If not, then you pause the * output. If you now hit a ctl-alt key, it gets done and you're still * paused. Only hitting a non-ctl-alt key will get you out of the pause. * (And only a non-ctl-alt key got you into it, too!) * * When out_device isn't the screen, number keys give you the same effects * as function keys. The only way to get into this code, however, is to * have something produce debug output in the first place! This is * awkward: Hit a key on out_device, then hit ctl-alt-F5 on the console so * bios.c will call DUMPPROC, which will call ALERT, which will call this. * It'll see the key you hit on out_device and drop you into this loop. * CTL-ALT keys make BIOS call do_func_key even when out_device isn't the * console. */ void debug_ws (const char *s) { long key; int scan; int stopped; while (*s) { (void) Bconout (out_device, *s); while (*s == '\n' && out_device != 0 && Bconstat (out_device)) { stopped = 0; while (1) { if (out_device == 2) { /* got a key; if ctl-alt then do it */ if ((Kbshift (-1) & 0x0c) == 0x0c) { key = Bconin (out_device); scan = (int) (((key >> 16) & 0xff)); do_func_key (scan); goto ptoggle; } else { goto cont; } } else { key = Bconin (out_device); if (key < '0' || key > '9') { ptoggle: /* not a func key */ if (stopped) break; else stopped = 1; } else { /* digit key from debug device == Fn */ if (key == '0') scan = 0x44; else scan = (int) (key - '0' + 0x3a); do_func_key (scan); } } } } cont: s++; } } #else void debug_ws (const char *s) { nf_stderr(s); } #endif // ARAnyM_MetaDOS /* * _ALERT(s) returns 1 for success and 0 for failure. * It attempts to write the string to "the alert pipe," u:\pipe\alert. * If the write fails because the pipe is full, we "succeed" anyway. * * This is called in vdebugout and also in mprot0x0.c for memory violations. * It's also used by the Salert() system call in dos.c. */ int _ALERT (char *s) { #ifndef ARAnyM_MetaDOS FILEPTR *fp; long ret; /* temporarily reduce the debug level, so errors finding * u:\pipe\alert don't get reported */ int olddebug = debug_level; int oldlogging = debug_logging; debug_level = 0; debug_logging = 0; ret = FP_ALLOC (rootproc, &fp); if (!ret) ret = do_open (&fp, "u:\\pipe\\alert", (O_WRONLY | O_NDELAY), 0, NULL); debug_level = olddebug; debug_logging = oldlogging; if (!ret) { char *alert; /* format the string into an alert box */ if (*s == '[') { /* already an alert */ alert = s; } else { char alertbuf [SPRINTF_MAX + 10]; char *ptr; char *lastspace; int counter; alert = alertbuf; ksprintf (alertbuf, sizeof (alertbuf), "[1][%s", s); /* make sure no lines exceed 30 characters; * also, filter out any reserved characters * like '[' or ']' */ ptr = alertbuf + 4; counter = 0; lastspace = 0; while (*ptr) { if (*ptr == ' ') { lastspace = ptr; } else if (*ptr == '[') { *ptr = '('; } else if (*ptr == ']') { *ptr = ')'; } else if (*ptr == '|') { *ptr = ':'; } if (counter++ >= 29) { if (lastspace) { *lastspace = '|'; counter = (int) (ptr - lastspace); lastspace = 0; } else { *ptr = '|'; counter = 0; } } ptr++; } strcpy (ptr, "][ OK ]"); } (*fp->dev->write)(fp, alert, strlen (alert) + 1); do_close (rootproc, fp); return 1; } #endif // ARAnyM_MetaDOS return 0; } static void VDEBUGOUT (int level, const char *s, va_list args) { char *lp; char *lptemp; long len; logtime [logptr] = (ushort)(*(long *) 0x4baL); lptemp = lp = logbuf [logptr]; len = LB_LINE_LEN; if (++logptr == LBSIZE) logptr = 0; #ifndef ARAnyM_MetaDOS if (curproc) { ksprintf (lp, len, "pid %3d (%s): ", curproc->pid, curproc->name); lptemp += strlen (lp); len -= strlen (lp); } #endif // ARAnyM_MetaDOS kvsprintf (lptemp, len, s, args); /* for alerts, try the alert pipe unconditionally */ if (level == ALERT_LEVEL && _ALERT (lp)) return; if (debug_level >= level) { debug_ws (lp); debug_ws ("\r\n"); } } void _cdecl Tracelow (const char *s, ...) { if (debug_logging || (debug_level >= LOW_LEVEL)) { va_list args; va_start (args, s); VDEBUGOUT (LOW_LEVEL, s, args); va_end (args); } } void _cdecl Trace (const char *s, ...) { if (debug_logging || (debug_level >= TRACE_LEVEL)) { va_list args; va_start (args, s); VDEBUGOUT (TRACE_LEVEL, s, args); va_end (args); } } void _cdecl Debug (const char *s, ...) { if (debug_logging || (debug_level >= DEBUG_LEVEL)) { va_list args; va_start (args, s); VDEBUGOUT (DEBUG_LEVEL, s, args); va_end (args); } if (debug_logging && (debug_level >= DEBUG_LEVEL)) DUMPLOG (); } void _cdecl ALERT (const char *s, ...) { if (debug_logging || debug_level >= ALERT_LEVEL) { va_list args; va_start (args, s); VDEBUGOUT (ALERT_LEVEL, s, args); va_end (args); } if (debug_logging && (debug_level >= ALERT_LEVEL)) DUMPLOG (); } void _cdecl FORCE (const char *s, ...) { va_list args; va_start (args, s); VDEBUGOUT (FORCE_LEVEL, s, args); va_end (args); /* don't dump log here - hardly ever what you mean to do. */ } void DUMPLOG (void) { char *end; char *start; ushort *timeptr; char timebuf[6]; /* logbuf [logptr] is the oldest string here */ end = start = logbuf [logptr]; timeptr = &logtime [logptr]; do { if (*start) { ksprintf (timebuf, sizeof (timebuf), "%04x ", *timeptr); debug_ws (timebuf); debug_ws (start); debug_ws ("\r\n"); *start = '\0'; } start += LB_LINE_LEN; timeptr++; if (start == logbuf[LBSIZE]) { start = logbuf[0]; timeptr = &logtime[0]; } } while (start != end); logptr = 0; } /* wait for a key to be pressed */ void PAUSE (void) { #ifndef ARAnyM_MetaDOS debug_ws (MSG_init_hitanykey); #else debug_ws ("MSG_init_hitanykey"); #endif (void) Bconin (2); } EXITING _cdecl FATAL (const char *s, ...) { va_list args; va_start (args, s); VDEBUGOUT (-1, s, args); va_end (args); if (debug_logging) { DUMPLOG (); } HALT (); } /* uk: a normal halt() function without an error message. This function * may only be called if all processes are shut down and the file * systems are synced. */ EXITING halt (void) { #ifndef ARAnyM_MetaDOS long r; long key; int scan; DEBUG (("halt() called, system halting...\r\n")); debug_ws ("MSG_system_halted"); sys_q[READY_Q] = 0; /* prevent context switches */ restr_intr(); /* restore interrupts to normal */ for(;;) { /* get a key; if ctl-alt then do it, else halt */ key = Bconin (out_device); if ((key & 0x0c000000L) == 0x0c000000L) { scan = (int) ((key >> 16) & 0xff); do_func_key (scan); } else { break; } } for(;;) { debug_ws ("MSG_system_halted"); r = Bconin (2); if ((r & 0x0ff) == 'x') { } } #else for (;;) { debug_ws ("MSG_system_halted"); } #endif // ARAnyM_MetaDOS } EXITING HALT (void) { #ifndef ARAnyM_MetaDOS long r; long key; int scan; DEBUG (("Fatal MiNT error: adjust debug level and hit a key...\r\n")); debug_ws ("MSG_fatal_reboot"); sys_q[READY_Q] = 0; /* prevent context switches */ restr_intr (); /* restore interrupts to normal */ for (;;) { /* get a key; if ctl-alt then do it, else halt */ key = Bconin (2); if ((key & 0x0c000000L) == 0x0c000000L) { scan = (int) ((key >> 16) & 0xff); do_func_key (scan); } else break; } for (;;) { debug_ws ("MSG_fatal_reboot"); r = Bconin (2); if (((r & 0x0ff) == 'x') || ((r & 0xff) == 's')) { close_filesys (); /* if the user pressed 's', try to sync before halting the system */ if ((r & 0xff) == 's') { debug_ws (MSG_debug_syncing); s_ync (); debug_ws (MSG_debug_syncdone); } } } #else for (;;) { debug_ws ("MSG_fatal_reboot"); } #endif // ARAnyM_MetaDOS } void do_func_key (int scan) { #ifndef ARAnyM_MetaDOS switch (scan) { # ifdef DEBUG_INFO /* F1: increase debugging level */ case 0x3b: { debug_level++; break; } /* F2: reduce debugging level */ case 0x3c: { if (debug_level > 0) --debug_level; break; } /* F3: cycle out_device */ case 0x3d: { out_device = out_next [out_device]; break; } /* F4: set out_device to console */ case 0x3e: { out_device = 2; break; } /* F5: dump memory */ case 0x3f: { DUMP_ALL_MEM (); break; } /* shift+F5: dump kernel allocated memory */ case 0x58: { km_config (KM_STAT_DUMP, 0); { static long mode = DISABLE; if (mode == ENABLE) mode = DISABLE; else mode = ENABLE; fatfs_config (0, FATFS_DEBUG, mode); fatfs_config (0, FATFS_DEBUG_T, mode); bio.config (0, BIO_DEBUG_T, mode); } break; } /* F6: dump processes */ case 0x40: { DUMPPROC (); _s_ync (); break; } # ifdef PROFILING /* shift+F6: control profiling */ case 0x59: { write_profiling (); break; } /* shift+F7: toogle profiling */ case 0x5A: { toogle_profiling (); break; } # endif /* F7: toggle debug_logging */ case 0x41: { debug_logging ^= 1; break; } # else /* F6: always print MiNT basepage */ case 0x40: { FORCE ("MiNT base %lx (%lx)", rootproc->base, _base); break; } # endif /* F8: dump log */ case 0x42: { DUMPLOG (); break; } # ifdef DEBUG_INFO /* F9: dump the global memory table */ case 0x43: { QUICKDUMP (); break; } /* shift-F9: dump the mmu tree */ case 0x5c: { BIG_MEM_DUMP (1, curproc); break; } /* F10: do an annotated dump of memory */ case 0x44: { BIG_MEM_DUMP (0, 0); break; } # endif } #endif // ARAnyM_MetaDOS } aranym-1.0.2/atari/hostfs/metados/debug.h000066400000000000000000000032151242022243000202720ustar00rootroot00000000000000/* * $Id$ * * The ARAnyM MetaDOS driver. * * 2002 STan * * Based on: * debug.h,v 1.2 2001/06/13 20:21:42 fna Exp * * This file has been modified as part of the FreeMiNT project. See * the file Changes.MH for details and dates. */ /* * Copyright 1991,1992 Eric R. Smith. * Copyright 1992,1993,1994 Atari Corporation. * All rights reserved. */ # ifndef _mint_debug_h # define _mint_debug_h extern int debug_level; extern int out_device; extern int debug_logging; /* * Extra terse settings - don't even output ALERTs unless asked to. * * Things that happen in on an idle Desktop are at LOW_LEVEL: * Psemaphore, Pmsg, Syield. */ # define FORCE_LEVEL 0 # define ALERT_LEVEL 1 # define DEBUG_LEVEL 2 # define TRACE_LEVEL 3 # define LOW_LEVEL 4 # ifndef DEBUG_INFO # define TRACELOW(x) # define TRACE(x) # define DEBUG(x) # else # define TRACELOW(s) \ do { if ((debug_level >= LOW_LEVEL) || debug_logging) Tracelow s ; } while (0) # define TRACE(s) \ do { if ((debug_level >= TRACE_LEVEL) || debug_logging) Trace s ; } while (0) # define DEBUG(s) \ do { if ((debug_level >= DEBUG_LEVEL) || debug_logging) Debug s ; } while (0) # endif /* DEBUG_INFO */ void debug_ws (const char *s); int _ALERT (char *); void _cdecl Tracelow (const char *s, ...); void _cdecl Trace (const char *s, ...); void _cdecl Debug (const char *s, ...); void _cdecl ALERT (const char *s, ...); void _cdecl FORCE (const char *s, ...); void PAUSE (void); EXITING _cdecl FATAL (const char *s, ...) NORETURN; EXITING halt (void) NORETURN; EXITING HALT (void) NORETURN; void DUMPLOG (void); void do_func_key (int); # endif /* _mint_debug_h */ aranym-1.0.2/atari/hostfs/metados/dosdir.c000066400000000000000000000765211242022243000204750ustar00rootroot00000000000000/* * $Id$ * * The ARAnyM MetaDOS driver. * * 2002 STan * * Based on: * dosdir.c,v 1.11 2001/10/23 09:09:14 fna Exp * * This file has been modified as part of the FreeMiNT project. See * the file Changes.MH for details and dates. * * * Copyright 1990,1991,1992 Eric R. Smith. * Copyright 1992,1993,1994 Atari Corporation. * All rights reserved. * */ /* DOS directory functions */ # include "dosdir.h" # include "libkern/libkern.h" # include "mint/filedesc.h" # include "mint/ioctl.h" # include "mint/pathconf.h" # include "mint/stat.h" # include "mint/emu_tos.h" # include "mint/credentials.h" # include "kerinfo.h" # include "filesys.h" # include "k_fds.h" # include "mintproc.h" # include "mintfake.h" long _cdecl sys_d_free (MetaDOSDir long *buf, int d) { PROC *p = curproc; fcookie *dir = 0; #ifdef ARAnyM_MetaDOS d = (int)tolower(pathNameMD[0])-'a'; dir = &p->p_cwd->root[d]; TRACE(("Dfree(%d)", d)); #else FILESYS *fs; fcookie root; long r; TRACE(("Dfree(%d)", d)); assert (p->p_fd && p->p_cwd); /* drive 0 means current drive, otherwise it's d-1 */ if (d) d = d - 1; else d = p->p_cwd->curdrv; /* If it's not a standard drive or an alias of one, get the pointer to * the filesystem structure and use the root directory of the * drive. */ if (d < 0 || d >= NUM_DRIVES) { int i; for (i = 0; i < NUM_DRIVES; i++) { if (aliasdrv[i] == d) { d = i; goto aliased; } } fs = get_filesys (d); if (!fs) return ENXIO; r = xfs_root (fs, d, &root); if (r < E_OK) return r; r = xfs_dfree (fs, &root, buf); release_cookie (&root); return r; } /* check for a media change -- we don't care much either way, but it * does keep the results more accurate */ (void)disk_changed(d); aliased: /* use current directory, not root, since it's more likely that * programs are interested in the latter (this makes U: work much * better) */ dir = &p->p_cwd->curdir[d]; #endif // ARAnyM_MetaDOS if (!dir->fs) { DEBUG(("Dfree: bad drive")); return ENXIO; } return xfs_dfree (dir->fs, dir, buf); } long _cdecl sys_d_create (MetaDOSDir const char *path) { PROC *p = curproc; fcookie dir; long r; char temp1[PATH_MAX]; XATTR xattr; ushort mode; TRACE(("Dcreate(%s)", path)); assert (p->p_fd && p->p_cwd); r = path2cookie(path, temp1, &dir); if (r) { DEBUG(("Dcreate(%s): returning %ld", path, r)); return r; } if (temp1[0] == '\0') { DEBUG(("Dcreate(%s): creating a NULL dir?", path)); release_cookie(&dir); return EBADARG; } /* check for write permission on the directory */ r = dir_access(&dir, S_IWOTH, &mode); if (r) { DEBUG(("Dcreate(%s): write access to directory denied",path)); release_cookie(&dir); return r; } if (mode & S_ISGID) { r = xfs_getxattr (dir.fs, &dir, &xattr); if (r) { DEBUG(("Dcreate(%s): file system returned %ld", path, r)); } else { ushort cur_gid = p->p_cred->rgid; ushort cur_egid = p->p_cred->ucr->egid; p->p_cred->rgid = p->p_cred->ucr->egid = xattr.gid; r = xfs_mkdir (dir.fs, &dir, temp1, (DEFAULT_DIRMODE & ~p->p_cwd->cmask) | S_ISGID); p->p_cred->rgid = cur_gid; p->p_cred->ucr->egid = cur_egid; } } else r = xfs_mkdir (dir.fs, &dir, temp1, DEFAULT_DIRMODE & ~p->p_cwd->cmask); release_cookie(&dir); return r; } long _cdecl sys_d_delete (MetaDOSDir const char *path) { struct ucred *cred = curproc->p_cred->ucr; fcookie parentdir, targdir; long r; XATTR xattr; char temp1[PATH_MAX]; ushort mode; TRACE(("Ddelete(%s)", path)); r = path2cookie (path, temp1, &parentdir); if (r) { DEBUG(("Ddelete(%s): error %lx", path, r)); release_cookie(&parentdir); return r; } /* check for write permission on the directory which the target * is located */ r = dir_access (&parentdir, S_IWOTH, &mode); if (r) { DEBUG(("Ddelete(%s): access to directory denied", path)); release_cookie (&parentdir); return r; } /* now get the info on the file itself */ r = relpath2cookie (&parentdir, temp1, NULL, &targdir, 0); if (r) { bailout: release_cookie (&parentdir); DEBUG(("Ddelete: error %ld on %s", r, path)); return r; } r = xfs_getxattr (targdir.fs, &targdir, &xattr); if (r) { release_cookie (&targdir); goto bailout; } /* check effective uid if sticky bit is set in parent */ if ((mode & S_ISVTX) && cred->euid && cred->euid != xattr.uid) { release_cookie (&targdir); release_cookie (&parentdir); DEBUG(("Ddelete: sticky bit set and not owner")); return EACCES; } /* if the "directory" is a symbolic link, really unlink it */ if ((xattr.mode & S_IFMT) == S_IFLNK) { release_cookie (&targdir); r = xfs_remove (parentdir.fs, &parentdir, temp1); } else if ((xattr.mode & S_IFMT) != S_IFDIR) { DEBUG(("Ddelete: %s is not a directory", path)); r = ENOTDIR; } else { #ifndef ARAnyM_MetaDOS PROC *p; int i; /* don't delete anyone else's root or current directory */ for (p = proclist; p; p = p->gl_next) { struct cwd *cwd = p->p_cwd; if (p->wait_q == ZOMBIE_Q || p->wait_q == TSR_Q) continue; assert (cwd); for (i = 0; i < NUM_DRIVES; i++) { if (samefile (&targdir, &cwd->root[i])) { DEBUG(("Ddelete: directory %s is a root directory", path)); release_cookie (&targdir); release_cookie (&parentdir); return EACCES; } else if (i == cwd->curdrv && p != curproc && samefile (&targdir, &cwd->curdir[i])) { DEBUG(("Ddelete: directory %s is in use", path)); release_cookie (&targdir); release_cookie (&parentdir); return EACCES; } } } /* Wait with this until everything has been verified */ for (p = proclist; p; p = p->gl_next) { struct cwd *cwd = p->p_cwd; if (p->wait_q == ZOMBIE_Q || p->wait_q == TSR_Q) continue; assert (cwd); for (i = 0; i < NUM_DRIVES; i++) { if (samefile (&targdir, &cwd->curdir[i])) { release_cookie (&cwd->curdir[i]); dup_cookie (&cwd->curdir[i], &cwd->root[i]); } } } #endif // ARAnyM_MetaDOS release_cookie (&targdir); r = xfs_rmdir (parentdir.fs, &parentdir, temp1); } release_cookie (&parentdir); return r; } /* * Fsfirst/next are actually implemented in terms of opendir/readdir/closedir. */ long _cdecl sys_f_sfirst (MetaDOSDTA const char *path, int attrib) { PROC *p = curproc; char *s, *slash; FILESYS *fs; fcookie dir, newdir; DTABUF *dta; DIR *dirh; XATTR xattr; long r; int i, havelabel; char temp1[PATH_MAX]; ushort mode; TRACE(("Fsfirst(%s, %x)", path, attrib)); r = path2cookie (path, temp1, &dir); if (r) { DEBUG(("Fsfirst(%s): path2cookie returned %ld", path, r)); return r; } /* we need to split the last name (which may be a pattern) off from * the rest of the path, even if FS_KNOPARSE is true */ slash = 0; s = temp1; while (*s) { if (*s == '\\') slash = s; s++; } if (slash) { *slash++ = 0; /* slash now points to a name or pattern */ r = relpath2cookie (&dir, temp1, follow_links, &newdir, 0); release_cookie (&dir); if (r) { DEBUG(("Fsfirst(%s): lookup returned %ld", path, r)); return r; } dir = newdir; } else slash = temp1; /* BUG? what if there really is an empty file name? */ if (!*slash) { DEBUG(("Fsfirst: empty pattern")); return ENOENT; } fs = dir.fs; #ifndef ARAnyM_MetaDOS dta = p->p_fd->dta; #else dta = dtaMD; #endif /* Now, see if we can find a DIR slot for the search. We use the * following heuristics to try to avoid destroying a slot: * (1) if the search doesn't use wildcards, don't bother with a slot * (2) if an existing slot was for the same DTA address, re-use it * (3) if there's a free slot, re-use it. Slots are freed when the * corresponding search is terminated. */ for (i = 0; i < NUM_SEARCH; i++) { if (p->p_fd->srchdta[i] == dta) { dirh = &p->p_fd->srchdir[i]; if (dirh->fc.fs) { xfs_closedir (dirh->fc.fs, dirh); release_cookie(&dirh->fc); dirh->fc.fs = 0; } p->p_fd->srchdta[i] = 0; /* slot is now free */ } } /* copy the pattern over into dta_pat into TOS 8.3 form * remember that "slash" now points at the pattern * (it follows the last, if any) */ copy8_3 (dta->dta_pat, slash); /* if (attrib & FA_LABEL), read the volume label * * BUG: the label date and time are wrong. ISO/IEC 9293 14.3.3 allows this. * The Desktop set also date and time to 0 when formatting a floppy disk. */ havelabel = 0; if (attrib & FA_LABEL) { r = xfs_readlabel (fs, &dir, dta->dta_name, TOS_NAMELEN+1); dta->dta_attrib = FA_LABEL; dta->dta_time = dta->dta_date = 0; dta->dta_size = 0; dta->magic = EVALID; if (r == E_OK && !pat_match (dta->dta_name, dta->dta_pat)) r = ENOENT; if ((attrib & (FA_DIR|FA_LABEL)) == FA_LABEL) return r; else if (r == E_OK) havelabel = 1; } DEBUG(("Fsfirst(): havelabel = %d",havelabel)); if (!havelabel && has_wild (slash) == 0) { /* no wild cards in pattern */ r = relpath2cookie (&dir, slash, follow_links, &newdir, 0); if (r == E_OK) { r = xfs_getxattr (newdir.fs, &newdir, &xattr); release_cookie (&newdir); } release_cookie (&dir); if (r) { DEBUG(("Fsfirst(%s): couldn't get file attributes",path)); return r; } dta->magic = EVALID; dta->dta_attrib = xattr.attr; dta->dta_size = xattr.size; if (fs->fsflags & FS_EXT_3) { /* UTC -> localtime -> DOS style */ *((long *) &(dta->dta_time)) = dostime (*((long *) &(xattr.mtime)) - timezone); } else { dta->dta_time = xattr.mtime; dta->dta_date = xattr.mdate; } strncpy (dta->dta_name, slash, TOS_NAMELEN-1); dta->dta_name[TOS_NAMELEN-1] = 0; if (p->domain == DOM_TOS && !(fs->fsflags & FS_CASESENSITIVE)) strupr (dta->dta_name); return E_OK; } /* There is a wild card. Try to find a slot for an opendir/readdir * search. NOTE: we also come here if we were asked to search for * volume labels and found one. */ for (i = 0; i < NUM_SEARCH; i++) { if (p->p_fd->srchdta[i] == 0) break; } if (i == NUM_SEARCH) { int oldest = 0; long oldtime = curproc->p_fd->srchtim[0]; DEBUG(("Fsfirst(%s): having to re-use a directory slot!", path)); for (i = 1; i < NUM_SEARCH; i++) { if (p->p_fd->srchtim[i] < oldtime) { oldest = i; oldtime = p->p_fd->srchtim[i]; } } /* OK, close this directory for re-use */ i = oldest; dirh = &p->p_fd->srchdir[i]; if (dirh->fc.fs) { xfs_closedir (dirh->fc.fs, dirh); release_cookie(&dirh->fc); dirh->fc.fs = 0; } /* invalidate re-used DTA */ p->p_fd->srchdta[i]->magic = EVALID; p->p_fd->srchdta[i] = 0; } /* check to see if we have read permission on the directory (and make * sure that it really is a directory!) */ r = dir_access(&dir, S_IROTH, &mode); if (r) { DEBUG(("Fsfirst(%s): access to directory denied (error code %ld)", path, r)); release_cookie(&dir); return r; } /* set up the directory for a search */ dirh = &p->p_fd->srchdir[i]; dirh->fc = dir; dirh->index = 0; dirh->flags = TOS_SEARCH; r = xfs_opendir (dir.fs, dirh, dirh->flags); if (r != E_OK) { DEBUG(("Fsfirst(%s): couldn't open directory (error %ld)", path, r)); release_cookie(&dir); return r; } /* mark the slot as in-use */ p->p_fd->srchdta[i] = dta; /* set up the DTA for Fsnext */ dta->index = i; dta->magic = SVALID; dta->dta_sattrib = attrib; /* OK, now basically just do Fsnext, except that instead of ENMFILES we * return ENOENT. * NOTE: If we already have found a volume label from the search above, * then we skip the sys_f_snext and just return that. */ if (havelabel) return E_OK; r = sys_f_snext(MetaDOSDTA0pass); if (r == ENMFILES) r = ENOENT; if (r) TRACE(("Fsfirst: returning %ld", r)); /* release_cookie isn't necessary, since &dir is now stored in the * DIRH structure and will be released when the search is completed */ return r; } /* * Counter for Fsfirst/Fsnext, so that we know which search slots are * least recently used. This is updated once per second by the code * in timeout.c. * BUG: 1/second is pretty low granularity */ long searchtime; long _cdecl sys_f_snext (MetaDOSDTA0) { PROC *p = curproc; char buf[TOS_NAMELEN+1]; #ifndef ARAnyM_MetaDOS DTABUF *dta = p->p_fd->dta; #else DTABUF *dta = dtaMD; #endif // ARAnyM_MetaDOS FILESYS *fs; fcookie fc; ushort i; DIR *dirh; long r; XATTR xattr; #if 0 if (1) { char *buf[TOS_NAMELEN+1]; static int count = 0; static char *test = "HOSTFS"; while( count++ < 100 ) { dta->dta_attrib = 0x20; dta->dta_size = 100; dta->dta_time = 0; dta->dta_date = 0; strcpy(dta->dta_name, test); DEBUG (("Fsnext(%s.%ld): ", dta->dta_name, sizeof(struct dtabuf))); return E_OK; } return ENMFILES; } #endif TRACE (("Fsnext")); if (dta->magic == EVALID) { DEBUG (("Fsnext(%lx): DTA marked a failing search", dta)); return ENMFILES; } if (dta->magic != SVALID) { DEBUG (("Fsnext(%lx): dta incorrectly set up", dta)); return ENOSYS; } i = dta->index; if (i >= NUM_SEARCH) { DEBUG (("Fsnext(%lx): DTA has invalid index", dta)); return EBADARG; } dirh = &p->p_fd->srchdir[i]; #ifndef ARAnyM_MetaDOS p->p_fd->srchtim[i] = searchtime; #else p->p_fd->srchtim[i] = searchtime++; #endif // ARAnyM_MetaDOS fs = dirh->fc.fs; if (!fs) { /* oops -- the directory got closed somehow */ DEBUG (("Fsnext(%lx): invalid filesystem", dta)); return EINTERNAL; } /* BUG: sys_f_snext and readdir should check for disk media changes */ for(;;) { r = xfs_readdir (fs, dirh, buf, TOS_NAMELEN+1, &fc); if (r == EBADARG) { DEBUG(("Fsnext: name too long")); continue; /* TOS programs never see these names */ } if (r != E_OK) { baderror: if (dirh->fc.fs) (void) xfs_closedir (fs, dirh); release_cookie(&dirh->fc); dirh->fc.fs = 0; p->p_fd->srchdta[i] = 0; dta->magic = EVALID; if (r != ENMFILES) DEBUG(("Fsnext: returning %ld", r)); return r; } if (!pat_match (buf, dta->dta_pat)) { release_cookie (&fc); continue; /* different patterns */ } /* check for search attributes */ r = xfs_getxattr (fc.fs, &fc, &xattr); if (r) { DEBUG(("Fsnext: couldn't get file attributes")); release_cookie (&fc); goto baderror; } /* if the file is a symbolic link, try to find what it's linked to */ if ((xattr.mode & S_IFMT) == S_IFLNK) { char linkedto[PATH_MAX]; r = xfs_readlink (fc.fs, &fc, linkedto, PATH_MAX); release_cookie (&fc); if (r == E_OK) { /* the "1" tells relpath2cookie that we read a link */ r = relpath2cookie (&dirh->fc, linkedto, follow_links, &fc, 1); if (r == E_OK) { r = xfs_getxattr (fc.fs, &fc, &xattr); release_cookie (&fc); } } if (r) DEBUG(("Fsnext: couldn't follow link: error %ld", r)); } else release_cookie (&fc); /* silly TOS rules for matching attributes */ if (xattr.attr == 0) break; if (xattr.attr & (FA_CHANGED|FA_RDONLY)) break; if (dta->dta_sattrib & xattr.attr) break; } /* here, we have a match */ if (fs->fsflags & FS_EXT_3) { /* UTC -> localtime -> DOS style */ *((long *) &(dta->dta_time)) = dostime (*((long *) &(xattr.mtime)) - timezone); } else { dta->dta_time = xattr.mtime; dta->dta_date = xattr.mdate; } dta->dta_attrib = xattr.attr; dta->dta_size = xattr.size; strcpy (dta->dta_name, buf); if (p->domain == DOM_TOS && !(fs->fsflags & FS_CASESENSITIVE)) strupr (dta->dta_name); return E_OK; } long _cdecl sys_f_attrib (MetaDOSFile const char *name, int rwflag, int attr) { PROC *p = curproc; struct ucred *cred = p->p_cred->ucr; fcookie fc; XATTR xattr; long r; DEBUG(("Fattrib(%s, %d)", name, attr)); r = path2cookie (name, follow_links, &fc); if (r) { DEBUG(("Fattrib(%s): error %ld", name, r)); return r; } r = xfs_getxattr (fc.fs, &fc, &xattr); if (r) { DEBUG(("Fattrib(%s): getxattr returned %ld", name, r)); release_cookie (&fc); return r; } if (rwflag) { if (attr & ~(FA_CHANGED|FA_DIR|FA_SYSTEM|FA_HIDDEN|FA_RDONLY) || (attr & FA_DIR) != (xattr.attr & FA_DIR)) { DEBUG(("Fattrib(%s): illegal attributes specified",name)); r = EACCES; } else if (cred->euid && cred->euid != xattr.uid) { DEBUG(("Fattrib(%s): not the file's owner",name)); r = EACCES; } else if (xattr.attr & FA_LABEL) { DEBUG(("Fattrib(%s): file is a volume label", name)); r = EACCES; } else r = xfs_chattr (fc.fs, &fc, attr); release_cookie (&fc); return r; } else { release_cookie (&fc); return xattr.attr; } } long _cdecl sys_f_delete (MetaDOSFile const char *name) { PROC *p = curproc; struct ucred *cred = p->p_cred->ucr; fcookie dir, fc; XATTR xattr; long r; char temp1[PATH_MAX]; ushort mode; TRACE(("Fdelete(%s)", name)); /* get a cookie for the directory the file is in */ r = path2cookie (name, temp1, &dir); if (r) { DEBUG(("Fdelete: couldn't get directory cookie: error %ld", r)); return r; } /* check for write permission on directory */ r = dir_access (&dir, S_IWOTH, &mode); if (r) { DEBUG(("Fdelete(%s): write access to directory denied",name)); release_cookie (&dir); return EACCES; } /* now get the file attributes */ r = xfs_lookup (dir.fs, &dir, temp1, &fc); if (r) { DEBUG(("Fdelete: error %ld while looking for %s", r, temp1)); release_cookie (&dir); return r; } r = xfs_getxattr (fc.fs, &fc, &xattr); if (r < E_OK) { release_cookie (&dir); release_cookie (&fc); DEBUG(("Fdelete: couldn't get file attributes: error %ld", r)); return r; } /* do not allow directories to be deleted */ if ((xattr.mode & S_IFMT) == S_IFDIR) { release_cookie (&dir); release_cookie (&fc); DEBUG(("Fdelete: %s is a directory", name)); return EISDIR; } /* check effective uid if directories sticky bit is set */ if ((mode & S_ISVTX) && cred->euid && cred->euid != xattr.uid) { release_cookie (&dir); release_cookie (&fc); DEBUG(("Fdelete: sticky bit set and not owner")); return EACCES; } /* TOS domain processes can only delete files if they have write permission * for them */ if (p->domain == DOM_TOS) { /* see if we're allowed to kill it */ if (denyaccess (&xattr, S_IWOTH)) { release_cookie (&dir); release_cookie (&fc); DEBUG(("Fdelete: file access denied")); return EACCES; } } release_cookie (&fc); r = xfs_remove (dir.fs, &dir,temp1); release_cookie (&dir); return r; } long _cdecl sys_f_rename (MetaDOSFile int junk, const char *old, const char *new) { PROC *p = curproc; struct ucred *cred = p->p_cred->ucr; fcookie olddir, newdir, oldfil; XATTR xattr; char temp1[PATH_MAX], temp2[PATH_MAX]; long r; ushort mode; /* ignored, for TOS compatibility */ UNUSED(junk); TRACE(("Frename(%s, %s)", old, new)); r = path2cookie (old, temp2, &olddir); if (r) { DEBUG(("Frename(%s,%s): error parsing old name",old,new)); return r; } /* check for permissions on the old file * GEMDOS doesn't allow rename if the file is FA_RDONLY * we enforce this restriction only on regular files; processes, * directories, and character special files can be renamed at will */ r = relpath2cookie (&olddir, temp2, (char *)0, &oldfil, 0); if (r) { DEBUG(("Frename(%s,%s): old file not found",old,new)); release_cookie (&olddir); return r; } r = xfs_getxattr (oldfil.fs, &oldfil, &xattr); release_cookie (&oldfil); if (r || ((xattr.mode & S_IFMT) == S_IFREG && ((xattr.attr & FA_RDONLY) && cred->euid && (cred->euid != xattr.uid)))) { /* Only SuperUser and the owner of the file are allowed to rename * readonly files */ DEBUG(("Frename(%s,%s): access to old file not granted",old,new)); release_cookie (&olddir); return EACCES; } r = path2cookie(new, temp1, &newdir); if (r) { DEBUG(("Frename(%s,%s): error parsing new name",old,new)); release_cookie (&olddir); return r; } if (newdir.fs != olddir.fs) { DEBUG(("Frename(%s,%s): different file systems",old,new)); release_cookie (&olddir); release_cookie (&newdir); /* cross device rename */ return EXDEV; } /* check for write permission on both directories */ r = dir_access (&olddir, S_IWOTH, &mode); if (!r && (mode & S_ISVTX) && cred->euid && cred->euid != xattr.uid) r = EACCES; if (!r) r = dir_access (&newdir, S_IWOTH, &mode); if (r) DEBUG(("Frename(%s,%s): access to a directory denied",old,new)); else r = xfs_rename (newdir.fs, &olddir, temp2, &newdir, temp1); release_cookie (&olddir); release_cookie (&newdir); return r; } /* * GEMDOS extension: Dpathconf(name, which) * * returns information about filesystem-imposed limits; "name" is the name * of a file or directory about which the limit information is requested; * "which" is the limit requested, as follows: * -1 max. value of "which" allowed * 0 internal limit on open files, if any * 1 max. number of links to a file {LINK_MAX} * 2 max. path name length {PATH_MAX} * 3 max. file name length {NAME_MAX} * 4 no. of bytes in atomic write to FIFO {PIPE_BUF} * 5 file name truncation rules * 6 file name case translation rules * * unlimited values are returned as 0x7fffffffL * * see also Sysconf() in dos.c */ long _cdecl sys_d_pathconf (MetaDOSDir const char *name, int which) { fcookie dir; long r; r = path2cookie (name, NULL, &dir); if (r) { DEBUG(("Dpathconf(%s): bad path",name)); return r; } r = xfs_pathconf (dir.fs, &dir, which); if (which == DP_CASE && r == ENOSYS) { /* backward compatibility with old .XFS files */ r = (dir.fs->fsflags & FS_CASESENSITIVE) ? DP_CASESENS : DP_CASEINSENS; } release_cookie (&dir); return r; } /* * GEMDOS extension: Opendir/Readdir/Rewinddir/Closedir * * offer a new, POSIX-like alternative to Fsfirst/Fsnext, * and as a bonus allow for arbitrary length file names */ long _cdecl sys_d_opendir (MetaDOSDir const char *name, int flag) { PROC *p = curproc; #ifndef ARAnyM_MetaDOS DIR *dirh; #else DIR *dirh = dirMD; #endif fcookie dir; long r; ushort mode; r = path2cookie (name, follow_links, &dir); if (r) { DEBUG(("Dopendir(%s): error %ld", name, r)); return r; } r = dir_access (&dir, S_IROTH, &mode); if (r) { DEBUG(("Dopendir(%s): read permission denied", name)); release_cookie (&dir); return r; } #ifndef ARAnyM_MetaDOS dirh = kmalloc (sizeof (*dirh)); if (!dirh) { release_cookie (&dir); return ENOMEM; } #endif dirh->fc = dir; dirh->index = 0; dirh->flags = flag; r = xfs_opendir (dir.fs, dirh, flag); if (r) { DEBUG(("sys_d_opendir(%s): opendir returned %ld", name, r)); release_cookie (&dir); #ifndef ARAnyM_MetaDOS kfree (dirh); #endif return r; } /* we keep a chain of open directories so that if a process * terminates without closing them all, we can clean up */ dirh->next = p->p_fd->searches; p->p_fd->searches = dirh; return (long) dirh; } long _cdecl sys_d_readdir (MetaDOSDir int len, long handle, char *buf) { #ifndef ARAnyM_MetaDOS DIR *dirh = (DIR *) handle; #else DIR *dirh = dirMD; #endif fcookie fc; long r; if (!dirh->fc.fs) return EBADF; r = xfs_readdir (dirh->fc.fs, dirh, buf, len, &fc); if (r == E_OK) release_cookie (&fc); DEBUG(("sys_d_readdir(): returned %ld", r)); return r; } /* jr: just as sys_d_readdir, but also returns XATTR structure (not * following links). Note that the return value reflects the * result of the Dreaddir operation, the result of the Fxattr * operation is stored in long *xret */ long _cdecl sys_d_xreaddir (MetaDOSDir int len, long handle, char *buf, XATTR *xattr, long *xret) { #ifndef ARAnyM_MetaDOS DIR *dirh = (DIR *) handle; #else DIR *dirh = dirMD; #endif fcookie fc; long r; if (!dirh->fc.fs) return EBADF; r = xfs_readdir (dirh->fc.fs, dirh, buf, len, &fc); if (r != E_OK) return r; *xret = xfs_getxattr (fc.fs, &fc, xattr); if ((*xret == E_OK) && (fc.fs->fsflags & FS_EXT_3)) { /* UTC -> localtime -> DOS style */ *((long *) &(xattr->mtime)) = dostime (*((long *) &(xattr->mtime)) - timezone); *((long *) &(xattr->atime)) = dostime (*((long *) &(xattr->atime)) - timezone); *((long *) &(xattr->ctime)) = dostime (*((long *) &(xattr->ctime)) - timezone); } release_cookie (&fc); return r; } long _cdecl sys_d_rewind (MetaDOSDir long handle) { #ifndef ARAnyM_MetaDOS DIR *dirh = (DIR *) handle; #else DIR *dirh = dirMD; #endif if (!dirh->fc.fs) return EBADF; return xfs_rewinddir (dirh->fc.fs, dirh); } /* * NOTE: there is also code in terminate() in dosmem.c that * does automatic closes of directory searches. * If you change sys_d_closedir(), you may also need to change * terminate(). */ long _cdecl sys_d_closedir (MetaDOSDir long handle) { PROC *p = curproc; #ifndef ARAnyM_MetaDOS DIR *dirh = (DIR *)handle; #else DIR *dirh = dirMD; #endif DIR **where; long r; where = &p->p_fd->searches; while (*where && *where != dirh) where = &((*where)->next); if (!*where) { DEBUG(("Dclosedir: not an open directory")); return EBADF; } /* unlink the directory from the chain */ *where = dirh->next; if (dirh->fc.fs) { r = xfs_closedir (dirh->fc.fs, dirh); release_cookie (&dirh->fc); } else r = E_OK; if (r) DEBUG(("Dclosedir: error %ld", r)); #ifndef ARAnyM_MetaDOS kfree (dirh); #endif return r; } /* * GEMDOS extension: Fxattr(flag, file, xattr) * * gets extended attributes for a file. * flag is 0 if symbolic links are to be followed (like stat), * flag is 1 if not (like lstat). */ long _cdecl sys_f_xattr (MetaDOSFile int flag, const char *name, XATTR *xattr) { fcookie fc; long r; TRACE (("Fxattr(%d, %s)", flag, name)); r = path2cookie (name, flag ? NULL : follow_links, &fc); if (r) { DEBUG (("Fxattr(%s): path2cookie returned %ld", name, r)); return r; } r = xfs_getxattr (fc.fs, &fc, xattr); if (r) { DEBUG (("Fxattr(%s): returning %ld", name, r)); } else if (fc.fs->fsflags & FS_EXT_3) { /* UTC -> localtime -> DOS style */ *((long *) &(xattr->mtime)) = dostime (*((long *) &(xattr->mtime)) - timezone); *((long *) &(xattr->atime)) = dostime (*((long *) &(xattr->atime)) - timezone); *((long *) &(xattr->ctime)) = dostime (*((long *) &(xattr->ctime)) - timezone); } release_cookie (&fc); return r; } /* * GEMDOS-extension: Dreadlabel(path, buf, buflen) * * original written by jr */ long _cdecl sys_d_readlabel (MetaDOSDir const char *name, char *buf, int buflen) { fcookie dir; long r; r = path2cookie (name, NULL, &dir); if (r) { DEBUG (("Dreadlabel(%s): bad path", name)); return r; } r = xfs_readlabel (dir.fs, &dir, buf, buflen); release_cookie (&dir); return r; } /* * GEMDOS-extension: Dwritelabel(path, newlabel) * * original written by jr */ long _cdecl sys_d_writelabel (MetaDOSDir const char *name, const char *label) { fcookie dir; long r; #ifndef ARAnyM_MetaDOS PROC *p = curproc; struct ucred *cred = p->p_cred->ucr; /* Draco: in secure mode only superuser can write labels */ if (secure_mode && (cred->euid)) { DEBUG (("Dwritelabel(%s): access denied", name)); return EACCES; } #endif // ARAnyM_MetaDOS r = path2cookie (name, NULL, &dir); if (r) { DEBUG (("Dwritelabel(%s): bad path",name)); return r; } r = xfs_writelabel (dir.fs, &dir, label); release_cookie (&dir); return r; } aranym-1.0.2/atari/hostfs/metados/dosdir.h000066400000000000000000000031651242022243000204740ustar00rootroot00000000000000/* * $Id$ * * The ARAnyM MetaDOS driver. * * 2002 STan * * Based on: * dosdir.h,v 1.2 2001/06/13 20:21:14 fna Exp * * This file has been modified as part of the FreeMiNT project. See * the file Changes.MH for details and dates. */ # ifndef _dosdir_h # define _dosdir_h # include "mint/mint.h" # include "mint/file.h" # include "mintfake.h" /* table of processes holding locks on drives */ extern PROC *dlockproc [NUM_DRIVES]; extern long searchtime; long _cdecl sys_d_free (MetaDOSDir long *buf, int d); long _cdecl sys_d_create (MetaDOSDir const char *path); long _cdecl sys_d_delete (MetaDOSDir const char *path); long _cdecl sys_f_sfirst (MetaDOSDTA const char *path, int attrib); long _cdecl sys_f_snext (MetaDOSDTA0); long _cdecl sys_f_attrib (MetaDOSFile const char *name, int rwflag, int attr); long _cdecl sys_f_delete (MetaDOSFile const char *name); long _cdecl sys_f_rename (MetaDOSFile int junk, const char *old, const char *new); long _cdecl sys_d_pathconf (MetaDOSDir const char *name, int which); long _cdecl sys_d_opendir (MetaDOSDir const char *path, int flags); long _cdecl sys_d_readdir (MetaDOSDir int len, long handle, char *buf); long _cdecl sys_d_xreaddir (MetaDOSDir int len, long handle, char *buf, XATTR *xattr, long *xret); long _cdecl sys_d_rewind (MetaDOSDir long handle); long _cdecl sys_d_closedir (MetaDOSDir long handle); long _cdecl sys_f_xattr (MetaDOSFile int flag, const char *name, XATTR *xattr); long _cdecl sys_d_readlabel (MetaDOSDir const char *path, char *label, int maxlen); long _cdecl sys_d_writelabel (MetaDOSDir const char *path, const char *label); # endif /* _dosdir_h */ aranym-1.0.2/atari/hostfs/metados/dosfile.c000066400000000000000000000153231242022243000206270ustar00rootroot00000000000000/* * $Id$ * * The ARAnyM MetaDOS driver. * * 2002 STan * * Based on: * dosfile.c,v 1.20 2001/06/13 20:21:14 fna Exp * * This file has been modified as part of the FreeMiNT project. See * the file Changes.MH for details and dates. * * * Copyright 1990,1991,1992 Eric R. Smith. * Copyright 1992,1993,1994 Atari Corporation. * All rights reserved. * */ /* DOS file handling routines */ # include "dosfile.h" # include "libkern/libkern.h" # include "mint/filedesc.h" # include "mint/ioctl.h" # include "mint/iov.h" # include "mint/net.h" # include "mint/fcntl.h" # include "mint/emu_tos.h" # include "mint/time.h" # include "debug.h" # include "filesys.h" # include "k_fds.h" # include "mintproc.h" # include "mintfake.h" /* wait condition for selecting processes which got collisions */ short select_coll; long _cdecl sys_f_open (MetaDOSFile const char *name, short mode) { PROC *p = curproc; FILEPTR *fp = NULL; short fd = MIN_OPEN - 1; # if O_GLOBAL int global = 0; #endif long ret; TRACE (("Fopen(%s, %x)", name, mode)); # if O_GLOBAL if (mode & O_GLOBAL) { if (p->p_cred->ucr->euid) { DEBUG (("Fopen(%s): O_GLOBAL denied for non root")); return EPERM; } /* from now the sockets are clean */ if (!stricmp (name, "u:\\dev\\socket")) { ALERT ("O_GLOBAL for sockets denied; update your network tools"); return EINVAL; } ALERT ("Opening a global handle (%s)", name); p = rootproc; global = 1; } # endif /* make sure the mode is legal */ mode &= O_USER; /* note: file mode 3 is reserved for the kernel; * for users, transmogrify it into O_RDWR (mode 2) */ if ((mode & O_RWMODE) == O_EXEC) mode = (mode & ~O_RWMODE) | O_RDWR; assert (p->p_fd && p->p_cwd); ret = FD_ALLOC (p, &fd, MIN_OPEN); if (ret) goto error; ret = FP_ALLOC (p, &fp); if (ret) goto error; ret = do_open (&fp, name, mode, 0, NULL); if (ret) goto error; /* activate the fp, default is to close non-standard files on exec */ FP_DONE (p, fp, fd, FD_CLOEXEC); # if O_GLOBAL if (global) /* we just opened a global handle */ fd += 100; # endif TRACE (("Fopen: returning %d", fd)); return fd; error: if (fd >= MIN_OPEN) FD_REMOVE (p, fd); if (fp) { fp->links--; FP_FREE (fp); } return ret; } long _cdecl sys_f_create (MetaDOSFile const char *name, short attrib) { PROC *p = curproc; FILEPTR *fp = NULL; short fd = MIN_OPEN - 1; long ret; TRACE (("Fcreate(%s, %x)", name, attrib)); # if O_GLOBAL if (attrib & O_GLOBAL) { DEBUG (("Fcreate(%s): O_GLOBAL denied")); return EPERM; } # endif assert (p->p_fd && p->p_cwd); ret = FD_ALLOC (p, &fd, MIN_OPEN); if (ret) goto error; ret = FP_ALLOC (p, &fp); if (ret) goto error; if (attrib == FA_LABEL) { char temp1[PATH_MAX]; fcookie dir; #ifndef ARAnyM_MetaDOS /* just in case the caller tries to do something with this handle, * make it point to u:\dev\null */ ret = do_open (&fp, "u:\\dev\\null", O_RDWR|O_CREAT|O_TRUNC, 0, NULL); if (ret) goto error; #endif // ARAnyM_MetaDOS ret = path2cookie (name, temp1, &dir); if (ret) goto error; ret = xfs_writelabel (dir.fs, &dir, temp1); release_cookie (&dir); if (ret) goto error; } else if (attrib & (FA_LABEL|FA_DIR)) { DEBUG (("Fcreate(%s,%x): illegal attributes", name, attrib)); ret = EACCES; goto error; } else { ret = do_open (&fp, name, O_RDWR|O_CREAT|O_TRUNC, attrib, NULL); if (ret) { DEBUG (("Fcreate(%s) failed, error %d", name, ret)); goto error; } } /* activate the fp, default is to close non-standard files on exec */ FP_DONE (p, fp, fd, FD_CLOEXEC); TRACE (("Fcreate: returning %d", fd)); return fd; error: if (fd >= MIN_OPEN) FD_REMOVE (p, fd); if (fp) { fp->links--; FP_FREE (fp); } return ret; } long _cdecl sys_f_close (MetaDOSFile short fd) { PROC *p = curproc; FILEPTR *f; long r; TRACE (("Fclose: %d", fd)); r = GETFILEPTR (&p, &fd, &f); if (r) return r; r = do_close (p, f); /* XXX do this before do_close? */ FD_REMOVE (p, fd); # if 0 /* standard handles should be restored to default values * in TOS domain! * * XXX: why? */ if (p->domain == DOM_TOS) { f = NULL; if (fd == 0 || fd == 1) f = p->p_fd->ofiles[-1]; else if (fd == 2 || fd == 3) f = p->p_fd->ofiles[-fd]; if (f) { FP_DONE (p, f, fd, 0); f->links++; } } # endif return r; } long _cdecl sys_f_read (MetaDOSFile short fd, long count, char *buf) { PROC *p = curproc; FILEPTR *f; long r; r = GETFILEPTR (&p, &fd, &f); if (r) return r; if ((f->flags & O_RWMODE) == O_WRONLY) { DEBUG (("Fread: read on a write-only handle")); return EACCES; } if (is_terminal (f)) return tty_read (f, buf, count); TRACELOW (("Fread: %ld bytes from handle %d to %lx", count, fd, buf)); return xdd_read (f, buf, count); } long _cdecl sys_f_write (MetaDOSFile short fd, long count, const char *buf) { PROC *p = curproc; FILEPTR *f; long r; r = GETFILEPTR (&p, &fd, &f); if (r) return r; if ((f->flags & O_RWMODE) == O_RDONLY) { DEBUG (("Fwrite: write on a read-only handle")); return EACCES; } if (is_terminal (f)) return tty_write (f, buf, count); /* Prevent broken device drivers from wiping the disk. * We return a zero rather than a negative error code * to help programs those don't handle GEMDOS errors * returned by Fwrite() */ if (count <= 0) { DEBUG (("Fwrite: invalid count: %d", count)); return 0; } /* it would be faster to do this in the device driver, but this * way the drivers are easier to write */ if (f->flags & O_APPEND) { r = xdd_lseek (f, 0L, SEEK_END); /* ignore errors from unseekable files (e.g. pipes) */ if (r == EACCES) r = 0; } else r = 0; if (r >= 0) { TRACELOW (("Fwrite: %ld bytes to handle %d", count, fd)); r = xdd_write (f, buf, count); } if (r < 0) DEBUG (("Fwrite: error %ld", r)); return r; } long _cdecl sys_f_seek (MetaDOSFile long place, short fd, short how) { PROC *p = curproc; FILEPTR *f; long r; TRACE (("Fseek(%ld, %d) on handle %d", place, how, fd)); r = GETFILEPTR (&p, &fd, &f); if (r) return r; if (is_terminal (f)) return 0; r = xdd_lseek (f, place, how); TRACE (("Fseek: returning %ld", r)); return r; } long _cdecl sys_f_datime (MetaDOSFile ushort *timeptr, short fd, short wflag) { PROC *p = curproc; FILEPTR *f; long r; TRACE (("%s(%i)", __FUNCTION__, fd)); r = GETFILEPTR (&p, &fd, &f); if (r) return r; /* some programs use Fdatime to test for TTY devices */ if (is_terminal (f)) return EACCES; if (f->fc.fs && f->fc.fs->fsflags & FS_EXT_3) { ulong t = 0; /* long r; */ if (wflag) t = unixtime (timeptr [0], timeptr [1]) + timezone; r = xdd_datime (f, (ushort *) &t, wflag); if (!r && !wflag) *(long *) timeptr = dostime (t - timezone); return r; } return xdd_datime (f, timeptr, wflag); } aranym-1.0.2/atari/hostfs/metados/dosfile.h000066400000000000000000000016001242022243000206250ustar00rootroot00000000000000/* * $Id$ * * The ARAnyM MetaDOS driver. * * 2002 STan * * Based on: * dosfile.h,v 1.7 2001/06/13 20:21:14 fna Exp * * This file has been modified as part of the FreeMiNT project. See * the file Changes.MH for details and dates. */ # ifndef _dosfile_h # define _dosfile_h # include "mint/mint.h" # include "mint/file.h" # include "mintfake.h" extern short select_coll; long _cdecl sys_f_open (MetaDOSFile const char *name, short mode); long _cdecl sys_f_create (MetaDOSFile const char *name, short attrib); long _cdecl sys_f_close (MetaDOSFile short fd); long _cdecl sys_f_read (MetaDOSFile short fd, long count, char *buf); long _cdecl sys_f_write (MetaDOSFile short fd, long count, const char *buf); long _cdecl sys_f_seek (MetaDOSFile long place, short fd, short how); long _cdecl sys_f_datime (MetaDOSFile ushort *timeptr, short fd, short wflag); # endif /* _dosfile_h */ aranym-1.0.2/atari/hostfs/metados/filesys.c000066400000000000000000000541501242022243000206610ustar00rootroot00000000000000/* * $Id$ * * The ARAnyM MetaDOS driver. * * 2002 STan * * Based on: * filesys.c,v 1.24 2002/01/25 09:23:52 fna Exp * * This file has been modified as part of the FreeMiNT project. See * the file Changes.MH for details and dates. * * * Copyright 1990,1991,1992 Eric R. Smith. * Copyright 1992,1993,1994 Atari Corp. * All rights reserved. * */ /* * various file system interface things */ # include "mintproc.h" # include "filesys.h" # include "libkern/libkern.h" # include "mint/stat.h" # include "mint/filedesc.h" # include "mint/emu_tos.h" # include "k_fds.h" # include "mintfake.h" #ifdef ARAnyM_MetaDOS #define changedrv(dev, _fnc_) #define disk_changed(dev) 0 #endif // ARAnyM_MetaDOS #if 1 #define PATH2COOKIE_DB(x) TRACE(x) #else #define PATH2COOKIE_DB(x) DEBUG(x) #endif # ifdef DEBUG_INFO # define DMA_DEBUG(x) FORCE x # else # define DMA_DEBUG(x) # endif long getxattr (FILESYS *fs, fcookie *fc, XATTR *xattr) { STAT stat; long r; assert (fs->fsflags & FS_EXT_3); r = xfs_stat64 (fs, fc, &stat); if (!r) { xattr->mode = stat.mode; xattr->index = stat.ino; xattr->dev = stat.dev; xattr->rdev = stat.rdev; xattr->nlink = stat.nlink; xattr->uid = stat.uid; xattr->gid = stat.gid; xattr->size = stat.size; xattr->blksize = stat.blksize; xattr->nblocks = (stat.blksize < 512) ? stat.blocks : stat.blocks / (stat.blksize >> 9); *((long *) &(xattr->mtime)) = stat.mtime.time; *((long *) &(xattr->atime)) = stat.atime.time; *((long *) &(xattr->ctime)) = stat.ctime.time; xattr->attr = 0; /* fake attr field a little bit */ if (S_ISDIR (stat.mode)) xattr->attr = FA_DIR; else if (!(stat.mode & 0222)) xattr->attr = FA_RDONLY;; xattr->reserved2 = 0; xattr->reserved3[0] = 0; xattr->reserved3[1] = 0; } return r; } long getstat64 (FILESYS *fs, fcookie *fc, STAT *stat) { XATTR xattr; long r; assert (fs->getxattr); r = xfs_getxattr (fs, fc, &xattr); if (!r) { stat->dev = xattr.dev; stat->ino = xattr.index; stat->mode = xattr.mode; stat->nlink = xattr.nlink; stat->uid = xattr.uid; stat->gid = xattr.gid; stat->rdev = xattr.rdev; /* no native UTC extension * -> convert to unix UTC */ stat->atime.high_time = 0; stat->atime.time = unixtime (xattr.atime, xattr.adate) + timezone; stat->atime.nanoseconds = 0; stat->mtime.high_time = 0; stat->mtime.time = unixtime (xattr.mtime, xattr.mdate) + timezone; stat->mtime.nanoseconds = 0; stat->ctime.high_time = 0; stat->ctime.time = unixtime (xattr.ctime, xattr.cdate) + timezone; stat->ctime.nanoseconds = 0; stat->size = xattr.size; stat->blocks = (xattr.blksize < 512) ? xattr.nblocks : xattr.nblocks * (xattr.blksize >> 9); stat->blksize = xattr.blksize; stat->flags = 0; stat->gen = 0; bzero (stat->res, sizeof (stat->res)); } return r; } /* * routines for parsing path names */ /* * relpath2cookie converts a TOS file name into a file cookie representing * the directory the file resides in, and a character string representing * the name of the file in that directory. The character string is * copied into the "lastname" array. If lastname is NULL, then the cookie * returned actually represents the file, instead of just the directory * the file is in. * * note that lastname, if non-null, should be big enough to contain all the * characters in "path", since if the file system doesn't want the kernel * to do path name parsing we may end up just copying path to lastname * and returning the current or root directory, as appropriate * * "relto" is the directory relative to which the search should start. * if you just want the current directory, use path2cookie instead. * */ long relpath2cookie (fcookie *relto, const char *path, char *lastname, fcookie *res, int depth) { static char newpath[16] = "U:\\DEV\\"; struct cwd *cwd = curproc->p_cwd; char temp2[PATH_MAX]; char linkstuff[PATH_MAX]; fcookie dir; int drv; XATTR xattr; long r; /* dolast: 0 == return a cookie for the directory the file is in * 1 == return a cookie for the file itself, don't follow links * 2 == return a cookie for whatever the file points at */ int dolast = 0; int i = 0; if (!path) return ENOTDIR; if (*path == '\0') return ENOENT; if (!lastname) { dolast = 1; lastname = temp2; } else if (lastname == follow_links) { dolast = 2; lastname = temp2; } *lastname = '\0'; PATH2COOKIE_DB (("relpath2cookie(%s, dolast=%d, depth=%d [relto %lx, %i])", path, dolast, depth, relto->fs, relto->dev)); if (depth > MAX_LINKS) { DEBUG (("Too many symbolic links")); return ELOOP; } /* special cases: CON:, AUX:, etc. should be converted to U:\DEV\CON, * U:\DEV\AUX, etc. */ # if 1 if (path[0] && path[1] && path[2] && (path[3] == ':') && !path[4]) # else if (strlen (path) == 4 && path[3] == ':') # endif { strncpy (newpath+7, path, 3); path = newpath; } /* first, check for a drive letter * * BUG: a '\' at the start of a symbolic link is relative to the * current drive of the process, not the drive the link is located on */ /* The check if the process runs chroot used to be inside the * conditional (triggering ENOTDIR for drive specs. IMHO its * cleaner to interpret it as a regular filename instead. * Rationale: The path "c:/auto" is actually the same as * "/c:/auto". If the process' root directory is not "/" but * maybe "/home/ftp" then we should interpret the same filename * now as "/home/ftp/c:/auto". */ if (path[1] == ':' && !cwd->root_dir) { char c = tolower ((int)path[0] & 0xff); if (c >= 'a' && c <= 'z') drv = c - 'a'; else if (c >= '1' && c <= '6') drv = 26 + (c - '1'); else goto nodrive; # if 1 /* if root_dir is set drive references are forbidden */ if (cwd->root_dir) return ENOTDIR; # endif path += 2; /* remember that we saw a drive letter */ i = 1; } else { nodrive: drv = cwd->curdrv; } /* see if the path is rooted from '\\' */ if (DIRSEP (*path)) { while (DIRSEP (*path)) path++; /* if root_dir is set this is our start point */ if (cwd->root_dir) dup_cookie (&dir, &cwd->rootdir); else { dup_cookie (&dir, &cwd->root[drv]); PATH2COOKIE_DB (("relpath2cookie: rooted and !root_dir (drv = %i, %lx, %li, %i) for dir", drv, dir.fs, dir.index, dir.dev)); } } else { if (i) { /* an explicit drive letter was given */ dup_cookie (&dir, &cwd->curdir[drv]); } else { PATH2COOKIE_DB (("relpath2cookie: using relto (%lx, %li, %i) for dir", relto->fs, relto->index, relto->dev)); dup_cookie (&dir, relto); } } if (!dir.fs && !cwd->root_dir) { changedrv (dir.dev, __FUNCTION__); dup_cookie (&dir, &cwd->root[drv]); } if (!dir.fs) { DEBUG (("relpath2cookie: no file system: returning ENXIO")); return ENXIO; } /* here's where we come when we've gone across a mount point */ restart_mount: /* see if there has been a disk change; if so, return ECHMEDIA. * path2cookie will restart the search automatically; other functions * that call relpath2cookie directly will have to fail gracefully. * Note that this check has to be done _before_ testing if the * remaining path is empty, as disk changes may otherwise get lost * when accessing a root directory, depending on the active * filesystem. */ if ((r = disk_changed (dir.dev)) != 0) { release_cookie (&dir); if (r > 0) r = ECHMEDIA; PATH2COOKIE_DB (("relpath2cookie: returning %d", r)); return r; } if (!*path) { /* nothing more to do */ PATH2COOKIE_DB (("relpath2cookie: no more path, returning 0")); *res = dir; return 0; } if (dir.fs->fsflags & FS_KNOPARSE) { if (!dolast) { PATH2COOKIE_DB (("fs is a KNOPARSE, nothing to do")); strncpy (lastname, path, PATH_MAX-1); lastname[PATH_MAX - 1] = '\0'; r = 0; *res = dir; } else { PATH2COOKIE_DB (("fs is a KNOPARSE, calling lookup")); r = xfs_lookup (dir.fs, &dir, path, res); if (r == EMOUNT) { /* hmmm... a ".." at a mount point, maybe */ fcookie mounteddir; r = xfs_root (dir.fs, dir.dev, &mounteddir); if (r == 0 && drv == UNIDRV) { if (dir.fs == mounteddir.fs && dir.index == mounteddir.index && dir.dev == mounteddir.dev) { release_cookie (&dir); release_cookie (&mounteddir); dup_cookie (&dir, &cwd->root[UNIDRV]); TRACE (("path2cookie: restarting from mount point")); goto restart_mount; } } else { if (r == 0) release_cookie (&mounteddir); r = 0; } } release_cookie (&dir); } PATH2COOKIE_DB (("relpath2cookie: returning %ld", r)); return r; } /* parse all but (possibly) the last component of the path name * * rules here: at the top of the loop, &dir is the cookie of * the directory we're in now, xattr is its attributes, and res is * unset at the end of the loop, &dir is unset, and either r is * nonzero (to indicate an error) or res is set to the final result */ r = xfs_getxattr (dir.fs, &dir, &xattr); if (r) { DEBUG (("couldn't get directory attributes")); release_cookie (&dir); return EINTERNAL; } while (*path) { /* now we must have a directory, since there are more things * in the path */ if ((xattr.mode & S_IFMT) != S_IFDIR) { PATH2COOKIE_DB (("relpath2cookie: not a directory, returning ENOTDIR")); release_cookie (&dir); r = ENOTDIR; break; } /* we must also have search permission for the directory */ if (denyaccess (&xattr, S_IXOTH)) { DEBUG (("search permission in directory denied")); release_cookie (&dir); /* r = ENOTDIR; */ r = EACCES; break; } /* skip slashes */ while (DIRSEP (*path)) path++; /* if there's nothing left in the path, we can break here * * fna: I think this is an error, e.g. * looking up: /foo/bar/ should result in an error, or? * at least there is no lastname, so clear it */ if (!*path) { PATH2COOKIE_DB (("relpath2cookie: no more path, breaking (1)")); *lastname = '\0'; /* no lastname */ *res = dir; break; } /* next, peel off the next name in the path */ { register int len; register char c, *s; len = 0; s = lastname; c = *path; while (c && !DIRSEP (c)) { if (len++ < PATH_MAX) *s++ = c; c = *++path; } *s = 0; } /* if there are no more names in the path, and we don't want * to actually look up the last name, then we're done */ if (dolast == 0 && !*path) { PATH2COOKIE_DB (("relpath2cookie: no more path, breaking (2)")); *res = dir; PATH2COOKIE_DB (("relpath2cookie: *res = [%lx, %i]", res->fs, res->dev)); break; } if (cwd->root_dir) { if (samefile (&dir, &cwd->rootdir) && lastname[0] == '.' && lastname[1] == '.' && lastname[2] == '\0') { PATH2COOKIE_DB (("relpath2cookie: can't leave root [%s] -> forward to '.'", cwd->root_dir)); lastname[1] = '\0'; } } PATH2COOKIE_DB (("relpath2cookie: looking up [%s]", lastname)); r = xfs_lookup (dir.fs, &dir, lastname, res); if (r == EMOUNT) { fcookie mounteddir; r = xfs_root (dir.fs, dir.dev, &mounteddir); if (r == 0 && drv == UNIDRV) { if (samefile (&dir, &mounteddir)) { release_cookie (&dir); release_cookie (&mounteddir); dup_cookie (&dir, &cwd->root[UNIDRV]); TRACE(("path2cookie: restarting from mount point")); goto restart_mount; } else if (r == 0) { r = EINTERNAL; release_cookie (&mounteddir); release_cookie (&dir); break; } } else if (r == 0) { release_cookie (&mounteddir); } else { release_cookie (&dir); break; } } else if (r) { if (r == ENOENT && *path) { /* the "file" we didn't find was treated as a * directory */ r = ENOTDIR; } release_cookie (&dir); break; } /* read the file attribute */ r = xfs_getxattr (res->fs, res, &xattr); if (r != 0) { DEBUG (("path2cookie: couldn't get file attributes")); release_cookie (&dir); release_cookie (res); break; } /* check for a symbolic link * - if the file is a link, and we're following links, follow it */ if ((xattr.mode & S_IFMT) == S_IFLNK && (*path || dolast > 1)) { # if WITH_KERNFS /* The symbolic links on the kern filesystem have * their own ideas about following links. */ if (res->fs == &kern_filesys) { release_cookie (&dir); depth++; r = kern_follow_link (res, depth); if (r) { release_cookie (res); break; } } else # endif { r = xfs_readlink (res->fs, res, linkstuff, PATH_MAX); release_cookie (res); if (r) { DEBUG (("error reading symbolic link")); release_cookie (&dir); break; } r = relpath2cookie (&dir, linkstuff, follow_links, res, depth + 1); release_cookie (&dir); if (r) { DEBUG (("error following symbolic link")); break; } } dir = *res; xfs_getxattr (res->fs, res, &xattr); } else { release_cookie (&dir); dir = *res; } } PATH2COOKIE_DB (("relpath2cookie: returning %ld", r)); return r; } long path2cookie (const char *path, char *lastname, fcookie *res) { struct cwd *cwd = curproc->p_cwd; /* AHDI sometimes will keep insisting that a media change occured; * we limit the number of retrys to avoid hanging the system */ # define MAX_TRYS 4 int trycnt = MAX_TRYS - 1; fcookie *dir = &cwd->curdir[cwd->curdrv]; long r; restart: r = relpath2cookie (dir, path, lastname, res, 0); if (r == ECHMEDIA && trycnt--) { DEBUG (("path2cookie: restarting due to media change")); goto restart; } return r; } /* * release_cookie: tell the file system owner that a cookie is no * longer in use by the kernel * * release_cookie doesn't release anymore unless there is no entry in * the cookie cache. Otherwise, we just let the cookie get released * through clobber_cookie when the cache fills or is killed through the * routine above - EKL */ void release_cookie (fcookie *fc) { if (fc) { FILESYS *fs; fs = fc->fs; if (fs && fs->release) xfs_release (fs, fc); } } /* * Make a new cookie (newc) which is a duplicate of the old cookie * (oldc). This may be something the file system is interested in, * so we give it a chance to do the duplication; if it doesn't * want to, we just copy. */ void dup_cookie (fcookie *newc, fcookie *oldc) { FILESYS *fs; fs = oldc->fs; if (fs && fs->dupcookie) xfs_dupcookie (fs, newc, oldc); else *newc = *oldc; } /* * denyaccess(XATTR *xattr, unsigned perm): checks to see if the access * specified by perm (which must be some combination of S_IROTH, S_IWOTH, * and S_IXOTH) should be granted to the current process * on a file with the given extended attributes. Returns 0 if access * by the current process is OK, 1 if not. */ int denyaccess (XATTR *xattr, ushort perm) { #if 0 struct ucred *cred = curproc->p_cred->ucr; ushort mode; /* the super-user can do anything! */ if (cred->euid == 0) return 0; mode = xattr->mode; if (cred->euid == xattr->uid) perm = perm << 6; else if (cred->egid == xattr->gid) perm = perm << 3; else if (groupmember (cred, xattr->gid)) perm = perm << 3; if ((mode & perm) != perm) /* access denied */ return 1; #endif return 0; } /* * check to see that a file is a directory, and that write permission * is granted; return an error code, or 0 if everything is ok. */ long dir_access (fcookie *dir, ushort perm, ushort *mode) { XATTR xattr; long r; r = xfs_getxattr (dir->fs, dir, &xattr); if (r) { DEBUG (("dir_access: file system returned %ld", r)); return r; } if ((xattr.mode & S_IFMT) != S_IFDIR ) { DEBUG (("file is not a directory")); return ENOTDIR; } if (denyaccess (&xattr, perm)) { DEBUG(("no permission for directory")); return EACCES; } *mode = xattr.mode; return 0; } /* * returns 1 if the given name contains a wildcard character */ int has_wild (const char *name) { char c; while ((c = *name++) != 0) if (c == '*' || c == '?') return 1; return 0; } /* * void copy8_3(dest, src): convert a file name (src) into DOS 8.3 format * (in dest). Note the following things: * if a field has less than the required number of characters, it is * padded with blanks * a '*' means to pad the rest of the field with '?' characters * special things to watch for: * "." and ".." are more or less left alone * "*.*" is recognized as a special pattern, for which dest is set * to just "*" * Long names are truncated. Any extensions after the first one are * ignored, i.e. foo.bar.c -> foo.bar, foo.c.bar->foo.c. */ void copy8_3 (char *dest, const char *src) { char fill = ' ', c; int i; if (src[0] == '.') { if (src[1] == 0) { strcpy (dest, ". . "); return; } if (src[1] == '.' && src[2] == 0) { strcpy (dest, ".. . "); return; } } if (src[0] == '*' && src[1] == '.' && src[2] == '*' && src[3] == 0) { dest[0] = '*'; dest[1] = 0; return; } for (i = 0; i < 8; i++) { c = *src++; if (!c || c == '.') break; if (c == '*') fill = c = '?'; *dest++ = toupper((int)c & 0xff); } while (i++ < 8) *dest++ = fill; *dest++ = '.'; i = 0; fill = ' '; while (c && c != '.') c = *src++; if (c) { for( ;i < 3; i++) { c = *src++; if (!c || c == '.') break; if (c == '*') c = fill = '?'; *dest++ = toupper((int)c & 0xff); } } while (i++ < 3) *dest++ = fill; *dest = 0; } /* * int pat_match(name, patrn): returns 1 if "name" matches the template in * "patrn", 0 if not. "patrn" is assumed to have been expanded in 8.3 * format by copy8_3; "name" need not be. Any '?' characters in patrn * will match any character in name. Note that if "patrn" has a '*' as * the first character, it will always match; this will happen only if * the original pattern (before copy8_3 was applied) was "*.*". * * BUGS: acts a lot like the silly TOS pattern matcher. */ int pat_match (const char *name, const char *template) { char expname [TOS_NAMELEN+1]; register char *s; register char c; if (*template == '*') return 1; copy8_3 (expname, name); s = expname; while ((c = *template++) != 0) { if (c != *s && c != '?') return 0; s++; } return 1; } /* * int samefile(fcookie *a, fcookie *b): returns 1 if the two cookies * refer to the same file or directory, 0 otherwise */ int samefile (fcookie *a, fcookie *b) { if (a->fs == b->fs && a->dev == b->dev && a->index == b->index) return 1; return 0; } aranym-1.0.2/atari/hostfs/metados/filesys.h000066400000000000000000000270271242022243000206710ustar00rootroot00000000000000/* * $Id$ * * The ARAnyM MetaDOS driver. * * 2002 STan * * Based on: * filesys.h,v 1.8 2001/06/13 20:21:15 fna Exp * * This file has been modified as part of the FreeMiNT project. See * the file Changes.MH for details and dates. */ # ifndef _filesys_h # define _filesys_h # include "mint/mint.h" # include "mint/file.h" # define DIRSEP(p) (((p) == '\\') || ((p) == '/')) # define MAX_LINKS 4 # define follow_links ((char *) -1L) /* external variables */ extern FILESYS *active_fs; extern FILESYS *drives[NUM_DRIVES]; extern int aliasdrv[NUM_DRIVES]; extern long dosdrvs; /* exported functions */ void xfs_block (FILESYS *fs, ushort dev, const char *func); void xfs_deblock (FILESYS *fs, ushort dev, const char *func); long getxattr (FILESYS *fs, fcookie *fc, XATTR *xattr); long getstat64 (FILESYS *fs, fcookie *fc, STAT *ptr); void kill_cache (fcookie *dir, char *name); long cache_lookup (fcookie *dir, char *name, fcookie *res); void cache_init (void); void clobber_cookie (fcookie *fc); void init_filesys (void); char *xfs_name (fcookie *fc); void xfs_add (FILESYS *fs); void close_filesys (void); long _s_ync (void); long _cdecl s_ync (void); long _cdecl sys_fsync (short fh); void changedrv (ushort drv, const char *function); long disk_changed (ushort drv); long relpath2cookie (fcookie *dir, const char *path, char *lastnm, fcookie *res, int depth); long path2cookie (const char *path, char *lastname, fcookie *res); void release_cookie (fcookie *fc); void dup_cookie (fcookie *new, fcookie *old); int _cdecl denyshare (FILEPTR *list, FILEPTR *newfileptr); int denyaccess (XATTR *, ushort); LOCK * _cdecl denylock (LOCK *list, LOCK *newlock); long dir_access (fcookie *, ushort, ushort *); int has_wild (const char *name); void copy8_3 (char *dest, const char *src); int pat_match (const char *name, const char *template); int samefile (fcookie *, fcookie *); # ifndef NONBLOCKING_DMA # define xfs_lock(fs, dev, func) # define xfs_unlock(fs, dev, func) # else # ifdef DEBUG_INFO # define xfs_lock(fs, dev, func) \ ({ \ if (!(fs->fsflags & FS_REENTRANT_L2)) \ xfs_block (fs, dev, func); \ }) # define xfs_unlock(fs, dev, func) \ ({ \ if (!(fs->fsflags & FS_REENTRANT_L2)) \ xfs_deblock (fs, dev, func); \ }) # else # define xfs_lock(fs, dev, func) \ ({ \ if (!(fs->fsflags & FS_REENTRANT_L2)) \ xfs_block (fs, dev, NULL); \ }) # define xfs_unlock(fs, dev, func) \ ({ \ if (!(fs->fsflags & FS_REENTRANT_L2)) \ xfs_deblock (fs, dev, NULL); \ }) # endif /* DEBUG_INFO */ # endif INLINE long xfs_root (FILESYS *fs, int drv, fcookie *fc) { register long r; xfs_lock (fs, drv, "xfs_root"); r = (*fs->root)(drv, fc); xfs_unlock (fs, drv, "xfs_root"); return r; } INLINE long xfs_lookup (FILESYS *fs, fcookie *dir, const char *name, fcookie *fc) { register long r; xfs_lock (fs, dir->dev, "xfs_lookup"); r = (*fs->lookup)(dir, name, fc); xfs_unlock (fs, dir->dev, "xfs_lokup"); return r; } INLINE DEVDRV * xfs_getdev (FILESYS *fs, fcookie *fc, long *devsp) { return (*fs->getdev)(fc, devsp); } INLINE long xfs_getxattr (FILESYS *fs, fcookie *fc, XATTR *xattr) { if (fs->getxattr) { register long r; xfs_lock (fs, fc->dev, "xfs_getxattr"); r = (*fs->getxattr)(fc, xattr); xfs_unlock (fs, fc->dev, "xfs_getxattr"); return r; } return getxattr (fs, fc, xattr); } INLINE long xfs_chattr (FILESYS *fs, fcookie *fc, int attr) { register long r; xfs_lock (fs, fc->dev, "xfs_chattr"); r = (*fs->chattr)(fc, attr); xfs_unlock (fs, fc->dev, "xfs_chatr"); return r; } INLINE long xfs_chown (FILESYS *fs, fcookie *fc, int uid, int gid) { register long r; xfs_lock (fs, fc->dev, "xfs_chown"); r = (*fs->chown)(fc, uid, gid); xfs_unlock (fs, fc->dev, "xfs_chown"); return r; } INLINE long xfs_chmode (FILESYS *fs, fcookie *fc, unsigned mode) { register long r; xfs_lock (fs, fc->dev, "xfs_chmod"); r = (*fs->chmode)(fc, mode); xfs_unlock (fs, fc->dev, "xfs_chmod"); return r; } INLINE long xfs_mkdir (FILESYS *fs, fcookie *dir, const char *name, unsigned mode) { register long r; xfs_lock (fs, dir->dev, "xfs_mkdir"); r = (*fs->mkdir)(dir, name, mode); xfs_unlock (fs, dir->dev, "xfs_mkdir"); return r; } INLINE long xfs_rmdir (FILESYS *fs, fcookie *dir, const char *name) { register long r; xfs_lock (fs, dir->dev, "xfs_rmdir"); r = (*fs->rmdir)(dir, name); xfs_unlock (fs, dir->dev, "xfs_rmdir"); return r; } INLINE long xfs_creat (FILESYS *fs, fcookie *dir, const char *name, unsigned mode, int attr, fcookie *fc) { register long r; xfs_lock (fs, dir->dev, "xfs_creat"); r = (*fs->creat)(dir, name, mode, attr, fc); xfs_unlock (fs, dir->dev, "xfs_creat"); return r; } INLINE long xfs_remove (FILESYS *fs, fcookie *dir, const char *name) { register long r; xfs_lock (fs, dir->dev, "xfs_remove"); r = (*fs->remove)(dir, name); xfs_unlock (fs, dir->dev, "xfs_remove"); return r; } INLINE long xfs_getname (FILESYS *fs, fcookie *root, fcookie *dir, char *buf, int len) { register long r; xfs_lock (fs, root->dev, "xfs_getname"); r = (*fs->getname)(root, dir, buf, len); xfs_unlock (fs, root->dev, "xfs_getname"); return r; } INLINE long xfs_rename (FILESYS *fs, fcookie *olddir, char *oldname, fcookie *newdir, const char *newname) { register long r; xfs_lock (fs, olddir->dev, "xfs_rename"); r = (*fs->rename)(olddir, oldname, newdir, newname); xfs_unlock (fs, olddir->dev, "xfs_rename"); return r; } INLINE long xfs_opendir (FILESYS *fs, DIR *dirh, int flags) { register long r; xfs_lock (fs, dirh->fc.dev, "xfs_opendir"); r = (*fs->opendir)(dirh, flags); xfs_unlock (fs, dirh->fc.dev, "xfs_opendir"); return r; } INLINE long xfs_readdir (FILESYS *fs, DIR *dirh, char *nm, int nmlen, fcookie *fc) { register long r; xfs_lock (fs, dirh->fc.dev, "xfs_readdir"); r = (*fs->readdir)(dirh, nm, nmlen, fc); xfs_unlock (fs, dirh->fc.dev, "xfs_readdir"); return r; } INLINE long xfs_rewinddir (FILESYS *fs, DIR *dirh) { register long r; xfs_lock (fs, dirh->fc.dev, "xfs_rewinddir"); r = (*fs->rewinddir)(dirh); xfs_unlock (fs, dirh->fc.dev, "xfs_rwinddir"); return r; } INLINE long xfs_closedir (FILESYS *fs, DIR *dirh) { register long r; xfs_lock (fs, dirh->fc.dev, "xfs_closedir"); r = (*fs->closedir)(dirh); xfs_unlock (fs, dirh->fc.dev, "xfs_closedir"); return r; } INLINE long xfs_pathconf (FILESYS *fs, fcookie *dir, int which) { return (*fs->pathconf)(dir, which); } INLINE long xfs_dfree (FILESYS *fs, fcookie *dir, long *buf) { register long r; xfs_lock (fs, dir->dev, "xfs_dfree"); r = (*fs->dfree)(dir, buf); xfs_unlock (fs, dir->dev, "xfs_dfree"); return r; } INLINE long xfs_writelabel (FILESYS *fs, fcookie *dir, const char *name) { register long r; xfs_lock (fs, dir->dev, "xfs_writelabel"); r = (*fs->writelabel)(dir, name); xfs_unlock (fs, dir->dev, "xfs_writelabel"); return r; } INLINE long xfs_readlabel (FILESYS *fs, fcookie *dir, char *name, int namelen) { register long r; xfs_lock (fs, dir->dev, "xfs_readlabel"); r = (*fs->readlabel)(dir, name, namelen); xfs_unlock (fs, dir->dev, "xfs_readlabel"); return r; } INLINE long xfs_symlink (FILESYS *fs, fcookie *dir, const char *name, const char *to) { register long r; xfs_lock (fs, dir->dev, "xfs_symlink"); r = (*fs->symlink)(dir, name , to); xfs_unlock (fs, dir->dev, "xfs_symlink"); return r; } INLINE long xfs_readlink (FILESYS *fs, fcookie *fc, char *buf, int len) { register long r; xfs_lock (fs, fc->dev, "xfs_readlink"); r = (*fs->readlink)(fc, buf, len); xfs_unlock (fs, fc->dev, "xfs_readlink"); return r; } INLINE long xfs_hardlink (FILESYS *fs, fcookie *fromdir, const char *fromname, fcookie *todir, const char *toname) { register long r; xfs_lock (fs, fromdir->dev, "xfs_hardlink"); r = (*fs->hardlink)(fromdir, fromname, todir, toname); xfs_unlock (fs, fromdir->dev, "xfs_hardlink"); return r; } INLINE long xfs_fscntl (FILESYS *fs, fcookie *dir, const char *name, int cmd, long arg) { register long r; xfs_lock (fs, dir->dev, "xfs_fscntl"); r = (*fs->fscntl)(dir, name, cmd, arg); xfs_unlock (fs, dir->dev, "xfs_fscntl"); return r; } INLINE long xfs_dskchng (FILESYS *fs, int drv, int mode) { register long r; xfs_lock (fs, drv, "xfs_dskchng"); r = (*fs->dskchng)(drv, mode); xfs_unlock (fs, drv, "xfs_dskchng"); return r; } INLINE long xfs_release (FILESYS *fs, fcookie *fc) { return (*fs->release)(fc); } INLINE long xfs_dupcookie (FILESYS *fs, fcookie *dst, fcookie *src) { return (*fs->dupcookie)(dst, src); } INLINE long xfs_mknod (FILESYS *fs, fcookie *dir, const char *name, ulong mode) { register long r; xfs_lock (fs, dir->dev, "xfs_mknod"); r = (*fs->mknod)(dir, name, mode); xfs_unlock (fs, dir->dev, "xfs_mknod"); return r; } INLINE long xfs_unmount (FILESYS *fs, int drv) { register long r; xfs_lock (fs, drv, "xfs_unmount"); r = (*fs->unmount)(drv); xfs_unlock (fs, drv, "xfs_unmount"); return r; } INLINE long xfs_stat64 (FILESYS *fs, fcookie *fc, STAT *stat) { if (fs->fsflags & FS_EXT_3) { register long r; xfs_lock (fs, fc->dev, "xfs_stat64"); r = (*fs->stat64)(fc, stat); xfs_unlock (fs, fc->dev, "xfs_stat64"); return r; } return getstat64 (fs, fc, stat); } INLINE long xdd_open (FILEPTR *f) { register long r; xfs_lock (f->fc.fs, f->fc.dev, "xdd_open"); r = (f->dev->open)(f); xfs_unlock (f->fc.fs, f->fc.dev, "xdd_open"); return r; } INLINE long xdd_write (FILEPTR *f, const char *buf, long bytes) { register long r; xfs_lock (f->fc.fs, f->fc.dev, "xdd_write"); r = (f->dev->write)(f, buf, bytes); xfs_unlock (f->fc.fs, f->fc.dev, "xdd_write"); return r; } INLINE long xdd_read (FILEPTR *f, char *buf, long bytes) { register long r; xfs_lock (f->fc.fs, f->fc.dev, "xdd_read"); r = (f->dev->read)(f, buf, bytes); xfs_unlock (f->fc.fs, f->fc.dev, "xdd_read"); return r; } INLINE long xdd_lseek (FILEPTR *f, long where, int whence) { register long r; xfs_lock (f->fc.fs, f->fc.dev, "xdd_lseek"); r = (f->dev->lseek)(f, where, whence); xfs_unlock (f->fc.fs, f->fc.dev, "xdd_lseek"); return r; } INLINE long xdd_ioctl (FILEPTR *f, int mode, void *buf) { register long r; xfs_lock (f->fc.fs, f->fc.dev, "xdd_ioctl"); r = (f->dev->ioctl)(f, mode, buf); xfs_unlock (f->fc.fs, f->fc.dev, "xdd_ioctl"); return r; } INLINE long xdd_datime (FILEPTR *f, ushort *timeptr, int rwflag) { register long r; xfs_lock (f->fc.fs, f->fc.dev, "xdd_datime"); r = (f->dev->datime)(f, timeptr, rwflag); xfs_unlock (f->fc.fs, f->fc.dev, "xdd_datime"); return r; } INLINE long xdd_close (FILEPTR *f, int pid) { register long r; xfs_lock (f->fc.fs, f->fc.dev, "xdd_close"); r = (f->dev->close)(f, pid); xfs_unlock (f->fc.fs, f->fc.dev, "xdd_close"); return r; } # endif /* _filesys_h */ aranym-1.0.2/atari/hostfs/metados/global.h000077500000000000000000000040301242022243000204430ustar00rootroot00000000000000/* * $Header$ * * 2001-2003 STanda * * This is a part of the ARAnyM project sources. * * Originally taken from the STonX CVS repository. * */ /* * Copyright 1998, 1999, 2001 by Markus Kohm . * * See COPYING for details of legal notes. * * Modified by Chris Felsch . * * Global definitions and variables */ #ifndef _global_h_ #define _global_h_ #ifdef ARAnyM_MetaDOS #include "filesys.h" #include "mint/stat.h" #include "mint/kerinfo.h" extern struct kerinfo *KERNEL; /* console output via Cconws */ #include "mint/osbind.h" #define c_conws Cconws #define MSG_PFAILURE(p,s) \ "\7Sorry, hostfs.dos NOT installed: " s "!\r\n" #endif /* ARAnyM_MetaDOS */ #endif /* _global_h_ */ /* * $Log$ * Revision 1.2 2006/02/06 20:58:17 standa * Sync with the FreeMiNT CVS. The make.sh now only builds the BetaDOS * hostfs.dos. * * Revision 1.1 2006/02/04 21:03:03 standa * Complete isolation of the metados fake mint VFS implemenation in the * metados folder. No #ifdef ARAnyM_MetaDOS in the hostfs folder files * themselves. * * Revision 1.5 2004/04/26 07:14:04 standa * Adjusted to the recent FreeMiNT CVS state to compile and also made * BetaDOS only. No more MetaDOS compatibility attempts. * * Dfree() fix - for Calamus to be able to save its documents. * * Some minor bugfix backports from the current FreeMiNTs CVS version. * * The mountpoint entries are now shared among several hostfs.dos instances * using a 'BDhf' cookie entry (atari/hostfs/metados/main.c). * * Revision 1.4 2003/10/02 18:13:41 standa * Large HOSTFS cleanup (see the ChangeLog for more) * * Revision 1.3 2003/03/24 08:58:53 joy * aranymfs.xfs renamed to hostfs.xfs * * Revision 1.2 2003/03/01 11:57:37 joy * major HOSTFS NF API cleanup * * Revision 1.1 2002/12/10 20:47:21 standa * The HostFS (the host OS filesystem access via NatFeats) implementation. * * Revision 1.1 2002/05/22 07:53:22 standa * The PureC -> gcc conversion (see the CONFIGVARS). * MiNT .XFS sources added. * * */ aranym-1.0.2/atari/hostfs/metados/k_fds.c000066400000000000000000000252111242022243000202650ustar00rootroot00000000000000/* * $Id$ * * The ARAnyM MetaDOS driver. * * 2002 STan * * Based on: * k_fds.c,v 1.10 2001/06/13 20:21:20 fna Exp * * This file belongs to FreeMiNT. It's not in the original MiNT 1.12 * distribution. See the file CHANGES for a detailed log of changes. * * * Copyright 2000 Frank Naumann * All rights reserved. * * This file is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This file is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * * * Author: Frank Naumann * Started: 2001-01-12 * * Please send suggestions, patches or bug reports to me or * the MiNT mailing list. * */ # include "k_fds.h" # include "mint/filedesc.h" # include "mint/stat.h" # include "mint/emu_tos.h" # include "filesys.h" # include "mintproc.h" # include "mintfake.h" /* do_open(f, name, rwmode, attr, x) * * f - pointer to FIELPTR * * name - file name * rwmode - file access mode * attr - TOS attributes for created files (if applicable) * x - filled in with attributes of opened file (can be NULL) */ long do_open (FILEPTR **f, const char *name, int rwmode, int attr, XATTR *x) { PROC *p = curproc; fcookie dir, fc; long devsp; DEVDRV *dev; long r; XATTR xattr; unsigned perm; int creating, exec_check; char temp1[PATH_MAX]; short cur_gid, cur_egid; TRACE (("do_open(%s)", name)); /* * first step: get a cookie for the directory */ r = path2cookie (name, temp1, &dir); if (r) { DEBUG (("do_open(%s): error %ld", name, r)); return r; } /* * second step: try to locate the file itself */ r = relpath2cookie (&dir, temp1, follow_links, &fc, 0); # ifdef CREATE_PIPES /* * file found: this is an error if (O_CREAT|O_EXCL) are set * ...or if this is Fcreate with nonzero attr on the pipe filesystem */ if ((r == 0) && ((rwmode & (O_CREAT|O_EXCL)) == (O_CREAT|O_EXCL) || (attr && fc.fs == &pipe_filesys && (rwmode & (O_CREAT|O_TRUNC)) == (O_CREAT|O_TRUNC)))) # else /* * file found: this is an error if (O_CREAT|O_EXCL) are set */ if ((r == 0) && ((rwmode & (O_CREAT|O_EXCL)) == (O_CREAT|O_EXCL))) # endif { DEBUG (("do_open(%s): file already exists", name)); release_cookie (&fc); release_cookie (&dir); return EACCES; } /* file not found: maybe we should create it * note that if r != 0, the fc cookie is invalid (so we don't need to * release it) */ if (r == ENOENT && (rwmode & O_CREAT)) { /* check first for write permission in the directory */ r = xfs_getxattr (dir.fs, &dir, &xattr); if (r == 0) { if (denyaccess (&xattr, S_IWOTH)) r = EACCES; } if (r) { DEBUG(("do_open(%s): couldn't get " "write permission on directory", name)); release_cookie (&dir); return r; } assert (p->p_cred); /* fake gid if directories setgid bit set */ cur_gid = p->p_cred->rgid; cur_egid = p->p_cred->ucr->egid; if (xattr.mode & S_ISGID) { p->p_cred->rgid = xattr.gid; p->p_cred->ucr = copy_cred (p->p_cred->ucr); p->p_cred->ucr->egid = xattr.gid; } assert (p->p_cwd); r = xfs_creat (dir.fs, &dir, temp1, (S_IFREG|DEFAULT_MODE) & (~p->p_cwd->cmask), attr, &fc); p->p_cred->rgid = cur_gid; p->p_cred->ucr->egid = cur_egid; if (r) { DEBUG(("do_open(%s): error %ld while creating file", name, r)); release_cookie (&dir); return r; } creating = 1; } else if (r) { DEBUG(("do_open(%s): error %ld while searching for file", name, r)); release_cookie (&dir); return r; } else { creating = 0; } /* check now for permission to actually access the file */ r = xfs_getxattr (fc.fs, &fc, &xattr); if (r) { DEBUG(("do_open(%s): couldn't get file attributes",name)); release_cookie (&dir); release_cookie (&fc); return r; } /* we don't do directories */ if ((xattr.mode & S_IFMT) == S_IFDIR) { DEBUG(("do_open(%s): file is a directory",name)); release_cookie (&dir); release_cookie (&fc); return ENOENT; } exec_check = 0; switch (rwmode & O_RWMODE) { case O_WRONLY: perm = S_IWOTH; break; case O_RDWR: perm = S_IROTH|S_IWOTH; break; case O_EXEC: if (fc.fs->fsflags & FS_NOXBIT) perm = S_IROTH; else { perm = S_IXOTH; assert (p->p_cred); if (p->p_cred->ucr->euid == 0) exec_check = 1; /* superuser needs 1 x bit */ } break; case O_RDONLY: perm = S_IROTH; break; default: perm = 0; ALERT ("do_open: bad file access mode: %x", rwmode); } /* access checking; additionally, the superuser needs at least one * execute right to execute a file */ if ((exec_check && ((xattr.mode & (S_IXUSR|S_IXGRP|S_IXOTH)) == 0)) || (!creating && denyaccess (&xattr, perm))) { DEBUG(("do_open(%s): access to file denied", name)); release_cookie (&dir); release_cookie (&fc); return EACCES; } /* an extra check for write access -- even the superuser shouldn't * write to files with the FA_RDONLY attribute bit set (unless, * we just created the file, or unless the file is on the proc * file system and hence FA_RDONLY has a different meaning) */ if (!creating && (xattr.attr & FA_RDONLY) && fc.fs != &proc_filesys) { if ((rwmode & O_RWMODE) == O_RDWR || (rwmode & O_RWMODE) == O_WRONLY) { DEBUG(("do_open(%s): can't write a read-only file", name)); release_cookie (&dir); release_cookie (&fc); return EACCES; } } /* if writing to a setuid or setgid file, clear those bits */ if ((perm & S_IWOTH) && (xattr.mode & (S_ISUID|S_ISGID))) { xattr.mode &= ~(S_ISUID|S_ISGID); xfs_chmode (fc.fs, &fc, (xattr.mode & ~S_IFMT)); } /* If the caller asked for the attributes of the opened file, copy them over. */ if (x) *x = xattr; /* So far, so good. Let's get the device driver now, and try to * actually open the file. */ dev = xfs_getdev (fc.fs, &fc, &devsp); if (!dev) { DEBUG (("do_open(%s): device driver not found (%li)", name, devsp)); release_cookie (&dir); release_cookie (&fc); return devsp ? devsp : EINTERNAL; } assert (f && *f); if (dev == &fakedev) { /* fake BIOS devices */ FILEPTR *fp; assert (p->p_fd); fp = p->p_fd->ofiles[devsp]; if (!fp || fp == (FILEPTR *) 1) return EBADF; (*f)->links--; FP_FREE (*f); *f = fp; fp->links++; release_cookie (&dir); release_cookie (&fc); return 0; } (*f)->links = 1; (*f)->flags = rwmode; (*f)->pos = 0; (*f)->devinfo = devsp; (*f)->fc = fc; (*f)->dev = dev; release_cookie (&dir); r = xdd_open (*f); if (r < E_OK) { DEBUG(("do_open(%s): device open failed with error %ld", name, r)); release_cookie (&fc); return r; } #ifndef ARAnyM_MetaDOS /* special code for opening a tty */ if (is_terminal (*f)) { struct tty *tty; tty = (struct tty *) ((*f)->devinfo); /* in the middle of a hangup */ while (tty->hup_ospeed && !creating) sleep (IO_Q, (long) &tty->state); tty->use_cnt++; /* first open for this device (not counting set_auxhandle)? */ if ((!tty->pgrp && tty->use_cnt-tty->aux_cnt <= 1) || tty->use_cnt <= 1) { short s = tty->state & (TS_BLIND|TS_HOLD|TS_HPCL); short u = tty->use_cnt; short a = tty->aux_cnt; long r = tty->rsel; long w = tty->wsel; *tty = default_tty; if (!creating) tty->state = s; if ((tty->use_cnt = u) > 1 || !creating) { tty->aux_cnt = a; tty->rsel = r; tty->wsel = w; } if (!((*f)->flags & O_HEAD)) tty_ioctl (*f, TIOCSTART, 0); } # if 0 /* XXX fn: wait until line is online */ if (!((*f)->flags & O_NDELAY) && (tty->state & TS_BLIND)) (*f->dev->ioctl)((*f), TIOCWONLINE, 0); # endif } #endif // ARAnyM_MetaDOS return 0; } /* * helper function for do_close: this closes the indicated file pointer which * is assumed to be associated with process p. The extra parameter is necessary * because f_midipipe mucks with file pointers of other processes, so * sometimes p != curproc. * * Note that the function changedrv() in filesys.c can call this routine. * in that case, f->dev will be 0 to represent an invalid device, and * we cannot call the device close routine. */ long do_close (struct proc *p, FILEPTR *f) { long r = E_OK; if (!f) return EBADF; if (f == (FILEPTR *) 1) return E_OK; /* if this file is "select'd" by this process, unselect it * (this is just in case we were killed by a signal) */ #ifndef ARAnyM_MetaDOS /* BUG? Feature? If media change is detected while we're doing the select, * we'll never unselect (since f->dev is set to NULL by changedrv()) */ if (f->dev) { (*f->dev->unselect)(f, (long) p, O_RDONLY); (*f->dev->unselect)(f, (long) p, O_WRONLY); (*f->dev->unselect)(f, (long) p, O_RDWR); wake (SELECT_Q, (long) &select_coll); } #endif // ARAnyM_MetaDOS f->links--; if (f->links < 0) { ALERT ("do_close on invalid file struct! (links = %i)", f->links); // return 0; } #ifndef ARAnyM_MetaDOS /* TTY manipulation must be done *before* calling the device close routine, * since afterwards the TTY structure may no longer exist */ if (is_terminal (f) && f->links <= 0) { struct tty *tty = (struct tty *) f->devinfo; TIMEOUT *t; long ospeed = -1L, z = 0; /* for HPCL ignore ttys open as /dev/aux, else they would never hang up */ if (tty->use_cnt-tty->aux_cnt <= 1) { if ((tty->state & TS_HPCL) && !tty->hup_ospeed && !(f->flags & O_HEAD) && (*f->dev->ioctl)(f, TIOCOBAUD, &ospeed) >= 0 && NULL != (t = addroottimeout(500L, (to_func *)hangup_b1, 0))) { /* keep device open until hangup complete */ f->links = 1; ++tty->use_cnt; /* pass f to timeout function */ t->arg = (long)f; (*f->dev->ioctl)(f, TIOCCBRK, 0); /* flag: hanging up */ tty->hup_ospeed = -1; /* stop output, flush buffers, drop DTR... */ tty_ioctl(f, TIOCSTOP, 0); tty_ioctl(f, TIOCFLUSH, 0); if (ospeed > 0) { tty->hup_ospeed = ospeed; (*f->dev->ioctl)(f, TIOCOBAUD, &z); } } else tty->pgrp = 0; } tty->use_cnt--; if (tty->use_cnt <= 0 && tty->xkey) { kfree (tty->xkey); tty->xkey = 0; } } #endif // ARAnyM_MetaDOS if (f->dev) { r = xdd_close (f, p->pid); if (r) DEBUG (("close: device close failed")); } if (f->links <= 0) { release_cookie (&f->fc); FP_FREE (f); } return r; } aranym-1.0.2/atari/hostfs/metados/k_fds.h000066400000000000000000000056741242022243000203050ustar00rootroot00000000000000/* * $Id$ * * The ARAnyM MetaDOS driver. * * 2002 STan * * Based on: * k_fds.h,v 1.4 2001/06/13 20:21:20 fna Exp * * This file belongs to FreeMiNT. It's not in the original MiNT 1.12 * distribution. See the file CHANGES for a detailed log of changes. * * * Copyright 2000 Frank Naumann * All rights reserved. * * This file is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This file is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * * * Author: Frank Naumann * Started: 2001-01-13 * * Please send suggestions, patches or bug reports to me or * the MiNT mailing list. * */ # ifndef _k_fds_h # define _k_fds_h # include "mint/mint.h" # include "mint/file.h" #ifndef ARAnyM_MetaDOS long fd_alloc (struct proc *p, short *fd, short min, const char *func); void fd_remove (struct proc *p, short fd, const char *func); # define FD_ALLOC(p, fd, min) fd_alloc (p, fd, min, __FUNCTION__) # define FD_REMOVE(p, fd) fd_remove (p, fd, __FUNCTION__) long fp_alloc (struct proc *p, FILEPTR **resultfp, const char *func); void fp_done (struct proc *p, FILEPTR *fp, short fd, char fdflags, const char *func); void fp_free (FILEPTR *fp, const char *func); # define FP_ALLOC(p, result) fp_alloc (p, result, __FUNCTION__) # define FP_DONE(p, fp, fd, flags) fp_done (p, fp, fd, flags, __FUNCTION__) # define FP_FREE(fp) fp_free (fp, __FUNCTION__) long fp_get (struct proc **p, short *fd, FILEPTR **fp, const char *func); long fp_get1 (struct proc *p, short fd, FILEPTR **fp, const char *func); # define FP_GET(p, fd, fp) fp_get (p, fd, fp, __FUNCTION__) # define FP_GET1(p, fd, fp) fp_get1 (p, fd, fp, __FUNCTION__) # define GETFILEPTR(p, fd, fp) fp_get (p, fd, fp, __FUNCTION__) long do_dup (short fd, short min); #else # define FD_ALLOC(p, fd, min) 0 # define FD_REMOVE(p, fd) # define FP_ALLOC(p, result) 0; *(result) = fpMD # define FP_DONE(p, fp, fd, flags) # define FP_FREE(fp) # define FP_GET(p, fd, fp) *(fp) = fpMD # define FP_GET1(p, fd, fp) *(fp) = fpMD # define GETFILEPTR(p, fd, fp) 0; (void)p; *(fp) = fpMD /** from k_prot.h **/ # define groupmember( cred, gid ) 1 #endif // ARAnyM_MetaDOS long do_open (FILEPTR **f, const char *name, int rwmode, int attr, XATTR *x); long do_close (struct proc *p, FILEPTR *f); # endif /* _k_fds_h */ aranym-1.0.2/atari/hostfs/metados/kerinfo.h000066400000000000000000000027351242022243000206470ustar00rootroot00000000000000/* * $Id$ * * The ARAnyM MetaDOS driver. * * 2002 STan * * Based on: * kerinfo.h,v 1.2 2001/06/13 20:21:22 fna Exp * * This file belongs to FreeMiNT. It's not in the original MiNT 1.12 * distribution. See the file CHANGES for a detailed log of changes. * * * Copyright 2001 Frank Naumann * All rights reserved. * * This file is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This file is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * * * Author: Frank Naumann * Started: 2001-04-24 * * please send suggestions, patches or bug reports to me or * the MiNT mailing list * */ # ifndef _kerinfo_h # define _kerinfo_h # include "mint/mint.h" # include "mint/kerinfo.h" # define DEFAULT_DIRMODE (0777) # if 0 # define DEFAULT_MODE (0666) # else # define DEFAULT_MODE (kernelinfo.default_perm) # endif extern struct kerinfo kernelinfo; # endif /* _global_h */ aranym-1.0.2/atari/hostfs/metados/main.c000066400000000000000000000115311242022243000201230ustar00rootroot00000000000000/* * $Id$ * * The ARAnyM BetaDOS driver. * * 2001/2002 STan * * Based on: * @(#)cookiefs/dosmain.c * * Copyright (c) Julian F. Reschke, 28. November 1995 * All rights reserved. * **/ #include #include #include #include #include "mint/mint.h" #include "mint/filedesc.h" #include "mint/kerinfo.h" #include "../hostfs_xfs.h" #include "../hostfs_dev.h" #include "mintproc.h" #include "mintfake.h" #include "nf_ops.h" #define DEVNAME "ARAnyM Host Filesystem" #define VERSION "0.60" char DriverName[] = DEVNAME" "VERSION; long ldp; void _cdecl ShowBanner( void ); void* _cdecl InitDevice( long bosDevID, long dosDevID ); long set_cookie (ulong tag, ulong val); ulong get_cookie (ulong tag); /* Diverse Utility-Funktionen */ void _cdecl ShowBanner( void ) { Cconws ( "\r\n\033p "DEVNAME" "VERSION" \033q " "\r\nCopyright (c) ARAnyM Development Team, "__DATE__"\r\n" ); } struct cookie { long tag; long value; }; ulong get_cookie (ulong tag) { struct cookie *cookie = *(struct cookie **)0x5a0; if (!cookie) return 0; while (cookie->tag) { if (cookie->tag == tag) return cookie->value; cookie++; } return 0; } long set_cookie (ulong tag, ulong val) { struct cookie *cookie = *(struct cookie **)0x5a0; if (!cookie) return 0; while (cookie->tag) cookie++; cookie->tag = tag; cookie->value = val; return 1; } /* * global kerinfo structure */ struct kerinfo *KERNEL; void* _cdecl InitDevice( long bosDevID, long dosDevID ) { char mountPoint[] = "A:"; mountPoint[0] += (dosDevID = (dosDevID&0x1f)); // mask out bad values of the dosDevID /* * Hack to get the drive table the same for all hostfs.dos * instances loaded by BetaDOS into memory. * * Note: This is definitely not MP friendly, but FreeMiNT * doesn't support B(M)etaDOS anyway, so: Do not do * this when using 'MiNT' or 'MagX' it crashes then. */ if (!get_cookie(0x4D694E54L /*'MiNT'*/) && !get_cookie(0x4D616758L /*'MagX'*/)) { /* BetaDOS Host Filesystem cookie */ ulong p = get_cookie(0x42446866L /*'BDfh'*/); if ( p ) curproc = (void*)p; else set_cookie(0x42446866L /*'BDfh'*/, (ulong)curproc); } /* * We _must_ use the bosDevID to define the drive letter here * because MetaDOS (in contrary to BetaDOS) does not provide * the dosDevID */ DEBUG(("InitDevice: %s [dosDev=%ld, bosDev=%ld] addr: %lx", mountPoint, dosDevID, bosDevID, &hostfs_filesys )); /* initialize Native Features */ kernelinfo.nf_ops = nf_init(); KERNEL = &kernelinfo; /* check the NF HOSTFS avialability */ if ( ! hostfs_init() ) { return (void*)-1; } /* map the BetaDOS drive to some bosDrive | 0x6000 so that the mapping would not colide with the MiNT one */ fs_native_init( dosDevID | 0x6000, mountPoint, "/tmp", 1, &hostfs_filesys, &hostfs_fs_devdrv ); hostfs_filesys.root( dosDevID | 0x6000, &curproc->p_cwd->root[dosDevID] ); #ifdef DEBUG_INFO { fcookie *relto = &curproc->p_cwd->root[dosDevID]; DEBUG (("InitDevice: root (%08lx, %08lx, %04x)", relto->fs, relto->index, relto->dev)); } #endif return &ldp; } /** * $Log$ * Revision 1.12 2006/02/06 20:58:17 standa * Sync with the FreeMiNT CVS. The make.sh now only builds the BetaDOS * hostfs.dos. * * Revision 1.11 2006/02/04 21:03:03 standa * Complete isolation of the metados fake mint VFS implemenation in the * metados folder. No #ifdef ARAnyM_MetaDOS in the hostfs folder files * themselves. * * Revision 1.10 2006/01/31 15:57:39 standa * More of the initialization reworked to work with the new nf_ops. This time * I have tested it. * * Revision 1.9 2005/09/26 22:18:05 standa * Build warnings removal. * * Revision 1.8 2004/05/07 11:31:07 standa * The BDhf cookie is not used in MagiC or MiNT because it was causing * ARAnyM to crash. * * Revision 1.7 2004/04/26 07:14:04 standa * Adjusted to the recent FreeMiNT CVS state to compile and also made * BetaDOS only. No more MetaDOS compatibility attempts. * * Dfree() fix - for Calamus to be able to save its documents. * * Some minor bugfix backports from the current FreeMiNTs CVS version. * * The mountpoint entries are now shared among several hostfs.dos instances * using a 'BDhf' cookie entry (atari/hostfs/metados/main.c). * * Revision 1.6 2003/03/24 08:58:53 joy * aranymfs.xfs renamed to hostfs.xfs * * Revision 1.5 2003/03/20 21:27:22 standa * The .xfs mapping to the U:\G mountpouints (single letter) implemented. * * Revision 1.4 2003/03/05 09:30:45 standa * mountPath declaration fixed. * * Revision 1.3 2003/03/03 20:39:44 standa * Parameter passing fixed. * * Revision 1.2 2002/12/11 08:05:54 standa * The /tmp/calam host fs mount point changed to /tmp one. * * Revision 1.1 2002/12/10 20:47:21 standa * The HostFS (the host OS filesystem access via NatFeats) implementation. * * **/ aranym-1.0.2/atari/hostfs/metados/mdglue.S000066400000000000000000000234641242022243000204440ustar00rootroot00000000000000// // $Header$ // // 2001 STanda // // The basic file layout was taken from Julian Reschke's Cookies // .globl _init .globl _sys_d_free, _sys_f_sfirst, _sys_f_snext, _sys_f_open .globl _sys_f_close, _sys_d_atime, _sys_f_write, _sys_f_read .globl _sys_f_attrib, _sys_f_create, _sys_f_seek, _sys_f_cntl .globl _sys_d_create, _sys_d_delete, _sys_f_rename .globl _sys_d_getpath, _sys_d_dsetpath .globl _sys_d_pathconf, _sys_f_xattr, _sys_d_opendir, _sys_d_readdir .globl _sys_d_closedir, _sys_d_xreaddir, _sys_d_rewinddir .globl _sys_d_readlabel, _sys_d_delete .globl _DriverName, _ShowBanner, _InitDevice .macro PRINT value // nf_call( nf_get_id(NF_STDERR), value); #if 0 move.l #s_stderr,-(sp) move.l #0,-(sp) // fake return address dc.w 0x7300 lea 8(sp),sp move.l \value,-(sp) move.l #s_frm,-(sp) move.l d0,-(sp) move.l #0,-(sp) // fake return address dc.w 0x7301 lea 16(sp),sp #endif .endm PRINT #if 1 #define SREGS movem.l a0-a6/d1-d7,-(sp) #define RREGS movem.l (sp)+,a0-a6/d1-d7 #else #define SREGS #define RREGS #endif .macro SSTCK framereg PRINT sp move.l sp,temp // store the old stack to the new one (do not touch regs) move.l #stack,sp move.l temp,-(sp) SREGS move.l temp,\framereg .endm SSTCK .macro RSTCK RREGS move.l (sp),sp PRINT sp .endm RSTCK // // Call to the MetaDOS C function implementation macro // .macro MDBSR framereg,label move.w 4(\framereg),-(sp) move.l (\framereg),-(sp) move.l a5,-(sp) move.l a4,-(sp) move.l a3,-(sp) bsr \label lea 18(sp),sp .endm MDBSR .text _init: bsr _ShowBanner move.l #functionTable+12,d0 move.l #_DriverName,d1 rts initfun: movem.l a0-a6/d1-d7,-(sp) move.l d1,-(sp) // BetaDOS's dosDevID + some wird word / MetaDOS pure crap move.w d0,-(sp) // bosDevID 16bit move.w #0,-(sp) // pad for gcc (long) bsr _InitDevice addq #8,sp movem.l (sp)+,a0-a6/d1-d7 // d1: filename conversion // Bit 0: 0 = force upper case // Bit 1: 0 = fully expand // Bit 2: 0 = critical error handler reports EWRPRO moveq #5,d1 rts functionTable: dc.l 0x4d414749 // 'MAGI' dc.l 0x434d4554 // 'CMET' dc.l 349 dc.l initfun dc.l -1, -1, -1, -1, -1 dc.l -1, -1, -1, -1, -1 dc.l -1, -1, -1, -1, -1 dc.l -1, -1, -1, -1, -1 dc.l -1, -1, -1, -1, -1 dc.l -1, -1, -1, -1, -1 dc.l -1, -1, -1, -1, -1 dc.l -1, -1, -1, -1, -1 dc.l -1, -1, -1, -1, -1 dc.l -1, -1, -1, -1, -1 // 49 dc.l -1, -1, -1, -1 dc.l wrap_dfree // 54 dc.l -1 dc.l -1 dc.l wrap_dcreate // 57 dc.l wrap_ddelete // 58 dc.l -1 // FIXME? wrap_dsetpath // 59 dc.l wrap_fcreate // 60 dc.l wrap_fopen // 61 dc.l wrap_fclose // 62 dc.l wrap_fread // 63 dc.l wrap_fwrite // 64 dc.l wrap_fdelete // 65 dc.l wrap_fseek // 66 dc.l wrap_fattrib // 67 dc.l -1 dc.l -1 // 69 dc.l -1 dc.l -1 // 71 // Dgetpath dc.l -1, -1, -1 // 74 dc.l -1, -1, -1 dc.l wrap_fsfirst // 78 dc.l wrap_fsnext // 79 dc.l -1, -1, -1, -1, -1 // 84 dc.l -1 dc.l wrap_frename // 86 dc.l wrap_fdatime // 87 dc.l -1, -1 // 89 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 99 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 109 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 119 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 129 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 139 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 149 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 159 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 169 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 179 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 189 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 199 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 209 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 219 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 229 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 239 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 249 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 259 dc.l -1 // FIXME: wrap_fcntl // 260 dc.l -1, -1, -1, -1 // 264 dc.l -1, -1, -1, -1, -1 // 269 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 279 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 289 dc.l -1, -1 dc.l wrap_dpathconf // 292 dc.l -1, -1 // 294 dc.l -1 dc.l wrap_dopendir // 296 dc.l wrap_dreaddir // 297 dc.l wrap_drewinddir // 298 dc.l wrap_dclosedir // 299 dc.l wrap_fxattr // 300 dc.l -1, -1, -1, -1 // 304 dc.l -1, -1, -1, -1, -1 // 309 dc.l -1, -1, -1, -1, -1 // 314 dc.l -1, -1, -1, -1, -1 // 319 dc.l -1, -1 dc.l wrap_dxreaddir // 322 dc.l -1, -1 dc.l -1, -1, -1, -1, -1 // 329 dc.l -1, -1, -1, -1, -1 // 334 dc.l -1, -1, -1 dc.l wrap_dreadlabel // 338 dc.l -1 // 339 dc.l -1, -1, -1, -1, -1 // 344 dc.l -1, -1, -1, -1, -1 // 349 wrap_dfree: PRINT #54 SSTCK a0 move.w 10(a0),-(sp) // drive # move.l 6(a0),-(sp) // diskinfo * MDBSR a0,_sys_d_free lea 6(sp),sp RSTCK rts wrap_dcreate: PRINT #57 SSTCK a0 move.l a4,-(sp) // name - 6(a0) or a4 MD MDBSR a0,_sys_d_create lea 4(sp),sp RSTCK rts wrap_ddelete: PRINT #58 SSTCK a0 move.l a4,-(sp) // name - 6(a0) or a4 MD MDBSR a0,_sys_d_delete lea 4(sp),sp RSTCK rts wrap_dsetpath: PRINT #59 SSTCK a0 move.l a4,-(sp) // name - 6(a0) or a4 MD // MDBSR a0,_sys_d_dsetpath lea 4(sp),sp RSTCK rts wrap_fcreate: PRINT #60 SSTCK a0 move.w 10(a0),-(sp) // attr move.l a4,-(sp) // name - 6(a0) or a4 MD MDBSR a0,_sys_f_create lea 6(sp),sp RSTCK rts wrap_fopen: PRINT #61 SSTCK a0 move.w 10(a0),-(sp) // mode move.l a4,-(sp) // name - 6(a0) or a4 MD MDBSR a0,_sys_f_open lea 6(sp),sp RSTCK cmp.l #0,d0 bmi fopen_error move.l #0,d0 // reset the fs to 0 (MetaDOS requires this) fopen_error: rts wrap_fclose: PRINT #62 SSTCK a0 move.w 6(a0),-(sp) // handle MDBSR a0,_sys_f_close lea 2(sp),sp RSTCK rts wrap_fread: PRINT #63 SSTCK a0 move.l 12(a0),-(sp) // buffer move.l 8(a0),-(sp) // count move.w 6(a0),-(sp) // handle MDBSR a0,_sys_f_read lea 10(sp),sp RSTCK rts wrap_fwrite: PRINT #64 SSTCK a0 move.l 12(a0),-(sp) // buffer move.l 8(a0),-(sp) // count move.w 6(a0),-(sp) // handle MDBSR a0,_sys_f_write lea 10(sp),sp RSTCK rts wrap_fdelete: PRINT #65 SSTCK a0 move.l a4,-(sp) // name - 6(a0) or a4 MD MDBSR a0,_sys_f_delete lea 4(sp),sp RSTCK rts wrap_fseek: PRINT #66 #if 1 SSTCK a0 move.w 12(a0),-(sp) // mode move.w 10(a0),-(sp) // handle move.l 6(a0),-(sp) // count MDBSR a0,_sys_f_seek lea 8(sp),sp RSTCK #else move.l a5,-(sp) move.l a4,-(sp) move.l a3,-(sp) bsr _sys_f_seek lea 12(sp),sp #endif PRINT d0 rts wrap_fattrib: PRINT #67 SSTCK a0 move.w 12(a0),-(sp) // attrib move.w 10(a0),-(sp) // flag move.l a4,-(sp) // name - 6(a0) or a4 MD MDBSR a0,_sys_f_attrib lea 8(sp),sp RSTCK rts wrap_fsfirst: PRINT #78 SSTCK a0 move.w 10(a0),-(sp) // flags move.l a4,-(sp) // name/mask - 6(a0) or a4 MD MDBSR a0,_sys_f_sfirst lea 6(sp),sp RSTCK rts wrap_fsnext: PRINT #79 SSTCK a0 MDBSR a0,_sys_f_snext RSTCK rts wrap_frename: PRINT #86 SSTCK a0 move.l 12(a0),-(sp) // newname move.l a4,-(sp) // oldname - 8(a0) or a4 MD (yes 8(a0)!!!) move.w 6(a0),-(sp) // reserved MDBSR a0,_sys_f_rename lea 10(sp),sp RSTCK rts wrap_fdatime: PRINT #87 SSTCK a0 move.w 12(a0),-(sp) // flag move.w 10(a0),-(sp) // handle move.l 6(a0),-(sp) // timeptr MDBSR a0,_sys_f_datime MDBSR a0,_sys_f_datime lea 8(sp),sp RSTCK rts wrap_fcntl: PRINT #260 SSTCK a0 move.w 12(a0),-(sp) // cmd move.l 8(a0),-(sp) // argument move.w 6(a0),-(sp) // handle // MDBSR a0,_sys_f_cntl lea 8(sp),sp RSTCK rts wrap_dpathconf: PRINT #292 SSTCK a0 move.w 10(a0),-(sp) // mode move.l a4,-(sp) // name - 6(a0) or a4 MD MDBSR a0,_sys_d_pathconf lea 6(sp),sp RSTCK rts wrap_dopendir: PRINT #296 SSTCK a0 move.w 10(a0),-(sp) // flag move.l a4,-(sp) // name 6(a0) or a4 MD MDBSR a0,_sys_d_opendir lea 6(sp),sp RSTCK rts wrap_dreaddir: PRINT #297 SSTCK a0 move.l 12(a0),-(sp) // buffer move.l 8(a0),-(sp) // dirhandle move.w 6(a0),-(sp) // len MDBSR a0,_sys_d_readdir lea 10(sp),sp RSTCK rts wrap_drewinddir: PRINT #298 SSTCK a0 move.l 6(a0),-(sp) // dirhandle MDBSR a0,_sys_d_rewind lea 4(sp),sp RSTCK rts wrap_dclosedir: PRINT #299 SSTCK a0 move.l 6(a0),-(sp) // dirhandle MDBSR a0,_sys_d_closedir lea 4(sp),sp RSTCK rts wrap_fxattr: PRINT #300 SSTCK a0 move.l 12(a0),-(sp) // xattr* move.l a4,-(sp) // name 8(a0) or a4 MD move.w 6(a0),-(sp) // flag MDBSR a0,_sys_f_xattr lea 10(sp),sp RSTCK rts wrap_dxreaddir: PRINT #322 SSTCK a0 move.l 20(a0),-(sp) // xret* move.l 16(a0),-(sp) // xattr* move.l 12(a0),-(sp) // buffer move.l 8(a0),-(sp) // dirhandle move.w 6(a0),-(sp) // len MDBSR a0,_sys_d_xreaddir lea 18(sp),sp RSTCK rts wrap_dreadlabel: PRINT #338 SSTCK a0 move.w 14(a0),-(sp) // len move.l 10(a0),-(sp) // buffer move.l a4,-(sp) // pathname 6(a0) or a4 MD MDBSR a0,_sys_d_readlabel lea 10(sp),sp RSTCK rts s_frm: .ascii "DEV: %ld\n\0" s_stderr: .ascii "DEBUGPRINTF\0" .bss temp: ds.l 1 ds.b 8192 stack: // // $Log$ // Revision 1.3 2004/04/26 07:14:04 standa // Adjusted to the recent FreeMiNT CVS state to compile and also made // BetaDOS only. No more MetaDOS compatibility attempts. // // Dfree() fix - for Calamus to be able to save its documents. // // Some minor bugfix backports from the current FreeMiNTs CVS version. // // The mountpoint entries are now shared among several hostfs.dos instances // using a 'BDhf' cookie entry (atari/hostfs/metados/main.c). // // Revision 1.2 2003/03/03 20:39:44 standa // Parameter passing fixed. // // Revision 1.1 2002/12/10 20:47:21 standa // The HostFS (the host OS filesystem access via NatFeats) implementation. // // Revision 1.1 2002/05/22 07:53:22 standa // The PureC -> gcc conversion (see the CONFIGVARS). // MiNT .XFS sources added. // // Revision 1.4 2001/10/17 18:03:47 standa // typo fix // // Revision 1.3 2001/10/17 17:59:44 standa // The fandafs to aranymfs name change and code cleanup. // // aranym-1.0.2/atari/hostfs/metados/mintfake.h000066400000000000000000000030551242022243000210040ustar00rootroot00000000000000/* * $Id$ * * The ARAnyM MetaDOS driver. * * This is the FreeMiNT configuration file modified for * the ARAnyM HOSTFS.DOS MetaDOS driver * * 2002 STan */ #ifndef _mintfake_h_ #define _mintfake_h_ # include "debug.h" # ifndef ARAnyM_MetaDOS # define ARAnyM_MetaDOS # endif /* MetaDOS function header macros to let the functions create also metados independent */ # define MetaDOSFile void *devMD, char *pathNameMD, FILEPTR *fpMD, long retMD, int opcodeMD, # define MetaDOSDir void *devMD, char *pathNameMD, DIR *dirMD, long retMD, int opcodeMD, # define MetaDOSDTA0 void *devMD, char *pathNameMD, DTABUF *dtaMD, long retMD, int opcodeMD # define MetaDOSDTA0pass devMD, pathNameMD, dtaMD, retMD, opcodeMD # define MetaDOSDTA MetaDOSDTA0, /* disable some defines from the sys/mint/ *.h */ #ifdef O_GLOBAL # undef O_GLOBAL #endif #ifdef is_terminal # undef is_terminal #endif # define is_terminal(f) (0) /* disable all tty functions */ # define tty_read(f, buf, count) (0) # define tty_write(f, buf, count) (0) # define tty_ioctl(f, cmd, arg) (0) /* rollback the settings from the FreeMiNT CVS's sys/mint/config.h) */ #ifdef CREATE_PIPES # undef CREATE_PIPES #endif #ifdef SYSUPDATE_DAEMON # undef SYSUPDATE_DAEMON #endif #ifdef OLDSOCKDEVEMU # undef OLDSOCKDEVEMU #endif #ifdef WITH_KERNFS # undef WITH_KERNFS #endif # define WITH_KERNFS 0 #ifdef DEV_RANDOM # undef DEV_RANDOM #endif #ifdef PATH_MAX # undef PATH_MAX #endif # define PATH_MAX 1024 #ifdef SPRINTF_MAX # undef SPRINTF_MAX #endif # define SPRINTF_MAX 128 #endif /* _mintfake_h_ */ aranym-1.0.2/atari/hostfs/metados/mintproc.c000066400000000000000000000133731242022243000210400ustar00rootroot00000000000000/* * $Id$ * * The ARAnyM MetaDOS driver. * * This file is a fake PROC *curproc and some other * structures needed by the FreeMiNT GEMDOS file IO * implementation and not real for singleTOS * * 2002 STan */ #include "mintproc.h" #include "mint/filedesc.h" #include "mint/kerinfo.h" #include "filesys.h" #include "mintfake.h" /** proc.c **/ struct ucred ucred0 = { 100, /* euid */ 100, /* egid */ { 100 }, /* groups */ 1, /* ngroups */ 1 /* links */ }; struct pcred pcred0 = { &ucred0, 100, /* ruid */ 100, /* rgid */ 100, /* suid */ 100, /* sgid */ 1, /* links */ 1 /* pad */ }; struct filedesc filedesc0 = { NULL, /* struct file **ofiles; *//* file structures for open files */ NULL, /* char *ofileflags; *//* per-process open file flags */ 0, /* short nfiles; *//* number of open files allocated */ 0, /* short pad2; */ 1, /* long links; *//* reference count */ NULL, /* DIR *searches; *//* open directory searches */ /* TOS emulation */ NULL, /* DTABUF *dta; *//* current DTA */ # define NUM_SEARCH 10 /* max. number of searches */ /* DTABUF *srchdta[NUM_SEARCH]; */ /* for Fsfirst/next */ { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, }, /* DIR srchdir[NUM_SEARCH]; */ /* for Fsfirst/next */ { { /* fcookie fc */ { NULL, 0, 0, 0 }, /* index */ 0, /* flags */ 0, /* fsstuf */ "", /* next */ NULL }, { { NULL, 0, 0, 0 }, 0, 0, "", NULL }, { { NULL, 0, 0, 0 }, 0, 0, "", NULL }, { { NULL, 0, 0, 0 }, 0, 0, "", NULL }, { { NULL, 0, 0, 0 }, 0, 0, "", NULL }, { { NULL, 0, 0, 0 }, 0, 0, "", NULL }, { { NULL, 0, 0, 0 }, 0, 0, "", NULL }, { { NULL, 0, 0, 0 }, 0, 0, "", NULL }, { { NULL, 0, 0, 0 }, 0, 0, "", NULL }, { { NULL, 0, 0, 0 }, 0, 0, "", NULL }, }, /* long srchtim[NUM_SEARCH]; *//* for Fsfirst/next */ { 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, 0L, }, /* XXX total crap * there are something like this "ofiles[-3]" over the src * before we dynamically alloc the ofiles we have * to fix all the places */ 0, /* short pad1; */ 0, /* short bconmap; *//* Bconmap mapping */ NULL, /* struct file *midiout; *//* MIDI output */ NULL, /* struct file *midiin; *//* MIDI input */ NULL, /* struct file *prn; *//* printer */ NULL, /* struct file *aux; *//* auxiliary tty */ NULL, /* struct file *control; *//* control tty */ /* struct file *dfiles [NDFILE]; */ { NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL }, /* uchar dfileflags [NDFILE]; */ { '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0', '\0' } }; struct cwd cwd0 = { 1, /* links *//* reference count */ ~0777, /* cmask *//* mask for file creation */ 0, /* pad */ { NULL, 0, 0, 0 }, /* fcookie currdir; */ /* current directory */ { NULL, 0, 0, 0 }, /* fcookie rootdir; */ /* root directory */ NULL, /* root_dir *//* XXX chroot emulation */ /* DOS emulation */ 'A'-'B', /* curdrv *//* current drive */ 0, /* pad2 */ /* fcookie root[NDRIVES]; *//* root directories */ { { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 } }, /* fcookie curdir[NDRIVES];*//* current directory */ { { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 }, { NULL, 0, 0, 0 } } }; PROC proc0 = { &pcred0, &filedesc0, &cwd0, 1, 1, 1, DOM_TOS, 10 /* debug_level */ }; PROC *proclist = NULL; /* list of all active processes */ PROC *curproc = &proc0; /* current process */ PROC *rootproc = &proc0; /* pid 0 -- MiNT itself */ /** procfs.c **/ FILESYS proc_filesys; DEVDRV fakedev; /** time.c **/ long timezone = 0; /** kerinfo.c **/ /* * kernel info that is passed to loaded file systems and device drivers */ struct kerinfo kernelinfo = { 0, /* MINT_MAJ_VERSION */ 16, /* MINT_MIN_VERSION */ DEFAULT_MODE, 2, /* kerinfo version */ }; aranym-1.0.2/atari/hostfs/metados/mintproc.h000066400000000000000000000024651242022243000210450ustar00rootroot00000000000000/* * $Id$ * * The ARAnyM MetaDOS driver. * * This file is a fake header created from several * FreeMiNT CVS headers (mainly sys/mint/proc.h) * * 2002 STan */ #ifndef _mintproc_h_ #define _mintproc_h_ #include "mint/kernel.h" #include "mint/credentials.h" #include "mint/ktypes.h" /** from kerinfo.h **/ # undef DEFAULT_DIRMODE # define DEFAULT_DIRMODE (0777) # undef DEFAULT_MODE # define DEFAULT_MODE (0666) extern struct kerinfo kernelinfo; /** from proc.h **/ # define MIN_OPEN 6 /* 0..MIN_OPEN-1 are reserved for system */ # define DOM_TOS 0 /* TOS process domain */ # define DOM_MINT 1 /* MiNT process domain */ struct filedesc; struct cwd; struct proc { struct pcred *p_cred; /* owner identity */ struct filedesc *p_fd; /* open files */ struct cwd *p_cwd; /* path stuff */ short pid, ppid, pgrp; short domain; /* process domain (TOS or UNIX) */ ushort debug_level; /* debug-level of the process */ }; extern PROC *proclist; /* list of all active processes */ extern PROC *curproc; /* current process */ extern PROC *rootproc; /* pid 0 -- MiNT itself */ /** from time.h **/ extern long timezone; /** from procfs.h **/ extern FILESYS proc_filesys; extern DEVDRV fakedev; #define copy_cred(ucr) ucr #define free_cred(ucr) #endif /* _mintproc_h_ */ aranym-1.0.2/atari/mmusetup.cnf000066400000000000000000000104711242022243000164420ustar00rootroot00000000000000# This is the configuration file for SET_MMU.PRG, and must be located in either # the root directory of the boot drive or in the autofolder. # Split RAM into ST and TT RAM split_ram=yes # "pagesize" can be either 4k for 4k pages or 8k for ..eh.. 8k pages. pagesize=4k # With the "cacr" variable you set the cacr cpu register. # The following are the following flags you can use... # # edc - Enable Data Cache # nad - No Allocate Mode (data cache) # esb - Enable Store Buffer # dpi - Disable CPUSH Invalidation # foc - 1/2 cache operation mode enable (data cache) # ebc - Enable Branch Cache # cabc - Clear all entries in the branch cache # cubc - Clear all user entries in the branch cache # eic - Enable Instruction cache # nai - No Allocation Mode (instruction cache) # fic - 1/2 cache operation mode enable (instruction cache) cacr=edc,esb,ebc,cabc,eic # itt0, dtt0, itt1 and dtt1 sets the cpu registers with the same name to the # value give here. These are the "Transparent Translation Registers". # Since we are covering everything in the tree, we turn Trasparent Translation off. # This also fixes (I hope) the problems that Mach64 users have had. itt0=$0 dtt0=$0 itt1=$0 dtt1=$0 # To define a block of logical addressing area, used to build the translation # tree, the following variables are used for each block you wich to define. # logical - The logical start address of the block to define # physical - The physical start address of the block. The logical and physical # addresses are set equal in most cases. The CPU always uses logical # addresses to access memory, and then uses to tranlation tree to # obtain the actual physical address of that memory. # size - The size of the block. # pd_flags - This is used to set initial flags in the page descriptors, as the # tree is built. For example the caching mode is set using this flag. # These are the following flags you can use with pd_flags. It is highly # recommended you only use this to set the cache-mode, unless you know what you # do! # # - The following flags are understood, but not used! pdt_r1 is always forced # - into the pdt field of page descriptors. Also, SET_MMU can not create # - indirect page descriptors at this time! # # pdt_iv - Page Descriptor Type = invalid ( %00 ) # pdt_r1 - ------- "" -------- = Resident ( %01 ) This is the pdt value set # by SET_MMU. # pdt_r2 - ------- "" -------- = Resident ( %11 ) # pdt_id - ------- "" -------- = Indirect ( %10 ) # # - The following flags can all be set at will, but dont do that unless you know # - why you do it ;-) # # wp - Write Protect, the Page is write protected # used - Used. # modified - Modified. # super - Page is supervisor accessible only. # upa_0 - upa_3 - Sets the user page attribute field to 0,1,2 or 3 # global - Global. # ur1/ur2 - Sets the User reserved bit 11 (ur1) and 12 (ur2). # # The we have the caching modes.. # # c_wt - Cachable, Writetrought. Sets Writetrought caching. # c_cb - Cachable, CopyBack. Sets Copyback caching. # c_p - Cache inhibit, Precise exception model. # c_ip - Cache inhibit, ImPrecise exception model. # # All logical address spaces not defined by these blocks are marked INVALID in # the translation tree. # # IMPORTANT: There *MUST* be an empty line between translation definition blocks!! # # ST RAM. logical=$0 physical=$0 size=14*1024*1024 pd_flags=c_wt # TOS ROM logical=$00e00000 physical=$00e00000 size=1024*1024 pd_flags=c_p # I/O space logical=$00f00000 physical=$00f00000 size=1024*1024 pd_flags=c_p # Then we set up the block that define the FastRAM # Currently it's set to 512 MB (see the size=512*... below) logical=$01000000 physical=$01000000 size=512*1024*1024 pd_flags=c_wt # mirror of 24-bit address space with upper 8 bits set # mirror of ST-RAM (I doub't it's needed) logical=$ff000000 physical=$ff000000 size=14*1024*1024 pd_flags=c_wt # mirror of TOS ROM (I doub't it's needed) logical=$ffe00000 physical=$ffe00000 size=1024*1024 pd_flags=c_p # mirror of I/O space (the only required thing for backward/ST compatibility) logical=$fff00000 physical=$fff00000 size=1024*1024 pd_flags=c_p aranym-1.0.2/atari/natfeat/000077500000000000000000000000001242022243000155125ustar00rootroot00000000000000aranym-1.0.2/atari/natfeat/BINFILES000066400000000000000000000002211242022243000166230ustar00rootroot00000000000000# This file gets included by the Makefile in this directory to determine # the files that should go only into binary distributions. BINFILES = aranym-1.0.2/atari/natfeat/EXTRAFILES000066400000000000000000000003011242022243000170750ustar00rootroot00000000000000# This file gets included by the Makefile in this directory to determine # the files that should go only into source distributions. SRCFILES += BINFILES EXTRAFILES MISCFILES Makefile SRCFILES aranym-1.0.2/atari/natfeat/MISCFILES000066400000000000000000000002351242022243000167530ustar00rootroot00000000000000# This file gets included by the Makefile in this directory to determine # the files that should go both into source and binary distributions. MISCFILES = aranym-1.0.2/atari/natfeat/Makefile000066400000000000000000000007731242022243000171610ustar00rootroot00000000000000# # Makefile for the embeded natfeat files. # currently used in hostfs and hostfs/metados Makefiles # # usage: copy this dir into a local folder and do # make parentdir=.. (adjust the .. ?) # SHELL = /bin/sh SUBDIRS = srcdir = . top_srcdir = $(parentdir)/../.. subdir = .natfeat default: all all-here: objs include $(top_srcdir)/CONFIGVARS include $(top_srcdir)/RULES include $(top_srcdir)/PHONY # default definitions OBJS = $(COBJS:.c=.o) objs: $(OBJS) include $(top_srcdir)/DEPENDENCIES aranym-1.0.2/atari/natfeat/SRCFILES000066400000000000000000000003631242022243000166510ustar00rootroot00000000000000# This file gets included by the Makefile in this directory to determine # the files that should go only into source distributions. HEADER = \ nf_ops.h COBJS = \ natfeat.c SOBJS = \ natfeat_asm.S SRCFILES = $(HEADER) $(COBJS) $(SOBJS) aranym-1.0.2/atari/natfeat/natfeat.c000066400000000000000000000044201242022243000173000ustar00rootroot00000000000000/* * ARAnyM native features interface. * (c) 2005-2008 ARAnyM development team * * In 2006 updated with FreeMiNT headers and code. * In 2008 converted from "__NF" cookie to direct usage of NF instructions * **/ /* * Copied from FreeMiNT source tree where Native Features were added recently * * Copyright 2003 Frank Naumann * All rights reserved. * * This file is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This file is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * * * Author: Frank Naumann * Started: 2003-12-13 * */ # include # include # include "nf_ops.h" #define ARANYM 1 # ifdef ARANYM static unsigned long nf_get_id_instr = 0x73004e75UL; static unsigned long nf_call_instr = 0x73014e75UL; static struct nf_ops _nf_ops = { (void*)&nf_get_id_instr, (void*)&nf_call_instr }; static struct nf_ops *nf_ops = 0UL; extern int detect_native_features(void); struct nf_ops * nf_init(void) { if (Supexec(detect_native_features)) { nf_ops = &_nf_ops; return nf_ops; } return 0UL; } const char * nf_name(void) { static char buf[64] = "Unknown emulator"; if (nf_ops) { static int done = 0; if (!done) { long nfid_name = nf_ops->get_id("NF_NAME"); if (nfid_name) nf_ops->call(nfid_name, buf, sizeof(buf)); done = 1; } } return buf; } int nf_debug(const char *msg) { if (nf_ops) { long nfid_stderr = nf_ops->get_id("NF_STDERR"); if (nfid_stderr) { nf_ops->call(nfid_stderr, msg); return 1; } } return 0; } void nf_shutdown(void) { if (nf_ops) { long shutdown_id = nf_ops->get_id("NF_SHUTDOWN"); if (shutdown_id) nf_ops->call(shutdown_id); } } # endif aranym-1.0.2/atari/natfeat/natfeat_asm.S000066400000000000000000000036011242022243000201200ustar00rootroot00000000000000/* * ARAnyM native features interface. * (c) 2005-2008 ARAnyM development team * * In 2006 updated with FreeMiNT headers and code. * In 2008 converted from "__NF" cookie to direct usage of NF instructions * **/ /* * Copied from FreeMiNT source tree where Native Features were added recently * * Copyright 2003 Frank Naumann * All rights reserved. * * This file is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This file is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * * * Author: Frank Naumann * Started: 2003-12-13 * * please send suggestions, patches or bug reports to me or * the MiNT mailing list * */ #define ARANYM 1 # ifdef ARANYM .text .globl _detect_native_features /* * NatFeats test (routine retuns TRUE/FALSE (1/0) in D0) */ _detect_native_features: clr.l d0 // assume no NatFeats available move.l (0x0010).w,a0 // illegal instruction vector lea.l fail_natfeat(pc),a1 move.l a1,(0x0010).w move.l sp,a1 // save the ssp nop // flush pipelines (for 68040+) pea (nf_version_name).w(pc) subq.l #4,sp dc.w 0x7300 // Jump to NATFEAT_ID tst.l d0 beq.s fail_natfeat moveq #1,d0 // NatFeats detected fail_natfeat: move.l a1,sp move.l a0,(0x0010).w nop // flush pipelines (for 68040+) rts nf_version_name: .ascii "NF_VERSION\0" # endif aranym-1.0.2/atari/natfeat/nf_ops.h000077500000000000000000000030351242022243000171530ustar00rootroot00000000000000/* * $Id$ * * ARAnyM Native Features suite. * * This file was taken from FreeMiNT. * * Copyright 2003 Frank Naumann * All rights reserved. * * This file is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This file is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * * * Author: Frank Naumann * Started: 2003-12-14 * * Please send suggestions, patches or bug reports to me or * the MiNT mailing list. * */ # ifndef _m68k_nf_ops_h # define _m68k_nf_ops_h #include /* for __CDECL */ struct nf_ops { long __CDECL (*get_id)(const char *); long __CDECL (*call)(long id, ...); long res[3]; }; /** * Use this function to intialize Native Features. * * @return the pointer to 'struct nf_ops' or NULL when * not available. **/ struct nf_ops *nf_init(void); /* basic set native feature functions */ const char *nf_name(void); int nf_debug(const char *msg); void nf_shutdown(void); # endif /* _m68k_nf_ops_h */ aranym-1.0.2/atari/network/000077500000000000000000000000001242022243000155615ustar00rootroot00000000000000aranym-1.0.2/atari/network/ethernet/000077500000000000000000000000001242022243000173775ustar00rootroot00000000000000aranym-1.0.2/atari/network/ethernet/README000066400000000000000000000042361242022243000202640ustar00rootroot00000000000000aranym.xif ========== The MiNT-Net xif driver for the ARAnyM ethernet interface. Installation and usage ---------------------- On host side (linux): --------------------- Make sure the 'aratapif' (ARAnyM TAP IFconfig) binary is installed somewhere in your $PATH (/usr/bin or /usr/local/bin) and that it is installed setuid root. If it's not use the following commands (run them as root): linux:~# chown root /usr/bin/aratapif linux:~# chmod u+s /usr/bin/aratapif Another important thing is to load the tuntap device driver (if it isn't compiled in the host kernel). I load it with the following command: linux:~# modprobe tun And before loading this driver please check (and possibly fix) the read/write permissions of the "/dev/net/tun" device: linux:~# chmod a+rw /net/dev/tun Otherwise ARAnyM started by regular user could not access this device. More information about TUN/TAP you'll find at http://vtun.sourceforge.net/tun/ On Atari side: -------------- Install MiNT-Net and copy the aranym.xif into your mint folder. Then configure the eth0 interface, best by calling the 'eth0-config.sh' script. If you wanted to configure the IP addresses or netmask, you could do that in the ARAnyM config file. Then in MiNT-Net you can e.g. ping to 192.168.0.1 (which is the default IP of the TAP tunnel's host side). How it works ------------ The ARAnyM establishes the TAP interface (using tuntap driver). tuntap linux driver: /usr/src/linux/Documentation/networking/tuntap.txt Some related info can be found at the following URLs: VTUN (virtual tunnel) http://vtun.sourceforge.net/tun Hercules (s390 emulator) http://www.conmicro.cx/hercules/ Compilation ----------- aranym.xif: * you need the source tree of FreeMiNT 1.16 (use CVS head branch) and if compiling on host, don't forget to edit freemint's CONFIGVARS and enable the CROSS=yes there. Point the FREEMINT_SRC_HOME environment variable to its home (the COPYING.MiNT file is there). * use make.sh to compile * the binaries are placed into the bin subfolder nfeth-config: * regular MiNT setup is able to compile it with simple 'make nfeth-config' ARAnyM itself: * run configure with --enable-ethernet aranym-1.0.2/atari/network/ethernet/ethernet_nfapi.h000066400000000000000000000043661242022243000225540ustar00rootroot00000000000000/* * ARAnyM ethernet driver - header file. * * Copyright (c) 2002-2004 Standa and Petr of ARAnyM dev team (see AUTHORS) * * This file is part of the ARAnyM project which builds a new and powerful * TOS/FreeMiNT compatible virtual machine running on almost any hardware. * * ARAnyM is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * ARAnyM 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 ARAnyM; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef _ARAETHER_NFAPI_H #define _ARAETHER_NFAPI_H /* The code for the FreeMiNT driver was moved to the FreeMiNT CVS: freemint/sys/sockets/xif/nfeth. If you edit this file then you would need to synchronize it with the driver in the freemint CVS (nfeth_nfapi.h). if you change anything in the enum {} below you have to increase this ARAETHER_NFAPI_VERSION! */ #define ARAETHER_NFAPI_VERSION 0x00000005 enum { GET_VERSION = 0, /* no parameters, return NFAPI_VERSION in d0 */ XIF_INTLEVEL, /* no parameters, return Interrupt Level in d0 */ XIF_IRQ, /* acknowledge interrupt from host */ XIF_START, /* (ethX), called on 'ifup', start receiver thread */ XIF_STOP, /* (ethX), called on 'ifdown', stop the thread */ XIF_READLENGTH, /* (ethX), return size of network data block to read */ XIF_READBLOCK, /* (ethX, buffer, size), read block of network data */ XIF_WRITEBLOCK, /* (ethX, buffer, size), write block of network data */ XIF_GET_MAC, /* (ethX, buffer, size), return MAC HW addr in buffer */ XIF_GET_IPHOST, /* (ethX, buffer, size), return IP address of host */ XIF_GET_IPATARI, /* (ethX, buffer, size), return IP address of atari */ XIF_GET_NETMASK /* (ethX, buffer, size), return IP netmask */ }; #define ETH(a) (nfEtherID + a) #endif /* _ARAETHER_NFAPI_H */ aranym-1.0.2/atari/network/ethernet/nfeth-config/000077500000000000000000000000001242022243000217465ustar00rootroot00000000000000aranym-1.0.2/atari/network/ethernet/nfeth-config/Makefile000066400000000000000000000002131242022243000234020ustar00rootroot00000000000000nfeth-config: nfeth-config.c m68k-atari-mint-gcc -Wall nfeth-config.c -o nfeth-config -lsocket clean: rm -f nfeth-config.o nfeth-config aranym-1.0.2/atari/network/ethernet/nfeth-config/eth0-config.sh000077500000000000000000000002451242022243000244110ustar00rootroot00000000000000ifconfig eth0 addr `./nfeth-config --get-atari-ip eth0` netmask `./nfeth-config --get-netmask eth0` up route add default eth0 gw `./nfeth-config --get-host-ip eth0` aranym-1.0.2/atari/network/ethernet/nfeth-config/nfeth-config.c000066400000000000000000000033121242022243000244600ustar00rootroot00000000000000/* * Get IP addresses of the networking tunnel * * Written by Petr Stehlik (c) 2003,2004 * * GPL */ #include /* for printf */ #include /* for atoi */ #include /* for strcmp */ #include /* for ioctl */ #include /* for ifreq */ #include /* for SIOCGLNKSTATS */ int main(int argc, char **argv) { int usage = 0; enum { NONE = -1, ADDR, DSTADDR, NETMASK } which = NONE; char *nif = "eth0"; int sockfd; struct ifreq ifr; long addr[10]; /* indexed by the enum 'which' */ if (argc <= 1) { usage = 1; } else { int i; for(i=1; i> 24) & 0xff, (addr[which] >> 16) & 0xff, (addr[which] >> 8) & 0xff, addr[which] & 0xff); return 0; } aranym-1.0.2/atari/network/linux-m68k/000077500000000000000000000000001242022243000175035ustar00rootroot00000000000000aranym-1.0.2/atari/network/linux-m68k/README000066400000000000000000000021621242022243000203640ustar00rootroot00000000000000How to enhance Linux-m68k kernel with NatFeats: 1) get Debian linux-2.4.27 kernel source code # apt-get install kernel-source-2.4.27 # cd /usr/src # tar xjf kernel-source-2.4.27.tar.bz2 2) patch with Debian m68k 2.4.27 kernel patch # apt-get install kernel-patch-2.4.27-m68k # cd /usr/src/kernel-source-2.4.27 # /usr/src/kernel-patches/m68k/2.4.27/apply/apply # cp /usr/src/kernel-patches/m68k/2.4.27/config.atari .config 3) copy files to appropriate locations: # cd /usr/src/kernel-source-2.4.27 # export ARAL68K_PATH=/path/to/aranym/atari/network/linux-m68k # cp $ARAL68K_PATH/natfeat.[ch] arch/m68k/atari/ # cp $ARAL68K_PATH/atari_nfeth.c drivers/net/ # cp $ARAL68K_PATH/../ethernet/ethernet_nfapi.h arch/m68k/atari/natfeat_ethernet_nfapi.h 4) patch kernel with NatFeat patch # cd /usr/src/kernel-source-2.4.27 # patch -p1 < $ARAL68K_PATH/linux-2.4.27-atari-natfeats.diff 5) rebuild # make oldconfig # make dep # make 6) enjoy the final kernel (vmlinux) Written in October 2005 by Petr Stehlik of ARAnyM team More info at http://aranym.atari.org/ http://www.debian.org/ aranym-1.0.2/atari/network/linux-m68k/atari_nfeth.c000066400000000000000000000161721242022243000221420ustar00rootroot00000000000000/* * atari_nfeth.c - ARAnyM ethernet card driver for GNU/Linux * * Copyright (c) 2005 Milan Jurik, Petr Stehlik of ARAnyM dev team * * Based on ARAnyM driver for FreeMiNT written by Standa Opichal * * This software may be used and distributed according to the terms of * the GNU General Public License (GPL), incorporated herein by reference. */ #include #include #include #include #include "../../arch/m68k/atari/natfeat.h" #define DRV_NAME "atari_nfeth" #define DRV_VERSION "0.3" #define DRV_RELDATE "10/12/2005" /* These identify the driver base version and may not be removed. */ static char version[] __devinitdata = KERN_INFO DRV_NAME ".c:v" DRV_VERSION " " DRV_RELDATE " S.Opichal, M.Jurik, P.Stehlik\n" KERN_INFO " http://aranym.atari.org/\n"; MODULE_AUTHOR("Milan Jurik"); MODULE_DESCRIPTION("Atari NFeth driver"); MODULE_LICENSE("GPL"); /* MODULE_PARM(atari_nfeth_debug, "i"); MODULE_PARM_DESC(atari_nfeth_debug, "atari_nfeth_debug level (1-2)"); */ #undef DEBUG struct atari_nfeth_private { int ethX; struct net_device_stats stats; spinlock_t lock; }; static inline int getEthX(struct net_device *dev) { return ((struct atari_nfeth_private *)netdev_priv(dev))->ethX; } int atari_nfeth_open(struct net_device *dev); int atari_nfeth_stop(struct net_device *dev); irqreturn_t atari_nfeth_interrupt(int irq, void *dev_id, struct pt_regs *fp); int atari_nfeth_xmit(struct sk_buff *skb, struct net_device *dev); int atari_nfeth_open(struct net_device *dev) { nf_ethernet_xif_start(getEthX(dev)); /* Set IRQ */ dev->irq = nf_ethernet_get_irq(); if (request_irq(dev->irq, atari_nfeth_interrupt, IRQ_TYPE_PRIO, dev->name, dev)) { printk( DRV_NAME ": request for irq %d failed\n", dev->irq); return( 0 ); } /* Clean statistics */ memset(&(((struct atari_nfeth_private *)netdev_priv(dev))->stats), 0, sizeof(((struct atari_nfeth_private *)(dev->priv))->stats)); spin_lock_init(&(((struct atari_nfeth_private *)netdev_priv(dev))->lock)); #ifdef DEBUG printk( DRV_NAME ": open"); #endif /* Ready for data */ netif_start_queue(dev); return 0; } int atari_nfeth_stop(struct net_device *dev) { /* No more data */ netif_stop_queue(dev); /* Release IRQ */ free_irq(dev->irq, dev); nf_ethernet_xif_stop(getEthX(dev)); return 0; } /* * Read a packet out of the adapter and pass it to the upper layers */ static irqreturn_t inline recv_packet (struct net_device *dev) { int handled = 0; unsigned short pktlen; struct sk_buff *skb; struct atari_nfeth_private *anp = (struct atari_nfeth_private *)netdev_priv(dev); if (dev == NULL) { printk(DRV_NAME " recv_packet(): interrupt for unknown device.\n"); return IRQ_NONE; } /* read packet length (excluding 32 bit crc) */ pktlen = nf_ethernet_read_packet_len(getEthX(dev)); #ifdef DEBUG printk(DRV_NAME ": recv_packet: %i", pktlen); #endif //if (pktlen < 32) if (!pktlen) { #ifdef DEBUG printk(DRV_NAME ": recv_packet: pktlen == 0"); #endif anp->stats.rx_errors++; return IRQ_RETVAL(handled); } skb = dev_alloc_skb(pktlen + 2); if (skb == NULL) { #ifdef DEBUG printk(DRV_NAME ": recv_packet: out of mem (buf_alloc failed)"); #endif anp->stats.rx_dropped++; return IRQ_RETVAL(handled); } skb->dev = dev; skb_reserve( skb, 2 ); /* 16 Byte align */ skb_put( skb, pktlen ); /* make room */ nf_ethernet_read_block(getEthX(dev), skb->data, pktlen); skb->protocol = eth_type_trans(skb, dev); netif_rx(skb); dev->last_rx = jiffies; anp->stats.rx_packets++; anp->stats.rx_bytes += pktlen; /* and enqueue packet */ handled = 1; return IRQ_RETVAL(handled); } irqreturn_t atari_nfeth_interrupt(int irq, void *dev_id, struct pt_regs *fp) { struct net_device *dev = dev_id; struct atari_nfeth_private *anp = (struct atari_nfeth_private *)netdev_priv(dev); int this_dev_irq_bit; int irq_for_eth_bitmask; if (dev == NULL) { #ifdef DEBUG printk(DRV_NAME " atari_nfeth_interrupt(): interrupt for unknown device.\n"); #endif return IRQ_NONE; } spin_lock(&anp->lock); irq_for_eth_bitmask = nf_ethernet_interrupt(0); this_dev_irq_bit = 1 << (anp->ethX); if (this_dev_irq_bit & irq_for_eth_bitmask) { recv_packet(dev); nf_ethernet_interrupt(this_dev_irq_bit); } #ifdef DEBUG else { printk(DRV_NAME " atari_nfeth_interrupt(%d): not for me\n", anp->ethX); } #endif spin_unlock(&anp->lock); } int atari_nfeth_xmit(struct sk_buff *skb, struct net_device *dev) { int len; char *data, shortpkt[ETH_ZLEN]; struct atari_nfeth_private *anp = netdev_priv(dev); data = skb->data; len = skb->len; if (len < ETH_ZLEN) { memset(shortpkt, 0, ETH_ZLEN); memcpy(shortpkt, data, len); data = shortpkt; len = ETH_ZLEN; } dev->trans_start = jiffies; #ifdef DEBUG printk( DRV_NAME ": send %d bytes", len); #endif nf_ethernet_write_block(getEthX(dev), data, len); anp->stats.tx_packets++; anp->stats.tx_bytes += len; dev_kfree_skb(skb); return 0; } static void atari_nfeth_tx_timeout(struct net_device *dev) { struct atari_nfeth_private *anp = netdev_priv(dev); anp->stats.tx_errors++; netif_wake_queue(dev); } static struct net_device_stats *atari_nfeth_get_stats(struct net_device *dev) { struct atari_nfeth_private *anp = netdev_priv(dev); return &(anp->stats); } // probe1() - HW detection // probe() - set module owner, found == 1, probe1() // init() - probe() static int __init atari_nfeth_probe1(struct net_device *dev, int ethX) { static int did_version = 0; static int did_notinstall = 0; char errmsg[60]; if ( ! nf_ethernet_check_version(errmsg, sizeof(errmsg)-1) ) { if (did_notinstall++ == 0) printk (DRV_NAME " not installed - %s\n", errmsg); return -ENODEV; } /* Get MAC address */ if (! nf_ethernet_get_hw_addr(ethX, (unsigned char *)&(dev->dev_addr), ETH_ALEN)) { #ifdef DEBUG printk(DRV_NAME " eth%d not installed - not defined\n", ethX); #endif return -ENODEV; } ether_setup(dev); dev->open = &atari_nfeth_open; dev->stop = &atari_nfeth_stop; dev->hard_start_xmit = &atari_nfeth_xmit; dev->tx_timeout = &atari_nfeth_tx_timeout; dev->get_stats = &atari_nfeth_get_stats; dev->flags |= NETIF_F_NO_CSUM; if ((dev->priv = kmalloc(sizeof(struct atari_nfeth_private), GFP_KERNEL)) == NULL) return -ENOMEM; ((struct atari_nfeth_private *)(dev->priv))->ethX = ethX; /* index of NF NIC */ if (did_version++ == 0) printk(version); return 0; } int __init atari_nfeth_probe(struct net_device *dev) { static int found = 0; SET_MODULE_OWNER(dev); if (!atari_nfeth_probe1(dev, found++)) { return 0; } return -ENODEV; } #ifdef MODULE static struct net_device atari_nfeth_dev; int atari_nfeth_init(void) { int err; if (err = atari_nfeth_probe(&atari_nfeth_dev)) { return err; } // ? atari_nfeth_dev.init = atari_nfeth_probe; if ((err = register_netdev(&atari_nfeth_dev))) { if (err == -EIO) { printk(DRV_NAME ": NatFeat Ethernet not found. Module not loaded.\n"); } return err; } return 0; } void atari_nfeth_cleanup(void) { unregister_netdev(&atari_nfeth_dev); free_netdev(atari_nfeth_dev); // ? } module_init(atari_nfeth_init); module_exit(atari_nfeth_cleanup); #endif /* MODULE */ /* vim:ts=4:sw=4: */ aranym-1.0.2/atari/network/linux-m68k/linux-2.4.27-atari-natfeats.diff000066400000000000000000000134131242022243000251270ustar00rootroot00000000000000--- /tmp/kernel-source-2.4.27-atari/arch/m68k/atari/config.c 2002-11-29 00:53:09.000000000 +0100 +++ kernel-source-2.4.27-atari/arch/m68k/atari/config.c 2005-08-24 23:28:27.000000000 +0200 @@ -32,6 +32,9 @@ #include #include #include +#ifdef CONFIG_NATFEAT +#include "natfeat.h" +#endif #include #include @@ -237,6 +240,12 @@ } } +void atari_poweroff(void) +{ +#ifdef CONFIG_NATFEAT + nf_shutdown(); +#endif +} /* * Setup the Atari configuration info @@ -248,6 +257,10 @@ memset(&atari_hw_present, 0, sizeof(atari_hw_present)); +#ifdef CONFIG_NATFEAT + nf_init(); +#endif + atari_debug_init(); ioport_resource.end = 0xFFFFFFFF; /* Change size of I/O space from 64KB @@ -271,6 +284,8 @@ mach_get_irq_list = atari_get_irq_list; mach_gettimeoffset = atari_gettimeoffset; mach_reset = atari_reset; + mach_halt = atari_poweroff; + mach_power_off = atari_poweroff; #ifdef CONFIG_ATARI_FLOPPY mach_floppy_setup = atari_floppy_setup; #endif @@ -669,6 +684,11 @@ static void atari_get_model(char *model) { +#ifdef CONFIG_NATFEAT + if (nf_name1(model, 80)) { // char model[80] defined in kernel/setup.c + return; + } +#endif strcpy(model, "Atari "); switch (atari_mch_cookie >> 16) { case ATARI_MCH_ST: --- /tmp/kernel-source-2.4.27-atari/arch/m68k/atari/Makefile 2002-11-29 00:53:09.000000000 +0100 +++ kernel-source-2.4.27-atari/arch/m68k/atari/Makefile 2005-08-24 02:44:28.000000000 +0200 @@ -20,4 +20,6 @@ obj-$(CONFIG_HADES) += hades-pci.o endif +obj-$(CONFIG_NATFEAT) += natfeat.o + include $(TOPDIR)/Rules.make --- /tmp/kernel-source-2.4.27-atari/drivers/net/Makefile 2004-08-08 01:26:04.000000000 +0200 +++ kernel-source-2.4.27-atari/drivers/net/Makefile 2005-10-25 09:36:20.000000000 +0200 @@ -227,6 +227,7 @@ obj-$(CONFIG_ATARILANCE) += atarilance.o obj-$(CONFIG_ATARI_BIONET) += atari_bionet.o obj-$(CONFIG_ATARI_PAMSNET) += atari_pamsnet.o +obj-$(CONFIG_ATARI_NFETH) += atari_nfeth.o obj-$(CONFIG_A2065) += a2065.o obj-$(CONFIG_HYDRA) += hydra.o 8390.o obj-$(CONFIG_ARIADNE) += ariadne.o --- /tmp/kernel-source-2.4.27-atari/.config 2005-08-03 21:38:35.000000000 +0200 +++ kernel-source-2.4.27-atari/.config 2005-08-25 00:27:49.000000000 +0200 @@ -27,6 +27,8 @@ CONFIG_ATARI=y # CONFIG_HADES is not set # CONFIG_PCI is not set +CONFIG_ARANYM=y +CONFIG_NATFEAT=y # CONFIG_MAC is not set # CONFIG_APOLLO is not set # CONFIG_VME is not set @@ -371,6 +373,7 @@ CONFIG_ATARILANCE=m # CONFIG_ATARI_BIONET is not set # CONFIG_ATARI_PAMSNET is not set +CONFIG_ATARI_NFETH=y # # Character devices --- /tmp/kernel-source-2.4.27-atari/arch/m68k/config.in 2005-08-03 21:38:18.000000000 +0200 +++ kernel-source-2.4.27-atari/arch/m68k/config.in 2005-08-24 23:31:08.000000000 +0200 @@ -38,6 +38,12 @@ else define_bool CONFIG_PCI n fi +dep_bool ' ARAnyM support' CONFIG_ARANYM $CONFIG_ATARI +if [ "$CONFIG_ARANYM" = "y" ]; then + define_bool CONFIG_NATFEAT y +else + define_bool CONFIG_NATFEAT n +fi bool 'Macintosh support' CONFIG_MAC if [ "$CONFIG_MAC" = "y" ]; then define_bool CONFIG_NUBUS y @@ -356,6 +362,9 @@ tristate ' BioNet-100 support' CONFIG_ATARI_BIONET tristate ' PAMsNet support' CONFIG_ATARI_PAMSNET fi + if [ "$CONFIG_NATFEAT" = "y" ]; then + tristate ' NatFeat Ethernet support' CONFIG_ATARI_NFETH + fi fi if [ "$CONFIG_SUN3" = "y" -o "$CONFIG_SUN3X" = "y" ]; then tristate ' Sun3/Sun3x on-board LANCE support' CONFIG_SUN3LANCE --- /tmp/kernel-source-2.4.27-atari/Documentation/Configure.help 2005-08-03 21:38:18.000000000 +0200 +++ kernel-source-2.4.27-atari/Documentation/Configure.help 2005-08-24 23:47:00.000000000 +0200 @@ -23555,6 +23555,13 @@ This option enables support for the Hades Atari clone. If you plan to use this kernel on a Hades, say Y here; otherwise say N. +ARAnyM support +CONFIG_ARANYM + This option enables support for the ARAnyM virtual machine. If you plan + to use this kernel on ARAnyM, say Y here; otherwise say N. + Currently it just enables support for Native Features - a common + API for accessing host hardware from within the virtual machine. + Macintosh support CONFIG_MAC This option enables support for the Apple Macintosh series of @@ -24012,6 +24019,16 @@ ACSI port ("ACSI node"). The driver works (has to work...) with a polled I/O scheme, so it's rather slow :-( +ARAnyM networking support +CONFIG_ATARI_NFETH + Say Y to include support for the NatFeat based Ethernet driver + currently available in ARAnyM virtual machine. + + This driver is also available as a module ( = code which can be + inserted in and removed from the running kernel whenever you + want). The module is called atari_nfeth.o. If you want to compile it as a + module, say M here and read . + Amiga mouse support CONFIG_AMIGAMOUSE If you want to be able to use an Amiga mouse in Linux, say Y. --- /tmp/kernel-source-2.4.27-atari/drivers/net/Space.c 2005-08-03 21:38:18.000000000 +0200 +++ kernel-source-2.4.27-atari/drivers/net/Space.c 2005-08-19 23:02:49.000000000 +0200 @@ -84,6 +84,7 @@ extern int seeq8005_probe(struct net_device *); extern int smc_init( struct net_device * ); extern int atarilance_probe(struct net_device *); +extern int atari_nfeth_probe(struct net_device *); extern int sun3lance_probe(struct net_device *); extern int sun3_82586_probe(struct net_device *); extern int apne_probe(struct net_device *); @@ -333,6 +334,9 @@ #ifdef CONFIG_ATARILANCE /* Lance-based Atari ethernet boards */ {atarilance_probe, 0}, #endif +#ifdef CONFIG_ATARI_NFETH + {atari_nfeth_probe, 0}, +#endif #ifdef CONFIG_SUN3LANCE /* sun3 onboard Lance chip */ {sun3lance_probe, 0}, #endif aranym-1.0.2/atari/network/linux-m68k/natfeat.c000066400000000000000000000120111242022243000212640ustar00rootroot00000000000000/* * natfeat.c - ARAnyM hardware support via Native Features (natfeats) * * Copyright (c) 2005 Petr Stehlik of ARAnyM dev team * * This software may be used and distributed according to the terms of * the GNU General Public License (GPL), incorporated herein by reference. */ #include #include #include // strncpy() #include // snprintf() #include // virt_to_phys() #include "natfeat.h" #ifdef CONFIG_ATARI_NFETH #include "natfeat_ethernet_nfapi.h" #endif #ifndef TRUE #define TRUE 1 #endif #ifndef FALSE #define FALSE 0 #endif static unsigned long nf_get_id_instr = 0x73004e75UL; static unsigned long nf_call_instr = 0x73014e75UL; static struct nf_ops _nf_ops = { &nf_get_id_instr, &nf_call_instr }; static struct nf_ops *nf_ops = NULL; #define NF_GETID(a) nf_ops->get_id(virt_to_phys(a)) int detect_native_features(void) { int ret; long save_sp, save_vbr; static long tmp_vectors[5]; static char *nf_version = "NF_VERSION"; __asm__ __volatile__ ( "movec %/vbr,%2\n\t" /* save vbr value */ "movel #Liierr,%3@(0x10)\n\t" /* set Illegal Insn vec */ "movec %3,%/vbr\n\t" /* set up temporary vectors */ "movel %/sp,%1\n\t" /* save sp */ "moveq #0,%0\n\t" /* assume no NatFeats */ "clrl %/d0\n\t" /* clear ID value register */ "movel %4,%/sp@\n\t" "subql #4,%/sp\n\t" "dc 0x7300\n\t" /* call NatFeat GetID */ "tstl %/d0\n\t" /* check ID value register */ "sne %0\n\t" /* if non-zero NatFeats work */ "Liierr:\n\t" "movel %1,%/sp\n\t" /* restore sp */ "movec %2,%/vbr" /* restore vbr */ : "=&d" (ret), "=&r" (save_sp), "=&r" (save_vbr) : "a" (tmp_vectors), "a" (virt_to_phys(nf_version)) : "d0" /* reg d0 used by NatFeats */ ); return( ret ); } struct nf_ops * nf_init(void) { if (detect_native_features()) { nf_ops = &_nf_ops; nf_debug("NatFeats found\n"); return nf_ops; } return NULL; } /****************/ /* NF Basic Set */ int nf_name1(char *buf, int bufsize) { if (nf_ops) { static long nfid_name = 0; if (nfid_name == 0) { nfid_name = NF_GETID("NF_NAME"); } if (nfid_name) { nf_ops->call(nfid_name+1, virt_to_phys(buf), bufsize); // TODO: lock buf to prevent swap out return TRUE; } } return FALSE; } int nf_debug(const char *msg) { if (nf_ops) { static long nfid_stderr = 0; if (nfid_stderr == 0) { nfid_stderr = NF_GETID("NF_STDERR"); } if (nfid_stderr) { nf_ops->call(nfid_stderr, virt_to_phys(msg)); // TODO: lock msg to prevent swap out return TRUE; } } return FALSE; } int nf_shutdown(void) { if (nf_ops) { long shutdown_id = NF_GETID("NF_SHUTDOWN"); if (shutdown_id) { nf_ops->call(shutdown_id); return TRUE; /* never returns actually */ } } return FALSE; } #ifdef CONFIG_ATARI_NFETH /****************************/ /* NatFeat Ethernet support */ static long nfEtherID = 0; static int is_nf_eth(void) { if (nf_ops) { if (nfEtherID == 0) { nfEtherID = NF_GETID("ETHERNET"); } } return (nfEtherID != 0); } int nf_ethernet_check_version(char *errmsg, int errmsglen) { if (is_nf_eth()) { static unsigned long host_ver = 0; if (host_ver == 0) { host_ver = nf_ops->call(ETH(GET_VERSION)); } if (host_ver == ARAETHER_NFAPI_VERSION) { return TRUE; } else { // API version mismatch if (errmsg != NULL) { snprintf(errmsg, errmsglen, "NatFeat Ethernet API: expected %d, got %ld", ARAETHER_NFAPI_VERSION, host_ver); } return FALSE; } } if (errmsg != NULL) { strncpy(errmsg, "NatFeat Ethernet support not found", errmsglen); } return FALSE; } int nf_ethernet_get_irq(void) { return is_nf_eth() ? nf_ops->call(ETH(XIF_INTLEVEL)) : 0; } int nf_ethernet_get_hw_addr(int ethX, char *buffer, int bufsize) { if (is_nf_eth()) { return nf_ops->call(ETH(XIF_GET_MAC), (unsigned long)ethX, virt_to_phys(buffer), (unsigned long)bufsize); // TODO: lock buffer to prevent swap out } return FALSE; } int nf_ethernet_interrupt(int bit) { if (is_nf_eth()) { return nf_ops->call(ETH(XIF_IRQ), (unsigned long)bit); } return 0; } int nf_ethernet_read_packet_len(int ethX) { if (is_nf_eth()) { return nf_ops->call(ETH(XIF_READLENGTH), (unsigned long)ethX); } return 0; } void nf_ethernet_read_block(int ethX, char *buffer, int len) { if (is_nf_eth()) { nf_ops->call(ETH(XIF_READBLOCK), (unsigned long)ethX, virt_to_phys(buffer), (unsigned long)len); // TODO: lock buffer to prevent swap out } } void nf_ethernet_write_block(int ethX, char *buffer, int len) { if (is_nf_eth()) { nf_ops->call(ETH(XIF_WRITEBLOCK), (unsigned long)ethX, virt_to_phys(buffer), (unsigned long)len); // TODO: lock buffer to prevent swap out } } void nf_ethernet_xif_start(int ethX) { if (is_nf_eth()) { nf_ops->call(ETH(XIF_START), (unsigned long)ethX); } } void nf_ethernet_xif_stop(int ethX) { if (is_nf_eth()) { nf_ops->call(ETH(XIF_STOP), (unsigned long)ethX); } } #endif // CONFIG_ATARI_NFETH /* vim:ts=4:sw=4: */ aranym-1.0.2/atari/network/linux-m68k/natfeat.h000066400000000000000000000017351242022243000213040ustar00rootroot00000000000000/* * ARAnyM hardware support via Native Features (natfeats) * * Copyright (c) 2005 Petr Stehlik of ARAnyM dev team * * This software may be used and distributed according to the terms of * the GNU General Public License (GPL), incorporated herein by reference. */ #ifndef _natfeat_h #define _natfeat_h struct nf_ops { long (*get_id)(const char *); long (*call)(long id, ...); long res[3]; }; struct nf_ops *nf_init(void); int nf_name(char *buf, int bufsize); int nf_debug(const char *msg); int nf_shutdown(void); int nf_ethernet_check_version(char *errmsg, int errmsglen); int nf_ethernet_get_irq(void); int nf_ethernet_get_hw_addr(int ethX, char *buffer, int bufsize); int nf_ethernet_interrupt(int bit); int nf_ethernet_read_packet_len(int ethX); void nf_ethernet_read_block(int ethX, char *buffer, int len); void nf_ethernet_write_block(int ethX, char *buffer, int len); void nf_ethernet_xif_start(int ethX); void nf_ethernet_xif_stop(int ethX); # endif /* _natfeat_h */ aranym-1.0.2/atari/newdesk.inf000066400000000000000000000014151242022243000162270ustar00rootroot00000000000000#a000000 #b000000 #c7770007000600070055200505552220770557075055507703111103 #d #K 4F 53 4C 00 46 42 43 57 45 58 00 00 00 00 00 00 00 00 00 00 00 00 00 52 00 00 4D 56 00 00 00 @ #E 18 05 00 06 00 3C 00 00 00 00 #Q 41 70 73 70 7D 70 #W 00 00 00 07 4C 0C 00 @ #W 00 00 02 0B 4C 09 00 @ #W 00 00 0A 0F 34 09 00 @ #W 00 00 0E 01 34 09 00 @ #W 00 00 04 07 4C 0C 00 @ #W 00 00 0C 0B 4C 09 00 @ #W 00 00 08 0F 34 09 00 @ #W 00 00 06 01 34 09 00 @ #N FF 04 000 @ *.*@ @ #D FF 01 000 @ *.*@ @ #G 03 FF 000 *.APP@ @ @ #G 03 FF 000 *.PRG@ @ @ #Y 03 FF 000 *.GTP@ @ @ #P 03 FF 000 *.TTP@ @ @ #F 03 04 000 *.TOS@ @ @ #M 00 01 00 FF C HARD DISK@ @ #M 00 00 00 FF A FLOPPY DISK@ @ #M 01 00 00 FF B FLOPPY DISK@ @ #T 00 07 02 FF TRASH@ @ aranym-1.0.2/atari/nfcdrom/000077500000000000000000000000001242022243000155205ustar00rootroot00000000000000aranym-1.0.2/atari/nfcdrom/Makefile000066400000000000000000000006761242022243000171710ustar00rootroot00000000000000 TARGET = nfcdrom.bos COBJS = nfcdrom.c ../natfeat/natfeat.c SOBJS = entry.S ../natfeat/natfeat_asm.S include ../CONFIGVARS CFLAGS = $(OPTS) $(WARN) $(GENERAL) LDFLAGS = -nostdlib -Wl,--entry -Wl,_init_driver -lgcc -lc COBJECTS = $(COBJS:.c=.o) SOBJECTS = $(SOBJS:.S=.o) all: $(TARGET) $(TARGET): $(COBJECTS) $(SOBJECTS) ${CC} -o $@ $(COBJECTS) $(SOBJECTS) ${LDFLAGS} ${STRIP} $(TARGET) clean: rm -f $(COBJECTS) $(SOBJECTS) $(TARGET) aranym-1.0.2/atari/nfcdrom/entry.S000066400000000000000000000126721242022243000170150ustar00rootroot00000000000000/* NatFeat host CD-ROM access, MetaDOS BOS driver entry points ARAnyM (C) 2003 Patrice Mandin This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ .text .globl _asm_init_devices, _init_devices .globl _asm_cd_open, _cd_open .globl _asm_cd_close, _cd_close .globl _asm_cd_read, _cd_read .globl _asm_cd_write, _cd_write .globl _asm_cd_seek, _cd_seek .globl _asm_cd_status, _cd_status .globl _asm_cd_ioctl, _cd_ioctl .globl _asm_cd_startaudio, _cd_startaudio .globl _asm_cd_stopaudio, _cd_stopaudio .globl _asm_cd_setsongtime, _cd_setsongtime .globl _asm_cd_gettoc, _cd_gettoc .globl _asm_cd_discinfo, _cd_discinfo /*--- Function to create a bos header ---*/ _asm_init_devices: /* Input: d0.w physical drive letter d1.w dma channel Forward: 0(sp) physical drive letter 4(sp) dma channel */ andl #0xffff,d1 movl d1,sp@- andl #0xffff,d0 movl d0,sp@- bsr _init_devices addql #8,sp rts /*--- MetaDOS BOS functions frontends ---*/ _asm_cd_open: /* Input: a0 metados_bosheader_t *device 0(sp) return address 4(sp) metaopen_t *metaopen Forward: 0(sp) metados_bosheader_t *device 4(sp) metaopen_t *metaopen */ movl sp,a1 movl 4(a1),sp@- movl a0,sp@- bsr _cd_open addql #8,sp rts _asm_cd_close: /* Input: a0 metados_bosheader_t *device 0(sp) return address Forward: 0(sp) metados_bosheader_t *device */ movl a0,sp@- bsr _cd_close addql #4,sp rts _asm_cd_read: /* Input: a0 metados_bosheader_t *device 0(sp) return address 4(sp) void *buffer; 8(sp) unsigned long first 12(sp) unsigned short length Forward: 0(sp) metados_bosheader_t *device 4(sp) void *buffer; 8(sp) unsigned long first 12(sp) unsigned long length */ movl sp,a1 clrl d0 movw 12(a1),d0 movl d0,sp@- movl 8(a1),sp@- movl 4(a1),sp@- movl a0,sp@- bsr _cd_read lea sp@(16),sp rts _asm_cd_write: /* Input: a0 metados_bosheader_t *device 0(sp) return address 4(sp) void *buffer; 8(sp) unsigned long first 12(sp) unsigned short length Forward: 0(sp) metados_bosheader_t *device 4(sp) void *buffer; 8(sp) unsigned long first 12(sp) unsigned long length */ movl sp,a1 clrl d0 movw 12(a1),d0 movl d0,sp@- movl 8(a1),sp@- movl 4(a1),sp@- movl a0,sp@- bsr _cd_write lea sp@(16),sp rts _asm_cd_seek: /* Input: a0 metados_bosheader_t *device 0(sp) return address 4(sp) unsigned long offset Forward: 0(sp) metados_bosheader_t *device 4(sp) unsigned long offset */ movl sp,a1 movl 4(a1),sp@- movl a0,sp@- bsr _cd_seek addql #8,sp rts _asm_cd_status: /* Input: a0 metados_bosheader_t *device 0(sp) return address 4(sp) metados_bosstatus_t *extended_status; Forward: 0(sp) metados_bosheader_t *device 4(sp) metados_bosstatus_t *extended_status; */ movl sp,a1 movl 4(a1),sp@- movl a0,sp@- bsr _cd_status addql #8,sp rts _asm_cd_ioctl: /* Input: a0 metados_bosheader_t *device 0(sp) return address 4(sp) unsigned long magic 8(sp) unsigned short opcode 10(sp) void *buffer; Forward: 0(sp) metados_bosheader_t *device 4(sp) unsigned long magic 8(sp) unsigned long opcode 12(sp) void *buffer; */ movl sp,a1 movl 10(a1),sp@- clrl d0 movw 8(a1),d0 movl d0,sp@- movl 4(a1),sp@- movl a0,sp@- bsr _cd_ioctl lea sp@(16),sp rts _asm_cd_startaudio: /* Input: a0 metados_bosheader_t *device 0(sp) return address 4(sp) unknown parameter 6(sp) unsigned char *tracks Forward: 0(sp) metados_bosheader_t *device 4(sp) unknown parameter 8(sp) unsigned char *tracks */ movl sp,a1 movl 6(a1),sp@- clrl d0 movw 4(a1),d0 movl d0,sp@- movl a0,sp@- bsr _cd_startaudio lea sp@(12),sp rts _asm_cd_stopaudio: /* Input: a0 metados_bosheader_t *device 0(sp) return address Forward: 0(sp) metados_bosheader_t *device */ movl a0,sp@- bsr _cd_stopaudio addql #4,sp rts _asm_cd_setsongtime: /* Input: a0 metados_bosheader_t *device 0(sp) return address 4(sp) unknown parameter 6(sp) start_msf 10(sp) end_msf Forward: 0(sp) metados_bosheader_t *device 4(sp) unknown parameter 8(sp) start_msf 12(sp) end_msf */ movl sp,a1 movl 10(a1),sp@- movl 6(a1),sp@- clrl d0 movw 4(a1),d0 movl d0,sp@- movl a0,sp@- bsr _cd_setsongtime lea sp@(16),sp rts _asm_cd_gettoc: /* Input: a0 metados_bosheader_t *device 0(sp) return address 4(sp) dummy 6(sp) toc_header_t *toc_header Forward: 0(sp) metados_bosheader_t *device 4(sp) dummy 8(sp) toc_header_t *toc_header */ movl sp,a1 movl 6(a1),sp@- clrl d0 movw 4(a1),d0 movl d0,sp@- movl a0,sp@- bsr _cd_gettoc lea sp@(12),sp rts _asm_cd_discinfo: /* Input: a0 metados_bosheader_t *device 0(sp) return address 4(sp) metados_bosdiscinfo_t *discinfo Forward: 0(sp) metados_bosheader_t *device 4(sp) metados_bosdiscinfo_t *discinfo */ movl sp,a1 movl 4(a1),sp@- movl a0,sp@- bsr _cd_discinfo addql #8,sp rts aranym-1.0.2/atari/nfcdrom/metados.h000066400000000000000000000100151242022243000173220ustar00rootroot00000000000000/* Metados Copyright (C) 2002 Patrice Mandin This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef _METADOS_H #define _METADOS_H #include /* for trap_14_xxx macros */ #ifndef OSBIND_CLOBBER_LIST #define OSBIND_CLOBBER_LIST "d0", "d1", "d2", "a0", "a1", "a2", "memory" #endif #ifndef trap_14_wwlwl #define trap_14_wwlwl(n,a,b,c,d) \ __extension__ \ ({ \ register long retvalue __asm__("d0"); \ short _a = (short)(a); \ long _b = (long)(b); \ short _c = (short)(c); \ long _d = (long)(d); \ \ __asm__ volatile ( \ "movl %5,sp@-\n\t" \ "movw %4,sp@-\n\t" \ "movl %3,sp@-\n\t" \ "movw %2,sp@-\n\t" \ "movw %1,sp@-\n\t" \ "trap #14\n\t" \ "lea sp@(14),sp" \ : "=r"(retvalue) \ : "g"(n), "r"(_a), "r"(_b), "r"(_c), "r"(_d) \ : OSBIND_CLOBBER_LIST \ ); \ retvalue; \ }) #endif /*--- Functions prototypes ---*/ #define Metainit(buffer) \ (void)trap_14_wl((short)0x30,(long)buffer) #define Metaopen(drive,buffer) \ (long)trap_14_wwl((short)0x31,(short)drive,(long)buffer) #define Metaclose(drive) \ (void)trap_14_ww((short)0x32,(short)drive) #define Metaread(drive,buffer,first_block,nb_blocks) \ (long)trap_14_wwllw((short)0x33,(short)drive,(long)buffer,(long)first_block,(short)nb_blocks) #define Metawrite(drive,buffer,first_block,nb_blocks) \ (long)trap_14_wwllw((short)0x34,(short)drive,(long)buffer,(long)first_block,(short)nb_blocks) #define Metaseek(drive,dummy,offset) \ (long)trap_14_wwll((short)0x35,(short)(drive),(long)(dummy),(long)(offset)) #define Metastatus(void) \ (long)trap_14_wl((short)0x36,(long)(buffer)) #define Metaioctl(drive,magic,opcode,buffer) \ (long)trap_14_wwlwl((short)(0x37),(short)(drive),(long)(magic),(short)(opcode),(long)(buffer)) #define Metastartaudio(drive,dummy,metatracks_t_p) \ (long)trap_14_wwwl((short)(0x3b),(short)(drive),(short)(dummy),(long)(metatracks_t_p)) #define Metastopaudio(drive) \ (long)trap_14_ww((short)(0x3c),(short)(drive)) #define Metasetsongtime(drive,dummy,start,end) \ (long)trap_14_wwwll((short)(0x3d),(short)(drive),(short)(dummy),(long)(start),(long)(end)) #define Metagettoc(drive,dummy,metatocentry_t_p) \ (long)trap_14_wwwl((short)(0x3e),(short)(drive),(short)(dummy),(long)(metatocentry_t_p)) #define Metadiscinfo(drive,metadiscinfo_t_p) \ (long)trap_14_wwl((short)(0x3f),(short)(drive),(long)(metadiscinfo_t_p)) #define METADOS_IOCTL_MAGIC (('F'<<24)|('C'<<16)|('T'<<8)|'L') /*--- Types ---*/ typedef struct { unsigned short version; unsigned long magic; char *log2phys; } metainfo_t; typedef struct { unsigned long drives_map; char *version; unsigned long reserved; metainfo_t *info; } metainit_t; typedef struct { char *name; unsigned long reserved[3]; } metaopen_t; typedef struct { char ext_status[32]; } metastatus_t; typedef struct { unsigned char count; unsigned char first; } metatracks_t; typedef struct { /* TOC entry for MetaGetToc() function */ unsigned char track; unsigned char minute; unsigned char second; unsigned char frame; } metatocentry_t; typedef struct { unsigned char reserved; unsigned char minute; unsigned char second; unsigned char frame; } metadisc_msf_t; typedef struct { /* Discinfo for MetaDiscInfo() function */ unsigned char disctype, first, last, current; metadisc_msf_t relative; metadisc_msf_t absolute; metadisc_msf_t end; unsigned char index, reserved1[3]; unsigned long reserved2[123]; } metadiscinfo_t; #endif /* _METADOS_H */ aranym-1.0.2/atari/nfcdrom/metados_bos.h000066400000000000000000000037551242022243000202020ustar00rootroot00000000000000/* MetaDOS BOS driver definitions ARAnyM (C) 2003 Patrice Mandin This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef _METADOS_BOS_H #define _METADOS_BOS_H #include "metados.h" #define METADOS_BOSDEVICE_NAMELEN 32 typedef struct { long (*init)(metainit_t *metainit); long (*open)(metaopen_t *metaopen); long (*close)(void); long (*read)(void *buffer, unsigned long first, unsigned short length); long (*write)(void *buffer, unsigned long first, unsigned short length); long (*seek)(unsigned long offset); long (*status)(metastatus_t *extended_status); long (*ioctl)(unsigned long magic, unsigned short opcode, void *buffer); long (*function08)(void); long (*function09)(void); long (*function0a)(void); long (*startaudio)(unsigned short dummy, metatracks_t *tracks); long (*stopaudio)(void); long (*setsongtime)(unsigned short dummy, unsigned long start_msf, unsigned long end_msf); long (*gettoc)(unsigned short dummy, metatocentry_t *tocheader); long (*discinfo)(metadiscinfo_t *discinfo); } metados_bosfunctions_t; typedef struct { void *next; unsigned long attrib; unsigned short phys_letter; unsigned short dma_channel; unsigned short sub_device; metados_bosfunctions_t *functions; unsigned short status; unsigned long reserved[2]; char name[METADOS_BOSDEVICE_NAMELEN]; } metados_bosheader_t; #endif /* _METADOS_BOS_H */ aranym-1.0.2/atari/nfcdrom/nfcdrom.c000066400000000000000000000176641242022243000173320ustar00rootroot00000000000000/* NatFeat host CD-ROM access, MetaDOS BOS driver ARAnyM (C) 2003 Patrice Mandin This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /*--- Include ---*/ #include #include #include #include #include "../natfeat/nf_ops.h" #include "metados_bos.h" #include "nfcdrom_nfapi.h" /*--- Defines ---*/ #ifndef EINVFN #define EINVFN -32 #endif #ifndef DEV_CONSOLE #define DEV_CONSOLE 2 #endif #define DRIVER_NAME "ARAnyM host CD-ROM driver" #define VERSION "v0.2" static const char device_name[METADOS_BOSDEVICE_NAMELEN]={ "ARAnyM CD-ROM driver" }; /*--- Functions prototypes ---*/ metados_bosheader_t *asm_init_devices(void); long asm_cd_open(metaopen_t *metaopen); long asm_cd_close(void); long asm_cd_read(void *buffer, unsigned long first, unsigned short length); long asm_cd_write(void *buffer, unsigned long first, unsigned short length); long asm_cd_seek(unsigned long offset); long asm_cd_status(metastatus_t *ext_status); long asm_cd_ioctl(unsigned long magic, unsigned short opcode, void *buffer); long asm_cd_startaudio(unsigned short dummy, metatracks_t *tracks); long asm_cd_stopaudio(void); long asm_cd_setsongtime(unsigned short dummy, unsigned long start_msf, unsigned long end_msf); long asm_cd_gettoc(unsigned short dummy, metatocentry_t *toc_header); long asm_cd_discinfo(metadiscinfo_t *discinfo); long cd_open(metados_bosheader_t *device, metaopen_t *metaopen); long cd_close(metados_bosheader_t *device); long cd_read(metados_bosheader_t *device, void *buffer, unsigned long first, unsigned long length); long cd_write(metados_bosheader_t *device, void *buffer, unsigned long first, unsigned long length); long cd_seek(metados_bosheader_t *device, unsigned long offset); long cd_status(metados_bosheader_t *device, metastatus_t *ext_status); long cd_ioctl(metados_bosheader_t *device, unsigned long magic, unsigned long opcode, void *buffer); long cd_startaudio(metados_bosheader_t *device, unsigned long dummy, metatracks_t *tracks); long cd_stopaudio(metados_bosheader_t *device); long cd_setsongtime(metados_bosheader_t *device, unsigned long dummy, unsigned long start_msf, unsigned long end_msf); long cd_gettoc(metados_bosheader_t *device, unsigned long dummy, metatocentry_t *toc_header); long cd_discinfo(metados_bosheader_t *device, metadiscinfo_t *discinfo); metados_bosheader_t *init_devices(unsigned long phys_letter, unsigned long phys_channel); static void press_any_key(void); /*--- Local variables ---*/ static struct nf_ops *nfOps; static unsigned long nfCdRomId; static unsigned long drives_mask; static metados_bosheader_t * (*device_init_f)(void)=asm_init_devices; /*--- Functions prototypes ---*/ void *init_driver(void); /*--- Functions ---*/ void *init_driver(void) { int i; char letter[2]={0,0}; Cconws( "\033p " DRIVER_NAME " " VERSION " \033q\r\n" "Copyright (c) ARAnyM Development Team, " __DATE__ "\r\n" ); drives_mask=0; nfOps = nf_init(); if (!nfOps) { Cconws("__NF cookie not present on this system\r\n"); press_any_key(); return &device_init_f; } /* List present drives */ nfCdRomId=nfOps->get_id("CDROM"); if (nfCdRomId == 0) { Cconws("NF CD-ROM functions not present on this system\r\n"); press_any_key(); return &device_init_f; } drives_mask=nfOps->call(NFCDROM(NFCD_DRIVESMASK)); Cconws(" Host drives present: "); for (i='A'; i<='Z'; i++) { if (drives_mask & (1<<(i-'A'))) { letter[0]=i; Cconws(letter); } } Cconws("\r\n"); return &device_init_f; } static void press_any_key(void) { Cconws("- Press any key to continue -\r\n"); Crawcin(); } metados_bosheader_t *init_devices(unsigned long phys_letter, unsigned long phys_channel) { unsigned char *newcdrom; metados_bosheader_t *DefaultCdrom; metados_bosfunctions_t *DefaultFunctions; if (nfCdRomId == 0) { Cconws(" ARAnyM host CD-ROM driver unavailable\r\n"); return (metados_bosheader_t *)-39; } newcdrom = (unsigned char *)Malloc(sizeof(metados_bosheader_t)+sizeof(metados_bosfunctions_t)); if (newcdrom == NULL) { return (metados_bosheader_t *)-39; } DefaultCdrom = (metados_bosheader_t *) newcdrom; DefaultFunctions = (metados_bosfunctions_t *) (newcdrom + sizeof(metados_bosheader_t)); DefaultCdrom->next=NULL; DefaultCdrom->attrib=0; DefaultCdrom->phys_letter=phys_letter; DefaultCdrom->dma_channel=phys_channel; DefaultCdrom->functions=DefaultFunctions; DefaultCdrom->functions->init=(long (*)(metainit_t *metainit)) 0xffffffffUL; DefaultCdrom->functions->open=asm_cd_open; DefaultCdrom->functions->close=asm_cd_close; DefaultCdrom->functions->read=asm_cd_read; DefaultCdrom->functions->write=asm_cd_write; DefaultCdrom->functions->seek=asm_cd_seek; DefaultCdrom->functions->status=asm_cd_status; DefaultCdrom->functions->ioctl=asm_cd_ioctl; DefaultCdrom->functions->function08=(long (*)(void)) 0xffffffffUL; DefaultCdrom->functions->function09=(long (*)(void)) 0xffffffffUL; DefaultCdrom->functions->function0a=(long (*)(void)) 0xffffffffUL; DefaultCdrom->functions->startaudio=asm_cd_startaudio; DefaultCdrom->functions->stopaudio=asm_cd_stopaudio; DefaultCdrom->functions->setsongtime=asm_cd_setsongtime; DefaultCdrom->functions->gettoc=asm_cd_gettoc; DefaultCdrom->functions->discinfo=asm_cd_discinfo; DefaultCdrom->status=0; strncpy(DefaultCdrom->name, device_name, METADOS_BOSDEVICE_NAMELEN); return DefaultCdrom; } long cd_open(metados_bosheader_t *device, metaopen_t *metaopen) { metaopen->name = device->name; metaopen->reserved[0] = metaopen->reserved[1] = metaopen->reserved[2] = 0; return nfOps->call(NFCDROM(NFCD_OPEN), device, metaopen); } long cd_close(metados_bosheader_t *device) { return nfOps->call(NFCDROM(NFCD_CLOSE), device); } long cd_read(metados_bosheader_t *device, void *buffer, unsigned long first, unsigned long length) { return nfOps->call(NFCDROM(NFCD_READ), device, buffer, first, length); } long cd_write(metados_bosheader_t *device, void *buffer, unsigned long first, unsigned long length) { return nfOps->call(NFCDROM(NFCD_WRITE), device, buffer, first, length); } long cd_seek(metados_bosheader_t *device, unsigned long offset) { return nfOps->call(NFCDROM(NFCD_SEEK), device, offset); } long cd_status(metados_bosheader_t *device, metastatus_t *extended_status) { if (extended_status != NULL) { memset(extended_status, 0, sizeof(metastatus_t)); } return nfOps->call(NFCDROM(NFCD_STATUS), device, extended_status); } long cd_ioctl(metados_bosheader_t *device, unsigned long magic, unsigned long opcode, void *buffer) { if (magic != METADOS_IOCTL_MAGIC) { return EINVFN; } return nfOps->call(NFCDROM(NFCD_IOCTL), device, opcode, buffer); } long cd_startaudio(metados_bosheader_t *device, unsigned long dummy, metatracks_t *tracks) { return nfOps->call(NFCDROM(NFCD_STARTAUDIO), device, dummy, tracks); } long cd_stopaudio(metados_bosheader_t *device) { return nfOps->call(NFCDROM(NFCD_STOPAUDIO), device); } long cd_setsongtime(metados_bosheader_t *device, unsigned long dummy, unsigned long start_msf, unsigned long end_msf) { return nfOps->call(NFCDROM(NFCD_SETSONGTIME), device, dummy, start_msf, end_msf); } long cd_gettoc(metados_bosheader_t *device, unsigned long dummy, metatocentry_t *toc_header) { return nfOps->call(NFCDROM(NFCD_GETTOC), device, dummy, toc_header); } long cd_discinfo(metados_bosheader_t *device, metadiscinfo_t *discinfo) { return nfOps->call(NFCDROM(NFCD_DISCINFO), device, discinfo); } aranym-1.0.2/atari/nfcdrom/nfcdrom_nfapi.h000066400000000000000000000026171242022243000205040ustar00rootroot00000000000000/* * NatFeat host CD-ROM access: MetaDOS BOS driver, NatFeat functions * * ARAnyM (C) 2003 Patrice Mandin * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef _NFCDROM_NFAPI_H #define _NFCDROM_NFAPI_H /* if you change anything in the enum {} below you have to increase this ARANFCDROM_NFAPI_VERSION! */ #define ARANFCDROM_NFAPI_VERSION 0x00000000 enum { GET_VERSION = 0, /* no parameters, return NFAPI_VERSION in d0 */ NFCD_OPEN, NFCD_CLOSE, NFCD_READ, NFCD_WRITE, NFCD_SEEK, NFCD_STATUS, NFCD_IOCTL, NFCD_UNDEF8, NFCD_UNDEF9, NFCD_UNDEF10, NFCD_STARTAUDIO, NFCD_STOPAUDIO, NFCD_SETSONGTIME, NFCD_GETTOC, NFCD_DISCINFO, NFCD_DRIVESMASK }; #define NFCDROM(a) (nfCdRomId + a) #endif /* _NFCDROM_NFAPI_H */ aranym-1.0.2/atari/nfjpeg/000077500000000000000000000000001242022243000153415ustar00rootroot00000000000000aranym-1.0.2/atari/nfjpeg/Makefile000066400000000000000000000007531242022243000170060ustar00rootroot00000000000000 TARGET = nfjpeg.prg COBJS = nfjpeg.c ../natfeat/natfeat.c ../nfpci/nfpci_cookie.c SOBJS = entry.S nfjpeg_functions.S ../natfeat/natfeat_asm.S include ../CONFIGVARS CFLAGS = -O2 -fomit-frame-pointer -Wall LDFLAGS = -nostdlib -Wl,--entry -Wl,_init_driver -lgcc -lc COBJECTS = $(COBJS:.c=.o) SOBJECTS = $(SOBJS:.S=.o) all: $(TARGET) $(TARGET): $(COBJECTS) $(SOBJECTS) ${CC} -o $@ $(COBJECTS) $(SOBJECTS) ${LDFLAGS} ${STRIP} $(TARGET) clean: rm -f $(COBJECTS) $(SOBJECTS) $(TARGET) aranym-1.0.2/atari/nfjpeg/entry.S000066400000000000000000000022101242022243000166210ustar00rootroot00000000000000/* NatFeat JPEG decoder ARAnyM (C) 2005 Patrice Mandin This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ .globl _init_driver, _install_driver .text /* Calculate length to keep resident */ _init_driver: movl sp@(4),a0 /* Read basepage pointer */ movl #0x100.w,d0 /* Length of basepage */ addl a0@(12),d0 /* Add TEXT length */ addl a0@(20),d0 /* Add DATA length */ addl a0@(28),d0 /* Add BSS length */ movl d0,sp@- bsr _install_driver addql #4,sp clrw sp@- /* If any error, quit program */ trap #1 aranym-1.0.2/atari/nfjpeg/jpgdh.h000066400000000000000000000133671242022243000166200ustar00rootroot00000000000000/* JPEGD header file (C) 1992-93 Brainstorm & Atari Corporation. to be included after vdi.h Last modification on 8-apr-1993. Modified for ARAnyM by Patrice Mandin */ #ifndef JPGDH_H #define JPGDH_H #ifdef ARANYM_NFJPEG #define VOID_PTR uint32 #define UCHAR_PTR uint32 #define FUNC_PTR(x,y) uint32 x #define LONG int32 #define ULONG uint32 #else #define VOID_PTR void * #define UCHAR_PTR unsigned char * #define FUNC_PTR(x,y) short (*x)(y) #define LONG long #define ULONG unsigned long #endif typedef struct _JPGD_STRUCT { VOID_PTR InPointer; /* JPEG Image Pointer */ VOID_PTR OutPointer; /* Output Buffer/Filename Pointer (see OutFlag) */ LONG InSize; /* JPEG Image Size (Bytes) */ LONG OutSize; /* Output Image Size (Bytes) */ short InComponents; /* JPEG Image Components Number (1->4) */ short OutComponents; /* Output Components Number (1->4) */ short OutPixelSize; /* Output Pixel Size (1->4) */ short OutFlag; /* 0 (RAM Output) / -1 (Disk Output) */ short XLoopCounter; /* Number of MCUs per Row */ short YLoopCounter; /* Number of MCUs per Column */ FUNC_PTR(Create,struct _JPGD_STRUCT *); /* Pointer to User Routine / NULL */ FUNC_PTR(Write,struct _JPGD_STRUCT *); /* Pointer to User Routine / NULL */ FUNC_PTR(Close,struct _JPGD_STRUCT *); /* Pointer to User Routine / NULL */ FUNC_PTR(SigTerm,struct _JPGD_STRUCT *); /* Pointer to User Routine / NULL */ UCHAR_PTR Comp1GammaPtr; /* Component 1 Gamma Table / NULL */ UCHAR_PTR Comp2GammaPtr; /* Component 2 Gamma Table / NULL */ UCHAR_PTR Comp3GammaPtr; /* Component 3 Gamma Table / NULL */ UCHAR_PTR Comp4GammaPtr; /* Component 4 Gamma Table / NULL */ FUNC_PTR(UserRoutine,struct _JPGD_STRUCT *); /* Pointer to User Routine (Called during Decompression) / NULL */ VOID_PTR OutTmpPointer; /* Current OutPointer / Temporary Disk Buffer Pointer (see OutFlag) */ short MCUsCounter; /* Number of MCUs not Decoded */ short OutTmpHeight; /* Number of Lines in OutTmpPointer */ LONG User[2]; /* Free, Available for User */ short OutHandle; /* 0 / Output File Handle (see OutFlag) */ /* Output image MFDB */ VOID_PTR MFDBAddress; short MFDBPixelWidth; short MFDBPixelHeight; short MFDBWordSize; short MFDBFormatFlag; short MFDBBitPlanes; short MFDBReserved1; short MFDBReserved2; short MFDBReserved3; /* Official structure stop here, what follows is decoder-dependant */ ULONG handle; /* ARAnyM image handle */ } __attribute__((packed)) JPGD_STRUCT; typedef JPGD_STRUCT *JPGD_PTR; #define JPGD_MAGIC '_JPD' #define JPGD_VERSION 1 #undef NOERROR enum JPGD_ENUM { NOERROR=0, /* File correctly uncompressed */ UNKNOWNFORMAT, /* File is not JFIF (Error) */ INVALIDMARKER, /* Reserved CCITT Marker Found (Error) */ SOF1MARKER, /* Mode not handled by the decoder (Error) */ SOF2MARKER, /* Mode not handled by the decoder (Error) */ SOF3MARKER, /* Mode not handled by the decoder (Error) */ SOF5MARKER, /* Mode not handled by the decoder (Error) */ SOF6MARKER, /* Mode not handled by the decoder (Error) */ SOF7MARKER, /* Mode not handled by the decoder (Error) */ SOF9MARKER, /* Mode not handled by the decoder (Error) */ SOF10MARKER, /* Mode not handled by the decoder (Error) */ SOF11MARKER, /* Mode not handled by the decoder (Error) */ SOF13MARKER, /* Mode not handled by the decoder (Error) */ SOF14MARKER, /* Mode not handled by the decoder (Error) */ SOF15MARKER, /* Mode not handled by the decoder (Error) */ RSTmMARKER, /* Unexpected RSTm found (Error) */ BADDHTMARKER, /* Buggy DHT Marker (Error) */ DACMARKER, /* Marker not handled by the decoder (Error) */ BADDQTMARKER, /* Buggy DQT Marker (Error) */ BADDNLMARKER, /* Invalid/Unexpected DNL Marker (Error) */ BADDRIMARKER, /* Invalid DRI Header Size (Error) */ DHPMARKER, /* Marker not handled by the decoder (Error) */ EXPMARKER, /* Marker not handled by the decoder (Error) */ BADSUBSAMPLING, /* Invalid components subsampling (Error) */ NOTENOUGHMEMORY, /* Not enough memory... (Error) */ DECODERBUSY, /* Decoder is busy (Error) */ DSPBUSY, /* Can't lock the DSP (Error) */ BADSOFnMARKER, /* Buggy SOFn marker (Error) */ BADSOSMARKER, /* Buggy SOS marker (Error) */ HUFFMANERROR, /* Buggy Huffman Stream (Error) */ BADPIXELFORMAT, /* Invalid Output Pixel Format (Error) */ DISKFULL, /* Hard/Floppy Disk Full (Error) */ MISSINGMARKER, /* Marker expected but not found (Error) */ IMAGETRUNCATED, /* More bytes Needed (Error) */ EXTRABYTES, /* Dummy Bytes after EOI Marker (Warning) */ USERABORT, /* User Routine signaled 'Abort' */ DSPMEMORYERROR, /* Not Enough DSP RAM (Error) */ NORSTmMARKER, /* RSTm Marker expected but not found */ BADRSTmMARKER, /* Invalid RSTm Marker Number */ DRIVERCLOSED, /* Driver is Already Closed. */ ENDOFIMAGE /* Stop Decoding (Internal Message, Should Never Appear) */ }; #ifndef ARANYM_NFJPEG typedef long JPGD_ENUM; #endif typedef struct { long JPGDVersion; JPGD_ENUM (*JPGDOpenDriver)(JPGD_PTR); JPGD_ENUM (*JPGDCloseDriver)(JPGD_PTR); long (*JPGDGetStructSize)(void); JPGD_ENUM (*JPGDGetImageInfo)(JPGD_PTR); JPGD_ENUM (*JPGDGetImageSize)(JPGD_PTR); JPGD_ENUM (*JPGDDecodeImage)(JPGD_PTR); } __attribute__((packed)) JPGDDRV_STRUCT; typedef JPGDDRV_STRUCT *JPGDDRV_PTR; #define JPGDOpenDriver(x,y) (x->JPGDOpenDriver)(y) #define JPGDCloseDriver(x,y) (x->JPGDCloseDriver)(y) #define JPGDGetStructSize(x) (x->JPGDGetStructSize)() #define JPGDGetImageInfo(x,y) (x->JPGDGetImageInfo)(y) #define JPGDGetImageSize(x,y) (x->JPGDGetImageSize)(y) #define JPGDDecodeImage(x,y) (x->JPGDDecodeImage)(y) #endif /* JPGDH_H */ aranym-1.0.2/atari/nfjpeg/nfjpeg.c000066400000000000000000000147201242022243000167620ustar00rootroot00000000000000/* NatFeat JPEG decoder ARAnyM (C) 2005 Patrice Mandin This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /*--- Include ---*/ #include #include #include #include #include "../natfeat/nf_ops.h" #include "../nfpci/nfpci_cookie.h" #include "nfjpeg_nfapi.h" #include "jpgdh.h" /*--- Defines ---*/ #ifndef EINVFN #define EINVFN -32 #endif #ifndef DEV_CONSOLE #define DEV_CONSOLE 2 #endif #ifndef S_WRITE #define S_WRITE 1 #endif #ifndef MX_PREFTTRAM #define MX_PREFTTRAM 3 #endif #define DRIVER_NAME "ARAnyM host JPEG driver" #define VERSION "v0.4" #define CALLJPEGROUTINE(jpgd_ptr,func_ptr) \ __extension__ \ ({ \ register long retvalue __asm__("d0"); \ \ __asm__ volatile ( \ "movl %1,a0\n\t" \ "jbsr %2@" \ : "=r"(retvalue) \ : "a"(jpgd_ptr), "a"(func_ptr) \ : "a0", "memory" \ ); \ retvalue; \ }) /*--- Functions prototypes ---*/ JPGD_ENUM JpegDecOpenDriver(struct _JPGD_STRUCT *jpgd_ptr); JPGD_ENUM JpegDecCloseDriver(struct _JPGD_STRUCT *jpgd_ptr); long JpegDecGetStructSize(void); JPGD_ENUM JpegDecGetImageInfo(struct _JPGD_STRUCT *jpgd_ptr); JPGD_ENUM JpegDecGetImageSize(struct _JPGD_STRUCT *jpgd_ptr); JPGD_ENUM JpegDecDecodeImage(struct _JPGD_STRUCT *jpgd_ptr); JPGD_ENUM OpenDriver(struct _JPGD_STRUCT *jpgd_ptr); JPGD_ENUM CloseDriver(struct _JPGD_STRUCT *jpgd_ptr); JPGD_ENUM GetImageInfo(struct _JPGD_STRUCT *jpgd_ptr); JPGD_ENUM GetImageSize(struct _JPGD_STRUCT *jpgd_ptr); JPGD_ENUM DecodeImage(struct _JPGD_STRUCT *jpgd_ptr); static void install_jpeg(void); static void press_any_key(void); static void *Atari_MxAlloc(unsigned long size); /*--- Local variables ---*/ static struct nf_ops *nfOps; static unsigned long nfJpegId; static JPGDDRV_STRUCT nfjpeg_cookie = { 0x00000001, OpenDriver, CloseDriver, JpegDecGetStructSize, GetImageInfo, GetImageSize, DecodeImage }; /*--- Functions ---*/ void install_driver(unsigned long resident_length) { (void) Cconws( "\033p " DRIVER_NAME " " VERSION " \033q\r\n" "Copyright (c) ARAnyM Development Team, " __DATE__ "\r\n" ); /* Check if _JPD already installed */ if (cookie_present(C__JPD, NULL)) { (void) Cconws("A JPEG driver is already installed on this system\r\n"); press_any_key(); return; } /* Check if NF is present for NFJPEG */ nfOps = nf_init(); if (!nfOps) { (void) Cconws("Native Features not present on this system\r\n"); press_any_key(); return; } nfJpegId = nfOps->get_id("JPEG"); if (nfJpegId==0) { (void) Cconws("NF JPEG functions not present on this system\r\n"); press_any_key(); return; } install_jpeg(); Ptermres(resident_length, 0); for(;;); /* Never ending loop, should not go there */ } static void press_any_key(void) { (void) Cconws("- Press any key to continue -\r\n"); Crawcin(); } static void install_jpeg(void) { /* Add our cookie */ cookie_add(C__JPD, (unsigned long)&nfjpeg_cookie); } JPGD_ENUM JpegDecOpenDriver(struct _JPGD_STRUCT *jpgd_ptr) { return nfOps->call(NFJPEG(NFJPEG_OPENDRIVER), jpgd_ptr); } JPGD_ENUM JpegDecCloseDriver(struct _JPGD_STRUCT *jpgd_ptr) { return nfOps->call(NFJPEG(NFJPEG_CLOSEDRIVER), jpgd_ptr); } long JpegDecGetStructSize(void) { return sizeof(struct _JPGD_STRUCT); } JPGD_ENUM JpegDecGetImageInfo(struct _JPGD_STRUCT *jpgd_ptr) { return nfOps->call(NFJPEG(NFJPEG_GETIMAGEINFO), jpgd_ptr); } JPGD_ENUM JpegDecGetImageSize(struct _JPGD_STRUCT *jpgd_ptr) { return nfOps->call(NFJPEG(NFJPEG_GETIMAGESIZE), jpgd_ptr); } JPGD_ENUM JpegDecDecodeImage(struct _JPGD_STRUCT *jpgd_ptr) { int row_length, y; row_length = jpgd_ptr->XLoopCounter * 16 * 16 * jpgd_ptr->OutComponents; jpgd_ptr->OutTmpHeight = 0; jpgd_ptr->MCUsCounter = jpgd_ptr->XLoopCounter * jpgd_ptr->YLoopCounter; if (jpgd_ptr->OutFlag==0) { /* Allocate memory to hold complete image */ if (jpgd_ptr->OutPointer==NULL) { return NOTENOUGHMEMORY; } jpgd_ptr->OutTmpPointer = jpgd_ptr->OutPointer; for (y=0;yYLoopCounter;y++) { /* Decode Y row in OutTmpPointer */ nfOps->call(NFJPEG(NFJPEG_DECODEIMAGE), jpgd_ptr, y); if (jpgd_ptr->UserRoutine) { CALLJPEGROUTINE(jpgd_ptr, jpgd_ptr->UserRoutine); } jpgd_ptr->OutTmpPointer += row_length; jpgd_ptr->OutTmpHeight += 16; jpgd_ptr->MCUsCounter -= jpgd_ptr->XLoopCounter; } jpgd_ptr->MFDBAddress = jpgd_ptr->OutPointer; } else { unsigned char *filename="output.tga"; long handle; jpgd_ptr->OutTmpPointer = Atari_MxAlloc(jpgd_ptr->XLoopCounter * 16 * 16 * 4); if (jpgd_ptr->OutTmpPointer==NULL) { return NOTENOUGHMEMORY; } /* Open file */ if (jpgd_ptr->Create) { handle = CALLJPEGROUTINE(jpgd_ptr, jpgd_ptr->Create); } else { if (jpgd_ptr->OutPointer) { filename = jpgd_ptr->OutPointer; } handle = Fopen(filename, S_WRITE); } if (handle<0) { Mfree(jpgd_ptr->OutTmpPointer); return (JPGD_ENUM) handle; } jpgd_ptr->OutHandle = handle & 0xffff; /* Write part of image to file */ for (y=0;yYLoopCounter;y++) { /* Decode Y row in OutTmpPointer */ nfOps->call(NFJPEG(NFJPEG_DECODEIMAGE), jpgd_ptr, y); jpgd_ptr->OutTmpHeight = jpgd_ptr->MFDBPixelHeight - y*16; if (jpgd_ptr->OutTmpHeight > 16) { jpgd_ptr->OutTmpHeight = 16; } if (jpgd_ptr->UserRoutine) { CALLJPEGROUTINE(jpgd_ptr, jpgd_ptr->UserRoutine); } if (jpgd_ptr->Write) { if (CALLJPEGROUTINE(jpgd_ptr, jpgd_ptr->Write)<0) { break; } } else { Fwrite(jpgd_ptr->OutHandle, row_length, jpgd_ptr->OutTmpPointer); } jpgd_ptr->MCUsCounter -= jpgd_ptr->XLoopCounter; } /* Close file */ if (jpgd_ptr->Close) { CALLJPEGROUTINE(jpgd_ptr, jpgd_ptr->Close); } else { Fclose(jpgd_ptr->OutHandle); } Mfree(jpgd_ptr->OutTmpPointer); } return 0; } static void *Atari_MxAlloc(unsigned long size) { if (((Sversion()&0xFF)>=0x01) | (Sversion()>=0x1900)) { return (void *)Mxalloc(size, MX_PREFTTRAM); } return (void *)Malloc(size); } aranym-1.0.2/atari/nfjpeg/nfjpeg_functions.S000066400000000000000000000031001242022243000210200ustar00rootroot00000000000000/* NatFeat JPEG decoder ARAnyM (C) 2005 Patrice Mandin This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ .globl _OpenDriver .globl _CloseDriver .globl _GetImageInfo .globl _GetImageSize .globl _DecodeImage .globl _JpegDecOpenDriver .globl _JpegDecCloseDriver .globl _JpegDecGetImageInfo .globl _JpegDecGetImageSize .globl _JpegDecDecodeImage .text _OpenDriver: moveml d1/a0-a1,sp@- movel a0,sp@- bsr _JpegDecOpenDriver addql #4,sp moveml sp@+,d1/a0-a1 rts _CloseDriver: moveml d1/a0-a1,sp@- movel a0,sp@- bsr _JpegDecCloseDriver addql #4,sp moveml sp@+,d1/a0-a1 rts _GetImageInfo: moveml d1/a0-a1,sp@- movel a0,sp@- bsr _JpegDecGetImageInfo addql #4,sp moveml sp@+,d1/a0-a1 rts _GetImageSize: moveml d1/a0-a1,sp@- movel a0,sp@- bsr _JpegDecGetImageSize addql #4,sp moveml sp@+,d1/a0-a1 rts _DecodeImage: moveml d1/a0-a1,sp@- movel a0,sp@- bsr _JpegDecDecodeImage addql #4,sp moveml sp@+,d1/a0-a1 rts aranym-1.0.2/atari/nfjpeg/nfjpeg_nfapi.h000066400000000000000000000022751242022243000201460ustar00rootroot00000000000000/* NatFeat JPEG decoder ARAnyM (C) 2005 Patrice Mandin This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef NFJPEG_NFAPI_H #define NFJPEG_NFAPI_H /* if you change anything in the enum {} below you have to increase this ARANFJPEG_NFAPI_VERSION! */ #define ARANFJPEG_NFAPI_VERSION 0x00000000 enum { GET_VERSION = 0, /* no parameters, return NFAPI_VERSION in d0 */ NFJPEG_OPENDRIVER, NFJPEG_CLOSEDRIVER, NFJPEG_GETSTRUCTSIZE, NFJPEG_GETIMAGEINFO, NFJPEG_GETIMAGESIZE, NFJPEG_DECODEIMAGE }; #define NFJPEG(a) (nfJpegId + a) #endif /* NFJPEG_NFAPI_H */ aranym-1.0.2/atari/nfosmesa/000077500000000000000000000000001242022243000157035ustar00rootroot00000000000000aranym-1.0.2/atari/nfosmesa/Makefile000066400000000000000000000105541242022243000173500ustar00rootroot00000000000000include ../CONFIGVARS # # The NFOSMesa code does nothing but call out to the # emulator, so there is no need to create extra m68k/20/30/40 versions. # We create a coldfire binary, though. # (of course a v4e binary makes only sense when Aranym is emulating a FireBEE ;) # CFLAGS = -O2 -fomit-frame-pointer -Wall -I. ASFLAGS = LDFLAGS = -lldg -lgem NOSTARTUP=yes OBJECTS = nfosmesa.o lib-osmesa.o lib-oldmesa.o lib-misc.o lib-gl.o natfeat.o natfeat_asm.o ifeq ($(NOSTARTUP),yes) OBJECTS += crtinit.o libc.o LDFLAGS += -lgcc CRT0 = crt0.o STARTUP = -nostartfiles -nostdlib endif M68K_OBJECTS = $(OBJECTS:.o=_68k.o) MV4E_OBJECTS = $(OBJECTS:.o=_v4e.o) M68K_FLAGS = -m68000 M020_FLAGS = -m68020-60 M030_FLAGS = -m68030 -m68881 M060_FLAGS = -m68060 MV4E_FLAGS = -mcpu=5475 all: dirs m68k/osmesa.ldg v4e/osmesa.ldg \ m68k/tiny_gl.ldg v4e/tiny_gl.ldg \ m68k/tiny_gl.slb crt0.o: crt0.S $(AM_V_CC)$(CC) $(CFLAGS) $(M68K_FLAGS) -c -o $@ $< m68k/osmesa.ldg: $(CRT0) $(M68K_OBJECTS) $(AM_V_LD)${CC} $(M68K_FLAGS) -o $@ $(STARTUP) $^ ${LDFLAGS} $(AM_V_at)${STRIP} $@ nfosmesa_68k.o: nfosmesa.c $(AM_V_CC)$(CC) $(CFLAGS) $(M68K_FLAGS) -c -o $@ $< lib-osmesa_68k.o: lib-osmesa.c $(AM_V_CC)$(CC) $(CFLAGS) $(M68K_FLAGS) -c -o $@ $< lib-oldmesa_68k.o: lib-oldmesa.c $(AM_V_CC)$(CC) $(CFLAGS) $(M68K_FLAGS) -c -o $@ $< lib-misc_68k.o: lib-misc.c $(AM_V_CC)$(CC) $(CFLAGS) $(M68K_FLAGS) -c -o $@ $< lib-gl_68k.o: lib-gl.c $(AM_V_CC)$(CC) $(CFLAGS) $(M68K_FLAGS) -c -o $@ $< natfeat_68k.o: ../natfeat/natfeat.c $(AM_V_CC)$(CC) $(CFLAGS) $(M68K_FLAGS) -c -o $@ $< natfeat_asm_68k.o: ../natfeat/natfeat_asm.S $(AM_V_CC)$(CC) $(ASFLAGS) $(M68K_FLAGS) -c -o $@ $< v4e/osmesa.ldg: $(CRT0) $(MV4E_OBJECTS) $(AM_V_LD)${CC} $(MV4E_FLAGS) -o $@ $(STARTUP) $^ ${LDFLAGS} $(AM_V_at)${STRIP} $@ nfosmesa_v4e.o: nfosmesa.c $(AM_V_CC)$(CC) $(CFLAGS) $(MV4E_FLAGS) -c -o $@ $< lib-osmesa_v4e.o: lib-osmesa.c $(AM_V_CC)$(CC) $(CFLAGS) $(MV4E_FLAGS) -c -o $@ $< lib-oldmesa_v4e.o: lib-oldmesa.c $(AM_V_CC)$(CC) $(CFLAGS) $(MV4E_FLAGS) -c -o $@ $< lib-misc_v4e.o: lib-misc.c $(AM_V_CC)$(CC) $(CFLAGS) $(MV4E_FLAGS) -c -o $@ $< lib-gl_v4e.o: lib-gl.c $(AM_V_CC)$(CC) $(CFLAGS) $(MV4E_FLAGS) -c -o $@ $< natfeat_v4e.o: ../natfeat/natfeat.c $(AM_V_CC)$(CC) $(CFLAGS) $(MV4E_FLAGS) -c -o $@ $< natfeat_asm_v4e.o: ../natfeat/natfeat_asm.S $(AM_V_CC)$(CC) $(ASFLAGS) $(MV4E_FLAGS) -c -o $@ $< TINY_OBJECTS = nftiny_gl.o lib-osmesa.o lib-oldmesa.o lib-misc.o lib-tinygl.o natfeat.o natfeat_asm.o ifeq ($(NOSTARTUP),yes) TINY_OBJECTS += crtinit.o libc.o endif TINY_M68K_OBJECTS = $(TINY_OBJECTS:.o=_68k.o) TINY_MV4E_OBJECTS = $(TINY_OBJECTS:.o=_v4e.o) m68k/tiny_gl.ldg: $(CRT0) $(TINY_M68K_OBJECTS) $(AM_V_LD)${CC} $(M68K_FLAGS) -o $@ $(STARTUP) $^ ${LDFLAGS} $(AM_V_at)${STRIP} $@ nftiny_gl_68k.o: nftiny_gl.c $(AM_V_CC)$(CC) $(CFLAGS) $(M68K_FLAGS) -c -o $@ $< lib-tinygl_68k.o: lib-tinygl.c lib-gl.c $(AM_V_CC)$(CC) $(CFLAGS) $(M68K_FLAGS) -c -o $@ $< crtinit_68k.o: crtinit.c $(AM_V_CC)$(CC) $(CFLAGS) $(M68K_FLAGS) -c -o $@ $< libc_68k.o: libc.c $(AM_V_CC)$(CC) $(CFLAGS) $(M68K_FLAGS) -c -o $@ $< v4e/tiny_gl.ldg: $(CRT0) $(TINY_MV4E_OBJECTS) $(AM_V_LD)${CC} $(MV4E_FLAGS) -o $@ $(STARTUP) $^ ${LDFLAGS} $(AM_V_at)${STRIP} $@ nftiny_gl_v4e.o: nftiny_gl.c $(AM_V_CC)$(CC) $(CFLAGS) $(MV4E_FLAGS) -c -o $@ $< lib-tinygl_v4e.o: lib-tinygl.c lib-gl.c $(AM_V_CC)$(CC) $(CFLAGS) $(MV4E_FLAGS) -c -o $@ $< crtinit_v4e.o: crtinit.c $(AM_V_CC)$(CC) $(CFLAGS) $(MV4E_FLAGS) -c -o $@ $< libc_v4e.o: libc.c $(AM_V_CC)$(CC) $(CFLAGS) $(MV4E_FLAGS) -c -o $@ $< # -mprg-flags,15 is fastload, load to ttram, mallocs from ttram, and bit3 required for SLBs m68k/tiny_gl.slb: tiny_gl_slb.o lib-tinygl_68k.o lib-osmesa_68k.o lib-oldmesa_68k.o lib-misc_68k.o libc_68k.o natfeat_68k.o natfeat_asm_68k.o $(AM_V_LD)$(CC) $(M68K_FLAGS) -nostartfiles -nostdlib -Wl,--mprg-flags,15 -Wl,-b,a.out-mintprg -s -o $@ $^ -lgcc tiny_gl_slb.o: tiny_gl_slb.c $(AM_V_CC)$(CC) $(CFLAGS) $(M68K_FLAGS) -c -o $@ $< dirs: $(AM_V_at)$(MKDIR_P) m68k v4e clean: rm -f *.o m68k/*.ldg m68k/*.slb v4e/*.ldg v4e/*.slb -rmdir m68k v4e TESTDIR=/windows/c/atari/src/ldg-code/test cptest: tinygl_load.c cp nfosmesa_load.c $(TESTDIR)/nfosmesa.c cp tinygl_load.c $(TESTDIR)/nftinygl.c cp tinygl_loadslb.c $(TESTDIR)/tinyslb.c cp ldg/nfosmesa.h $(TESTDIR)/ldg cp ldg/tiny_gl.h $(TESTDIR)/ldg cp slb/tiny_gl.h $(TESTDIR)/slb cd $(TESTDIR) && cr2nl -d -R . aranym-1.0.2/atari/nfosmesa/README000066400000000000000000000053041242022243000165650ustar00rootroot00000000000000tiny_gl.ldg =========== This is the replacement of tiny_gl, using the NFOSMesa native feature of ARAnyM for offscreen rendering. osmesa.ldg ========== This is the replacement of mesa_gl, using the NFOSMesa native feature of ARAnyM for offscreen rendering. It implements all functions of tiny_gl, and most of the other functions up to OpenGL standard 4.4 (about 2700 functions). nfosmesa.xdd ============ This was the MiNT driver used in previous versions. It is no longer needed. Installation ============ LDG must be installed for the library to be loaded/usable by applications. OSMesa is an OpenGL offscreen renderer, i.e. it renders images using host CPU in RAM. The result is then passed to the Atari application for final display. You can then substitute tiny_gl.ldg (or mesa_gl.ldg, but see BUGS below) by the version contained in the archive. It is usually located in c:\gemsys\ldg or the applications directory. ARAnyM should have been compiled with OpenGL support (which it done by default if it can be autodetected), and of course also with NFOSMesa support (which is current not done by default and has to be enabled with --enable-nfosmesa). For OSMesa to operate properly, you must have OSMesa host's libraries compiled and installed, see the Mesa project page for more informations. Then, fill the [NFOSMESA] section of the ARAnyM configuration file: [NFOSMESA] LibGL = /path/to/libGL.so LibOSMesa = /path/to/libOSMesa.so LibGL may not be needed on all systems. In previous versions of ARAnyM, there was also a ChannelSize option to select a different OSMesa version. This is no longer recommended, and might not be supported in future versions. BUGS ==== - The cygwin version of ARAnyM currently does not support this feature. - the exception_error() function of tiny_gl.ldg is exported, but the callback will never be called (due to limitations in the NF design). You should check at least the return value from OSMesaCreateLDG() to check for errors. - Due to the design, usually all parameters that are supported by the hosts OSMesa library can be set with glEnable() etc. Remember however, that a native tiny_gl.ldg will only support a limited set of those. - Only framebuffers of type OSMESA_RGB (GL_RGB, 24bit RGB) should be used currently. This is the format that screen.ldg expects to display on the screen. - some GLU functions that are exported in the native mesa_gl.ldg are not yet implemented. - Functions that take doubles as arguments might be difficult to call from other languages than GNU-C. The library (and also the hosts OSMesa library) will expect them to be in 64bit IEEE-754 format. - some functions that take pointers to arrays may not work yet on little-endian hosts. aranym-1.0.2/atari/nfosmesa/crt0.S000066400000000000000000000026151242022243000167030ustar00rootroot00000000000000| | The following external symbols are declared with .globl rather than | .extern in order to ensure they will be linked into the executable | even if they are not used in this file. .globl __base | BASEPAGE *, defined in globals.c .globl __heapbase | void * .globl __stksize | long, defined by user or in stksiz.c .globl _main | for references | | externs to pull ident strings of all used libraries into the | executable; if a library is not used, then the extern is | satisfied by a dummy in the library .globl ___Ident_gem | | Functions defined elsewhere. .extern __crtinit | void _crtinit(void); | | Assumption: basepage is passed in a0 for accessories; for programs | a0 is always 0. .text .even .globl __start __start: subl a6, a6 | clear a6 for debuggers cmpl #0, a0 | test if acc or program beqs __startprg | if a program, go elsewhere tstl a0@(36) | also test parent basepage pointer bnes __startprg | for accs, it must be 0 noreturn: bras noreturn | stupid user installd ldg as acc ;= | | program startup code: doesn''t actually do much, other than push | the basepage onto the stack and call _start1 in crtinit.c | __startprg: movel sp@(4), a0 | get basepage movel a0, __base | save it movel a0@(4), d0 | get _base->p_hitpa bclr #0, d0 | round off movel d0, sp | set stack (temporarily) subl #64, sp | see note in mintlib/setstack.S jmp __crtinit | in crtinit.c aranym-1.0.2/atari/nfosmesa/crtinit.c000066400000000000000000000056331242022243000175320ustar00rootroot00000000000000#include #include #include #include #define MINFREE (8L * 1024L) /* free at least this much mem on top */ long _stksize = 8 * 1024; BASEPAGE *_base; int errno; extern char **__environ; extern int main(void); void __main (void) { } static long parseargs(BASEPAGE *); extern void _setstack(char *newsp); void _crtinit(void) { register BASEPAGE *bp; register long m; register long freemem; bp = _base; /* m = # bytes used by environment + args */ m = parseargs(bp); /* make m the total number of bytes required by program sans stack/heap */ m += (bp->p_tlen + bp->p_dlen + bp->p_blen + sizeof(BASEPAGE)); m = (m + 3L) & (~3L); /* freemem the amount of free mem accounting for MINFREE at top */ if ((freemem = (long)bp->p_hitpa - (long)bp - MINFREE - m) <= 0L) goto notenough; /* make m the total number of bytes including stack */ m += _stksize; /* make sure there's enough room for the stack */ if (((long)bp + m) > ((long)bp->p_hitpa - MINFREE)) goto notenough; /* set up the new stack to bp + m */ _setstack((char *)bp + m); /* shrink the TPA */ (void)Mshrink(0, bp, m); Pterm(main()); __builtin_unreachable(); notenough: (void) Cconws("Fatal error: insufficient memory\r\n" "Hint: either decrease stack size using 'stack' command (not recomended)\r\n" " or increase TPA_INITIALMEM value in mint.cnf.\r\n"); Pterm(-1); __builtin_unreachable(); } /* * parseargs(bp): parse the environment and arguments pointed to by the * basepage. Return the number of bytes of environment and arguments * that have been appended to the bss area (the environ and argv arrays * are put here, as is a temporary buffer for the command line, if * necessary). * * The MWC extended argument passing scheme is assumed. * */ static long parseargs(BASEPAGE *bp) { long count = 4; /* compensate for aligning */ char *from; char **envp; /* flag to indicate desktop-style arg. passing */ long desktoparg; /* handle the environment first */ __environ = envp = (char **)(( (long)bp->p_bbase + bp->p_blen + 4) & (~3)); from = bp->p_env; while (*from) { *envp++ = from; count += 4; desktoparg = 1; while (*from) { if (*from == '=') desktoparg = 0; from++; } from++; /* skip 0 */ /* the desktop (and some shells) use the environment in the wrong * way, putting in "PATH=\0C:\0" instead of "PATH=C:". so if we * find an "environment variable" without an '=' in it, we * see if the last environment variable ended with '=\0', and * if so we append this one to the last one */ if (desktoparg && envp > &__environ[1]) { /* launched from desktop -- fix up env */ char *p, *q; q = envp[-2]; /* current one is envp[-1] */ while (*q) q++; if (q[-1] == '=') { p = *--envp; while (*p) *q++ = *p++; *q = '\0'; } } } *envp++ = (char *)0; count += 4; return count + 4; } aranym-1.0.2/atari/nfosmesa/enum-gl.h000066400000000000000000003176401242022243000174330ustar00rootroot00000000000000/* * Originally generated by enum-gen.pl from gl.h and glext.h (for ARANFOSMESA_NFAPI_VERSION 1) */ /* misc functions */ NFOSMESA_LENGLGETSTRING = 1, NFOSMESA_PUTGLGETSTRING = 2, /* osmesa functions */ NFOSMESA_OSMESACREATECONTEXT = 3, NFOSMESA_OSMESACREATECONTEXTEXT = 4, NFOSMESA_OSMESADESTROYCONTEXT = 5, NFOSMESA_OSMESAMAKECURRENT = 6, NFOSMESA_OSMESAGETCURRENTCONTEXT = 7, NFOSMESA_OSMESAPIXELSTORE = 8, NFOSMESA_OSMESAGETINTEGERV = 9, NFOSMESA_OSMESAGETDEPTHBUFFER = 10, NFOSMESA_OSMESAGETCOLORBUFFER = 11, NFOSMESA_OSMESAGETPROCADDRESS = 12, /* gl + glext functions */ NFOSMESA_GLCLEARINDEX = 13, NFOSMESA_GLCLEARCOLOR = 14, NFOSMESA_GLCLEAR = 15, NFOSMESA_GLINDEXMASK = 16, NFOSMESA_GLCOLORMASK = 17, NFOSMESA_GLALPHAFUNC = 18, NFOSMESA_GLBLENDFUNC = 19, NFOSMESA_GLLOGICOP = 20, NFOSMESA_GLCULLFACE = 21, NFOSMESA_GLFRONTFACE = 22, NFOSMESA_GLPOINTSIZE = 23, NFOSMESA_GLLINEWIDTH = 24, NFOSMESA_GLLINESTIPPLE = 25, NFOSMESA_GLPOLYGONMODE = 26, NFOSMESA_GLPOLYGONOFFSET = 27, NFOSMESA_GLPOLYGONSTIPPLE = 28, NFOSMESA_GLGETPOLYGONSTIPPLE = 29, NFOSMESA_GLEDGEFLAG = 30, NFOSMESA_GLEDGEFLAGV = 31, NFOSMESA_GLSCISSOR = 32, NFOSMESA_GLCLIPPLANE = 33, NFOSMESA_GLGETCLIPPLANE = 34, NFOSMESA_GLDRAWBUFFER = 35, NFOSMESA_GLREADBUFFER = 36, NFOSMESA_GLENABLE = 37, NFOSMESA_GLDISABLE = 38, NFOSMESA_GLISENABLED = 39, NFOSMESA_GLENABLECLIENTSTATE = 40, NFOSMESA_GLDISABLECLIENTSTATE = 41, NFOSMESA_GLGETBOOLEANV = 42, NFOSMESA_GLGETDOUBLEV = 43, NFOSMESA_GLGETFLOATV = 44, NFOSMESA_GLGETINTEGERV = 45, NFOSMESA_GLPUSHATTRIB = 46, NFOSMESA_GLPOPATTRIB = 47, NFOSMESA_GLPUSHCLIENTATTRIB = 48, NFOSMESA_GLPOPCLIENTATTRIB = 49, NFOSMESA_GLRENDERMODE = 50, NFOSMESA_GLGETERROR = 51, NFOSMESA_GLGETSTRING = NFOSMESA_ENOSYS, /* implemented with NFOSMESA_LENGLGETSTRING/NFOSMESA_PUTGLGETSTRING */ NFOSMESA_GLFINISH = 52, NFOSMESA_GLFLUSH = 53, NFOSMESA_GLHINT = 54, NFOSMESA_GLCLEARDEPTH = 55, NFOSMESA_GLDEPTHFUNC = 56, NFOSMESA_GLDEPTHMASK = 57, NFOSMESA_GLDEPTHRANGE = 58, NFOSMESA_GLCLEARACCUM = 59, NFOSMESA_GLACCUM = 60, NFOSMESA_GLMATRIXMODE = 61, NFOSMESA_GLORTHO = 62, NFOSMESA_GLORTHOD = NFOSMESA_GLORTHO, NFOSMESA_GLFRUSTUM = 63, NFOSMESA_GLVIEWPORT = 64, NFOSMESA_GLPUSHMATRIX = 65, NFOSMESA_GLPOPMATRIX = 66, NFOSMESA_GLLOADIDENTITY = 67, NFOSMESA_GLLOADMATRIXD = 68, NFOSMESA_GLLOADMATRIXF = 69, NFOSMESA_GLMULTMATRIXD = 70, NFOSMESA_GLMULTMATRIXF = 71, NFOSMESA_GLROTATED = 72, NFOSMESA_GLROTATEF = 73, NFOSMESA_GLSCALED = 74, NFOSMESA_GLSCALEF = 75, NFOSMESA_GLTRANSLATED = 76, NFOSMESA_GLTRANSLATEF = 77, NFOSMESA_GLISLIST = 78, NFOSMESA_GLDELETELISTS = 79, NFOSMESA_GLGENLISTS = 80, NFOSMESA_GLNEWLIST = 81, NFOSMESA_GLENDLIST = 82, NFOSMESA_GLCALLLIST = 83, NFOSMESA_GLCALLLISTS = 84, NFOSMESA_GLLISTBASE = 85, NFOSMESA_GLBEGIN = 86, NFOSMESA_GLEND = 87, NFOSMESA_GLVERTEX2D = 88, NFOSMESA_GLVERTEX2F = 89, NFOSMESA_GLVERTEX2I = 90, NFOSMESA_GLVERTEX2S = 91, NFOSMESA_GLVERTEX3D = 92, NFOSMESA_GLVERTEX3F = 93, NFOSMESA_GLVERTEX3I = 94, NFOSMESA_GLVERTEX3S = 95, NFOSMESA_GLVERTEX4D = 96, NFOSMESA_GLVERTEX4F = 97, NFOSMESA_GLVERTEX4I = 98, NFOSMESA_GLVERTEX4S = 99, NFOSMESA_GLVERTEX2DV = 100, NFOSMESA_GLVERTEX2FV = 101, NFOSMESA_GLVERTEX2IV = 102, NFOSMESA_GLVERTEX2SV = 103, NFOSMESA_GLVERTEX3DV = 104, NFOSMESA_GLVERTEX3FV = 105, NFOSMESA_GLVERTEX3IV = 106, NFOSMESA_GLVERTEX3SV = 107, NFOSMESA_GLVERTEX4DV = 108, NFOSMESA_GLVERTEX4FV = 109, NFOSMESA_GLVERTEX4IV = 110, NFOSMESA_GLVERTEX4SV = 111, NFOSMESA_GLNORMAL3B = 112, NFOSMESA_GLNORMAL3D = 113, NFOSMESA_GLNORMAL3F = 114, NFOSMESA_GLNORMAL3I = 115, NFOSMESA_GLNORMAL3S = 116, NFOSMESA_GLNORMAL3BV = 117, NFOSMESA_GLNORMAL3DV = 118, NFOSMESA_GLNORMAL3FV = 119, NFOSMESA_GLNORMAL3IV = 120, NFOSMESA_GLNORMAL3SV = 121, NFOSMESA_GLINDEXD = 122, NFOSMESA_GLINDEXF = 123, NFOSMESA_GLINDEXI = 124, NFOSMESA_GLINDEXS = 125, NFOSMESA_GLINDEXUB = 126, NFOSMESA_GLINDEXDV = 127, NFOSMESA_GLINDEXFV = 128, NFOSMESA_GLINDEXIV = 129, NFOSMESA_GLINDEXSV = 130, NFOSMESA_GLINDEXUBV = 131, NFOSMESA_GLCOLOR3B = 132, NFOSMESA_GLCOLOR3D = 133, NFOSMESA_GLCOLOR3F = 134, NFOSMESA_GLCOLOR3I = 135, NFOSMESA_GLCOLOR3S = 136, NFOSMESA_GLCOLOR3UB = 137, NFOSMESA_GLCOLOR3UI = 138, NFOSMESA_GLCOLOR3US = 139, NFOSMESA_GLCOLOR4B = 140, NFOSMESA_GLCOLOR4D = 141, NFOSMESA_GLCOLOR4F = 142, NFOSMESA_GLCOLOR4I = 143, NFOSMESA_GLCOLOR4S = 144, NFOSMESA_GLCOLOR4UB = 145, NFOSMESA_GLCOLOR4UI = 146, NFOSMESA_GLCOLOR4US = 147, NFOSMESA_GLCOLOR3BV = 148, NFOSMESA_GLCOLOR3DV = 149, NFOSMESA_GLCOLOR3FV = 150, NFOSMESA_GLCOLOR3IV = 151, NFOSMESA_GLCOLOR3SV = 152, NFOSMESA_GLCOLOR3UBV = 153, NFOSMESA_GLCOLOR3UIV = 154, NFOSMESA_GLCOLOR3USV = 155, NFOSMESA_GLCOLOR4BV = 156, NFOSMESA_GLCOLOR4DV = 157, NFOSMESA_GLCOLOR4FV = 158, NFOSMESA_GLCOLOR4IV = 159, NFOSMESA_GLCOLOR4SV = 160, NFOSMESA_GLCOLOR4UBV = 161, NFOSMESA_GLCOLOR4UIV = 162, NFOSMESA_GLCOLOR4USV = 163, NFOSMESA_GLTEXCOORD1D = 164, NFOSMESA_GLTEXCOORD1F = 165, NFOSMESA_GLTEXCOORD1I = 166, NFOSMESA_GLTEXCOORD1S = 167, NFOSMESA_GLTEXCOORD2D = 168, NFOSMESA_GLTEXCOORD2F = 169, NFOSMESA_GLTEXCOORD2I = 170, NFOSMESA_GLTEXCOORD2S = 171, NFOSMESA_GLTEXCOORD3D = 172, NFOSMESA_GLTEXCOORD3F = 173, NFOSMESA_GLTEXCOORD3I = 174, NFOSMESA_GLTEXCOORD3S = 175, NFOSMESA_GLTEXCOORD4D = 176, NFOSMESA_GLTEXCOORD4F = 177, NFOSMESA_GLTEXCOORD4I = 178, NFOSMESA_GLTEXCOORD4S = 179, NFOSMESA_GLTEXCOORD1DV = 180, NFOSMESA_GLTEXCOORD1FV = 181, NFOSMESA_GLTEXCOORD1IV = 182, NFOSMESA_GLTEXCOORD1SV = 183, NFOSMESA_GLTEXCOORD2DV = 184, NFOSMESA_GLTEXCOORD2FV = 185, NFOSMESA_GLTEXCOORD2IV = 186, NFOSMESA_GLTEXCOORD2SV = 187, NFOSMESA_GLTEXCOORD3DV = 188, NFOSMESA_GLTEXCOORD3FV = 189, NFOSMESA_GLTEXCOORD3IV = 190, NFOSMESA_GLTEXCOORD3SV = 191, NFOSMESA_GLTEXCOORD4DV = 192, NFOSMESA_GLTEXCOORD4FV = 193, NFOSMESA_GLTEXCOORD4IV = 194, NFOSMESA_GLTEXCOORD4SV = 195, NFOSMESA_GLRASTERPOS2D = 196, NFOSMESA_GLRASTERPOS2F = 197, NFOSMESA_GLRASTERPOS2I = 198, NFOSMESA_GLRASTERPOS2S = 199, NFOSMESA_GLRASTERPOS3D = 200, NFOSMESA_GLRASTERPOS3F = 201, NFOSMESA_GLRASTERPOS3I = 202, NFOSMESA_GLRASTERPOS3S = 203, NFOSMESA_GLRASTERPOS4D = 204, NFOSMESA_GLRASTERPOS4F = 205, NFOSMESA_GLRASTERPOS4I = 206, NFOSMESA_GLRASTERPOS4S = 207, NFOSMESA_GLRASTERPOS2DV = 208, NFOSMESA_GLRASTERPOS2FV = 209, NFOSMESA_GLRASTERPOS2IV = 210, NFOSMESA_GLRASTERPOS2SV = 211, NFOSMESA_GLRASTERPOS3DV = 212, NFOSMESA_GLRASTERPOS3FV = 213, NFOSMESA_GLRASTERPOS3IV = 214, NFOSMESA_GLRASTERPOS3SV = 215, NFOSMESA_GLRASTERPOS4DV = 216, NFOSMESA_GLRASTERPOS4FV = 217, NFOSMESA_GLRASTERPOS4IV = 218, NFOSMESA_GLRASTERPOS4SV = 219, NFOSMESA_GLRECTD = 220, NFOSMESA_GLRECTF = 221, NFOSMESA_GLRECTI = 222, NFOSMESA_GLRECTS = 223, NFOSMESA_GLRECTDV = 224, NFOSMESA_GLRECTFV = 225, NFOSMESA_GLRECTIV = 226, NFOSMESA_GLRECTSV = 227, NFOSMESA_GLVERTEXPOINTER = 228, NFOSMESA_GLNORMALPOINTER = 229, NFOSMESA_GLCOLORPOINTER = 230, NFOSMESA_GLINDEXPOINTER = 231, NFOSMESA_GLTEXCOORDPOINTER = 232, NFOSMESA_GLEDGEFLAGPOINTER = 233, NFOSMESA_GLGETPOINTERV = 234, NFOSMESA_GLARRAYELEMENT = 235, NFOSMESA_GLDRAWARRAYS = 236, NFOSMESA_GLDRAWELEMENTS = 237, NFOSMESA_GLINTERLEAVEDARRAYS = 238, NFOSMESA_GLSHADEMODEL = 239, NFOSMESA_GLLIGHTF = 240, NFOSMESA_GLLIGHTI = 241, NFOSMESA_GLLIGHTFV = 242, NFOSMESA_GLLIGHTIV = 243, NFOSMESA_GLGETLIGHTFV = 244, NFOSMESA_GLGETLIGHTIV = 245, NFOSMESA_GLLIGHTMODELF = 246, NFOSMESA_GLLIGHTMODELI = 247, NFOSMESA_GLLIGHTMODELFV = 248, NFOSMESA_GLLIGHTMODELIV = 249, NFOSMESA_GLMATERIALF = 250, NFOSMESA_GLMATERIALI = 251, NFOSMESA_GLMATERIALFV = 252, NFOSMESA_GLMATERIALIV = 253, NFOSMESA_GLGETMATERIALFV = 254, NFOSMESA_GLGETMATERIALIV = 255, NFOSMESA_GLCOLORMATERIAL = 256, NFOSMESA_GLPIXELZOOM = 257, NFOSMESA_GLPIXELSTOREF = 258, NFOSMESA_GLPIXELSTOREI = 259, NFOSMESA_GLPIXELTRANSFERF = 260, NFOSMESA_GLPIXELTRANSFERI = 261, NFOSMESA_GLPIXELMAPFV = 262, NFOSMESA_GLPIXELMAPUIV = 263, NFOSMESA_GLPIXELMAPUSV = 264, NFOSMESA_GLGETPIXELMAPFV = 265, NFOSMESA_GLGETPIXELMAPUIV = 266, NFOSMESA_GLGETPIXELMAPUSV = 267, NFOSMESA_GLBITMAP = 268, NFOSMESA_GLREADPIXELS = 269, NFOSMESA_GLDRAWPIXELS = 270, NFOSMESA_GLCOPYPIXELS = 271, NFOSMESA_GLSTENCILFUNC = 272, NFOSMESA_GLSTENCILMASK = 273, NFOSMESA_GLSTENCILOP = 274, NFOSMESA_GLCLEARSTENCIL = 275, NFOSMESA_GLTEXGEND = 276, NFOSMESA_GLTEXGENF = 277, NFOSMESA_GLTEXGENI = 278, NFOSMESA_GLTEXGENDV = 279, NFOSMESA_GLTEXGENFV = 280, NFOSMESA_GLTEXGENIV = 281, NFOSMESA_GLGETTEXGENDV = 282, NFOSMESA_GLGETTEXGENFV = 283, NFOSMESA_GLGETTEXGENIV = 284, NFOSMESA_GLTEXENVF = 285, NFOSMESA_GLTEXENVI = 286, NFOSMESA_GLTEXENVFV = 287, NFOSMESA_GLTEXENVIV = 288, NFOSMESA_GLGETTEXENVFV = 289, NFOSMESA_GLGETTEXENVIV = 290, NFOSMESA_GLTEXPARAMETERF = 291, NFOSMESA_GLTEXPARAMETERI = 292, NFOSMESA_GLTEXPARAMETERFV = 293, NFOSMESA_GLTEXPARAMETERIV = 294, NFOSMESA_GLGETTEXPARAMETERFV = 295, NFOSMESA_GLGETTEXPARAMETERIV = 296, NFOSMESA_GLGETTEXLEVELPARAMETERFV = 297, NFOSMESA_GLGETTEXLEVELPARAMETERIV = 298, NFOSMESA_GLTEXIMAGE1D = 299, NFOSMESA_GLTEXIMAGE2D = 300, NFOSMESA_GLGETTEXIMAGE = 301, NFOSMESA_GLGENTEXTURES = 302, NFOSMESA_GLDELETETEXTURES = 303, NFOSMESA_GLBINDTEXTURE = 304, NFOSMESA_GLPRIORITIZETEXTURES = 305, NFOSMESA_GLARETEXTURESRESIDENT = 306, NFOSMESA_GLISTEXTURE = 307, NFOSMESA_GLTEXSUBIMAGE1D = 308, NFOSMESA_GLTEXSUBIMAGE2D = 309, NFOSMESA_GLCOPYTEXIMAGE1D = 310, NFOSMESA_GLCOPYTEXIMAGE2D = 311, NFOSMESA_GLCOPYTEXSUBIMAGE1D = 312, NFOSMESA_GLCOPYTEXSUBIMAGE2D = 313, NFOSMESA_GLMAP1D = 314, NFOSMESA_GLMAP1F = 315, NFOSMESA_GLMAP2D = 316, NFOSMESA_GLMAP2F = 317, NFOSMESA_GLGETMAPDV = 318, NFOSMESA_GLGETMAPFV = 319, NFOSMESA_GLGETMAPIV = 320, NFOSMESA_GLEVALCOORD1D = 321, NFOSMESA_GLEVALCOORD1F = 322, NFOSMESA_GLEVALCOORD1DV = 323, NFOSMESA_GLEVALCOORD1FV = 324, NFOSMESA_GLEVALCOORD2D = 325, NFOSMESA_GLEVALCOORD2F = 326, NFOSMESA_GLEVALCOORD2DV = 327, NFOSMESA_GLEVALCOORD2FV = 328, NFOSMESA_GLMAPGRID1D = 329, NFOSMESA_GLMAPGRID1F = 330, NFOSMESA_GLMAPGRID2D = 331, NFOSMESA_GLMAPGRID2F = 332, NFOSMESA_GLEVALPOINT1 = 333, NFOSMESA_GLEVALPOINT2 = 334, NFOSMESA_GLEVALMESH1 = 335, NFOSMESA_GLEVALMESH2 = 336, NFOSMESA_GLFOGF = 337, NFOSMESA_GLFOGI = 338, NFOSMESA_GLFOGFV = 339, NFOSMESA_GLFOGIV = 340, NFOSMESA_GLFEEDBACKBUFFER = 341, NFOSMESA_GLPASSTHROUGH = 342, NFOSMESA_GLSELECTBUFFER = 343, NFOSMESA_GLINITNAMES = 344, NFOSMESA_GLLOADNAME = 345, NFOSMESA_GLPUSHNAME = 346, NFOSMESA_GLPOPNAME = 347, NFOSMESA_GLENABLETRACEMESA = 348, NFOSMESA_GLDISABLETRACEMESA = 349, NFOSMESA_GLNEWTRACEMESA = 350, NFOSMESA_GLENDTRACEMESA = 351, NFOSMESA_GLTRACEASSERTATTRIBMESA = 352, NFOSMESA_GLTRACECOMMENTMESA = 353, NFOSMESA_GLTRACETEXTUREMESA = 354, NFOSMESA_GLTRACELISTMESA = 355, NFOSMESA_GLTRACEPOINTERMESA = 356, NFOSMESA_GLTRACEPOINTERRANGEMESA = 357, NFOSMESA_GLBLENDEQUATIONSEPARATEATI = 358, NFOSMESA_GLBLENDCOLOR = 359, NFOSMESA_GLBLENDEQUATION = 360, NFOSMESA_GLDRAWRANGEELEMENTS = 361, NFOSMESA_GLCOLORTABLE = 362, NFOSMESA_GLCOLORTABLEPARAMETERFV = 363, NFOSMESA_GLCOLORTABLEPARAMETERIV = 364, NFOSMESA_GLCOPYCOLORTABLE = 365, NFOSMESA_GLGETCOLORTABLE = 366, NFOSMESA_GLGETCOLORTABLEPARAMETERFV = 367, NFOSMESA_GLGETCOLORTABLEPARAMETERIV = 368, NFOSMESA_GLCOLORSUBTABLE = 369, NFOSMESA_GLCOPYCOLORSUBTABLE = 370, NFOSMESA_GLCONVOLUTIONFILTER1D = 371, NFOSMESA_GLCONVOLUTIONFILTER2D = 372, NFOSMESA_GLCONVOLUTIONPARAMETERF = 373, NFOSMESA_GLCONVOLUTIONPARAMETERFV = 374, NFOSMESA_GLCONVOLUTIONPARAMETERI = 375, NFOSMESA_GLCONVOLUTIONPARAMETERIV = 376, NFOSMESA_GLCOPYCONVOLUTIONFILTER1D = 377, NFOSMESA_GLCOPYCONVOLUTIONFILTER2D = 378, NFOSMESA_GLGETCONVOLUTIONFILTER = 379, NFOSMESA_GLGETCONVOLUTIONPARAMETERFV = 380, NFOSMESA_GLGETCONVOLUTIONPARAMETERIV = 381, NFOSMESA_GLGETSEPARABLEFILTER = 382, NFOSMESA_GLSEPARABLEFILTER2D = 383, NFOSMESA_GLGETHISTOGRAM = 384, NFOSMESA_GLGETHISTOGRAMPARAMETERFV = 385, NFOSMESA_GLGETHISTOGRAMPARAMETERIV = 386, NFOSMESA_GLGETMINMAX = 387, NFOSMESA_GLGETMINMAXPARAMETERFV = 388, NFOSMESA_GLGETMINMAXPARAMETERIV = 389, NFOSMESA_GLHISTOGRAM = 390, NFOSMESA_GLMINMAX = 391, NFOSMESA_GLRESETHISTOGRAM = 392, NFOSMESA_GLRESETMINMAX = 393, NFOSMESA_GLTEXIMAGE3D = 394, NFOSMESA_GLTEXSUBIMAGE3D = 395, NFOSMESA_GLCOPYTEXSUBIMAGE3D = 396, NFOSMESA_GLACTIVETEXTURE = 397, NFOSMESA_GLCLIENTACTIVETEXTURE = 398, NFOSMESA_GLMULTITEXCOORD1D = 399, NFOSMESA_GLMULTITEXCOORD1DV = 400, NFOSMESA_GLMULTITEXCOORD1F = 401, NFOSMESA_GLMULTITEXCOORD1FV = 402, NFOSMESA_GLMULTITEXCOORD1I = 403, NFOSMESA_GLMULTITEXCOORD1IV = 404, NFOSMESA_GLMULTITEXCOORD1S = 405, NFOSMESA_GLMULTITEXCOORD1SV = 406, NFOSMESA_GLMULTITEXCOORD2D = 407, NFOSMESA_GLMULTITEXCOORD2DV = 408, NFOSMESA_GLMULTITEXCOORD2F = 409, NFOSMESA_GLMULTITEXCOORD2FV = 410, NFOSMESA_GLMULTITEXCOORD2I = 411, NFOSMESA_GLMULTITEXCOORD2IV = 412, NFOSMESA_GLMULTITEXCOORD2S = 413, NFOSMESA_GLMULTITEXCOORD2SV = 414, NFOSMESA_GLMULTITEXCOORD3D = 415, NFOSMESA_GLMULTITEXCOORD3DV = 416, NFOSMESA_GLMULTITEXCOORD3F = 417, NFOSMESA_GLMULTITEXCOORD3FV = 418, NFOSMESA_GLMULTITEXCOORD3I = 419, NFOSMESA_GLMULTITEXCOORD3IV = 420, NFOSMESA_GLMULTITEXCOORD3S = 421, NFOSMESA_GLMULTITEXCOORD3SV = 422, NFOSMESA_GLMULTITEXCOORD4D = 423, NFOSMESA_GLMULTITEXCOORD4DV = 424, NFOSMESA_GLMULTITEXCOORD4F = 425, NFOSMESA_GLMULTITEXCOORD4FV = 426, NFOSMESA_GLMULTITEXCOORD4I = 427, NFOSMESA_GLMULTITEXCOORD4IV = 428, NFOSMESA_GLMULTITEXCOORD4S = 429, NFOSMESA_GLMULTITEXCOORD4SV = 430, NFOSMESA_GLLOADTRANSPOSEMATRIXF = 431, NFOSMESA_GLLOADTRANSPOSEMATRIXD = 432, NFOSMESA_GLMULTTRANSPOSEMATRIXF = 433, NFOSMESA_GLMULTTRANSPOSEMATRIXD = 434, NFOSMESA_GLSAMPLECOVERAGE = 435, NFOSMESA_GLCOMPRESSEDTEXIMAGE3D = 436, NFOSMESA_GLCOMPRESSEDTEXIMAGE2D = 437, NFOSMESA_GLCOMPRESSEDTEXIMAGE1D = 438, NFOSMESA_GLCOMPRESSEDTEXSUBIMAGE3D = 439, NFOSMESA_GLCOMPRESSEDTEXSUBIMAGE2D = 440, NFOSMESA_GLCOMPRESSEDTEXSUBIMAGE1D = 441, NFOSMESA_GLGETCOMPRESSEDTEXIMAGE = 442, NFOSMESA_GLBLENDFUNCSEPARATE = 443, NFOSMESA_GLFOGCOORDF = 444, NFOSMESA_GLFOGCOORDFV = 445, NFOSMESA_GLFOGCOORDD = 446, NFOSMESA_GLFOGCOORDDV = 447, NFOSMESA_GLFOGCOORDPOINTER = 448, NFOSMESA_GLMULTIDRAWARRAYS = 449, NFOSMESA_GLMULTIDRAWELEMENTS = 450, NFOSMESA_GLPOINTPARAMETERF = 451, NFOSMESA_GLPOINTPARAMETERFV = 452, NFOSMESA_GLPOINTPARAMETERI = 453, NFOSMESA_GLPOINTPARAMETERIV = 454, NFOSMESA_GLSECONDARYCOLOR3B = 455, NFOSMESA_GLSECONDARYCOLOR3BV = 456, NFOSMESA_GLSECONDARYCOLOR3D = 457, NFOSMESA_GLSECONDARYCOLOR3DV = 458, NFOSMESA_GLSECONDARYCOLOR3F = 459, NFOSMESA_GLSECONDARYCOLOR3FV = 460, NFOSMESA_GLSECONDARYCOLOR3I = 461, NFOSMESA_GLSECONDARYCOLOR3IV = 462, NFOSMESA_GLSECONDARYCOLOR3S = 463, NFOSMESA_GLSECONDARYCOLOR3SV = 464, NFOSMESA_GLSECONDARYCOLOR3UB = 465, NFOSMESA_GLSECONDARYCOLOR3UBV = 466, NFOSMESA_GLSECONDARYCOLOR3UI = 467, NFOSMESA_GLSECONDARYCOLOR3UIV = 468, NFOSMESA_GLSECONDARYCOLOR3US = 469, NFOSMESA_GLSECONDARYCOLOR3USV = 470, NFOSMESA_GLSECONDARYCOLORPOINTER = 471, NFOSMESA_GLWINDOWPOS2D = 472, NFOSMESA_GLWINDOWPOS2DV = 473, NFOSMESA_GLWINDOWPOS2F = 474, NFOSMESA_GLWINDOWPOS2FV = 475, NFOSMESA_GLWINDOWPOS2I = 476, NFOSMESA_GLWINDOWPOS2IV = 477, NFOSMESA_GLWINDOWPOS2S = 478, NFOSMESA_GLWINDOWPOS2SV = 479, NFOSMESA_GLWINDOWPOS3D = 480, NFOSMESA_GLWINDOWPOS3DV = 481, NFOSMESA_GLWINDOWPOS3F = 482, NFOSMESA_GLWINDOWPOS3FV = 483, NFOSMESA_GLWINDOWPOS3I = 484, NFOSMESA_GLWINDOWPOS3IV = 485, NFOSMESA_GLWINDOWPOS3S = 486, NFOSMESA_GLWINDOWPOS3SV = 487, NFOSMESA_GLGENQUERIES = 488, NFOSMESA_GLDELETEQUERIES = 489, NFOSMESA_GLISQUERY = 490, NFOSMESA_GLBEGINQUERY = 491, NFOSMESA_GLENDQUERY = 492, NFOSMESA_GLGETQUERYIV = 493, NFOSMESA_GLGETQUERYOBJECTIV = 494, NFOSMESA_GLGETQUERYOBJECTUIV = 495, NFOSMESA_GLBINDBUFFER = 496, NFOSMESA_GLDELETEBUFFERS = 497, NFOSMESA_GLGENBUFFERS = 498, NFOSMESA_GLISBUFFER = 499, NFOSMESA_GLBUFFERDATA = 500, NFOSMESA_GLBUFFERSUBDATA = 501, NFOSMESA_GLGETBUFFERSUBDATA = 502, NFOSMESA_GLMAPBUFFER = /* 503 */ NFOSMESA_ENOSYS, /* returns host void *, FIXME */ NFOSMESA_GLUNMAPBUFFER = 504, NFOSMESA_GLGETBUFFERPARAMETERIV = 505, NFOSMESA_GLGETBUFFERPOINTERV = 506, NFOSMESA_GLACTIVETEXTUREARB = 507, NFOSMESA_GLCLIENTACTIVETEXTUREARB = 508, NFOSMESA_GLMULTITEXCOORD1DARB = 509, NFOSMESA_GLMULTITEXCOORD1DVARB = 510, NFOSMESA_GLMULTITEXCOORD1FARB = 511, NFOSMESA_GLMULTITEXCOORD1FVARB = 512, NFOSMESA_GLMULTITEXCOORD1IARB = 513, NFOSMESA_GLMULTITEXCOORD1IVARB = 514, NFOSMESA_GLMULTITEXCOORD1SARB = 515, NFOSMESA_GLMULTITEXCOORD1SVARB = 516, NFOSMESA_GLMULTITEXCOORD2DARB = 517, NFOSMESA_GLMULTITEXCOORD2DVARB = 518, NFOSMESA_GLMULTITEXCOORD2FARB = 519, NFOSMESA_GLMULTITEXCOORD2FVARB = 520, NFOSMESA_GLMULTITEXCOORD2IARB = 521, NFOSMESA_GLMULTITEXCOORD2IVARB = 522, NFOSMESA_GLMULTITEXCOORD2SARB = 523, NFOSMESA_GLMULTITEXCOORD2SVARB = 524, NFOSMESA_GLMULTITEXCOORD3DARB = 525, NFOSMESA_GLMULTITEXCOORD3DVARB = 526, NFOSMESA_GLMULTITEXCOORD3FARB = 527, NFOSMESA_GLMULTITEXCOORD3FVARB = 528, NFOSMESA_GLMULTITEXCOORD3IARB = 529, NFOSMESA_GLMULTITEXCOORD3IVARB = 530, NFOSMESA_GLMULTITEXCOORD3SARB = 531, NFOSMESA_GLMULTITEXCOORD3SVARB = 532, NFOSMESA_GLMULTITEXCOORD4DARB = 533, NFOSMESA_GLMULTITEXCOORD4DVARB = 534, NFOSMESA_GLMULTITEXCOORD4FARB = 535, NFOSMESA_GLMULTITEXCOORD4FVARB = 536, NFOSMESA_GLMULTITEXCOORD4IARB = 537, NFOSMESA_GLMULTITEXCOORD4IVARB = 538, NFOSMESA_GLMULTITEXCOORD4SARB = 539, NFOSMESA_GLMULTITEXCOORD4SVARB = 540, NFOSMESA_GLLOADTRANSPOSEMATRIXFARB = 541, NFOSMESA_GLLOADTRANSPOSEMATRIXDARB = 542, NFOSMESA_GLMULTTRANSPOSEMATRIXFARB = 543, NFOSMESA_GLMULTTRANSPOSEMATRIXDARB = 544, NFOSMESA_GLSAMPLECOVERAGEARB = 545, NFOSMESA_GLCOMPRESSEDTEXIMAGE3DARB = 546, NFOSMESA_GLCOMPRESSEDTEXIMAGE2DARB = 547, NFOSMESA_GLCOMPRESSEDTEXIMAGE1DARB = 548, NFOSMESA_GLCOMPRESSEDTEXSUBIMAGE3DARB = 549, NFOSMESA_GLCOMPRESSEDTEXSUBIMAGE2DARB = 550, NFOSMESA_GLCOMPRESSEDTEXSUBIMAGE1DARB = 551, NFOSMESA_GLGETCOMPRESSEDTEXIMAGEARB = 552, NFOSMESA_GLPOINTPARAMETERFARB = 553, NFOSMESA_GLPOINTPARAMETERFVARB = 554, NFOSMESA_GLWEIGHTBVARB = 555, NFOSMESA_GLWEIGHTSVARB = 556, NFOSMESA_GLWEIGHTIVARB = 557, NFOSMESA_GLWEIGHTFVARB = 558, NFOSMESA_GLWEIGHTDVARB = 559, NFOSMESA_GLWEIGHTUBVARB = 560, NFOSMESA_GLWEIGHTUSVARB = 561, NFOSMESA_GLWEIGHTUIVARB = 562, NFOSMESA_GLWEIGHTPOINTERARB = 563, NFOSMESA_GLVERTEXBLENDARB = 564, NFOSMESA_GLCURRENTPALETTEMATRIXARB = 565, NFOSMESA_GLMATRIXINDEXUBVARB = 566, NFOSMESA_GLMATRIXINDEXUSVARB = 567, NFOSMESA_GLMATRIXINDEXUIVARB = 568, NFOSMESA_GLMATRIXINDEXPOINTERARB = 569, NFOSMESA_GLWINDOWPOS2DARB = 570, NFOSMESA_GLWINDOWPOS2DVARB = 571, NFOSMESA_GLWINDOWPOS2FARB = 572, NFOSMESA_GLWINDOWPOS2FVARB = 573, NFOSMESA_GLWINDOWPOS2IARB = 574, NFOSMESA_GLWINDOWPOS2IVARB = 575, NFOSMESA_GLWINDOWPOS2SARB = 576, NFOSMESA_GLWINDOWPOS2SVARB = 577, NFOSMESA_GLWINDOWPOS3DARB = 578, NFOSMESA_GLWINDOWPOS3DVARB = 579, NFOSMESA_GLWINDOWPOS3FARB = 580, NFOSMESA_GLWINDOWPOS3FVARB = 581, NFOSMESA_GLWINDOWPOS3IARB = 582, NFOSMESA_GLWINDOWPOS3IVARB = 583, NFOSMESA_GLWINDOWPOS3SARB = 584, NFOSMESA_GLWINDOWPOS3SVARB = 585, NFOSMESA_GLVERTEXATTRIB1DARB = 586, NFOSMESA_GLVERTEXATTRIB1DVARB = 587, NFOSMESA_GLVERTEXATTRIB1FARB = 588, NFOSMESA_GLVERTEXATTRIB1FVARB = 589, NFOSMESA_GLVERTEXATTRIB1SARB = 590, NFOSMESA_GLVERTEXATTRIB1SVARB = 591, NFOSMESA_GLVERTEXATTRIB2DARB = 592, NFOSMESA_GLVERTEXATTRIB2DVARB = 593, NFOSMESA_GLVERTEXATTRIB2FARB = 594, NFOSMESA_GLVERTEXATTRIB2FVARB = 595, NFOSMESA_GLVERTEXATTRIB2SARB = 596, NFOSMESA_GLVERTEXATTRIB2SVARB = 597, NFOSMESA_GLVERTEXATTRIB3DARB = 598, NFOSMESA_GLVERTEXATTRIB3DVARB = 599, NFOSMESA_GLVERTEXATTRIB3FARB = 600, NFOSMESA_GLVERTEXATTRIB3FVARB = 601, NFOSMESA_GLVERTEXATTRIB3SARB = 602, NFOSMESA_GLVERTEXATTRIB3SVARB = 603, NFOSMESA_GLVERTEXATTRIB4NBVARB = 604, NFOSMESA_GLVERTEXATTRIB4NIVARB = 605, NFOSMESA_GLVERTEXATTRIB4NSVARB = 606, NFOSMESA_GLVERTEXATTRIB4NUBARB = 607, NFOSMESA_GLVERTEXATTRIB4NUBVARB = 608, NFOSMESA_GLVERTEXATTRIB4NUIVARB = 609, NFOSMESA_GLVERTEXATTRIB4NUSVARB = 610, NFOSMESA_GLVERTEXATTRIB4BVARB = 611, NFOSMESA_GLVERTEXATTRIB4DARB = 612, NFOSMESA_GLVERTEXATTRIB4DVARB = 613, NFOSMESA_GLVERTEXATTRIB4FARB = 614, NFOSMESA_GLVERTEXATTRIB4FVARB = 615, NFOSMESA_GLVERTEXATTRIB4IVARB = 616, NFOSMESA_GLVERTEXATTRIB4SARB = 617, NFOSMESA_GLVERTEXATTRIB4SVARB = 618, NFOSMESA_GLVERTEXATTRIB4UBVARB = 619, NFOSMESA_GLVERTEXATTRIB4UIVARB = 620, NFOSMESA_GLVERTEXATTRIB4USVARB = 621, NFOSMESA_GLVERTEXATTRIBPOINTERARB = 622, NFOSMESA_GLENABLEVERTEXATTRIBARRAYARB = 623, NFOSMESA_GLDISABLEVERTEXATTRIBARRAYARB = 624, NFOSMESA_GLPROGRAMSTRINGARB = 625, NFOSMESA_GLBINDPROGRAMARB = 626, NFOSMESA_GLDELETEPROGRAMSARB = 627, NFOSMESA_GLGENPROGRAMSARB = 628, NFOSMESA_GLPROGRAMENVPARAMETER4DARB = 629, NFOSMESA_GLPROGRAMENVPARAMETER4DVARB = 630, NFOSMESA_GLPROGRAMENVPARAMETER4FARB = 631, NFOSMESA_GLPROGRAMENVPARAMETER4FVARB = 632, NFOSMESA_GLPROGRAMLOCALPARAMETER4DARB = 633, NFOSMESA_GLPROGRAMLOCALPARAMETER4DVARB = 634, NFOSMESA_GLPROGRAMLOCALPARAMETER4FARB = 635, NFOSMESA_GLPROGRAMLOCALPARAMETER4FVARB = 636, NFOSMESA_GLGETPROGRAMENVPARAMETERDVARB = 637, NFOSMESA_GLGETPROGRAMENVPARAMETERFVARB = 638, NFOSMESA_GLGETPROGRAMLOCALPARAMETERDVARB = 639, NFOSMESA_GLGETPROGRAMLOCALPARAMETERFVARB = 640, NFOSMESA_GLGETPROGRAMIVARB = 641, NFOSMESA_GLGETPROGRAMSTRINGARB = 642, NFOSMESA_GLGETVERTEXATTRIBDVARB = 643, NFOSMESA_GLGETVERTEXATTRIBFVARB = 644, NFOSMESA_GLGETVERTEXATTRIBIVARB = 645, NFOSMESA_GLGETVERTEXATTRIBPOINTERVARB = 646, NFOSMESA_GLISPROGRAMARB = 647, NFOSMESA_GLBINDBUFFERARB = 648, NFOSMESA_GLDELETEBUFFERSARB = 649, NFOSMESA_GLGENBUFFERSARB = 650, NFOSMESA_GLISBUFFERARB = 651, NFOSMESA_GLBUFFERDATAARB = 652, NFOSMESA_GLBUFFERSUBDATAARB = 653, NFOSMESA_GLGETBUFFERSUBDATAARB = 654, NFOSMESA_GLMAPBUFFERARB = /* 655 */ NFOSMESA_ENOSYS, /* returns host void *, FIXME */ NFOSMESA_GLUNMAPBUFFERARB = 656, NFOSMESA_GLGETBUFFERPARAMETERIVARB = 657, NFOSMESA_GLGETBUFFERPOINTERVARB = 658, NFOSMESA_GLGENQUERIESARB = 659, NFOSMESA_GLDELETEQUERIESARB = 660, NFOSMESA_GLISQUERYARB = 661, NFOSMESA_GLBEGINQUERYARB = 662, NFOSMESA_GLENDQUERYARB = 663, NFOSMESA_GLGETQUERYIVARB = 664, NFOSMESA_GLGETQUERYOBJECTIVARB = 665, NFOSMESA_GLGETQUERYOBJECTUIVARB = 666, NFOSMESA_GLDELETEOBJECTARB = 667, NFOSMESA_GLGETHANDLEARB = 668, NFOSMESA_GLDETACHOBJECTARB = 669, NFOSMESA_GLCREATESHADEROBJECTARB = 670, NFOSMESA_GLSHADERSOURCEARB = 671, NFOSMESA_GLCOMPILESHADERARB = 672, NFOSMESA_GLCREATEPROGRAMOBJECTARB = 673, NFOSMESA_GLATTACHOBJECTARB = 674, NFOSMESA_GLLINKPROGRAMARB = 675, NFOSMESA_GLUSEPROGRAMOBJECTARB = 676, NFOSMESA_GLVALIDATEPROGRAMARB = 677, NFOSMESA_GLUNIFORM1FARB = 678, NFOSMESA_GLUNIFORM2FARB = 679, NFOSMESA_GLUNIFORM3FARB = 680, NFOSMESA_GLUNIFORM4FARB = 681, NFOSMESA_GLUNIFORM1IARB = 682, NFOSMESA_GLUNIFORM2IARB = 683, NFOSMESA_GLUNIFORM3IARB = 684, NFOSMESA_GLUNIFORM4IARB = 685, NFOSMESA_GLUNIFORM1FVARB = 686, NFOSMESA_GLUNIFORM2FVARB = 687, NFOSMESA_GLUNIFORM3FVARB = 688, NFOSMESA_GLUNIFORM4FVARB = 689, NFOSMESA_GLUNIFORM1IVARB = 690, NFOSMESA_GLUNIFORM2IVARB = 691, NFOSMESA_GLUNIFORM3IVARB = 692, NFOSMESA_GLUNIFORM4IVARB = 693, NFOSMESA_GLUNIFORMMATRIX2FVARB = 694, NFOSMESA_GLUNIFORMMATRIX3FVARB = 695, NFOSMESA_GLUNIFORMMATRIX4FVARB = 696, NFOSMESA_GLGETOBJECTPARAMETERFVARB = 697, NFOSMESA_GLGETOBJECTPARAMETERIVARB = 698, NFOSMESA_GLGETINFOLOGARB = 699, NFOSMESA_GLGETATTACHEDOBJECTSARB = 700, NFOSMESA_GLGETUNIFORMLOCATIONARB = 701, NFOSMESA_GLGETACTIVEUNIFORMARB = 702, NFOSMESA_GLGETUNIFORMFVARB = 703, NFOSMESA_GLGETUNIFORMIVARB = 704, NFOSMESA_GLGETSHADERSOURCEARB = 705, NFOSMESA_GLBINDATTRIBLOCATIONARB = 706, NFOSMESA_GLGETACTIVEATTRIBARB = 707, NFOSMESA_GLGETATTRIBLOCATIONARB = 708, NFOSMESA_GLDRAWBUFFERSARB = 709, NFOSMESA_GLBLENDCOLOREXT = 710, NFOSMESA_GLPOLYGONOFFSETEXT = 711, NFOSMESA_GLTEXIMAGE3DEXT = 712, NFOSMESA_GLTEXSUBIMAGE3DEXT = 713, NFOSMESA_GLGETTEXFILTERFUNCSGIS = 714, NFOSMESA_GLTEXFILTERFUNCSGIS = 715, NFOSMESA_GLTEXSUBIMAGE1DEXT = 716, NFOSMESA_GLTEXSUBIMAGE2DEXT = 717, NFOSMESA_GLCOPYTEXIMAGE1DEXT = 718, NFOSMESA_GLCOPYTEXIMAGE2DEXT = 719, NFOSMESA_GLCOPYTEXSUBIMAGE1DEXT = 720, NFOSMESA_GLCOPYTEXSUBIMAGE2DEXT = 721, NFOSMESA_GLCOPYTEXSUBIMAGE3DEXT = 722, NFOSMESA_GLGETHISTOGRAMEXT = 723, NFOSMESA_GLGETHISTOGRAMPARAMETERFVEXT = 724, NFOSMESA_GLGETHISTOGRAMPARAMETERIVEXT = 725, NFOSMESA_GLGETMINMAXEXT = 726, NFOSMESA_GLGETMINMAXPARAMETERFVEXT = 727, NFOSMESA_GLGETMINMAXPARAMETERIVEXT = 728, NFOSMESA_GLHISTOGRAMEXT = 729, NFOSMESA_GLMINMAXEXT = 730, NFOSMESA_GLRESETHISTOGRAMEXT = 731, NFOSMESA_GLRESETMINMAXEXT = 732, NFOSMESA_GLCONVOLUTIONFILTER1DEXT = 733, NFOSMESA_GLCONVOLUTIONFILTER2DEXT = 734, NFOSMESA_GLCONVOLUTIONPARAMETERFEXT = 735, NFOSMESA_GLCONVOLUTIONPARAMETERFVEXT = 736, NFOSMESA_GLCONVOLUTIONPARAMETERIEXT = 737, NFOSMESA_GLCONVOLUTIONPARAMETERIVEXT = 738, NFOSMESA_GLCOPYCONVOLUTIONFILTER1DEXT = 739, NFOSMESA_GLCOPYCONVOLUTIONFILTER2DEXT = 740, NFOSMESA_GLGETCONVOLUTIONFILTEREXT = 741, NFOSMESA_GLGETCONVOLUTIONPARAMETERFVEXT = 742, NFOSMESA_GLGETCONVOLUTIONPARAMETERIVEXT = 743, NFOSMESA_GLGETSEPARABLEFILTEREXT = 744, NFOSMESA_GLSEPARABLEFILTER2DEXT = 745, NFOSMESA_GLCOLORTABLESGI = 746, NFOSMESA_GLCOLORTABLEPARAMETERFVSGI = 747, NFOSMESA_GLCOLORTABLEPARAMETERIVSGI = 748, NFOSMESA_GLCOPYCOLORTABLESGI = 749, NFOSMESA_GLGETCOLORTABLESGI = 750, NFOSMESA_GLGETCOLORTABLEPARAMETERFVSGI = 751, NFOSMESA_GLGETCOLORTABLEPARAMETERIVSGI = 752, NFOSMESA_GLPIXELTEXGENSGIX = 753, NFOSMESA_GLPIXELTEXGENPARAMETERISGIS = 754, NFOSMESA_GLPIXELTEXGENPARAMETERIVSGIS = 755, NFOSMESA_GLPIXELTEXGENPARAMETERFSGIS = 756, NFOSMESA_GLPIXELTEXGENPARAMETERFVSGIS = 757, NFOSMESA_GLGETPIXELTEXGENPARAMETERIVSGIS = 758, NFOSMESA_GLGETPIXELTEXGENPARAMETERFVSGIS = 759, NFOSMESA_GLTEXIMAGE4DSGIS = 760, NFOSMESA_GLTEXSUBIMAGE4DSGIS = 761, NFOSMESA_GLARETEXTURESRESIDENTEXT = 762, NFOSMESA_GLBINDTEXTUREEXT = 763, NFOSMESA_GLDELETETEXTURESEXT = 764, NFOSMESA_GLGENTEXTURESEXT = 765, NFOSMESA_GLISTEXTUREEXT = 766, NFOSMESA_GLPRIORITIZETEXTURESEXT = 767, NFOSMESA_GLDETAILTEXFUNCSGIS = 768, NFOSMESA_GLGETDETAILTEXFUNCSGIS = 769, NFOSMESA_GLSHARPENTEXFUNCSGIS = 770, NFOSMESA_GLGETSHARPENTEXFUNCSGIS = 771, NFOSMESA_GLSAMPLEMASKSGIS = 772, NFOSMESA_GLSAMPLEPATTERNSGIS = 773, NFOSMESA_GLARRAYELEMENTEXT = 774, NFOSMESA_GLCOLORPOINTEREXT = 775, NFOSMESA_GLDRAWARRAYSEXT = 776, NFOSMESA_GLEDGEFLAGPOINTEREXT = 777, NFOSMESA_GLGETPOINTERVEXT = 778, NFOSMESA_GLINDEXPOINTEREXT = 779, NFOSMESA_GLNORMALPOINTEREXT = 780, NFOSMESA_GLTEXCOORDPOINTEREXT = 781, NFOSMESA_GLVERTEXPOINTEREXT = 782, NFOSMESA_GLBLENDEQUATIONEXT = 783, NFOSMESA_GLSPRITEPARAMETERFSGIX = 784, NFOSMESA_GLSPRITEPARAMETERFVSGIX = 785, NFOSMESA_GLSPRITEPARAMETERISGIX = 786, NFOSMESA_GLSPRITEPARAMETERIVSGIX = 787, NFOSMESA_GLPOINTPARAMETERFEXT = 788, NFOSMESA_GLPOINTPARAMETERFVEXT = 789, NFOSMESA_GLPOINTPARAMETERFSGIS = 790, NFOSMESA_GLPOINTPARAMETERFVSGIS = 791, NFOSMESA_GLGETINSTRUMENTSSGIX = 792, NFOSMESA_GLINSTRUMENTSBUFFERSGIX = 793, NFOSMESA_GLPOLLINSTRUMENTSSGIX = 794, NFOSMESA_GLREADINSTRUMENTSSGIX = 795, NFOSMESA_GLSTARTINSTRUMENTSSGIX = 796, NFOSMESA_GLSTOPINSTRUMENTSSGIX = 797, NFOSMESA_GLFRAMEZOOMSGIX = 798, NFOSMESA_GLTAGSAMPLEBUFFERSGIX = 799, NFOSMESA_GLDEFORMATIONMAP3DSGIX = 800, NFOSMESA_GLDEFORMATIONMAP3FSGIX = 801, NFOSMESA_GLDEFORMSGIX = 802, NFOSMESA_GLLOADIDENTITYDEFORMATIONMAPSGIX = 803, NFOSMESA_GLREFERENCEPLANESGIX = 804, NFOSMESA_GLFLUSHRASTERSGIX = 805, NFOSMESA_GLFOGFUNCSGIS = 806, NFOSMESA_GLGETFOGFUNCSGIS = 807, NFOSMESA_GLIMAGETRANSFORMPARAMETERIHP = 808, NFOSMESA_GLIMAGETRANSFORMPARAMETERFHP = 809, NFOSMESA_GLIMAGETRANSFORMPARAMETERIVHP = 810, NFOSMESA_GLIMAGETRANSFORMPARAMETERFVHP = 811, NFOSMESA_GLGETIMAGETRANSFORMPARAMETERIVHP = 812, NFOSMESA_GLGETIMAGETRANSFORMPARAMETERFVHP = 813, NFOSMESA_GLCOLORSUBTABLEEXT = 814, NFOSMESA_GLCOPYCOLORSUBTABLEEXT = 815, NFOSMESA_GLHINTPGI = 816, NFOSMESA_GLCOLORTABLEEXT = 817, NFOSMESA_GLGETCOLORTABLEEXT = 818, NFOSMESA_GLGETCOLORTABLEPARAMETERIVEXT = 819, NFOSMESA_GLGETCOLORTABLEPARAMETERFVEXT = 820, NFOSMESA_GLGETLISTPARAMETERFVSGIX = 821, NFOSMESA_GLGETLISTPARAMETERIVSGIX = 822, NFOSMESA_GLLISTPARAMETERFSGIX = 823, NFOSMESA_GLLISTPARAMETERFVSGIX = 824, NFOSMESA_GLLISTPARAMETERISGIX = 825, NFOSMESA_GLLISTPARAMETERIVSGIX = 826, NFOSMESA_GLINDEXMATERIALEXT = 827, NFOSMESA_GLINDEXFUNCEXT = 828, NFOSMESA_GLLOCKARRAYSEXT = 829, NFOSMESA_GLUNLOCKARRAYSEXT = 830, NFOSMESA_GLCULLPARAMETERDVEXT = 831, NFOSMESA_GLCULLPARAMETERFVEXT = 832, NFOSMESA_GLFRAGMENTCOLORMATERIALSGIX = 833, NFOSMESA_GLFRAGMENTLIGHTFSGIX = 834, NFOSMESA_GLFRAGMENTLIGHTFVSGIX = 835, NFOSMESA_GLFRAGMENTLIGHTISGIX = 836, NFOSMESA_GLFRAGMENTLIGHTIVSGIX = 837, NFOSMESA_GLFRAGMENTLIGHTMODELFSGIX = 838, NFOSMESA_GLFRAGMENTLIGHTMODELFVSGIX = 839, NFOSMESA_GLFRAGMENTLIGHTMODELISGIX = 840, NFOSMESA_GLFRAGMENTLIGHTMODELIVSGIX = 841, NFOSMESA_GLFRAGMENTMATERIALFSGIX = 842, NFOSMESA_GLFRAGMENTMATERIALFVSGIX = 843, NFOSMESA_GLFRAGMENTMATERIALISGIX = 844, NFOSMESA_GLFRAGMENTMATERIALIVSGIX = 845, NFOSMESA_GLGETFRAGMENTLIGHTFVSGIX = 846, NFOSMESA_GLGETFRAGMENTLIGHTIVSGIX = 847, NFOSMESA_GLGETFRAGMENTMATERIALFVSGIX = 848, NFOSMESA_GLGETFRAGMENTMATERIALIVSGIX = 849, NFOSMESA_GLLIGHTENVISGIX = 850, NFOSMESA_GLDRAWRANGEELEMENTSEXT = 851, NFOSMESA_GLAPPLYTEXTUREEXT = 852, NFOSMESA_GLTEXTURELIGHTEXT = 853, NFOSMESA_GLTEXTUREMATERIALEXT = 854, NFOSMESA_GLASYNCMARKERSGIX = 855, NFOSMESA_GLFINISHASYNCSGIX = 856, NFOSMESA_GLPOLLASYNCSGIX = 857, NFOSMESA_GLGENASYNCMARKERSSGIX = 858, NFOSMESA_GLDELETEASYNCMARKERSSGIX = 859, NFOSMESA_GLISASYNCMARKERSGIX = 860, NFOSMESA_GLVERTEXPOINTERVINTEL = 861, NFOSMESA_GLNORMALPOINTERVINTEL = 862, NFOSMESA_GLCOLORPOINTERVINTEL = 863, NFOSMESA_GLTEXCOORDPOINTERVINTEL = 864, NFOSMESA_GLPIXELTRANSFORMPARAMETERIEXT = 865, NFOSMESA_GLPIXELTRANSFORMPARAMETERFEXT = 866, NFOSMESA_GLPIXELTRANSFORMPARAMETERIVEXT = 867, NFOSMESA_GLPIXELTRANSFORMPARAMETERFVEXT = 868, NFOSMESA_GLSECONDARYCOLOR3BEXT = 869, NFOSMESA_GLSECONDARYCOLOR3BVEXT = 870, NFOSMESA_GLSECONDARYCOLOR3DEXT = 871, NFOSMESA_GLSECONDARYCOLOR3DVEXT = 872, NFOSMESA_GLSECONDARYCOLOR3FEXT = 873, NFOSMESA_GLSECONDARYCOLOR3FVEXT = 874, NFOSMESA_GLSECONDARYCOLOR3IEXT = 875, NFOSMESA_GLSECONDARYCOLOR3IVEXT = 876, NFOSMESA_GLSECONDARYCOLOR3SEXT = 877, NFOSMESA_GLSECONDARYCOLOR3SVEXT = 878, NFOSMESA_GLSECONDARYCOLOR3UBEXT = 879, NFOSMESA_GLSECONDARYCOLOR3UBVEXT = 880, NFOSMESA_GLSECONDARYCOLOR3UIEXT = 881, NFOSMESA_GLSECONDARYCOLOR3UIVEXT = 882, NFOSMESA_GLSECONDARYCOLOR3USEXT = 883, NFOSMESA_GLSECONDARYCOLOR3USVEXT = 884, NFOSMESA_GLSECONDARYCOLORPOINTEREXT = 885, NFOSMESA_GLTEXTURENORMALEXT = 886, NFOSMESA_GLMULTIDRAWARRAYSEXT = 887, NFOSMESA_GLMULTIDRAWELEMENTSEXT = 888, NFOSMESA_GLFOGCOORDFEXT = 889, NFOSMESA_GLFOGCOORDFVEXT = 890, NFOSMESA_GLFOGCOORDDEXT = 891, NFOSMESA_GLFOGCOORDDVEXT = 892, NFOSMESA_GLFOGCOORDPOINTEREXT = 893, NFOSMESA_GLTANGENT3BEXT = 894, NFOSMESA_GLTANGENT3BVEXT = 895, NFOSMESA_GLTANGENT3DEXT = 896, NFOSMESA_GLTANGENT3DVEXT = 897, NFOSMESA_GLTANGENT3FEXT = 898, NFOSMESA_GLTANGENT3FVEXT = 899, NFOSMESA_GLTANGENT3IEXT = 900, NFOSMESA_GLTANGENT3IVEXT = 901, NFOSMESA_GLTANGENT3SEXT = 902, NFOSMESA_GLTANGENT3SVEXT = 903, NFOSMESA_GLBINORMAL3BEXT = 904, NFOSMESA_GLBINORMAL3BVEXT = 905, NFOSMESA_GLBINORMAL3DEXT = 906, NFOSMESA_GLBINORMAL3DVEXT = 907, NFOSMESA_GLBINORMAL3FEXT = 908, NFOSMESA_GLBINORMAL3FVEXT = 909, NFOSMESA_GLBINORMAL3IEXT = 910, NFOSMESA_GLBINORMAL3IVEXT = 911, NFOSMESA_GLBINORMAL3SEXT = 912, NFOSMESA_GLBINORMAL3SVEXT = 913, NFOSMESA_GLTANGENTPOINTEREXT = 914, NFOSMESA_GLBINORMALPOINTEREXT = 915, NFOSMESA_GLFINISHTEXTURESUNX = 916, NFOSMESA_GLGLOBALALPHAFACTORBSUN = 917, NFOSMESA_GLGLOBALALPHAFACTORSSUN = 918, NFOSMESA_GLGLOBALALPHAFACTORISUN = 919, NFOSMESA_GLGLOBALALPHAFACTORFSUN = 920, NFOSMESA_GLGLOBALALPHAFACTORDSUN = 921, NFOSMESA_GLGLOBALALPHAFACTORUBSUN = 922, NFOSMESA_GLGLOBALALPHAFACTORUSSUN = 923, NFOSMESA_GLGLOBALALPHAFACTORUISUN = 924, NFOSMESA_GLREPLACEMENTCODEUISUN = 925, NFOSMESA_GLREPLACEMENTCODEUSSUN = 926, NFOSMESA_GLREPLACEMENTCODEUBSUN = 927, NFOSMESA_GLREPLACEMENTCODEUIVSUN = 928, NFOSMESA_GLREPLACEMENTCODEUSVSUN = 929, NFOSMESA_GLREPLACEMENTCODEUBVSUN = 930, NFOSMESA_GLREPLACEMENTCODEPOINTERSUN = 931, NFOSMESA_GLCOLOR4UBVERTEX2FSUN = 932, NFOSMESA_GLCOLOR4UBVERTEX2FVSUN = 933, NFOSMESA_GLCOLOR4UBVERTEX3FSUN = 934, NFOSMESA_GLCOLOR4UBVERTEX3FVSUN = 935, NFOSMESA_GLCOLOR3FVERTEX3FSUN = 936, NFOSMESA_GLCOLOR3FVERTEX3FVSUN = 937, NFOSMESA_GLNORMAL3FVERTEX3FSUN = 938, NFOSMESA_GLNORMAL3FVERTEX3FVSUN = 939, NFOSMESA_GLCOLOR4FNORMAL3FVERTEX3FSUN = 940, NFOSMESA_GLCOLOR4FNORMAL3FVERTEX3FVSUN = 941, NFOSMESA_GLTEXCOORD2FVERTEX3FSUN = 942, NFOSMESA_GLTEXCOORD2FVERTEX3FVSUN = 943, NFOSMESA_GLTEXCOORD4FVERTEX4FSUN = 944, NFOSMESA_GLTEXCOORD4FVERTEX4FVSUN = 945, NFOSMESA_GLTEXCOORD2FCOLOR4UBVERTEX3FSUN = 946, NFOSMESA_GLTEXCOORD2FCOLOR4UBVERTEX3FVSUN = 947, NFOSMESA_GLTEXCOORD2FCOLOR3FVERTEX3FSUN = 948, NFOSMESA_GLTEXCOORD2FCOLOR3FVERTEX3FVSUN = 949, NFOSMESA_GLTEXCOORD2FNORMAL3FVERTEX3FSUN = 950, NFOSMESA_GLTEXCOORD2FNORMAL3FVERTEX3FVSUN = 951, NFOSMESA_GLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUN = 952, NFOSMESA_GLTEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUN = 953, NFOSMESA_GLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUN = 954, NFOSMESA_GLTEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUN = 955, NFOSMESA_GLREPLACEMENTCODEUIVERTEX3FSUN = 956, NFOSMESA_GLREPLACEMENTCODEUIVERTEX3FVSUN = 957, NFOSMESA_GLREPLACEMENTCODEUICOLOR4UBVERTEX3FSUN = 958, NFOSMESA_GLREPLACEMENTCODEUICOLOR4UBVERTEX3FVSUN = 959, NFOSMESA_GLREPLACEMENTCODEUICOLOR3FVERTEX3FSUN = 960, NFOSMESA_GLREPLACEMENTCODEUICOLOR3FVERTEX3FVSUN = 961, NFOSMESA_GLREPLACEMENTCODEUINORMAL3FVERTEX3FSUN = 962, NFOSMESA_GLREPLACEMENTCODEUINORMAL3FVERTEX3FVSUN = 963, NFOSMESA_GLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUN = 964, NFOSMESA_GLREPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUN = 965, NFOSMESA_GLREPLACEMENTCODEUITEXCOORD2FVERTEX3FSUN = 966, NFOSMESA_GLREPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUN = 967, NFOSMESA_GLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUN = 968, NFOSMESA_GLREPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUN = 969, NFOSMESA_GLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUN = 970, NFOSMESA_GLREPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUN = 971, NFOSMESA_GLBLENDFUNCSEPARATEEXT = 972, NFOSMESA_GLBLENDFUNCSEPARATEINGR = 973, NFOSMESA_GLVERTEXWEIGHTFEXT = 974, NFOSMESA_GLVERTEXWEIGHTFVEXT = 975, NFOSMESA_GLVERTEXWEIGHTPOINTEREXT = 976, NFOSMESA_GLFLUSHVERTEXARRAYRANGENV = 977, NFOSMESA_GLVERTEXARRAYRANGENV = 978, NFOSMESA_GLCOMBINERPARAMETERFVNV = 979, NFOSMESA_GLCOMBINERPARAMETERFNV = 980, NFOSMESA_GLCOMBINERPARAMETERIVNV = 981, NFOSMESA_GLCOMBINERPARAMETERINV = 982, NFOSMESA_GLCOMBINERINPUTNV = 983, NFOSMESA_GLCOMBINEROUTPUTNV = 984, NFOSMESA_GLFINALCOMBINERINPUTNV = 985, NFOSMESA_GLGETCOMBINERINPUTPARAMETERFVNV = 986, NFOSMESA_GLGETCOMBINERINPUTPARAMETERIVNV = 987, NFOSMESA_GLGETCOMBINEROUTPUTPARAMETERFVNV = 988, NFOSMESA_GLGETCOMBINEROUTPUTPARAMETERIVNV = 989, NFOSMESA_GLGETFINALCOMBINERINPUTPARAMETERFVNV = 990, NFOSMESA_GLGETFINALCOMBINERINPUTPARAMETERIVNV = 991, NFOSMESA_GLRESIZEBUFFERSMESA = 992, NFOSMESA_GLWINDOWPOS2DMESA = 993, NFOSMESA_GLWINDOWPOS2DVMESA = 994, NFOSMESA_GLWINDOWPOS2FMESA = 995, NFOSMESA_GLWINDOWPOS2FVMESA = 996, NFOSMESA_GLWINDOWPOS2IMESA = 997, NFOSMESA_GLWINDOWPOS2IVMESA = 998, NFOSMESA_GLWINDOWPOS2SMESA = 999, NFOSMESA_GLWINDOWPOS2SVMESA = 1000, NFOSMESA_GLWINDOWPOS3DMESA = 1001, NFOSMESA_GLWINDOWPOS3DVMESA = 1002, NFOSMESA_GLWINDOWPOS3FMESA = 1003, NFOSMESA_GLWINDOWPOS3FVMESA = 1004, NFOSMESA_GLWINDOWPOS3IMESA = 1005, NFOSMESA_GLWINDOWPOS3IVMESA = 1006, NFOSMESA_GLWINDOWPOS3SMESA = 1007, NFOSMESA_GLWINDOWPOS3SVMESA = 1008, NFOSMESA_GLWINDOWPOS4DMESA = 1009, NFOSMESA_GLWINDOWPOS4DVMESA = 1010, NFOSMESA_GLWINDOWPOS4FMESA = 1011, NFOSMESA_GLWINDOWPOS4FVMESA = 1012, NFOSMESA_GLWINDOWPOS4IMESA = 1013, NFOSMESA_GLWINDOWPOS4IVMESA = 1014, NFOSMESA_GLWINDOWPOS4SMESA = 1015, NFOSMESA_GLWINDOWPOS4SVMESA = 1016, NFOSMESA_GLMULTIMODEDRAWARRAYSIBM = 1017, NFOSMESA_GLMULTIMODEDRAWELEMENTSIBM = 1018, NFOSMESA_GLCOLORPOINTERLISTIBM = 1019, NFOSMESA_GLSECONDARYCOLORPOINTERLISTIBM = 1020, NFOSMESA_GLEDGEFLAGPOINTERLISTIBM = 1021, NFOSMESA_GLFOGCOORDPOINTERLISTIBM = 1022, NFOSMESA_GLINDEXPOINTERLISTIBM = 1023, NFOSMESA_GLNORMALPOINTERLISTIBM = 1024, NFOSMESA_GLTEXCOORDPOINTERLISTIBM = 1025, NFOSMESA_GLVERTEXPOINTERLISTIBM = 1026, NFOSMESA_GLTBUFFERMASK3DFX = 1027, NFOSMESA_GLSAMPLEMASKEXT = 1028, NFOSMESA_GLSAMPLEPATTERNEXT = 1029, NFOSMESA_GLTEXTURECOLORMASKSGIS = 1030, NFOSMESA_GLIGLOOINTERFACESGIX = 1031, NFOSMESA_GLDELETEFENCESNV = 1032, NFOSMESA_GLGENFENCESNV = 1033, NFOSMESA_GLISFENCENV = 1034, NFOSMESA_GLTESTFENCENV = 1035, NFOSMESA_GLGETFENCEIVNV = 1036, NFOSMESA_GLFINISHFENCENV = 1037, NFOSMESA_GLSETFENCENV = 1038, NFOSMESA_GLMAPCONTROLPOINTSNV = 1039, NFOSMESA_GLMAPPARAMETERIVNV = 1040, NFOSMESA_GLMAPPARAMETERFVNV = 1041, NFOSMESA_GLGETMAPCONTROLPOINTSNV = 1042, NFOSMESA_GLGETMAPPARAMETERIVNV = 1043, NFOSMESA_GLGETMAPPARAMETERFVNV = 1044, NFOSMESA_GLGETMAPATTRIBPARAMETERIVNV = 1045, NFOSMESA_GLGETMAPATTRIBPARAMETERFVNV = 1046, NFOSMESA_GLEVALMAPSNV = 1047, NFOSMESA_GLCOMBINERSTAGEPARAMETERFVNV = 1048, NFOSMESA_GLGETCOMBINERSTAGEPARAMETERFVNV = 1049, NFOSMESA_GLAREPROGRAMSRESIDENTNV = 1050, NFOSMESA_GLBINDPROGRAMNV = 1051, NFOSMESA_GLDELETEPROGRAMSNV = 1052, NFOSMESA_GLEXECUTEPROGRAMNV = 1053, NFOSMESA_GLGENPROGRAMSNV = 1054, NFOSMESA_GLGETPROGRAMPARAMETERDVNV = 1055, NFOSMESA_GLGETPROGRAMPARAMETERFVNV = 1056, NFOSMESA_GLGETPROGRAMIVNV = 1057, NFOSMESA_GLGETPROGRAMSTRINGNV = 1058, NFOSMESA_GLGETTRACKMATRIXIVNV = 1059, NFOSMESA_GLGETVERTEXATTRIBDVNV = 1060, NFOSMESA_GLGETVERTEXATTRIBFVNV = 1061, NFOSMESA_GLGETVERTEXATTRIBIVNV = 1062, NFOSMESA_GLGETVERTEXATTRIBPOINTERVNV = 1063, NFOSMESA_GLISPROGRAMNV = 1064, NFOSMESA_GLLOADPROGRAMNV = 1065, NFOSMESA_GLPROGRAMPARAMETER4DNV = 1066, NFOSMESA_GLPROGRAMPARAMETER4DVNV = 1067, NFOSMESA_GLPROGRAMPARAMETER4FNV = 1068, NFOSMESA_GLPROGRAMPARAMETER4FVNV = 1069, NFOSMESA_GLPROGRAMPARAMETERS4DVNV = 1070, NFOSMESA_GLPROGRAMPARAMETERS4FVNV = 1071, NFOSMESA_GLREQUESTRESIDENTPROGRAMSNV = 1072, NFOSMESA_GLTRACKMATRIXNV = 1073, NFOSMESA_GLVERTEXATTRIBPOINTERNV = 1074, NFOSMESA_GLVERTEXATTRIB1DNV = 1075, NFOSMESA_GLVERTEXATTRIB1DVNV = 1076, NFOSMESA_GLVERTEXATTRIB1FNV = 1077, NFOSMESA_GLVERTEXATTRIB1FVNV = 1078, NFOSMESA_GLVERTEXATTRIB1SNV = 1079, NFOSMESA_GLVERTEXATTRIB1SVNV = 1080, NFOSMESA_GLVERTEXATTRIB2DNV = 1081, NFOSMESA_GLVERTEXATTRIB2DVNV = 1082, NFOSMESA_GLVERTEXATTRIB2FNV = 1083, NFOSMESA_GLVERTEXATTRIB2FVNV = 1084, NFOSMESA_GLVERTEXATTRIB2SNV = 1085, NFOSMESA_GLVERTEXATTRIB2SVNV = 1086, NFOSMESA_GLVERTEXATTRIB3DNV = 1087, NFOSMESA_GLVERTEXATTRIB3DVNV = 1088, NFOSMESA_GLVERTEXATTRIB3FNV = 1089, NFOSMESA_GLVERTEXATTRIB3FVNV = 1090, NFOSMESA_GLVERTEXATTRIB3SNV = 1091, NFOSMESA_GLVERTEXATTRIB3SVNV = 1092, NFOSMESA_GLVERTEXATTRIB4DNV = 1093, NFOSMESA_GLVERTEXATTRIB4DVNV = 1094, NFOSMESA_GLVERTEXATTRIB4FNV = 1095, NFOSMESA_GLVERTEXATTRIB4FVNV = 1096, NFOSMESA_GLVERTEXATTRIB4SNV = 1097, NFOSMESA_GLVERTEXATTRIB4SVNV = 1098, NFOSMESA_GLVERTEXATTRIB4UBNV = 1099, NFOSMESA_GLVERTEXATTRIB4UBVNV = 1100, NFOSMESA_GLVERTEXATTRIBS1DVNV = 1101, NFOSMESA_GLVERTEXATTRIBS1FVNV = 1102, NFOSMESA_GLVERTEXATTRIBS1SVNV = 1103, NFOSMESA_GLVERTEXATTRIBS2DVNV = 1104, NFOSMESA_GLVERTEXATTRIBS2FVNV = 1105, NFOSMESA_GLVERTEXATTRIBS2SVNV = 1106, NFOSMESA_GLVERTEXATTRIBS3DVNV = 1107, NFOSMESA_GLVERTEXATTRIBS3FVNV = 1108, NFOSMESA_GLVERTEXATTRIBS3SVNV = 1109, NFOSMESA_GLVERTEXATTRIBS4DVNV = 1110, NFOSMESA_GLVERTEXATTRIBS4FVNV = 1111, NFOSMESA_GLVERTEXATTRIBS4SVNV = 1112, NFOSMESA_GLVERTEXATTRIBS4UBVNV = 1113, NFOSMESA_GLTEXBUMPPARAMETERIVATI = 1114, NFOSMESA_GLTEXBUMPPARAMETERFVATI = 1115, NFOSMESA_GLGETTEXBUMPPARAMETERIVATI = 1116, NFOSMESA_GLGETTEXBUMPPARAMETERFVATI = 1117, NFOSMESA_GLGENFRAGMENTSHADERSATI = 1118, NFOSMESA_GLBINDFRAGMENTSHADERATI = 1119, NFOSMESA_GLDELETEFRAGMENTSHADERATI = 1120, NFOSMESA_GLBEGINFRAGMENTSHADERATI = 1121, NFOSMESA_GLENDFRAGMENTSHADERATI = 1122, NFOSMESA_GLPASSTEXCOORDATI = 1123, NFOSMESA_GLSAMPLEMAPATI = 1124, NFOSMESA_GLCOLORFRAGMENTOP1ATI = 1125, NFOSMESA_GLCOLORFRAGMENTOP2ATI = 1126, NFOSMESA_GLCOLORFRAGMENTOP3ATI = 1127, NFOSMESA_GLALPHAFRAGMENTOP1ATI = 1128, NFOSMESA_GLALPHAFRAGMENTOP2ATI = 1129, NFOSMESA_GLALPHAFRAGMENTOP3ATI = 1130, NFOSMESA_GLSETFRAGMENTSHADERCONSTANTATI = 1131, NFOSMESA_GLPNTRIANGLESIATI = 1132, NFOSMESA_GLPNTRIANGLESFATI = 1133, NFOSMESA_GLNEWOBJECTBUFFERATI = 1134, NFOSMESA_GLISOBJECTBUFFERATI = 1135, NFOSMESA_GLUPDATEOBJECTBUFFERATI = 1136, NFOSMESA_GLGETOBJECTBUFFERFVATI = 1137, NFOSMESA_GLGETOBJECTBUFFERIVATI = 1138, NFOSMESA_GLFREEOBJECTBUFFERATI = 1139, NFOSMESA_GLARRAYOBJECTATI = 1140, NFOSMESA_GLGETARRAYOBJECTFVATI = 1141, NFOSMESA_GLGETARRAYOBJECTIVATI = 1142, NFOSMESA_GLVARIANTARRAYOBJECTATI = 1143, NFOSMESA_GLGETVARIANTARRAYOBJECTFVATI = 1144, NFOSMESA_GLGETVARIANTARRAYOBJECTIVATI = 1145, NFOSMESA_GLBEGINVERTEXSHADEREXT = 1146, NFOSMESA_GLENDVERTEXSHADEREXT = 1147, NFOSMESA_GLBINDVERTEXSHADEREXT = 1148, NFOSMESA_GLGENVERTEXSHADERSEXT = 1149, NFOSMESA_GLDELETEVERTEXSHADEREXT = 1150, NFOSMESA_GLSHADEROP1EXT = 1151, NFOSMESA_GLSHADEROP2EXT = 1152, NFOSMESA_GLSHADEROP3EXT = 1153, NFOSMESA_GLSWIZZLEEXT = 1154, NFOSMESA_GLWRITEMASKEXT = 1155, NFOSMESA_GLINSERTCOMPONENTEXT = 1156, NFOSMESA_GLEXTRACTCOMPONENTEXT = 1157, NFOSMESA_GLGENSYMBOLSEXT = 1158, NFOSMESA_GLSETINVARIANTEXT = 1159, NFOSMESA_GLSETLOCALCONSTANTEXT = 1160, NFOSMESA_GLVARIANTBVEXT = 1161, NFOSMESA_GLVARIANTSVEXT = 1162, NFOSMESA_GLVARIANTIVEXT = 1163, NFOSMESA_GLVARIANTFVEXT = 1164, NFOSMESA_GLVARIANTDVEXT = 1165, NFOSMESA_GLVARIANTUBVEXT = 1166, NFOSMESA_GLVARIANTUSVEXT = 1167, NFOSMESA_GLVARIANTUIVEXT = 1168, NFOSMESA_GLVARIANTPOINTEREXT = 1169, NFOSMESA_GLENABLEVARIANTCLIENTSTATEEXT = 1170, NFOSMESA_GLDISABLEVARIANTCLIENTSTATEEXT = 1171, NFOSMESA_GLBINDLIGHTPARAMETEREXT = 1172, NFOSMESA_GLBINDMATERIALPARAMETEREXT = 1173, NFOSMESA_GLBINDTEXGENPARAMETEREXT = 1174, NFOSMESA_GLBINDTEXTUREUNITPARAMETEREXT = 1175, NFOSMESA_GLBINDPARAMETEREXT = 1176, NFOSMESA_GLISVARIANTENABLEDEXT = 1177, NFOSMESA_GLGETVARIANTBOOLEANVEXT = 1178, NFOSMESA_GLGETVARIANTINTEGERVEXT = 1179, NFOSMESA_GLGETVARIANTFLOATVEXT = 1180, NFOSMESA_GLGETVARIANTPOINTERVEXT = 1181, NFOSMESA_GLGETINVARIANTBOOLEANVEXT = 1182, NFOSMESA_GLGETINVARIANTINTEGERVEXT = 1183, NFOSMESA_GLGETINVARIANTFLOATVEXT = 1184, NFOSMESA_GLGETLOCALCONSTANTBOOLEANVEXT = 1185, NFOSMESA_GLGETLOCALCONSTANTINTEGERVEXT = 1186, NFOSMESA_GLGETLOCALCONSTANTFLOATVEXT = 1187, NFOSMESA_GLVERTEXSTREAM1SATI = 1188, NFOSMESA_GLVERTEXSTREAM1SVATI = 1189, NFOSMESA_GLVERTEXSTREAM1IATI = 1190, NFOSMESA_GLVERTEXSTREAM1IVATI = 1191, NFOSMESA_GLVERTEXSTREAM1FATI = 1192, NFOSMESA_GLVERTEXSTREAM1FVATI = 1193, NFOSMESA_GLVERTEXSTREAM1DATI = 1194, NFOSMESA_GLVERTEXSTREAM1DVATI = 1195, NFOSMESA_GLVERTEXSTREAM2SATI = 1196, NFOSMESA_GLVERTEXSTREAM2SVATI = 1197, NFOSMESA_GLVERTEXSTREAM2IATI = 1198, NFOSMESA_GLVERTEXSTREAM2IVATI = 1199, NFOSMESA_GLVERTEXSTREAM2FATI = 1200, NFOSMESA_GLVERTEXSTREAM2FVATI = 1201, NFOSMESA_GLVERTEXSTREAM2DATI = 1202, NFOSMESA_GLVERTEXSTREAM2DVATI = 1203, NFOSMESA_GLVERTEXSTREAM3SATI = 1204, NFOSMESA_GLVERTEXSTREAM3SVATI = 1205, NFOSMESA_GLVERTEXSTREAM3IATI = 1206, NFOSMESA_GLVERTEXSTREAM3IVATI = 1207, NFOSMESA_GLVERTEXSTREAM3FATI = 1208, NFOSMESA_GLVERTEXSTREAM3FVATI = 1209, NFOSMESA_GLVERTEXSTREAM3DATI = 1210, NFOSMESA_GLVERTEXSTREAM3DVATI = 1211, NFOSMESA_GLVERTEXSTREAM4SATI = 1212, NFOSMESA_GLVERTEXSTREAM4SVATI = 1213, NFOSMESA_GLVERTEXSTREAM4IATI = 1214, NFOSMESA_GLVERTEXSTREAM4IVATI = 1215, NFOSMESA_GLVERTEXSTREAM4FATI = 1216, NFOSMESA_GLVERTEXSTREAM4FVATI = 1217, NFOSMESA_GLVERTEXSTREAM4DATI = 1218, NFOSMESA_GLVERTEXSTREAM4DVATI = 1219, NFOSMESA_GLNORMALSTREAM3BATI = 1220, NFOSMESA_GLNORMALSTREAM3BVATI = 1221, NFOSMESA_GLNORMALSTREAM3SATI = 1222, NFOSMESA_GLNORMALSTREAM3SVATI = 1223, NFOSMESA_GLNORMALSTREAM3IATI = 1224, NFOSMESA_GLNORMALSTREAM3IVATI = 1225, NFOSMESA_GLNORMALSTREAM3FATI = 1226, NFOSMESA_GLNORMALSTREAM3FVATI = 1227, NFOSMESA_GLNORMALSTREAM3DATI = 1228, NFOSMESA_GLNORMALSTREAM3DVATI = 1229, NFOSMESA_GLCLIENTACTIVEVERTEXSTREAMATI = 1230, NFOSMESA_GLVERTEXBLENDENVIATI = 1231, NFOSMESA_GLVERTEXBLENDENVFATI = 1232, NFOSMESA_GLELEMENTPOINTERATI = 1233, NFOSMESA_GLDRAWELEMENTARRAYATI = 1234, NFOSMESA_GLDRAWRANGEELEMENTARRAYATI = 1235, NFOSMESA_GLDRAWMESHARRAYSSUN = 1236, NFOSMESA_GLGENOCCLUSIONQUERIESNV = 1237, NFOSMESA_GLDELETEOCCLUSIONQUERIESNV = 1238, NFOSMESA_GLISOCCLUSIONQUERYNV = 1239, NFOSMESA_GLBEGINOCCLUSIONQUERYNV = 1240, NFOSMESA_GLENDOCCLUSIONQUERYNV = 1241, NFOSMESA_GLGETOCCLUSIONQUERYIVNV = 1242, NFOSMESA_GLGETOCCLUSIONQUERYUIVNV = 1243, NFOSMESA_GLPOINTPARAMETERINV = 1244, NFOSMESA_GLPOINTPARAMETERIVNV = 1245, NFOSMESA_GLACTIVESTENCILFACEEXT = 1246, NFOSMESA_GLELEMENTPOINTERAPPLE = 1247, NFOSMESA_GLDRAWELEMENTARRAYAPPLE = 1248, NFOSMESA_GLDRAWRANGEELEMENTARRAYAPPLE = 1249, NFOSMESA_GLMULTIDRAWELEMENTARRAYAPPLE = 1250, NFOSMESA_GLMULTIDRAWRANGEELEMENTARRAYAPPLE = 1251, NFOSMESA_GLGENFENCESAPPLE = 1252, NFOSMESA_GLDELETEFENCESAPPLE = 1253, NFOSMESA_GLSETFENCEAPPLE = 1254, NFOSMESA_GLISFENCEAPPLE = 1255, NFOSMESA_GLTESTFENCEAPPLE = 1256, NFOSMESA_GLFINISHFENCEAPPLE = 1257, NFOSMESA_GLTESTOBJECTAPPLE = 1258, NFOSMESA_GLFINISHOBJECTAPPLE = 1259, NFOSMESA_GLBINDVERTEXARRAYAPPLE = 1260, NFOSMESA_GLDELETEVERTEXARRAYSAPPLE = 1261, NFOSMESA_GLGENVERTEXARRAYSAPPLE = 1262, NFOSMESA_GLISVERTEXARRAYAPPLE = 1263, NFOSMESA_GLVERTEXARRAYRANGEAPPLE = 1264, NFOSMESA_GLFLUSHVERTEXARRAYRANGEAPPLE = 1265, NFOSMESA_GLVERTEXARRAYPARAMETERIAPPLE = 1266, NFOSMESA_GLDRAWBUFFERSATI = 1267, NFOSMESA_GLPROGRAMNAMEDPARAMETER4FNV = 1268, NFOSMESA_GLPROGRAMNAMEDPARAMETER4DNV = 1269, NFOSMESA_GLPROGRAMNAMEDPARAMETER4FVNV = 1270, NFOSMESA_GLPROGRAMNAMEDPARAMETER4DVNV = 1271, NFOSMESA_GLGETPROGRAMNAMEDPARAMETERFVNV = 1272, NFOSMESA_GLGETPROGRAMNAMEDPARAMETERDVNV = 1273, NFOSMESA_GLVERTEX2HNV = 1274, NFOSMESA_GLVERTEX2HVNV = 1275, NFOSMESA_GLVERTEX3HNV = 1276, NFOSMESA_GLVERTEX3HVNV = 1277, NFOSMESA_GLVERTEX4HNV = 1278, NFOSMESA_GLVERTEX4HVNV = 1279, NFOSMESA_GLNORMAL3HNV = 1280, NFOSMESA_GLNORMAL3HVNV = 1281, NFOSMESA_GLCOLOR3HNV = 1282, NFOSMESA_GLCOLOR3HVNV = 1283, NFOSMESA_GLCOLOR4HNV = 1284, NFOSMESA_GLCOLOR4HVNV = 1285, NFOSMESA_GLTEXCOORD1HNV = 1286, NFOSMESA_GLTEXCOORD1HVNV = 1287, NFOSMESA_GLTEXCOORD2HNV = 1288, NFOSMESA_GLTEXCOORD2HVNV = 1289, NFOSMESA_GLTEXCOORD3HNV = 1290, NFOSMESA_GLTEXCOORD3HVNV = 1291, NFOSMESA_GLTEXCOORD4HNV = 1292, NFOSMESA_GLTEXCOORD4HVNV = 1293, NFOSMESA_GLMULTITEXCOORD1HNV = 1294, NFOSMESA_GLMULTITEXCOORD1HVNV = 1295, NFOSMESA_GLMULTITEXCOORD2HNV = 1296, NFOSMESA_GLMULTITEXCOORD2HVNV = 1297, NFOSMESA_GLMULTITEXCOORD3HNV = 1298, NFOSMESA_GLMULTITEXCOORD3HVNV = 1299, NFOSMESA_GLMULTITEXCOORD4HNV = 1300, NFOSMESA_GLMULTITEXCOORD4HVNV = 1301, NFOSMESA_GLFOGCOORDHNV = 1302, NFOSMESA_GLFOGCOORDHVNV = 1303, NFOSMESA_GLSECONDARYCOLOR3HNV = 1304, NFOSMESA_GLSECONDARYCOLOR3HVNV = 1305, NFOSMESA_GLVERTEXWEIGHTHNV = 1306, NFOSMESA_GLVERTEXWEIGHTHVNV = 1307, NFOSMESA_GLVERTEXATTRIB1HNV = 1308, NFOSMESA_GLVERTEXATTRIB1HVNV = 1309, NFOSMESA_GLVERTEXATTRIB2HNV = 1310, NFOSMESA_GLVERTEXATTRIB2HVNV = 1311, NFOSMESA_GLVERTEXATTRIB3HNV = 1312, NFOSMESA_GLVERTEXATTRIB3HVNV = 1313, NFOSMESA_GLVERTEXATTRIB4HNV = 1314, NFOSMESA_GLVERTEXATTRIB4HVNV = 1315, NFOSMESA_GLVERTEXATTRIBS1HVNV = 1316, NFOSMESA_GLVERTEXATTRIBS2HVNV = 1317, NFOSMESA_GLVERTEXATTRIBS3HVNV = 1318, NFOSMESA_GLVERTEXATTRIBS4HVNV = 1319, NFOSMESA_GLPIXELDATARANGENV = 1320, NFOSMESA_GLFLUSHPIXELDATARANGENV = 1321, NFOSMESA_GLPRIMITIVERESTARTNV = 1322, NFOSMESA_GLPRIMITIVERESTARTINDEXNV = 1323, NFOSMESA_GLMAPOBJECTBUFFERATI = /* 1324 */ NFOSMESA_ENOSYS, /* returns host void *, FIXME */ NFOSMESA_GLUNMAPOBJECTBUFFERATI = 1325, NFOSMESA_GLSTENCILOPSEPARATEATI = 1326, NFOSMESA_GLSTENCILFUNCSEPARATEATI = 1327, NFOSMESA_GLVERTEXATTRIBARRAYOBJECTATI = 1328, NFOSMESA_GLGETVERTEXATTRIBARRAYOBJECTFVATI = 1329, NFOSMESA_GLGETVERTEXATTRIBARRAYOBJECTIVATI = 1330, NFOSMESA_GLDEPTHBOUNDSEXT = 1331, NFOSMESA_GLBLENDEQUATIONSEPARATEEXT = 1332, /* end of ARANFOSMESA_NFAPI_VERSION 1 */ NFOSMESA_OSMESACOLORCLAMP= 1333, NFOSMESA_OSMESAPOSTPROCESS = 1334, NFOSMESA_OSMESARESERVED1335 = 1335, NFOSMESA_OSMESARESERVED1336 = 1336, NFOSMESA_OSMESARESERVED1337 = 1337, NFOSMESA_OSMESARESERVED1338 = 1338, NFOSMESA_OSMESARESERVED1339 = 1339, NFOSMESA_OSMESARESERVED1340 = 1340, NFOSMESA_OSMESARESERVED1341 = 1341, NFOSMESA_OSMESARESERVED1342 = 1342, NFOSMESA_OSMESARESERVED1343 = 1343, NFOSMESA_OSMESARESERVED1344 = 1344, NFOSMESA_OSMESARESERVED1345 = 1345, NFOSMESA_OSMESARESERVED1346 = 1346, NFOSMESA_OSMESARESERVED1347 = 1347, NFOSMESA_OSMESARESERVED1348 = 1348, NFOSMESA_OSMESARESERVED1349 = 1349, NFOSMESA_OSMESARESERVED1350 = 1350, NFOSMESA_OSMESARESERVED1351 = 1351, NFOSMESA_OSMESARESERVED1352 = 1352, NFOSMESA_OSMESARESERVED1353 = 1353, NFOSMESA_OSMESARESERVED1354 = 1354, NFOSMESA_OSMESARESERVED1355 = 1355, NFOSMESA_OSMESARESERVED1356 = 1356, NFOSMESA_OSMESARESERVED1357 = 1357, NFOSMESA_OSMESARESERVED1358 = 1358, NFOSMESA_OSMESARESERVED1359 = 1359, NFOSMESA_OSMESARESERVED1360 = 1360, NFOSMESA_OSMESARESERVED1361 = 1361, NFOSMESA_OSMESARESERVED1362 = 1362, NFOSMESA_OSMESARESERVED1363 = 1363, NFOSMESA_OSMESARESERVED1364 = 1364, NFOSMESA_OSMESARESERVED1365 = 1365, NFOSMESA_OSMESARESERVED1366 = 1366, NFOSMESA_OSMESARESERVED1367 = 1367, NFOSMESA_OSMESARESERVED1368 = 1368, NFOSMESA_OSMESARESERVED1369 = 1369, NFOSMESA_OSMESARESERVED1370 = 1370, NFOSMESA_OSMESARESERVED1371 = 1371, NFOSMESA_OSMESARESERVED1372 = 1372, NFOSMESA_OSMESARESERVED1373 = 1373, NFOSMESA_OSMESARESERVED1374 = 1374, NFOSMESA_OSMESARESERVED1375 = 1375, NFOSMESA_OSMESARESERVED1376 = 1376, NFOSMESA_OSMESARESERVED1377 = 1377, NFOSMESA_OSMESARESERVED1378 = 1378, NFOSMESA_OSMESARESERVED1379 = 1379, NFOSMESA_OSMESARESERVED1380 = 1380, NFOSMESA_OSMESARESERVED1381 = 1381, NFOSMESA_OSMESARESERVED1382 = 1382, NFOSMESA_OSMESARESERVED1383 = 1383, NFOSMESA_OSMESARESERVED1384 = 1384, NFOSMESA_OSMESARESERVED1385 = 1385, NFOSMESA_OSMESARESERVED1386 = 1386, NFOSMESA_OSMESARESERVED1387 = 1387, NFOSMESA_OSMESARESERVED1388 = 1388, NFOSMESA_OSMESARESERVED1389 = 1389, /* non-standard functions needed by TinyGL */ NFOSMESA_GLULOOKATF = 1390, NFOSMESA_GLFRUSTUMF = 1391, NFOSMESA_GLORTHOF = 1392, /* OSMesaCreateLDG() handled on Atari side, via OSMesaCreateContext() */ /* OSMesaDestroyLDG() handled on Atari side, via OSMesaDestroyContext() */ /* max_width handled on Atari side, via OSMesaGetIntegerv() */ /* max_height handled on Atari side, via OSMesaGetIntegerv() */ /* exception_error NYI */ NFOSMESA_TINYGLSWAPBUFFER = 1393, NFOSMESA_GLACCUMXOES = 1400, NFOSMESA_GLACTIVEPROGRAMEXT = 1401, NFOSMESA_GLACTIVESHADERPROGRAM = 1402, NFOSMESA_GLACTIVEVARYINGNV = 1403, NFOSMESA_GLADDSWAPHINTRECTWIN = 1404, NFOSMESA_GLALPHAFUNCXOES = 1405, NFOSMESA_GLATTACHSHADER = 1406, NFOSMESA_GLBEGINCONDITIONALRENDER = 1407, NFOSMESA_GLBEGINCONDITIONALRENDERNV = 1408, NFOSMESA_GLBEGINCONDITIONALRENDERNVX = 1409, NFOSMESA_GLBEGINPERFMONITORAMD = 1410, NFOSMESA_GLBEGINPERFQUERYINTEL = 1411, NFOSMESA_GLBEGINQUERYINDEXED = 1412, NFOSMESA_GLBEGINTRANSFORMFEEDBACK = 1413, NFOSMESA_GLBEGINTRANSFORMFEEDBACKEXT = 1414, NFOSMESA_GLBEGINTRANSFORMFEEDBACKNV = 1415, NFOSMESA_GLBEGINVIDEOCAPTURENV = 1416, NFOSMESA_GLBINDATTRIBLOCATION = 1417, NFOSMESA_GLBINDBUFFERBASE = 1418, NFOSMESA_GLBINDBUFFERBASEEXT = 1419, NFOSMESA_GLBINDBUFFERBASENV = 1420, NFOSMESA_GLBINDBUFFEROFFSETEXT = 1421, NFOSMESA_GLBINDBUFFEROFFSETNV = 1422, NFOSMESA_GLBINDBUFFERRANGE = 1423, NFOSMESA_GLBINDBUFFERRANGEEXT = 1424, NFOSMESA_GLBINDBUFFERRANGENV = 1425, NFOSMESA_GLBINDBUFFERSBASE = 1426, NFOSMESA_GLBINDBUFFERSRANGE = 1427, NFOSMESA_GLBINDFRAGDATALOCATION = 1428, NFOSMESA_GLBINDFRAGDATALOCATIONEXT = 1429, NFOSMESA_GLBINDFRAGDATALOCATIONINDEXED = 1430, NFOSMESA_GLBINDFRAMEBUFFER = 1431, NFOSMESA_GLBINDFRAMEBUFFEREXT = 1432, NFOSMESA_GLBINDIMAGETEXTURE = 1433, NFOSMESA_GLBINDIMAGETEXTUREEXT = 1434, NFOSMESA_GLBINDIMAGETEXTURES = 1435, NFOSMESA_GLBINDMULTITEXTUREEXT = 1436, NFOSMESA_GLBINDPROGRAMPIPELINE = 1437, NFOSMESA_GLBINDRENDERBUFFER = 1438, NFOSMESA_GLBINDRENDERBUFFEREXT = 1439, NFOSMESA_GLBINDSAMPLER = 1440, NFOSMESA_GLBINDSAMPLERS = 1441, NFOSMESA_GLBINDTEXTURES = 1442, NFOSMESA_GLBINDTRANSFORMFEEDBACK = 1443, NFOSMESA_GLBINDTRANSFORMFEEDBACKNV = 1444, NFOSMESA_GLBINDVERTEXARRAY = 1445, NFOSMESA_GLBINDVERTEXBUFFER = 1446, NFOSMESA_GLBINDVERTEXBUFFERS = 1447, NFOSMESA_GLBINDVIDEOCAPTURESTREAMBUFFERNV = 1448, NFOSMESA_GLBINDVIDEOCAPTURESTREAMTEXTURENV = 1449, NFOSMESA_GLBITMAPXOES = 1450, NFOSMESA_GLBLENDBARRIERNV = 1451, NFOSMESA_GLBLENDCOLORXOES = 1452, NFOSMESA_GLBLENDEQUATIONINDEXEDAMD = 1453, NFOSMESA_GLBLENDEQUATIONSEPARATE = 1454, NFOSMESA_GLBLENDEQUATIONSEPARATEINDEXEDAMD = 1455, NFOSMESA_GLBLENDEQUATIONSEPARATEI = 1456, NFOSMESA_GLBLENDEQUATIONSEPARATEIARB = 1457, NFOSMESA_GLBLENDEQUATIONI = 1458, NFOSMESA_GLBLENDEQUATIONIARB = 1459, NFOSMESA_GLBLENDFUNCINDEXEDAMD = 1460, NFOSMESA_GLBLENDFUNCSEPARATEINDEXEDAMD = 1461, NFOSMESA_GLBLENDFUNCSEPARATEI = 1462, NFOSMESA_GLBLENDFUNCSEPARATEIARB = 1463, NFOSMESA_GLBLENDFUNCI = 1464, NFOSMESA_GLBLENDFUNCIARB = 1465, NFOSMESA_GLBLENDPARAMETERINV = 1466, NFOSMESA_GLBLITFRAMEBUFFER = 1467, NFOSMESA_GLBLITFRAMEBUFFEREXT = 1468, NFOSMESA_GLBUFFERADDRESSRANGENV = 1469, NFOSMESA_GLBUFFERPARAMETERIAPPLE = 1470, NFOSMESA_GLBUFFERSTORAGE = 1471, NFOSMESA_GLCHECKFRAMEBUFFERSTATUS = 1472, NFOSMESA_GLCHECKFRAMEBUFFERSTATUSEXT = 1473, NFOSMESA_GLCHECKNAMEDFRAMEBUFFERSTATUSEXT = 1474, NFOSMESA_GLCLAMPCOLOR = 1475, NFOSMESA_GLCLAMPCOLORARB = 1476, NFOSMESA_GLCLEARACCUMXOES = 1477, NFOSMESA_GLCLEARBUFFERDATA = 1478, NFOSMESA_GLCLEARBUFFERSUBDATA = 1479, NFOSMESA_GLCLEARBUFFERFI = 1480, NFOSMESA_GLCLEARBUFFERFV = 1481, NFOSMESA_GLCLEARBUFFERIV = 1482, NFOSMESA_GLCLEARBUFFERUIV = 1483, NFOSMESA_GLCLEARCOLORIIEXT = 1484, NFOSMESA_GLCLEARCOLORIUIEXT = 1485, NFOSMESA_GLCLEARCOLORXOES = 1486, NFOSMESA_GLCLEARDEBUGLOGMESA = 1487, NFOSMESA_GLCLEARDEPTHDNV = 1488, NFOSMESA_GLCLEARDEPTHF = 1489, NFOSMESA_GLCLEARDEPTHFOES = 1490, NFOSMESA_GLCLEARDEPTHXOES = 1491, NFOSMESA_GLCLEARNAMEDBUFFERDATAEXT = 1492, NFOSMESA_GLCLEARNAMEDBUFFERSUBDATAEXT = 1493, NFOSMESA_GLCLEARTEXIMAGE = 1494, NFOSMESA_GLCLEARTEXSUBIMAGE = 1495, NFOSMESA_GLCLIENTATTRIBDEFAULTEXT = 1496, NFOSMESA_GLCLIENTWAITSYNC = 1497, NFOSMESA_GLCLIPPLANEFOES = 1498, NFOSMESA_GLCLIPPLANEXOES = 1499, NFOSMESA_GLCOLOR3XOES = 1500, NFOSMESA_GLCOLOR3XVOES = 1501, NFOSMESA_GLCOLOR4XOES = 1502, NFOSMESA_GLCOLOR4XVOES = 1503, NFOSMESA_GLCOLORFORMATNV = 1504, NFOSMESA_GLCOLORMASKINDEXEDEXT = 1505, NFOSMESA_GLCOLORMASKI = 1506, NFOSMESA_GLCOLORP3UI = 1507, NFOSMESA_GLCOLORP3UIV = 1508, NFOSMESA_GLCOLORP4UI = 1509, NFOSMESA_GLCOLORP4UIV = 1510, NFOSMESA_GLCOMPILESHADER = 1511, NFOSMESA_GLCOMPILESHADERINCLUDEARB = 1512, NFOSMESA_GLCOMPRESSEDMULTITEXIMAGE1DEXT = 1513, NFOSMESA_GLCOMPRESSEDMULTITEXIMAGE2DEXT = 1514, NFOSMESA_GLCOMPRESSEDMULTITEXIMAGE3DEXT = 1515, NFOSMESA_GLCOMPRESSEDMULTITEXSUBIMAGE1DEXT = 1516, NFOSMESA_GLCOMPRESSEDMULTITEXSUBIMAGE2DEXT = 1517, NFOSMESA_GLCOMPRESSEDMULTITEXSUBIMAGE3DEXT = 1518, NFOSMESA_GLCOMPRESSEDTEXTUREIMAGE1DEXT = 1519, NFOSMESA_GLCOMPRESSEDTEXTUREIMAGE2DEXT = 1520, NFOSMESA_GLCOMPRESSEDTEXTUREIMAGE3DEXT = 1521, NFOSMESA_GLCOMPRESSEDTEXTURESUBIMAGE1DEXT = 1522, NFOSMESA_GLCOMPRESSEDTEXTURESUBIMAGE2DEXT = 1523, NFOSMESA_GLCOMPRESSEDTEXTURESUBIMAGE3DEXT = 1524, NFOSMESA_GLCONVOLUTIONPARAMETERXOES = 1525, NFOSMESA_GLCONVOLUTIONPARAMETERXVOES = 1526, NFOSMESA_GLCOPYBUFFERSUBDATA = 1527, NFOSMESA_GLCOPYIMAGESUBDATA = 1528, NFOSMESA_GLCOPYIMAGESUBDATANV = 1529, NFOSMESA_GLCOPYMULTITEXIMAGE1DEXT = 1530, NFOSMESA_GLCOPYMULTITEXIMAGE2DEXT = 1531, NFOSMESA_GLCOPYMULTITEXSUBIMAGE1DEXT = 1532, NFOSMESA_GLCOPYMULTITEXSUBIMAGE2DEXT = 1533, NFOSMESA_GLCOPYMULTITEXSUBIMAGE3DEXT = 1534, NFOSMESA_GLCOPYPATHNV = 1535, NFOSMESA_GLCOPYTEXTUREIMAGE1DEXT = 1536, NFOSMESA_GLCOPYTEXTUREIMAGE2DEXT = 1537, NFOSMESA_GLCOPYTEXTURESUBIMAGE1DEXT = 1538, NFOSMESA_GLCOPYTEXTURESUBIMAGE2DEXT = 1539, NFOSMESA_GLCOPYTEXTURESUBIMAGE3DEXT = 1540, NFOSMESA_GLCOVERFILLPATHINSTANCEDNV = 1541, NFOSMESA_GLCOVERFILLPATHNV = 1542, NFOSMESA_GLCOVERSTROKEPATHINSTANCEDNV = 1543, NFOSMESA_GLCOVERSTROKEPATHNV = 1544, NFOSMESA_GLCREATEDEBUGOBJECTMESA = 1545, NFOSMESA_GLCREATEPERFQUERYINTEL = 1546, NFOSMESA_GLCREATEPROGRAM = 1547, NFOSMESA_GLCREATESHADER = 1548, NFOSMESA_GLCREATESHADERPROGRAMEXT = 1549, NFOSMESA_GLCREATESHADERPROGRAMV = 1550, NFOSMESA_GLCREATESYNCFROMCLEVENTARB = /* 1551 */ NFOSMESA_ENOSYS, /* returns GLsync, FIXME */ NFOSMESA_GLDEBUGMESSAGECALLBACK = /* 1552 */ NFOSMESA_ENOSYS, /* NF interface cannot callback a Atari function */ NFOSMESA_GLDEBUGMESSAGECALLBACKAMD = /* 1553 */ NFOSMESA_ENOSYS, /* NF interface cannot callback a Atari function */ NFOSMESA_GLDEBUGMESSAGECALLBACKARB = /* 1554 */ NFOSMESA_ENOSYS, /* NF interface cannot callback a Atari function */ NFOSMESA_GLDEBUGMESSAGECONTROL = 1555, NFOSMESA_GLDEBUGMESSAGECONTROLARB = 1556, NFOSMESA_GLDEBUGMESSAGEENABLEAMD = 1557, NFOSMESA_GLDEBUGMESSAGEINSERT = 1558, NFOSMESA_GLDEBUGMESSAGEINSERTAMD = 1559, NFOSMESA_GLDEBUGMESSAGEINSERTARB = 1560, NFOSMESA_GLDELETEFRAMEBUFFERS = 1561, NFOSMESA_GLDELETEFRAMEBUFFERSEXT = 1562, NFOSMESA_GLDELETENAMEDSTRINGARB = 1563, NFOSMESA_GLDELETENAMESAMD = 1564, NFOSMESA_GLDELETEOBJECTBUFFERATI = 1565, NFOSMESA_GLDELETEPATHSNV = 1566, NFOSMESA_GLDELETEPERFMONITORSAMD = 1567, NFOSMESA_GLDELETEPERFQUERYINTEL = 1568, NFOSMESA_GLDELETEPROGRAM = 1569, NFOSMESA_GLDELETEPROGRAMPIPELINES = 1570, NFOSMESA_GLDELETERENDERBUFFERS = 1571, NFOSMESA_GLDELETERENDERBUFFERSEXT = 1572, NFOSMESA_GLDELETESAMPLERS = 1573, NFOSMESA_GLDELETESHADER = 1574, NFOSMESA_GLDELETESYNC = 1575, NFOSMESA_GLDELETETRANSFORMFEEDBACKS = 1576, NFOSMESA_GLDELETETRANSFORMFEEDBACKSNV = 1577, NFOSMESA_GLDELETEVERTEXARRAYS = 1578, NFOSMESA_GLDEPTHBOUNDSDNV = 1579, NFOSMESA_GLDEPTHRANGEARRAYV = 1580, NFOSMESA_GLDEPTHRANGEINDEXED = 1581, NFOSMESA_GLDEPTHRANGEDNV = 1582, NFOSMESA_GLDEPTHRANGEF = 1583, NFOSMESA_GLDEPTHRANGEFOES = 1584, NFOSMESA_GLDEPTHRANGEXOES = 1585, NFOSMESA_GLDETACHSHADER = 1586, NFOSMESA_GLDISABLECLIENTSTATEINDEXEDEXT = 1587, NFOSMESA_GLDISABLECLIENTSTATEIEXT = 1588, NFOSMESA_GLDISABLEINDEXEDEXT = 1589, NFOSMESA_GLDISABLEVERTEXARRAYATTRIBEXT = 1590, NFOSMESA_GLDISABLEVERTEXARRAYEXT = 1591, NFOSMESA_GLDISABLEVERTEXATTRIBAPPLE = 1592, NFOSMESA_GLDISABLEVERTEXATTRIBARRAY = 1593, NFOSMESA_GLDISABLEI = 1594, NFOSMESA_GLDISPATCHCOMPUTE = 1595, NFOSMESA_GLDISPATCHCOMPUTEGROUPSIZEARB = 1596, NFOSMESA_GLDISPATCHCOMPUTEINDIRECT = 1597, NFOSMESA_GLDRAWARRAYSINDIRECT = 1598, NFOSMESA_GLDRAWARRAYSINSTANCED = 1599, NFOSMESA_GLDRAWARRAYSINSTANCEDARB = 1600, NFOSMESA_GLDRAWARRAYSINSTANCEDBASEINSTANCE = 1601, NFOSMESA_GLDRAWARRAYSINSTANCEDEXT = 1602, NFOSMESA_GLDRAWBUFFERS = 1603, NFOSMESA_GLDRAWELEMENTSBASEVERTEX = 1604, NFOSMESA_GLDRAWELEMENTSINDIRECT = 1605, NFOSMESA_GLDRAWELEMENTSINSTANCED = 1606, NFOSMESA_GLDRAWELEMENTSINSTANCEDARB = 1607, NFOSMESA_GLDRAWELEMENTSINSTANCEDBASEINSTANCE = 1608, NFOSMESA_GLDRAWELEMENTSINSTANCEDBASEVERTEX = 1609, NFOSMESA_GLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCE = 1610, NFOSMESA_GLDRAWELEMENTSINSTANCEDEXT = 1611, NFOSMESA_GLDRAWRANGEELEMENTSBASEVERTEX = 1612, NFOSMESA_GLDRAWTEXTURENV = 1613, NFOSMESA_GLDRAWTRANSFORMFEEDBACK = 1614, NFOSMESA_GLDRAWTRANSFORMFEEDBACKINSTANCED = 1615, NFOSMESA_GLDRAWTRANSFORMFEEDBACKNV = 1616, NFOSMESA_GLDRAWTRANSFORMFEEDBACKSTREAM = 1617, NFOSMESA_GLDRAWTRANSFORMFEEDBACKSTREAMINSTANCED = 1618, NFOSMESA_GLEDGEFLAGFORMATNV = 1619, NFOSMESA_GLENABLECLIENTSTATEINDEXEDEXT = 1620, NFOSMESA_GLENABLECLIENTSTATEIEXT = 1621, NFOSMESA_GLENABLEINDEXEDEXT = 1622, NFOSMESA_GLENABLEVERTEXARRAYATTRIBEXT = 1623, NFOSMESA_GLENABLEVERTEXARRAYEXT = 1624, NFOSMESA_GLENABLEVERTEXATTRIBAPPLE = 1625, NFOSMESA_GLENABLEVERTEXATTRIBARRAY = 1626, NFOSMESA_GLENABLEI = 1627, NFOSMESA_GLENDCONDITIONALRENDER = 1628, NFOSMESA_GLENDCONDITIONALRENDERNV = 1629, NFOSMESA_GLENDCONDITIONALRENDERNVX = 1630, NFOSMESA_GLENDPERFMONITORAMD = 1631, NFOSMESA_GLENDPERFQUERYINTEL = 1632, NFOSMESA_GLENDQUERYINDEXED = 1633, NFOSMESA_GLENDTRANSFORMFEEDBACK = 1634, NFOSMESA_GLENDTRANSFORMFEEDBACKEXT = 1635, NFOSMESA_GLENDTRANSFORMFEEDBACKNV = 1636, NFOSMESA_GLENDVIDEOCAPTURENV = 1637, NFOSMESA_GLEVALCOORD1XOES = 1638, NFOSMESA_GLEVALCOORD1XVOES = 1639, NFOSMESA_GLEVALCOORD2XOES = 1640, NFOSMESA_GLEVALCOORD2XVOES = 1641, NFOSMESA_GLFEEDBACKBUFFERXOES = 1642, NFOSMESA_GLFENCESYNC = /* 1643 */ NFOSMESA_ENOSYS, /* returns GLsync, FIXME */ NFOSMESA_GLFINISHRENDERAPPLE = 1644, NFOSMESA_GLFLUSHMAPPEDBUFFERRANGE = 1645, NFOSMESA_GLFLUSHMAPPEDBUFFERRANGEAPPLE = 1646, NFOSMESA_GLFLUSHMAPPEDNAMEDBUFFERRANGEEXT = 1647, NFOSMESA_GLFLUSHRENDERAPPLE = 1648, NFOSMESA_GLFLUSHSTATICDATAIBM = 1649, NFOSMESA_GLFOGCOORDFORMATNV = 1650, NFOSMESA_GLFOGXOES = 1651, NFOSMESA_GLFOGXVOES = 1652, NFOSMESA_GLFRAMETERMINATORGREMEDY = 1653, NFOSMESA_GLFRAMEBUFFERDRAWBUFFEREXT = 1654, NFOSMESA_GLFRAMEBUFFERDRAWBUFFERSEXT = 1655, NFOSMESA_GLFRAMEBUFFERPARAMETERI = 1656, NFOSMESA_GLFRAMEBUFFERREADBUFFEREXT = 1657, NFOSMESA_GLFRAMEBUFFERRENDERBUFFER = 1658, NFOSMESA_GLFRAMEBUFFERRENDERBUFFEREXT = 1659, NFOSMESA_GLFRAMEBUFFERTEXTURE = 1660, NFOSMESA_GLFRAMEBUFFERTEXTURE1D = 1661, NFOSMESA_GLFRAMEBUFFERTEXTURE1DEXT = 1662, NFOSMESA_GLFRAMEBUFFERTEXTURE2D = 1663, NFOSMESA_GLFRAMEBUFFERTEXTURE2DEXT = 1664, NFOSMESA_GLFRAMEBUFFERTEXTURE3D = 1665, NFOSMESA_GLFRAMEBUFFERTEXTURE3DEXT = 1666, NFOSMESA_GLFRAMEBUFFERTEXTUREARB = 1667, NFOSMESA_GLFRAMEBUFFERTEXTUREEXT = 1668, NFOSMESA_GLFRAMEBUFFERTEXTUREFACEARB = 1669, NFOSMESA_GLFRAMEBUFFERTEXTUREFACEEXT = 1670, NFOSMESA_GLFRAMEBUFFERTEXTURELAYER = 1671, NFOSMESA_GLFRAMEBUFFERTEXTURELAYERARB = 1672, NFOSMESA_GLFRAMEBUFFERTEXTURELAYEREXT = 1673, NFOSMESA_GLFRUSTUMFOES = 1674, NFOSMESA_GLFRUSTUMXOES = 1675, NFOSMESA_GLGENFRAMEBUFFERS = 1676, NFOSMESA_GLGENFRAMEBUFFERSEXT = 1677, NFOSMESA_GLGENNAMESAMD = 1678, NFOSMESA_GLGENPATHSNV = 1679, NFOSMESA_GLGENPERFMONITORSAMD = 1680, NFOSMESA_GLGENPROGRAMPIPELINES = 1681, NFOSMESA_GLGENRENDERBUFFERS = 1682, NFOSMESA_GLGENRENDERBUFFERSEXT = 1683, NFOSMESA_GLGENSAMPLERS = 1684, NFOSMESA_GLGENTRANSFORMFEEDBACKS = 1685, NFOSMESA_GLGENTRANSFORMFEEDBACKSNV = 1686, NFOSMESA_GLGENVERTEXARRAYS = 1687, NFOSMESA_GLGENERATEMIPMAP = 1688, NFOSMESA_GLGENERATEMIPMAPEXT = 1689, NFOSMESA_GLGENERATEMULTITEXMIPMAPEXT = 1690, NFOSMESA_GLGENERATETEXTUREMIPMAPEXT = 1691, NFOSMESA_GLGETACTIVEATOMICCOUNTERBUFFERIV = 1692, NFOSMESA_GLGETACTIVEATTRIB = 1693, NFOSMESA_GLGETACTIVESUBROUTINENAME = 1694, NFOSMESA_GLGETACTIVESUBROUTINEUNIFORMNAME = 1695, NFOSMESA_GLGETACTIVESUBROUTINEUNIFORMIV = 1696, NFOSMESA_GLGETACTIVEUNIFORM = 1697, NFOSMESA_GLGETACTIVEUNIFORMBLOCKINDEX = 1698, NFOSMESA_GLGETACTIVEUNIFORMBLOCKNAME = 1699, NFOSMESA_GLGETACTIVEUNIFORMBLOCKIV = 1700, NFOSMESA_GLGETACTIVEUNIFORMNAME = 1701, NFOSMESA_GLGETACTIVEUNIFORMSIV = 1702, NFOSMESA_GLGETACTIVEVARYINGNV = 1703, NFOSMESA_GLGETATTACHEDSHADERS = 1704, NFOSMESA_GLGETATTRIBLOCATION = 1705, NFOSMESA_GLGETBOOLEANINDEXEDVEXT = 1706, NFOSMESA_GLGETBOOLEANI_V = 1707, NFOSMESA_GLGETBUFFERPARAMETERI64V = 1708, NFOSMESA_GLGETBUFFERPARAMETERUI64VNV = 1709, NFOSMESA_GLGETCLIPPLANEFOES = 1710, NFOSMESA_GLGETCLIPPLANEXOES = 1711, NFOSMESA_GLGETCOMPRESSEDMULTITEXIMAGEEXT = 1712, NFOSMESA_GLGETCOMPRESSEDTEXTUREIMAGEEXT = 1713, NFOSMESA_GLGETCONVOLUTIONPARAMETERXVOES = 1714, NFOSMESA_GLGETDEBUGLOGLENGTHMESA = 1715, NFOSMESA_GLGETDEBUGLOGMESA = 1716, NFOSMESA_GLGETDEBUGMESSAGELOG = 1717, NFOSMESA_GLGETDEBUGMESSAGELOGAMD = 1718, NFOSMESA_GLGETDEBUGMESSAGELOGARB = 1719, NFOSMESA_GLGETDOUBLEINDEXEDVEXT = 1720, NFOSMESA_GLGETDOUBLEI_V = 1721, NFOSMESA_GLGETDOUBLEI_VEXT = 1722, NFOSMESA_GLGETFIRSTPERFQUERYIDINTEL = 1723, NFOSMESA_GLGETFIXEDVOES = 1724, NFOSMESA_GLGETFLOATINDEXEDVEXT = 1725, NFOSMESA_GLGETFLOATI_V = 1726, NFOSMESA_GLGETFLOATI_VEXT = 1727, NFOSMESA_GLGETFRAGDATAINDEX = 1728, NFOSMESA_GLGETFRAGDATALOCATION = 1729, NFOSMESA_GLGETFRAGDATALOCATIONEXT = 1730, NFOSMESA_GLGETFRAMEBUFFERATTACHMENTPARAMETERIV = 1731, NFOSMESA_GLGETFRAMEBUFFERATTACHMENTPARAMETERIVEXT = 1732, NFOSMESA_GLGETFRAMEBUFFERPARAMETERIV = 1733, NFOSMESA_GLGETFRAMEBUFFERPARAMETERIVEXT = 1734, NFOSMESA_GLGETGRAPHICSRESETSTATUSARB = 1735, NFOSMESA_GLGETHISTOGRAMPARAMETERXVOES = 1736, NFOSMESA_GLGETIMAGEHANDLEARB = 1737, NFOSMESA_GLGETIMAGEHANDLENV = 1738, NFOSMESA_GLGETINTEGER64I_V = 1739, NFOSMESA_GLGETINTEGER64V = 1740, NFOSMESA_GLGETINTEGERINDEXEDVEXT = 1741, NFOSMESA_GLGETINTEGERI_V = 1742, NFOSMESA_GLGETINTEGERUI64I_VNV = 1743, NFOSMESA_GLGETINTEGERUI64VNV = 1744, NFOSMESA_GLGETINTERNALFORMATI64V = 1745, NFOSMESA_GLGETINTERNALFORMATIV = 1746, NFOSMESA_GLGETLIGHTXOES = 1747, NFOSMESA_GLGETMAPXVOES = 1748, NFOSMESA_GLGETMATERIALXOES = 1749, NFOSMESA_GLGETMULTITEXENVFVEXT = 1750, NFOSMESA_GLGETMULTITEXENVIVEXT = 1751, NFOSMESA_GLGETMULTITEXGENDVEXT = 1752, NFOSMESA_GLGETMULTITEXGENFVEXT = 1753, NFOSMESA_GLGETMULTITEXGENIVEXT = 1754, NFOSMESA_GLGETMULTITEXIMAGEEXT = 1755, NFOSMESA_GLGETMULTITEXLEVELPARAMETERFVEXT = 1756, NFOSMESA_GLGETMULTITEXLEVELPARAMETERIVEXT = 1757, NFOSMESA_GLGETMULTITEXPARAMETERIIVEXT = 1758, NFOSMESA_GLGETMULTITEXPARAMETERIUIVEXT = 1759, NFOSMESA_GLGETMULTITEXPARAMETERFVEXT = 1760, NFOSMESA_GLGETMULTITEXPARAMETERIVEXT = 1761, NFOSMESA_GLGETMULTISAMPLEFV = 1762, NFOSMESA_GLGETMULTISAMPLEFVNV = 1763, NFOSMESA_GLGETNAMEDBUFFERPARAMETERIVEXT = 1764, NFOSMESA_GLGETNAMEDBUFFERPARAMETERUI64VNV = 1765, NFOSMESA_GLGETNAMEDBUFFERPOINTERVEXT = 1766, NFOSMESA_GLGETNAMEDBUFFERSUBDATAEXT = 1767, NFOSMESA_GLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXT = 1768, NFOSMESA_GLGETNAMEDFRAMEBUFFERPARAMETERIVEXT = 1769, NFOSMESA_GLGETNAMEDPROGRAMLOCALPARAMETERIIVEXT = 1770, NFOSMESA_GLGETNAMEDPROGRAMLOCALPARAMETERIUIVEXT = 1771, NFOSMESA_GLGETNAMEDPROGRAMLOCALPARAMETERDVEXT = 1772, NFOSMESA_GLGETNAMEDPROGRAMLOCALPARAMETERFVEXT = 1773, NFOSMESA_GLGETNAMEDPROGRAMSTRINGEXT = 1774, NFOSMESA_GLGETNAMEDPROGRAMIVEXT = 1775, NFOSMESA_GLGETNAMEDRENDERBUFFERPARAMETERIVEXT = 1776, NFOSMESA_GLGETNAMEDSTRINGARB = 1777, NFOSMESA_GLGETNAMEDSTRINGIVARB = 1778, NFOSMESA_GLGETNEXTPERFQUERYIDINTEL = 1779, NFOSMESA_GLGETOBJECTLABEL = 1780, NFOSMESA_GLGETOBJECTLABELEXT = 1781, NFOSMESA_GLGETOBJECTPARAMETERIVAPPLE = 1782, NFOSMESA_GLGETOBJECTPTRLABEL = 1783, NFOSMESA_GLGETPATHCOLORGENFVNV = 1784, NFOSMESA_GLGETPATHCOLORGENIVNV = 1785, NFOSMESA_GLGETPATHCOMMANDSNV = 1786, NFOSMESA_GLGETPATHCOORDSNV = 1787, NFOSMESA_GLGETPATHDASHARRAYNV = 1788, NFOSMESA_GLGETPATHLENGTHNV = 1789, NFOSMESA_GLGETPATHMETRICRANGENV = 1790, NFOSMESA_GLGETPATHMETRICSNV = 1791, NFOSMESA_GLGETPATHPARAMETERFVNV = 1792, NFOSMESA_GLGETPATHPARAMETERIVNV = 1793, NFOSMESA_GLGETPATHSPACINGNV = 1794, NFOSMESA_GLGETPATHTEXGENFVNV = 1795, NFOSMESA_GLGETPATHTEXGENIVNV = 1796, NFOSMESA_GLGETPERFCOUNTERINFOINTEL = 1797, NFOSMESA_GLGETPERFMONITORCOUNTERDATAAMD = 1798, NFOSMESA_GLGETPERFMONITORCOUNTERINFOAMD = 1799, NFOSMESA_GLGETPERFMONITORCOUNTERSTRINGAMD = 1800, NFOSMESA_GLGETPERFMONITORCOUNTERSAMD = 1801, NFOSMESA_GLGETPERFMONITORGROUPSTRINGAMD = 1802, NFOSMESA_GLGETPERFMONITORGROUPSAMD = 1803, NFOSMESA_GLGETPERFQUERYDATAINTEL = 1804, NFOSMESA_GLGETPERFQUERYIDBYNAMEINTEL = 1805, NFOSMESA_GLGETPERFQUERYINFOINTEL = 1806, NFOSMESA_GLGETPIXELMAPXV = 1807, NFOSMESA_GLGETPIXELTRANSFORMPARAMETERFVEXT = 1808, NFOSMESA_GLGETPIXELTRANSFORMPARAMETERIVEXT = 1809, NFOSMESA_GLGETPOINTERINDEXEDVEXT = 1810, NFOSMESA_GLGETPOINTERI_VEXT = 1811, NFOSMESA_GLGETPROGRAMBINARY = 1812, NFOSMESA_GLGETPROGRAMENVPARAMETERIIVNV = 1813, NFOSMESA_GLGETPROGRAMENVPARAMETERIUIVNV = 1814, NFOSMESA_GLGETPROGRAMINFOLOG = 1815, NFOSMESA_GLGETPROGRAMINTERFACEIV = 1816, NFOSMESA_GLGETPROGRAMLOCALPARAMETERIIVNV = 1817, NFOSMESA_GLGETPROGRAMLOCALPARAMETERIUIVNV = 1818, NFOSMESA_GLGETPROGRAMPIPELINEINFOLOG = 1819, NFOSMESA_GLGETPROGRAMPIPELINEIV = 1820, NFOSMESA_GLGETPROGRAMREGISTERFVMESA = 1821, NFOSMESA_GLGETPROGRAMRESOURCEINDEX = 1822, NFOSMESA_GLGETPROGRAMRESOURCELOCATION = 1823, NFOSMESA_GLGETPROGRAMRESOURCELOCATIONINDEX = 1824, NFOSMESA_GLGETPROGRAMRESOURCENAME = 1825, NFOSMESA_GLGETPROGRAMRESOURCEIV = 1826, NFOSMESA_GLGETPROGRAMSTAGEIV = 1827, NFOSMESA_GLGETPROGRAMSUBROUTINEPARAMETERUIVNV = 1828, NFOSMESA_GLGETPROGRAMIV = 1829, NFOSMESA_GLGETQUERYINDEXEDIV = 1830, NFOSMESA_GLGETQUERYOBJECTI64V = 1831, NFOSMESA_GLGETQUERYOBJECTI64VEXT = 1832, NFOSMESA_GLGETQUERYOBJECTUI64V = 1833, NFOSMESA_GLGETQUERYOBJECTUI64VEXT = 1834, NFOSMESA_GLGETRENDERBUFFERPARAMETERIV = 1835, NFOSMESA_GLGETRENDERBUFFERPARAMETERIVEXT = 1836, NFOSMESA_GLGETSAMPLERPARAMETERIIV = 1837, NFOSMESA_GLGETSAMPLERPARAMETERIUIV = 1838, NFOSMESA_GLGETSAMPLERPARAMETERFV = 1839, NFOSMESA_GLGETSAMPLERPARAMETERIV = 1840, NFOSMESA_GLGETSHADERINFOLOG = 1841, NFOSMESA_GLGETSHADERPRECISIONFORMAT = 1842, NFOSMESA_GLGETSHADERSOURCE = 1843, NFOSMESA_GLGETSHADERIV = 1844, NFOSMESA_GLGETSTRINGI = NFOSMESA_ENOSYS, /* implemented with NFOSMESA_LENGLGETSTRINGI/NFOSMESA_PUTGLGETSTRINGI */ NFOSMESA_LENGLGETSTRINGI = 1845, NFOSMESA_PUTGLGETSTRINGI = 1846, NFOSMESA_GLGETSUBROUTINEINDEX =1847, NFOSMESA_GLGETSUBROUTINEUNIFORMLOCATION = 1848, NFOSMESA_GLGETSYNCIV = 1849, NFOSMESA_GLGETTEXENVXVOES = 1850, NFOSMESA_GLGETTEXGENXVOES = 1851, NFOSMESA_GLGETTEXLEVELPARAMETERXVOES = 1852, NFOSMESA_GLGETTEXPARAMETERIIV = 1853, NFOSMESA_GLGETTEXPARAMETERIIVEXT = 1854, NFOSMESA_GLGETTEXPARAMETERIUIV = 1855, NFOSMESA_GLGETTEXPARAMETERIUIVEXT = 1856, NFOSMESA_GLGETTEXPARAMETERPOINTERVAPPLE = 1857, NFOSMESA_GLGETTEXPARAMETERXVOES = 1858, NFOSMESA_GLGETTEXTUREHANDLEARB = 1859, NFOSMESA_GLGETTEXTUREHANDLENV = 1860, NFOSMESA_GLGETTEXTUREIMAGEEXT = 1861, NFOSMESA_GLGETTEXTURELEVELPARAMETERFVEXT = 1862, NFOSMESA_GLGETTEXTURELEVELPARAMETERIVEXT = 1863, NFOSMESA_GLGETTEXTUREPARAMETERIIVEXT = 1864, NFOSMESA_GLGETTEXTUREPARAMETERIUIVEXT = 1865, NFOSMESA_GLGETTEXTUREPARAMETERFVEXT = 1866, NFOSMESA_GLGETTEXTUREPARAMETERIVEXT = 1867, NFOSMESA_GLGETTEXTURESAMPLERHANDLEARB = 1868, NFOSMESA_GLGETTEXTURESAMPLERHANDLENV = 1869, NFOSMESA_GLGETTRANSFORMFEEDBACKVARYING = 1870, NFOSMESA_GLGETTRANSFORMFEEDBACKVARYINGEXT = 1871, NFOSMESA_GLGETTRANSFORMFEEDBACKVARYINGNV = 1872, NFOSMESA_GLGETUNIFORMBLOCKINDEX = 1873, NFOSMESA_GLGETUNIFORMBUFFERSIZEEXT = 1874, NFOSMESA_GLGETUNIFORMINDICES = 1875, NFOSMESA_GLGETUNIFORMLOCATION = 1876, NFOSMESA_GLGETUNIFORMOFFSETEXT = 1877, NFOSMESA_GLGETUNIFORMSUBROUTINEUIV = 1878, NFOSMESA_GLGETUNIFORMDV = 1879, NFOSMESA_GLGETUNIFORMFV = 1880, NFOSMESA_GLGETUNIFORMI64VNV = 1881, NFOSMESA_GLGETUNIFORMIV = 1882, NFOSMESA_GLGETUNIFORMUI64VNV = 1883, NFOSMESA_GLGETUNIFORMUIV = 1884, NFOSMESA_GLGETUNIFORMUIVEXT = 1885, NFOSMESA_GLGETVARYINGLOCATIONNV = 1886, NFOSMESA_GLGETVERTEXARRAYINTEGERI_VEXT = 1887, NFOSMESA_GLGETVERTEXARRAYINTEGERVEXT = 1888, NFOSMESA_GLGETVERTEXARRAYPOINTERI_VEXT = 1889, NFOSMESA_GLGETVERTEXARRAYPOINTERVEXT = 1890, NFOSMESA_GLGETVERTEXATTRIBIIV = 1891, NFOSMESA_GLGETVERTEXATTRIBIIVEXT = 1892, NFOSMESA_GLGETVERTEXATTRIBIUIV = 1893, NFOSMESA_GLGETVERTEXATTRIBIUIVEXT = 1894, NFOSMESA_GLGETVERTEXATTRIBLDV = 1895, NFOSMESA_GLGETVERTEXATTRIBLDVEXT = 1896, NFOSMESA_GLGETVERTEXATTRIBLI64VNV = 1897, NFOSMESA_GLGETVERTEXATTRIBLUI64VARB = 1898, NFOSMESA_GLGETVERTEXATTRIBLUI64VNV = 1899, NFOSMESA_GLGETVERTEXATTRIBPOINTERV = 1900, NFOSMESA_GLGETVERTEXATTRIBDV = 1901, NFOSMESA_GLGETVERTEXATTRIBFV = 1902, NFOSMESA_GLGETVERTEXATTRIBIV = 1903, NFOSMESA_GLGETVIDEOCAPTURESTREAMDVNV = 1904, NFOSMESA_GLGETVIDEOCAPTURESTREAMFVNV = 1905, NFOSMESA_GLGETVIDEOCAPTURESTREAMIVNV = 1906, NFOSMESA_GLGETVIDEOCAPTUREIVNV = 1907, NFOSMESA_GLGETVIDEOI64VNV = 1908, NFOSMESA_GLGETVIDEOIVNV = 1909, NFOSMESA_GLGETVIDEOUI64VNV = 1910, NFOSMESA_GLGETVIDEOUIVNV = 1911, NFOSMESA_GLGETNCOLORTABLEARB = 1912, NFOSMESA_GLGETNCOMPRESSEDTEXIMAGEARB = 1913, NFOSMESA_GLGETNCONVOLUTIONFILTERARB = 1914, NFOSMESA_GLGETNHISTOGRAMARB = 1915, NFOSMESA_GLGETNMAPDVARB = 1916, NFOSMESA_GLGETNMAPFVARB = 1917, NFOSMESA_GLGETNMAPIVARB = 1918, NFOSMESA_GLGETNMINMAXARB = 1919, NFOSMESA_GLGETNPIXELMAPFVARB = 1920, NFOSMESA_GLGETNPIXELMAPUIVARB = 1921, NFOSMESA_GLGETNPIXELMAPUSVARB = 1922, NFOSMESA_GLGETNPOLYGONSTIPPLEARB = 1923, NFOSMESA_GLGETNSEPARABLEFILTERARB = 1924, NFOSMESA_GLGETNTEXIMAGEARB = 1925, NFOSMESA_GLGETNUNIFORMDVARB = 1926, NFOSMESA_GLGETNUNIFORMFVARB = 1927, NFOSMESA_GLGETNUNIFORMIVARB = 1928, NFOSMESA_GLGETNUNIFORMUIVARB = 1929, NFOSMESA_GLIMPORTSYNCEXT = /* 1930 */ NFOSMESA_ENOSYS, /* returns GLsync, FIXME */ NFOSMESA_GLINDEXFORMATNV = 1931, NFOSMESA_GLINDEXXOES = 1932, NFOSMESA_GLINDEXXVOES = 1933, NFOSMESA_GLINSERTEVENTMARKEREXT = 1934, NFOSMESA_GLINTERPOLATEPATHSNV = 1935, NFOSMESA_GLINVALIDATEBUFFERDATA = 1936, NFOSMESA_GLINVALIDATEBUFFERSUBDATA = 1937, NFOSMESA_GLINVALIDATEFRAMEBUFFER = 1938, NFOSMESA_GLINVALIDATESUBFRAMEBUFFER = 1939, NFOSMESA_GLINVALIDATETEXIMAGE = 1940, NFOSMESA_GLINVALIDATETEXSUBIMAGE = 1941, NFOSMESA_GLISBUFFERRESIDENTNV = 1942, NFOSMESA_GLISENABLEDINDEXEDEXT = 1943, NFOSMESA_GLISENABLEDI = 1944, NFOSMESA_GLISFRAMEBUFFER = 1945, NFOSMESA_GLISFRAMEBUFFEREXT = 1946, NFOSMESA_GLISIMAGEHANDLERESIDENTARB = 1947, NFOSMESA_GLISIMAGEHANDLERESIDENTNV = 1948, NFOSMESA_GLISNAMEAMD = 1949, NFOSMESA_GLISNAMEDBUFFERRESIDENTNV = 1950, NFOSMESA_GLISNAMEDSTRINGARB = 1951, NFOSMESA_GLISPATHNV = 1952, NFOSMESA_GLISPOINTINFILLPATHNV = 1953, NFOSMESA_GLISPOINTINSTROKEPATHNV = 1954, NFOSMESA_GLISPROGRAM = 1955, NFOSMESA_GLISPROGRAMPIPELINE = 1956, NFOSMESA_GLISRENDERBUFFER = 1957, NFOSMESA_GLISRENDERBUFFEREXT = 1958, NFOSMESA_GLISSAMPLER = 1959, NFOSMESA_GLISSHADER = 1960, NFOSMESA_GLISSYNC = 1961, NFOSMESA_GLISTEXTUREHANDLERESIDENTARB = 1962, NFOSMESA_GLISTEXTUREHANDLERESIDENTNV = 1963, NFOSMESA_GLISTRANSFORMFEEDBACK = 1964, NFOSMESA_GLISTRANSFORMFEEDBACKNV = 1965, NFOSMESA_GLISVERTEXARRAY = 1966, NFOSMESA_GLISVERTEXATTRIBENABLEDAPPLE = 1967, NFOSMESA_GLLABELOBJECTEXT = 1968, NFOSMESA_GLLIGHTMODELXOES = 1969, NFOSMESA_GLLIGHTMODELXVOES = 1970, NFOSMESA_GLLIGHTXOES = 1971, NFOSMESA_GLLIGHTXVOES = 1972, NFOSMESA_GLLINEWIDTHXOES = 1973, NFOSMESA_GLLINKPROGRAM = 1974, NFOSMESA_GLLOADMATRIXXOES = 1975, NFOSMESA_GLLOADTRANSPOSEMATRIXXOES = 1976, NFOSMESA_GLMAKEBUFFERNONRESIDENTNV = 1977, NFOSMESA_GLMAKEBUFFERRESIDENTNV = 1978, NFOSMESA_GLMAKEIMAGEHANDLENONRESIDENTARB = 1979, NFOSMESA_GLMAKEIMAGEHANDLENONRESIDENTNV = 1980, NFOSMESA_GLMAKEIMAGEHANDLERESIDENTARB = 1981, NFOSMESA_GLMAKEIMAGEHANDLERESIDENTNV = 1982, NFOSMESA_GLMAKENAMEDBUFFERNONRESIDENTNV = 1983, NFOSMESA_GLMAKENAMEDBUFFERRESIDENTNV = 1984, NFOSMESA_GLMAKETEXTUREHANDLENONRESIDENTARB = 1985, NFOSMESA_GLMAKETEXTUREHANDLENONRESIDENTNV = 1986, NFOSMESA_GLMAKETEXTUREHANDLERESIDENTARB = 1987, NFOSMESA_GLMAKETEXTUREHANDLERESIDENTNV = 1988, NFOSMESA_GLMAP1XOES = 1989, NFOSMESA_GLMAP2XOES = 1990, NFOSMESA_GLMAPBUFFERRANGE = /* 1991 */ NFOSMESA_ENOSYS, /* returns host void *, FIXME */ NFOSMESA_GLMAPGRID1XOES = 1992, NFOSMESA_GLMAPGRID2XOES = 1993, NFOSMESA_GLMAPNAMEDBUFFEREXT = /* 1994 */ NFOSMESA_ENOSYS, /* returns host void *, FIXME */ NFOSMESA_GLMAPNAMEDBUFFERRANGEEXT = /* 1995 */ NFOSMESA_ENOSYS, /* returns host void *, FIXME */ NFOSMESA_GLMAPTEXTURE2DINTEL = /* 1996 */ NFOSMESA_ENOSYS, /* returns host void *, FIXME */ NFOSMESA_GLMAPVERTEXATTRIB1DAPPLE = 1997, NFOSMESA_GLMAPVERTEXATTRIB1FAPPLE = 1998, NFOSMESA_GLMAPVERTEXATTRIB2DAPPLE = 1999, NFOSMESA_GLMAPVERTEXATTRIB2FAPPLE = 2000, NFOSMESA_GLMATERIALXOES = 2001, NFOSMESA_GLMATERIALXVOES = 2002, NFOSMESA_GLMATRIXFRUSTUMEXT = 2003, NFOSMESA_GLMATRIXLOADIDENTITYEXT = 2004, NFOSMESA_GLMATRIXLOADTRANSPOSEDEXT = 2005, NFOSMESA_GLMATRIXLOADTRANSPOSEFEXT = 2006, NFOSMESA_GLMATRIXLOADDEXT = 2007, NFOSMESA_GLMATRIXLOADFEXT = 2008, NFOSMESA_GLMATRIXMULTTRANSPOSEDEXT = 2009, NFOSMESA_GLMATRIXMULTTRANSPOSEFEXT = 2010, NFOSMESA_GLMATRIXMULTDEXT = 2011, NFOSMESA_GLMATRIXMULTFEXT = 2012, NFOSMESA_GLMATRIXORTHOEXT = 2013, NFOSMESA_GLMATRIXPOPEXT = 2014, NFOSMESA_GLMATRIXPUSHEXT = 2015, NFOSMESA_GLMATRIXROTATEDEXT = 2016, NFOSMESA_GLMATRIXROTATEFEXT = 2017, NFOSMESA_GLMATRIXSCALEDEXT = 2018, NFOSMESA_GLMATRIXSCALEFEXT = 2019, NFOSMESA_GLMATRIXTRANSLATEDEXT = 2020, NFOSMESA_GLMATRIXTRANSLATEFEXT = 2021, NFOSMESA_GLMEMORYBARRIER = 2022, NFOSMESA_GLMEMORYBARRIEREXT = 2023, NFOSMESA_GLMINSAMPLESHADING = 2024, NFOSMESA_GLMINSAMPLESHADINGARB = 2025, NFOSMESA_GLMULTMATRIXXOES = 2026, NFOSMESA_GLMULTTRANSPOSEMATRIXXOES = 2027, NFOSMESA_GLMULTIDRAWARRAYSINDIRECT = 2028, NFOSMESA_GLMULTIDRAWARRAYSINDIRECTAMD = 2029, NFOSMESA_GLMULTIDRAWARRAYSINDIRECTBINDLESSNV = 2030, NFOSMESA_GLMULTIDRAWARRAYSINDIRECTCOUNTARB = 2031, NFOSMESA_GLMULTIDRAWELEMENTSBASEVERTEX = 2032, NFOSMESA_GLMULTIDRAWELEMENTSINDIRECT = 2033, NFOSMESA_GLMULTIDRAWELEMENTSINDIRECTAMD = 2034, NFOSMESA_GLMULTIDRAWELEMENTSINDIRECTBINDLESSNV = 2035, NFOSMESA_GLMULTIDRAWELEMENTSINDIRECTCOUNTARB = 2036, NFOSMESA_GLMULTITEXBUFFEREXT = 2037, NFOSMESA_GLMULTITEXCOORD1BOES = 2038, NFOSMESA_GLMULTITEXCOORD1BVOES = 2039, NFOSMESA_GLMULTITEXCOORD1XOES = 2040, NFOSMESA_GLMULTITEXCOORD1XVOES = 2041, NFOSMESA_GLMULTITEXCOORD2BOES = 2042, NFOSMESA_GLMULTITEXCOORD2BVOES = 2043, NFOSMESA_GLMULTITEXCOORD2XOES = 2044, NFOSMESA_GLMULTITEXCOORD2XVOES = 2045, NFOSMESA_GLMULTITEXCOORD3BOES = 2046, NFOSMESA_GLMULTITEXCOORD3BVOES = 2047, NFOSMESA_GLMULTITEXCOORD3XOES = 2048, NFOSMESA_GLMULTITEXCOORD3XVOES = 2049, NFOSMESA_GLMULTITEXCOORD4BOES = 2050, NFOSMESA_GLMULTITEXCOORD4BVOES = 2051, NFOSMESA_GLMULTITEXCOORD4XOES = 2052, NFOSMESA_GLMULTITEXCOORD4XVOES = 2053, NFOSMESA_GLMULTITEXCOORDP1UI = 2054, NFOSMESA_GLMULTITEXCOORDP1UIV = 2055, NFOSMESA_GLMULTITEXCOORDP2UI = 2056, NFOSMESA_GLMULTITEXCOORDP2UIV = 2057, NFOSMESA_GLMULTITEXCOORDP3UI = 2058, NFOSMESA_GLMULTITEXCOORDP3UIV = 2059, NFOSMESA_GLMULTITEXCOORDP4UI = 2060, NFOSMESA_GLMULTITEXCOORDP4UIV = 2061, NFOSMESA_GLMULTITEXCOORDPOINTEREXT = 2062, NFOSMESA_GLMULTITEXENVFEXT = 2063, NFOSMESA_GLMULTITEXENVFVEXT = 2064, NFOSMESA_GLMULTITEXENVIEXT = 2065, NFOSMESA_GLMULTITEXENVIVEXT = 2066, NFOSMESA_GLMULTITEXGENDEXT = 2067, NFOSMESA_GLMULTITEXGENDVEXT = 2068, NFOSMESA_GLMULTITEXGENFEXT = 2069, NFOSMESA_GLMULTITEXGENFVEXT = 2070, NFOSMESA_GLMULTITEXGENIEXT = 2071, NFOSMESA_GLMULTITEXGENIVEXT = 2072, NFOSMESA_GLMULTITEXIMAGE1DEXT = 2073, NFOSMESA_GLMULTITEXIMAGE2DEXT = 2074, NFOSMESA_GLMULTITEXIMAGE3DEXT = 2075, NFOSMESA_GLMULTITEXPARAMETERIIVEXT = 2076, NFOSMESA_GLMULTITEXPARAMETERIUIVEXT = 2077, NFOSMESA_GLMULTITEXPARAMETERFEXT = 2078, NFOSMESA_GLMULTITEXPARAMETERFVEXT = 2079, NFOSMESA_GLMULTITEXPARAMETERIEXT = 2080, NFOSMESA_GLMULTITEXPARAMETERIVEXT = 2081, NFOSMESA_GLMULTITEXRENDERBUFFEREXT = 2082, NFOSMESA_GLMULTITEXSUBIMAGE1DEXT = 2083, NFOSMESA_GLMULTITEXSUBIMAGE2DEXT = 2084, NFOSMESA_GLMULTITEXSUBIMAGE3DEXT = 2085, NFOSMESA_GLNAMEDBUFFERDATAEXT = 2086, NFOSMESA_GLNAMEDBUFFERSTORAGEEXT = 2087, NFOSMESA_GLNAMEDBUFFERSUBDATAEXT = 2088, NFOSMESA_GLNAMEDCOPYBUFFERSUBDATAEXT = 2089, NFOSMESA_GLNAMEDFRAMEBUFFERPARAMETERIEXT = 2090, NFOSMESA_GLNAMEDFRAMEBUFFERRENDERBUFFEREXT = 2091, NFOSMESA_GLNAMEDFRAMEBUFFERTEXTURE1DEXT = 2092, NFOSMESA_GLNAMEDFRAMEBUFFERTEXTURE2DEXT = 2093, NFOSMESA_GLNAMEDFRAMEBUFFERTEXTURE3DEXT = 2094, NFOSMESA_GLNAMEDFRAMEBUFFERTEXTUREEXT = 2095, NFOSMESA_GLNAMEDFRAMEBUFFERTEXTUREFACEEXT = 2096, NFOSMESA_GLNAMEDFRAMEBUFFERTEXTURELAYEREXT = 2097, NFOSMESA_GLNAMEDPROGRAMLOCALPARAMETER4DEXT = 2098, NFOSMESA_GLNAMEDPROGRAMLOCALPARAMETER4DVEXT = 2099, NFOSMESA_GLNAMEDPROGRAMLOCALPARAMETER4FEXT = 2100, NFOSMESA_GLNAMEDPROGRAMLOCALPARAMETER4FVEXT = 2101, NFOSMESA_GLNAMEDPROGRAMLOCALPARAMETERI4IEXT = 2102, NFOSMESA_GLNAMEDPROGRAMLOCALPARAMETERI4IVEXT = 2103, NFOSMESA_GLNAMEDPROGRAMLOCALPARAMETERI4UIEXT = 2104, NFOSMESA_GLNAMEDPROGRAMLOCALPARAMETERI4UIVEXT = 2105, NFOSMESA_GLNAMEDPROGRAMLOCALPARAMETERS4FVEXT = 2106, NFOSMESA_GLNAMEDPROGRAMLOCALPARAMETERSI4IVEXT = 2107, NFOSMESA_GLNAMEDPROGRAMLOCALPARAMETERSI4UIVEXT = 2108, NFOSMESA_GLNAMEDPROGRAMSTRINGEXT = 2109, NFOSMESA_GLNAMEDRENDERBUFFERSTORAGEEXT = 2110, NFOSMESA_GLNAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXT = 2111, NFOSMESA_GLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXT = 2112, NFOSMESA_GLNAMEDSTRINGARB = 2113, NFOSMESA_GLNORMAL3XOES = 2114, NFOSMESA_GLNORMAL3XVOES = 2115, NFOSMESA_GLNORMALFORMATNV = 2116, NFOSMESA_GLNORMALP3UI = 2117, NFOSMESA_GLNORMALP3UIV = 2118, NFOSMESA_GLOBJECTLABEL = 2119, NFOSMESA_GLOBJECTPTRLABEL = 2120, NFOSMESA_GLOBJECTPURGEABLEAPPLE = 2121, NFOSMESA_GLOBJECTUNPURGEABLEAPPLE = 2122, NFOSMESA_GLORTHOFOES = 2123, NFOSMESA_GLORTHOXOES = 2124, NFOSMESA_GLPASSTHROUGHXOES = 2125, NFOSMESA_GLPATCHPARAMETERFV = 2126, NFOSMESA_GLPATCHPARAMETERI = 2127, NFOSMESA_GLPATHCOLORGENNV = 2128, NFOSMESA_GLPATHCOMMANDSNV = 2129, NFOSMESA_GLPATHCOORDSNV = 2130, NFOSMESA_GLPATHCOVERDEPTHFUNCNV = 2131, NFOSMESA_GLPATHDASHARRAYNV = 2132, NFOSMESA_GLPATHFOGGENNV = 2133, NFOSMESA_GLPATHGLYPHRANGENV = 2134, NFOSMESA_GLPATHGLYPHSNV = 2135, NFOSMESA_GLPATHPARAMETERFNV = 2136, NFOSMESA_GLPATHPARAMETERFVNV = 2137, NFOSMESA_GLPATHPARAMETERINV = 2138, NFOSMESA_GLPATHPARAMETERIVNV = 2139, NFOSMESA_GLPATHSTENCILDEPTHOFFSETNV = 2140, NFOSMESA_GLPATHSTENCILFUNCNV = 2141, NFOSMESA_GLPATHSTRINGNV = 2142, NFOSMESA_GLPATHSUBCOMMANDSNV = 2143, NFOSMESA_GLPATHSUBCOORDSNV = 2144, NFOSMESA_GLPATHTEXGENNV = 2145, NFOSMESA_GLPAUSETRANSFORMFEEDBACK = 2146, NFOSMESA_GLPAUSETRANSFORMFEEDBACKNV = 2147, NFOSMESA_GLPIXELMAPX = 2148, NFOSMESA_GLPIXELSTOREX = 2149, NFOSMESA_GLPIXELTRANSFERXOES = 2150, NFOSMESA_GLPIXELZOOMXOES = 2151, NFOSMESA_GLPOINTALONGPATHNV = 2152, NFOSMESA_GLPOINTPARAMETERXVOES = 2153, NFOSMESA_GLPOINTSIZEPOINTERAPPLE = 2154, NFOSMESA_GLPOINTSIZEXOES = 2155, NFOSMESA_GLPOLYGONOFFSETXOES = 2156, NFOSMESA_GLPOPDEBUGGROUP = 2157, NFOSMESA_GLPOPGROUPMARKEREXT = 2158, NFOSMESA_GLPRESENTFRAMEDUALFILLNV = 2159, NFOSMESA_GLPRESENTFRAMEKEYEDNV = 2160, NFOSMESA_GLPRIMITIVERESTARTINDEX = 2161, NFOSMESA_GLPRIORITIZETEXTURESXOES = 2162, NFOSMESA_GLPROGRAMBINARY = 2163, NFOSMESA_GLPROGRAMBUFFERPARAMETERSIIVNV = 2164, NFOSMESA_GLPROGRAMBUFFERPARAMETERSIUIVNV = 2165, NFOSMESA_GLPROGRAMBUFFERPARAMETERSFVNV = 2166, NFOSMESA_GLPROGRAMCALLBACKMESA = /* 2167 */ NFOSMESA_ENOSYS, /* NF interface cannot callback a Atari function */ NFOSMESA_GLPROGRAMENVPARAMETERI4INV = 2168, NFOSMESA_GLPROGRAMENVPARAMETERI4IVNV = 2169, NFOSMESA_GLPROGRAMENVPARAMETERI4UINV = 2170, NFOSMESA_GLPROGRAMENVPARAMETERI4UIVNV = 2171, NFOSMESA_GLPROGRAMENVPARAMETERS4FVEXT = 2172, NFOSMESA_GLPROGRAMENVPARAMETERSI4IVNV = 2173, NFOSMESA_GLPROGRAMENVPARAMETERSI4UIVNV = 2174, NFOSMESA_GLPROGRAMLOCALPARAMETERI4INV = 2175, NFOSMESA_GLPROGRAMLOCALPARAMETERI4IVNV = 2176, NFOSMESA_GLPROGRAMLOCALPARAMETERI4UINV = 2177, NFOSMESA_GLPROGRAMLOCALPARAMETERI4UIVNV = 2178, NFOSMESA_GLPROGRAMLOCALPARAMETERS4FVEXT = 2179, NFOSMESA_GLPROGRAMLOCALPARAMETERSI4IVNV = 2180, NFOSMESA_GLPROGRAMLOCALPARAMETERSI4UIVNV = 2181, NFOSMESA_GLPROGRAMPARAMETERI = 2182, NFOSMESA_GLPROGRAMPARAMETERIARB = 2183, NFOSMESA_GLPROGRAMPARAMETERIEXT = 2184, NFOSMESA_GLPROGRAMSUBROUTINEPARAMETERSUIVNV = 2185, NFOSMESA_GLPROGRAMUNIFORM1D = 2186, NFOSMESA_GLPROGRAMUNIFORM1DEXT = 2187, NFOSMESA_GLPROGRAMUNIFORM1DV = 2188, NFOSMESA_GLPROGRAMUNIFORM1DVEXT = 2189, NFOSMESA_GLPROGRAMUNIFORM1F = 2190, NFOSMESA_GLPROGRAMUNIFORM1FEXT = 2191, NFOSMESA_GLPROGRAMUNIFORM1FV = 2192, NFOSMESA_GLPROGRAMUNIFORM1FVEXT = 2193, NFOSMESA_GLPROGRAMUNIFORM1I = 2194, NFOSMESA_GLPROGRAMUNIFORM1I64NV = 2195, NFOSMESA_GLPROGRAMUNIFORM1I64VNV = 2196, NFOSMESA_GLPROGRAMUNIFORM1IEXT = 2197, NFOSMESA_GLPROGRAMUNIFORM1IV = 2198, NFOSMESA_GLPROGRAMUNIFORM1IVEXT = 2199, NFOSMESA_GLPROGRAMUNIFORM1UI = 2200, NFOSMESA_GLPROGRAMUNIFORM1UI64NV = 2201, NFOSMESA_GLPROGRAMUNIFORM1UI64VNV = 2202, NFOSMESA_GLPROGRAMUNIFORM1UIEXT = 2203, NFOSMESA_GLPROGRAMUNIFORM1UIV = 2204, NFOSMESA_GLPROGRAMUNIFORM1UIVEXT = 2205, NFOSMESA_GLPROGRAMUNIFORM2D = 2206, NFOSMESA_GLPROGRAMUNIFORM2DEXT = 2207, NFOSMESA_GLPROGRAMUNIFORM2DV = 2208, NFOSMESA_GLPROGRAMUNIFORM2DVEXT = 2209, NFOSMESA_GLPROGRAMUNIFORM2F = 2210, NFOSMESA_GLPROGRAMUNIFORM2FEXT = 2211, NFOSMESA_GLPROGRAMUNIFORM2FV = 2212, NFOSMESA_GLPROGRAMUNIFORM2FVEXT = 2213, NFOSMESA_GLPROGRAMUNIFORM2I = 2214, NFOSMESA_GLPROGRAMUNIFORM2I64NV = 2215, NFOSMESA_GLPROGRAMUNIFORM2I64VNV = 2216, NFOSMESA_GLPROGRAMUNIFORM2IEXT = 2217, NFOSMESA_GLPROGRAMUNIFORM2IV = 2218, NFOSMESA_GLPROGRAMUNIFORM2IVEXT = 2219, NFOSMESA_GLPROGRAMUNIFORM2UI = 2220, NFOSMESA_GLPROGRAMUNIFORM2UI64NV = 2221, NFOSMESA_GLPROGRAMUNIFORM2UI64VNV = 2222, NFOSMESA_GLPROGRAMUNIFORM2UIEXT = 2223, NFOSMESA_GLPROGRAMUNIFORM2UIV = 2224, NFOSMESA_GLPROGRAMUNIFORM2UIVEXT = 2225, NFOSMESA_GLPROGRAMUNIFORM3D = 2226, NFOSMESA_GLPROGRAMUNIFORM3DEXT = 2227, NFOSMESA_GLPROGRAMUNIFORM3DV = 2228, NFOSMESA_GLPROGRAMUNIFORM3DVEXT = 2229, NFOSMESA_GLPROGRAMUNIFORM3F = 2230, NFOSMESA_GLPROGRAMUNIFORM3FEXT = 2231, NFOSMESA_GLPROGRAMUNIFORM3FV = 2232, NFOSMESA_GLPROGRAMUNIFORM3FVEXT = 2233, NFOSMESA_GLPROGRAMUNIFORM3I = 2234, NFOSMESA_GLPROGRAMUNIFORM3I64NV = 2235, NFOSMESA_GLPROGRAMUNIFORM3I64VNV = 2236, NFOSMESA_GLPROGRAMUNIFORM3IEXT = 2237, NFOSMESA_GLPROGRAMUNIFORM3IV = 2238, NFOSMESA_GLPROGRAMUNIFORM3IVEXT = 2239, NFOSMESA_GLPROGRAMUNIFORM3UI = 2240, NFOSMESA_GLPROGRAMUNIFORM3UI64NV = 2241, NFOSMESA_GLPROGRAMUNIFORM3UI64VNV = 2242, NFOSMESA_GLPROGRAMUNIFORM3UIEXT = 2243, NFOSMESA_GLPROGRAMUNIFORM3UIV = 2244, NFOSMESA_GLPROGRAMUNIFORM3UIVEXT = 2245, NFOSMESA_GLPROGRAMUNIFORM4D = 2246, NFOSMESA_GLPROGRAMUNIFORM4DEXT = 2247, NFOSMESA_GLPROGRAMUNIFORM4DV = 2248, NFOSMESA_GLPROGRAMUNIFORM4DVEXT = 2249, NFOSMESA_GLPROGRAMUNIFORM4F = 2250, NFOSMESA_GLPROGRAMUNIFORM4FEXT = 2251, NFOSMESA_GLPROGRAMUNIFORM4FV = 2252, NFOSMESA_GLPROGRAMUNIFORM4FVEXT = 2253, NFOSMESA_GLPROGRAMUNIFORM4I = 2254, NFOSMESA_GLPROGRAMUNIFORM4I64NV = 2255, NFOSMESA_GLPROGRAMUNIFORM4I64VNV = 2256, NFOSMESA_GLPROGRAMUNIFORM4IEXT = 2257, NFOSMESA_GLPROGRAMUNIFORM4IV = 2258, NFOSMESA_GLPROGRAMUNIFORM4IVEXT = 2259, NFOSMESA_GLPROGRAMUNIFORM4UI = 2260, NFOSMESA_GLPROGRAMUNIFORM4UI64NV = 2261, NFOSMESA_GLPROGRAMUNIFORM4UI64VNV = 2262, NFOSMESA_GLPROGRAMUNIFORM4UIEXT = 2263, NFOSMESA_GLPROGRAMUNIFORM4UIV = 2264, NFOSMESA_GLPROGRAMUNIFORM4UIVEXT = 2265, NFOSMESA_GLPROGRAMUNIFORMHANDLEUI64ARB = 2266, NFOSMESA_GLPROGRAMUNIFORMHANDLEUI64NV = 2267, NFOSMESA_GLPROGRAMUNIFORMHANDLEUI64VARB = 2268, NFOSMESA_GLPROGRAMUNIFORMHANDLEUI64VNV = 2269, NFOSMESA_GLPROGRAMUNIFORMMATRIX2DV = 2270, NFOSMESA_GLPROGRAMUNIFORMMATRIX2DVEXT = 2271, NFOSMESA_GLPROGRAMUNIFORMMATRIX2FV = 2272, NFOSMESA_GLPROGRAMUNIFORMMATRIX2FVEXT = 2273, NFOSMESA_GLPROGRAMUNIFORMMATRIX2X3DV = 2274, NFOSMESA_GLPROGRAMUNIFORMMATRIX2X3DVEXT = 2275, NFOSMESA_GLPROGRAMUNIFORMMATRIX2X3FV = 2276, NFOSMESA_GLPROGRAMUNIFORMMATRIX2X3FVEXT = 2277, NFOSMESA_GLPROGRAMUNIFORMMATRIX2X4DV = 2278, NFOSMESA_GLPROGRAMUNIFORMMATRIX2X4DVEXT = 2279, NFOSMESA_GLPROGRAMUNIFORMMATRIX2X4FV = 2280, NFOSMESA_GLPROGRAMUNIFORMMATRIX2X4FVEXT = 2281, NFOSMESA_GLPROGRAMUNIFORMMATRIX3DV = 2282, NFOSMESA_GLPROGRAMUNIFORMMATRIX3DVEXT = 2283, NFOSMESA_GLPROGRAMUNIFORMMATRIX3FV = 2284, NFOSMESA_GLPROGRAMUNIFORMMATRIX3FVEXT = 2285, NFOSMESA_GLPROGRAMUNIFORMMATRIX3X2DV = 2286, NFOSMESA_GLPROGRAMUNIFORMMATRIX3X2DVEXT = 2287, NFOSMESA_GLPROGRAMUNIFORMMATRIX3X2FV = 2288, NFOSMESA_GLPROGRAMUNIFORMMATRIX3X2FVEXT = 2289, NFOSMESA_GLPROGRAMUNIFORMMATRIX3X4DV = 2290, NFOSMESA_GLPROGRAMUNIFORMMATRIX3X4DVEXT = 2291, NFOSMESA_GLPROGRAMUNIFORMMATRIX3X4FV = 2292, NFOSMESA_GLPROGRAMUNIFORMMATRIX3X4FVEXT = 2293, NFOSMESA_GLPROGRAMUNIFORMMATRIX4DV = 2294, NFOSMESA_GLPROGRAMUNIFORMMATRIX4DVEXT = 2295, NFOSMESA_GLPROGRAMUNIFORMMATRIX4FV = 2296, NFOSMESA_GLPROGRAMUNIFORMMATRIX4FVEXT = 2297, NFOSMESA_GLPROGRAMUNIFORMMATRIX4X2DV = 2298, NFOSMESA_GLPROGRAMUNIFORMMATRIX4X2DVEXT = 2299, NFOSMESA_GLPROGRAMUNIFORMMATRIX4X2FV = 2300, NFOSMESA_GLPROGRAMUNIFORMMATRIX4X2FVEXT = 2301, NFOSMESA_GLPROGRAMUNIFORMMATRIX4X3DV = 2302, NFOSMESA_GLPROGRAMUNIFORMMATRIX4X3DVEXT = 2303, NFOSMESA_GLPROGRAMUNIFORMMATRIX4X3FV = 2304, NFOSMESA_GLPROGRAMUNIFORMMATRIX4X3FVEXT = 2305, NFOSMESA_GLPROGRAMUNIFORMUI64NV = 2306, NFOSMESA_GLPROGRAMUNIFORMUI64VNV = 2307, NFOSMESA_GLPROGRAMVERTEXLIMITNV = 2308, NFOSMESA_GLPROVOKINGVERTEX = 2309, NFOSMESA_GLPROVOKINGVERTEXEXT = 2310, NFOSMESA_GLPUSHCLIENTATTRIBDEFAULTEXT = 2311, NFOSMESA_GLPUSHDEBUGGROUP = 2312, NFOSMESA_GLPUSHGROUPMARKEREXT = 2313, NFOSMESA_GLQUERYCOUNTER = 2314, NFOSMESA_GLQUERYMATRIXXOES = 2315, NFOSMESA_GLQUERYOBJECTPARAMETERUIAMD = 2316, NFOSMESA_GLRASTERPOS2XOES = 2317, NFOSMESA_GLRASTERPOS2XVOES = 2318, NFOSMESA_GLRASTERPOS3XOES = 2319, NFOSMESA_GLRASTERPOS3XVOES = 2320, NFOSMESA_GLRASTERPOS4XOES = 2321, NFOSMESA_GLRASTERPOS4XVOES = 2322, NFOSMESA_GLREADNPIXELSARB = 2323, NFOSMESA_GLRECTXOES = 2324, NFOSMESA_GLRECTXVOES = 2325, NFOSMESA_GLRELEASESHADERCOMPILER = 2326, NFOSMESA_GLRENDERBUFFERSTORAGE = 2327, NFOSMESA_GLRENDERBUFFERSTORAGEEXT = 2328, NFOSMESA_GLRENDERBUFFERSTORAGEMULTISAMPLE = 2329, NFOSMESA_GLRENDERBUFFERSTORAGEMULTISAMPLECOVERAGENV = 2330, NFOSMESA_GLRENDERBUFFERSTORAGEMULTISAMPLEEXT = 2331, NFOSMESA_GLRESUMETRANSFORMFEEDBACK = 2332, NFOSMESA_GLRESUMETRANSFORMFEEDBACKNV = 2333, NFOSMESA_GLROTATEXOES = 2334, NFOSMESA_GLSAMPLECOVERAGEOES = 2335, NFOSMESA_GLSAMPLEMASKINDEXEDNV = 2336, NFOSMESA_GLSAMPLEMASKI = 2337, NFOSMESA_GLSAMPLEPASS = 2338, NFOSMESA_GLSAMPLEPASSARB = 2339, NFOSMESA_GLSAMPLERPARAMETERIIV = 2340, NFOSMESA_GLSAMPLERPARAMETERIUIV = 2341, NFOSMESA_GLSAMPLERPARAMETERF = 2342, NFOSMESA_GLSAMPLERPARAMETERFV = 2343, NFOSMESA_GLSAMPLERPARAMETERI = 2344, NFOSMESA_GLSAMPLERPARAMETERIV = 2345, NFOSMESA_GLSCALEXOES = 2346, NFOSMESA_GLSCISSORARRAYV = 2347, NFOSMESA_GLSCISSORINDEXED = 2348, NFOSMESA_GLSCISSORINDEXEDV = 2349, NFOSMESA_GLSECONDARYCOLORFORMATNV = 2350, NFOSMESA_GLSECONDARYCOLORP3UI = 2351, NFOSMESA_GLSECONDARYCOLORP3UIV = 2352, NFOSMESA_GLSELECTPERFMONITORCOUNTERSAMD = 2353, NFOSMESA_GLSETMULTISAMPLEFVAMD = 2354, NFOSMESA_GLSHADERBINARY = 2355, NFOSMESA_GLSHADERSOURCE = 2356, NFOSMESA_GLSHADERSTORAGEBLOCKBINDING = 2357, NFOSMESA_GLSTENCILCLEARTAGEXT = 2358, NFOSMESA_GLSTENCILFILLPATHINSTANCEDNV = 2359, NFOSMESA_GLSTENCILFILLPATHNV = 2360, NFOSMESA_GLSTENCILFUNCSEPARATE = 2361, NFOSMESA_GLSTENCILMASKSEPARATE = 2362, NFOSMESA_GLSTENCILOPSEPARATE = 2363, NFOSMESA_GLSTENCILOPVALUEAMD = 2364, NFOSMESA_GLSTENCILSTROKEPATHINSTANCEDNV = 2365, NFOSMESA_GLSTENCILSTROKEPATHNV = 2366, NFOSMESA_GLSTRINGMARKERGREMEDY = 2367, NFOSMESA_GLSWAPAPPLE = 2368, NFOSMESA_GLSYNCTEXTUREINTEL = 2369, NFOSMESA_GLTESSELLATIONFACTORAMD = 2370, NFOSMESA_GLTESSELLATIONMODEAMD = 2371, NFOSMESA_GLTEXBUFFER = 2372, NFOSMESA_GLTEXBUFFERARB = 2373, NFOSMESA_GLTEXBUFFEREXT = 2374, NFOSMESA_GLTEXBUFFERRANGE = 2375, NFOSMESA_GLTEXCOORD1BOES = 2376, NFOSMESA_GLTEXCOORD1BVOES = 2377, NFOSMESA_GLTEXCOORD1XOES = 2378, NFOSMESA_GLTEXCOORD1XVOES = 2379, NFOSMESA_GLTEXCOORD2BOES = 2380, NFOSMESA_GLTEXCOORD2BVOES = 2381, NFOSMESA_GLTEXCOORD2XOES = 2382, NFOSMESA_GLTEXCOORD2XVOES = 2383, NFOSMESA_GLTEXCOORD3BOES = 2384, NFOSMESA_GLTEXCOORD3BVOES = 2385, NFOSMESA_GLTEXCOORD3XOES = 2386, NFOSMESA_GLTEXCOORD3XVOES = 2387, NFOSMESA_GLTEXCOORD4BOES = 2388, NFOSMESA_GLTEXCOORD4BVOES = 2389, NFOSMESA_GLTEXCOORD4XOES = 2390, NFOSMESA_GLTEXCOORD4XVOES = 2391, NFOSMESA_GLTEXCOORDFORMATNV = 2392, NFOSMESA_GLTEXCOORDP1UI = 2393, NFOSMESA_GLTEXCOORDP1UIV = 2394, NFOSMESA_GLTEXCOORDP2UI = 2395, NFOSMESA_GLTEXCOORDP2UIV = 2396, NFOSMESA_GLTEXCOORDP3UI = 2397, NFOSMESA_GLTEXCOORDP3UIV = 2398, NFOSMESA_GLTEXCOORDP4UI = 2399, NFOSMESA_GLTEXCOORDP4UIV = 2400, NFOSMESA_GLTEXENVXOES = 2401, NFOSMESA_GLTEXENVXVOES = 2402, NFOSMESA_GLTEXGENXOES = 2403, NFOSMESA_GLTEXGENXVOES = 2404, NFOSMESA_GLTEXIMAGE2DMULTISAMPLE = 2405, NFOSMESA_GLTEXIMAGE2DMULTISAMPLECOVERAGENV = 2406, NFOSMESA_GLTEXIMAGE3DMULTISAMPLE = 2407, NFOSMESA_GLTEXIMAGE3DMULTISAMPLECOVERAGENV = 2408, NFOSMESA_GLTEXPAGECOMMITMENTARB = 2409, NFOSMESA_GLTEXPARAMETERIIV = 2410, NFOSMESA_GLTEXPARAMETERIIVEXT = 2411, NFOSMESA_GLTEXPARAMETERIUIV = 2412, NFOSMESA_GLTEXPARAMETERIUIVEXT = 2413, NFOSMESA_GLTEXPARAMETERXOES = 2414, NFOSMESA_GLTEXPARAMETERXVOES = 2415, NFOSMESA_GLTEXRENDERBUFFERNV = 2416, NFOSMESA_GLTEXSCISSORFUNCINTEL = 2417, NFOSMESA_GLTEXSCISSORINTEL = 2418, NFOSMESA_GLTEXSTORAGE1D = 2419, NFOSMESA_GLTEXSTORAGE2D = 2420, NFOSMESA_GLTEXSTORAGE2DMULTISAMPLE = 2421, NFOSMESA_GLTEXSTORAGE3D = 2422, NFOSMESA_GLTEXSTORAGE3DMULTISAMPLE = 2423, NFOSMESA_GLTEXSTORAGESPARSEAMD = 2424, NFOSMESA_GLTEXTUREBARRIERNV = 2425, NFOSMESA_GLTEXTUREBUFFEREXT = 2426, NFOSMESA_GLTEXTUREBUFFERRANGEEXT = 2427, NFOSMESA_GLTEXTUREFOGSGIX = 2428, NFOSMESA_GLTEXTUREIMAGE1DEXT = 2429, NFOSMESA_GLTEXTUREIMAGE2DEXT = 2430, NFOSMESA_GLTEXTUREIMAGE2DMULTISAMPLECOVERAGENV = 2431, NFOSMESA_GLTEXTUREIMAGE2DMULTISAMPLENV = 2432, NFOSMESA_GLTEXTUREIMAGE3DEXT = 2433, NFOSMESA_GLTEXTUREIMAGE3DMULTISAMPLECOVERAGENV = 2434, NFOSMESA_GLTEXTUREIMAGE3DMULTISAMPLENV = 2435, NFOSMESA_GLTEXTUREPAGECOMMITMENTEXT = 2436, NFOSMESA_GLTEXTUREPARAMETERIIVEXT = 2437, NFOSMESA_GLTEXTUREPARAMETERIUIVEXT = 2438, NFOSMESA_GLTEXTUREPARAMETERFEXT = 2439, NFOSMESA_GLTEXTUREPARAMETERFVEXT = 2440, NFOSMESA_GLTEXTUREPARAMETERIEXT = 2441, NFOSMESA_GLTEXTUREPARAMETERIVEXT = 2442, NFOSMESA_GLTEXTURERANGEAPPLE = 2443, NFOSMESA_GLTEXTURERENDERBUFFEREXT = 2444, NFOSMESA_GLTEXTURESTORAGE1DEXT = 2445, NFOSMESA_GLTEXTURESTORAGE2DEXT = 2446, NFOSMESA_GLTEXTURESTORAGE2DMULTISAMPLEEXT = 2447, NFOSMESA_GLTEXTURESTORAGE3DEXT = 2448, NFOSMESA_GLTEXTURESTORAGE3DMULTISAMPLEEXT = 2449, NFOSMESA_GLTEXTURESTORAGESPARSEAMD = 2450, NFOSMESA_GLTEXTURESUBIMAGE1DEXT = 2451, NFOSMESA_GLTEXTURESUBIMAGE2DEXT = 2452, NFOSMESA_GLTEXTURESUBIMAGE3DEXT = 2453, NFOSMESA_GLTEXTUREVIEW = 2454, NFOSMESA_GLTRANSFORMFEEDBACKATTRIBSNV = 2455, NFOSMESA_GLTRANSFORMFEEDBACKSTREAMATTRIBSNV = 2456, NFOSMESA_GLTRANSFORMFEEDBACKVARYINGS = 2457, NFOSMESA_GLTRANSFORMFEEDBACKVARYINGSEXT = 2458, NFOSMESA_GLTRANSFORMFEEDBACKVARYINGSNV = 2459, NFOSMESA_GLTRANSFORMPATHNV = 2460, NFOSMESA_GLTRANSLATEXOES = 2461, NFOSMESA_GLUNIFORM1D = 2462, NFOSMESA_GLUNIFORM1DV = 2463, NFOSMESA_GLUNIFORM1F = 2464, NFOSMESA_GLUNIFORM1FV = 2465, NFOSMESA_GLUNIFORM1I = 2466, NFOSMESA_GLUNIFORM1I64NV = 2467, NFOSMESA_GLUNIFORM1I64VNV = 2468, NFOSMESA_GLUNIFORM1IV = 2469, NFOSMESA_GLUNIFORM1UI = 2470, NFOSMESA_GLUNIFORM1UI64NV = 2471, NFOSMESA_GLUNIFORM1UI64VNV = 2472, NFOSMESA_GLUNIFORM1UIEXT = 2473, NFOSMESA_GLUNIFORM1UIV = 2474, NFOSMESA_GLUNIFORM1UIVEXT = 2475, NFOSMESA_GLUNIFORM2D = 2476, NFOSMESA_GLUNIFORM2DV = 2477, NFOSMESA_GLUNIFORM2F = 2478, NFOSMESA_GLUNIFORM2FV = 2479, NFOSMESA_GLUNIFORM2I = 2480, NFOSMESA_GLUNIFORM2I64NV = 2481, NFOSMESA_GLUNIFORM2I64VNV = 2482, NFOSMESA_GLUNIFORM2IV = 2483, NFOSMESA_GLUNIFORM2UI = 2484, NFOSMESA_GLUNIFORM2UI64NV = 2485, NFOSMESA_GLUNIFORM2UI64VNV = 2486, NFOSMESA_GLUNIFORM2UIEXT = 2487, NFOSMESA_GLUNIFORM2UIV = 2488, NFOSMESA_GLUNIFORM2UIVEXT = 2489, NFOSMESA_GLUNIFORM3D = 2490, NFOSMESA_GLUNIFORM3DV = 2491, NFOSMESA_GLUNIFORM3F = 2492, NFOSMESA_GLUNIFORM3FV = 2493, NFOSMESA_GLUNIFORM3I = 2494, NFOSMESA_GLUNIFORM3I64NV = 2495, NFOSMESA_GLUNIFORM3I64VNV = 2496, NFOSMESA_GLUNIFORM3IV = 2497, NFOSMESA_GLUNIFORM3UI = 2498, NFOSMESA_GLUNIFORM3UI64NV = 2499, NFOSMESA_GLUNIFORM3UI64VNV = 2500, NFOSMESA_GLUNIFORM3UIEXT = 2501, NFOSMESA_GLUNIFORM3UIV = 2502, NFOSMESA_GLUNIFORM3UIVEXT = 2503, NFOSMESA_GLUNIFORM4D = 2504, NFOSMESA_GLUNIFORM4DV = 2505, NFOSMESA_GLUNIFORM4F = 2506, NFOSMESA_GLUNIFORM4FV = 2507, NFOSMESA_GLUNIFORM4I = 2508, NFOSMESA_GLUNIFORM4I64NV = 2509, NFOSMESA_GLUNIFORM4I64VNV = 2510, NFOSMESA_GLUNIFORM4IV = 2511, NFOSMESA_GLUNIFORM4UI = 2512, NFOSMESA_GLUNIFORM4UI64NV = 2513, NFOSMESA_GLUNIFORM4UI64VNV = 2514, NFOSMESA_GLUNIFORM4UIEXT = 2515, NFOSMESA_GLUNIFORM4UIV = 2516, NFOSMESA_GLUNIFORM4UIVEXT = 2517, NFOSMESA_GLUNIFORMBLOCKBINDING = 2518, NFOSMESA_GLUNIFORMBUFFEREXT = 2519, NFOSMESA_GLUNIFORMHANDLEUI64ARB = 2520, NFOSMESA_GLUNIFORMHANDLEUI64NV = 2521, NFOSMESA_GLUNIFORMHANDLEUI64VARB = 2522, NFOSMESA_GLUNIFORMHANDLEUI64VNV = 2523, NFOSMESA_GLUNIFORMMATRIX2DV = 2524, NFOSMESA_GLUNIFORMMATRIX2FV = 2525, NFOSMESA_GLUNIFORMMATRIX2X3DV = 2526, NFOSMESA_GLUNIFORMMATRIX2X3FV = 2527, NFOSMESA_GLUNIFORMMATRIX2X4DV = 2528, NFOSMESA_GLUNIFORMMATRIX2X4FV = 2529, NFOSMESA_GLUNIFORMMATRIX3DV = 2530, NFOSMESA_GLUNIFORMMATRIX3FV = 2531, NFOSMESA_GLUNIFORMMATRIX3X2DV = 2532, NFOSMESA_GLUNIFORMMATRIX3X2FV = 2533, NFOSMESA_GLUNIFORMMATRIX3X4DV = 2534, NFOSMESA_GLUNIFORMMATRIX3X4FV = 2535, NFOSMESA_GLUNIFORMMATRIX4DV = 2536, NFOSMESA_GLUNIFORMMATRIX4FV = 2537, NFOSMESA_GLUNIFORMMATRIX4X2DV = 2538, NFOSMESA_GLUNIFORMMATRIX4X2FV = 2539, NFOSMESA_GLUNIFORMMATRIX4X3DV = 2540, NFOSMESA_GLUNIFORMMATRIX4X3FV = 2541, NFOSMESA_GLUNIFORMSUBROUTINESUIV = 2542, NFOSMESA_GLUNIFORMUI64NV = 2543, NFOSMESA_GLUNIFORMUI64VNV = 2544, NFOSMESA_GLUNMAPNAMEDBUFFEREXT = 2545, NFOSMESA_GLUNMAPTEXTURE2DINTEL = 2546, NFOSMESA_GLUSEPROGRAM = 2547, NFOSMESA_GLUSEPROGRAMSTAGES = 2548, NFOSMESA_GLUSESHADERPROGRAMEXT = 2549, NFOSMESA_GLVDPAUFININV = 2550, NFOSMESA_GLVDPAUGETSURFACEIVNV = 2551, NFOSMESA_GLVDPAUINITNV = 2552, NFOSMESA_GLVDPAUISSURFACENV = 2553, NFOSMESA_GLVDPAUMAPSURFACESNV = 2554, NFOSMESA_GLVDPAUREGISTEROUTPUTSURFACENV = 2555, NFOSMESA_GLVDPAUREGISTERVIDEOSURFACENV = 2556, NFOSMESA_GLVDPAUSURFACEACCESSNV = 2557, NFOSMESA_GLVDPAUUNMAPSURFACESNV = 2558, NFOSMESA_GLVDPAUUNREGISTERSURFACENV = 2559, NFOSMESA_GLVALIDATEPROGRAM = 2560, NFOSMESA_GLVALIDATEPROGRAMPIPELINE = 2561, NFOSMESA_GLVERTEX2BOES = 2562, NFOSMESA_GLVERTEX2BVOES = 2563, NFOSMESA_GLVERTEX2XOES = 2564, NFOSMESA_GLVERTEX2XVOES = 2565, NFOSMESA_GLVERTEX3BOES = 2566, NFOSMESA_GLVERTEX3BVOES = 2567, NFOSMESA_GLVERTEX3XOES = 2568, NFOSMESA_GLVERTEX3XVOES = 2569, NFOSMESA_GLVERTEX4BOES = 2570, NFOSMESA_GLVERTEX4BVOES = 2571, NFOSMESA_GLVERTEX4XOES = 2572, NFOSMESA_GLVERTEX4XVOES = 2573, NFOSMESA_GLVERTEXARRAYBINDVERTEXBUFFEREXT = 2574, NFOSMESA_GLVERTEXARRAYCOLOROFFSETEXT = 2575, NFOSMESA_GLVERTEXARRAYEDGEFLAGOFFSETEXT = 2576, NFOSMESA_GLVERTEXARRAYFOGCOORDOFFSETEXT = 2577, NFOSMESA_GLVERTEXARRAYINDEXOFFSETEXT = 2578, NFOSMESA_GLVERTEXARRAYMULTITEXCOORDOFFSETEXT = 2579, NFOSMESA_GLVERTEXARRAYNORMALOFFSETEXT = 2580, NFOSMESA_GLVERTEXARRAYSECONDARYCOLOROFFSETEXT = 2581, NFOSMESA_GLVERTEXARRAYTEXCOORDOFFSETEXT = 2582, NFOSMESA_GLVERTEXARRAYVERTEXATTRIBBINDINGEXT = 2583, NFOSMESA_GLVERTEXARRAYVERTEXATTRIBDIVISOREXT = 2584, NFOSMESA_GLVERTEXARRAYVERTEXATTRIBFORMATEXT = 2585, NFOSMESA_GLVERTEXARRAYVERTEXATTRIBIFORMATEXT = 2586, NFOSMESA_GLVERTEXARRAYVERTEXATTRIBIOFFSETEXT = 2587, NFOSMESA_GLVERTEXARRAYVERTEXATTRIBLFORMATEXT = 2588, NFOSMESA_GLVERTEXARRAYVERTEXATTRIBLOFFSETEXT = 2589, NFOSMESA_GLVERTEXARRAYVERTEXATTRIBOFFSETEXT = 2590, NFOSMESA_GLVERTEXARRAYVERTEXBINDINGDIVISOREXT = 2591, NFOSMESA_GLVERTEXARRAYVERTEXOFFSETEXT = 2592, NFOSMESA_GLVERTEXATTRIB1D = 2593, NFOSMESA_GLVERTEXATTRIB1DV = 2594, NFOSMESA_GLVERTEXATTRIB1F = 2595, NFOSMESA_GLVERTEXATTRIB1FV = 2596, NFOSMESA_GLVERTEXATTRIB1S = 2597, NFOSMESA_GLVERTEXATTRIB1SV = 2598, NFOSMESA_GLVERTEXATTRIB2D = 2599, NFOSMESA_GLVERTEXATTRIB2DV = 2600, NFOSMESA_GLVERTEXATTRIB2F = 2601, NFOSMESA_GLVERTEXATTRIB2FV = 2602, NFOSMESA_GLVERTEXATTRIB2S = 2603, NFOSMESA_GLVERTEXATTRIB2SV = 2604, NFOSMESA_GLVERTEXATTRIB3D = 2605, NFOSMESA_GLVERTEXATTRIB3DV = 2606, NFOSMESA_GLVERTEXATTRIB3F = 2607, NFOSMESA_GLVERTEXATTRIB3FV = 2608, NFOSMESA_GLVERTEXATTRIB3S = 2609, NFOSMESA_GLVERTEXATTRIB3SV = 2610, NFOSMESA_GLVERTEXATTRIB4NBV = 2611, NFOSMESA_GLVERTEXATTRIB4NIV = 2612, NFOSMESA_GLVERTEXATTRIB4NSV = 2613, NFOSMESA_GLVERTEXATTRIB4NUB = 2614, NFOSMESA_GLVERTEXATTRIB4NUBV = 2615, NFOSMESA_GLVERTEXATTRIB4NUIV = 2616, NFOSMESA_GLVERTEXATTRIB4NUSV = 2617, NFOSMESA_GLVERTEXATTRIB4BV = 2618, NFOSMESA_GLVERTEXATTRIB4D = 2619, NFOSMESA_GLVERTEXATTRIB4DV = 2620, NFOSMESA_GLVERTEXATTRIB4F = 2621, NFOSMESA_GLVERTEXATTRIB4FV = 2622, NFOSMESA_GLVERTEXATTRIB4IV = 2623, NFOSMESA_GLVERTEXATTRIB4S = 2624, NFOSMESA_GLVERTEXATTRIB4SV = 2625, NFOSMESA_GLVERTEXATTRIB4UBV = 2626, NFOSMESA_GLVERTEXATTRIB4UIV = 2627, NFOSMESA_GLVERTEXATTRIB4USV = 2628, NFOSMESA_GLVERTEXATTRIBBINDING = 2629, NFOSMESA_GLVERTEXATTRIBDIVISOR = 2630, NFOSMESA_GLVERTEXATTRIBDIVISORARB = 2631, NFOSMESA_GLVERTEXATTRIBFORMAT = 2632, NFOSMESA_GLVERTEXATTRIBFORMATNV = 2633, NFOSMESA_GLVERTEXATTRIBI1I = 2634, NFOSMESA_GLVERTEXATTRIBI1IEXT = 2635, NFOSMESA_GLVERTEXATTRIBI1IV = 2636, NFOSMESA_GLVERTEXATTRIBI1IVEXT = 2637, NFOSMESA_GLVERTEXATTRIBI1UI = 2638, NFOSMESA_GLVERTEXATTRIBI1UIEXT = 2639, NFOSMESA_GLVERTEXATTRIBI1UIV = 2640, NFOSMESA_GLVERTEXATTRIBI1UIVEXT = 2641, NFOSMESA_GLVERTEXATTRIBI2I = 2642, NFOSMESA_GLVERTEXATTRIBI2IEXT = 2643, NFOSMESA_GLVERTEXATTRIBI2IV = 2644, NFOSMESA_GLVERTEXATTRIBI2IVEXT = 2645, NFOSMESA_GLVERTEXATTRIBI2UI = 2646, NFOSMESA_GLVERTEXATTRIBI2UIEXT = 2647, NFOSMESA_GLVERTEXATTRIBI2UIV = 2648, NFOSMESA_GLVERTEXATTRIBI2UIVEXT = 2649, NFOSMESA_GLVERTEXATTRIBI3I = 2650, NFOSMESA_GLVERTEXATTRIBI3IEXT = 2651, NFOSMESA_GLVERTEXATTRIBI3IV = 2652, NFOSMESA_GLVERTEXATTRIBI3IVEXT = 2653, NFOSMESA_GLVERTEXATTRIBI3UI = 2654, NFOSMESA_GLVERTEXATTRIBI3UIEXT = 2655, NFOSMESA_GLVERTEXATTRIBI3UIV = 2656, NFOSMESA_GLVERTEXATTRIBI3UIVEXT = 2657, NFOSMESA_GLVERTEXATTRIBI4BV = 2658, NFOSMESA_GLVERTEXATTRIBI4BVEXT = 2659, NFOSMESA_GLVERTEXATTRIBI4I = 2660, NFOSMESA_GLVERTEXATTRIBI4IEXT = 2661, NFOSMESA_GLVERTEXATTRIBI4IV = 2662, NFOSMESA_GLVERTEXATTRIBI4IVEXT = 2663, NFOSMESA_GLVERTEXATTRIBI4SV = 2664, NFOSMESA_GLVERTEXATTRIBI4SVEXT = 2665, NFOSMESA_GLVERTEXATTRIBI4UBV = 2666, NFOSMESA_GLVERTEXATTRIBI4UBVEXT = 2667, NFOSMESA_GLVERTEXATTRIBI4UI = 2668, NFOSMESA_GLVERTEXATTRIBI4UIEXT = 2669, NFOSMESA_GLVERTEXATTRIBI4UIV = 2670, NFOSMESA_GLVERTEXATTRIBI4UIVEXT = 2671, NFOSMESA_GLVERTEXATTRIBI4USV = 2672, NFOSMESA_GLVERTEXATTRIBI4USVEXT = 2673, NFOSMESA_GLVERTEXATTRIBIFORMAT = 2674, NFOSMESA_GLVERTEXATTRIBIFORMATNV = 2675, NFOSMESA_GLVERTEXATTRIBIPOINTER = 2676, NFOSMESA_GLVERTEXATTRIBIPOINTEREXT = 2677, NFOSMESA_GLVERTEXATTRIBL1D = 2678, NFOSMESA_GLVERTEXATTRIBL1DEXT = 2679, NFOSMESA_GLVERTEXATTRIBL1DV = 2680, NFOSMESA_GLVERTEXATTRIBL1DVEXT = 2681, NFOSMESA_GLVERTEXATTRIBL1I64NV = 2682, NFOSMESA_GLVERTEXATTRIBL1I64VNV = 2683, NFOSMESA_GLVERTEXATTRIBL1UI64ARB = 2684, NFOSMESA_GLVERTEXATTRIBL1UI64NV = 2685, NFOSMESA_GLVERTEXATTRIBL1UI64VARB = 2686, NFOSMESA_GLVERTEXATTRIBL1UI64VNV = 2687, NFOSMESA_GLVERTEXATTRIBL2D = 2688, NFOSMESA_GLVERTEXATTRIBL2DEXT = 2689, NFOSMESA_GLVERTEXATTRIBL2DV = 2690, NFOSMESA_GLVERTEXATTRIBL2DVEXT = 2691, NFOSMESA_GLVERTEXATTRIBL2I64NV = 2692, NFOSMESA_GLVERTEXATTRIBL2I64VNV = 2693, NFOSMESA_GLVERTEXATTRIBL2UI64NV = 2694, NFOSMESA_GLVERTEXATTRIBL2UI64VNV = 2695, NFOSMESA_GLVERTEXATTRIBL3D = 2696, NFOSMESA_GLVERTEXATTRIBL3DEXT = 2697, NFOSMESA_GLVERTEXATTRIBL3DV = 2698, NFOSMESA_GLVERTEXATTRIBL3DVEXT = 2699, NFOSMESA_GLVERTEXATTRIBL3I64NV = 2700, NFOSMESA_GLVERTEXATTRIBL3I64VNV = 2701, NFOSMESA_GLVERTEXATTRIBL3UI64NV = 2702, NFOSMESA_GLVERTEXATTRIBL3UI64VNV = 2703, NFOSMESA_GLVERTEXATTRIBL4D = 2704, NFOSMESA_GLVERTEXATTRIBL4DEXT = 2705, NFOSMESA_GLVERTEXATTRIBL4DV = 2706, NFOSMESA_GLVERTEXATTRIBL4DVEXT = 2707, NFOSMESA_GLVERTEXATTRIBL4I64NV = 2708, NFOSMESA_GLVERTEXATTRIBL4I64VNV = 2709, NFOSMESA_GLVERTEXATTRIBL4UI64NV = 2710, NFOSMESA_GLVERTEXATTRIBL4UI64VNV = 2711, NFOSMESA_GLVERTEXATTRIBLFORMAT = 2712, NFOSMESA_GLVERTEXATTRIBLFORMATNV = 2713, NFOSMESA_GLVERTEXATTRIBLPOINTER = 2714, NFOSMESA_GLVERTEXATTRIBLPOINTEREXT = 2715, NFOSMESA_GLVERTEXATTRIBP1UI = 2716, NFOSMESA_GLVERTEXATTRIBP1UIV = 2717, NFOSMESA_GLVERTEXATTRIBP2UI = 2718, NFOSMESA_GLVERTEXATTRIBP2UIV = 2719, NFOSMESA_GLVERTEXATTRIBP3UI = 2720, NFOSMESA_GLVERTEXATTRIBP3UIV = 2721, NFOSMESA_GLVERTEXATTRIBP4UI = 2722, NFOSMESA_GLVERTEXATTRIBP4UIV = 2723, NFOSMESA_GLVERTEXATTRIBPARAMETERIAMD = 2724, NFOSMESA_GLVERTEXATTRIBPOINTER = 2725, NFOSMESA_GLVERTEXBINDINGDIVISOR = 2726, NFOSMESA_GLVERTEXFORMATNV = 2727, NFOSMESA_GLVERTEXP2UI = 2728, NFOSMESA_GLVERTEXP2UIV = 2729, NFOSMESA_GLVERTEXP3UI = 2730, NFOSMESA_GLVERTEXP3UIV = 2731, NFOSMESA_GLVERTEXP4UI = 2732, NFOSMESA_GLVERTEXP4UIV = 2733, NFOSMESA_GLVERTEXPOINTSIZEFAPPLE = 2734, NFOSMESA_GLVIDEOCAPTURENV = 2735, NFOSMESA_GLVIDEOCAPTURESTREAMPARAMETERDVNV = 2736, NFOSMESA_GLVIDEOCAPTURESTREAMPARAMETERFVNV = 2737, NFOSMESA_GLVIDEOCAPTURESTREAMPARAMETERIVNV = 2738, NFOSMESA_GLVIEWPORTARRAYV = 2739, NFOSMESA_GLVIEWPORTINDEXEDF = 2740, NFOSMESA_GLVIEWPORTINDEXEDFV = 2741, NFOSMESA_GLWAITSYNC = 2742, NFOSMESA_GLWEIGHTPATHSNV = 2743, NFOSMESA_GLULOOKAT = 10000, /* end of ARANFOSMESA_NFAPI_VERSION 2 */ aranym-1.0.2/atari/nfosmesa/glfuncs.h000066400000000000000000017236371242022243000175400ustar00rootroot00000000000000/* * -- DO NOT EDIT -- * Generated by dyngl.pl from ./tools/glfuncs.h */ #ifndef GL_GETSTRING #define GL_GETSTRING(type, gl, name, export, upper, params, first, ret) GL_PROC(type, gl, name, export, upper, params, first, ret) #define GL_GETSTRINGI(type, gl, name, export, upper, params, first, ret) GL_PROC(type, gl, name, export, upper, params, first, ret) #endif #ifndef GLU_PROC #define GLU_PROC(type, gl, name, export, upper, params, first, ret) GL_PROC(type, gl, name, export, upper, params, first, ret) #endif #ifndef OSMESA_PROC #define OSMESA_PROC(type, gl, name, export, upper, params, first, ret) #endif #undef GL_void_return #define GL_void_return #if !defined(TINYGL_ONLY) OSMESA_PROC(void, OSMesa, ColorClamp, OSMesaColorClamp, COLORCLAMP, (GLboolean32 enable), &enable, GL_void_return) #endif #if !defined(TINYGL_ONLY) OSMESA_PROC(OSMesaContext, OSMesa, CreateContext, OSMesaCreateContext, CREATECONTEXT, (GLenum format, OSMesaContext sharelist), &format, return (OSMesaContext)) #endif #if !defined(TINYGL_ONLY) OSMESA_PROC(OSMesaContext, OSMesa, CreateContextExt, OSMesaCreateContextExt, CREATECONTEXTEXT, (GLenum format, GLint depthBits, GLint stencilBits, GLint accumBits, OSMesaContext sharelist), &format, return (OSMesaContext)) #endif #if !defined(TINYGL_ONLY) OSMESA_PROC(void, OSMesa, DestroyContext, OSMesaDestroyContext, DESTROYCONTEXT, (OSMesaContext ctx), &ctx, GL_void_return) #endif #if !defined(TINYGL_ONLY) OSMESA_PROC(GLboolean, OSMesa, GetColorBuffer, OSMesaGetColorBuffer, GETCOLORBUFFER, (OSMesaContext c, GLint *width, GLint *height, GLint *format, void * *buffer), &c, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) OSMESA_PROC(OSMesaContext, OSMesa, GetCurrentContext, OSMesaGetCurrentContext, GETCURRENTCONTEXT, (void), NULL, return (OSMesaContext)) #endif #if !defined(TINYGL_ONLY) OSMESA_PROC(GLboolean, OSMesa, GetDepthBuffer, OSMesaGetDepthBuffer, GETDEPTHBUFFER, (OSMesaContext c, GLint *width, GLint *height, GLint *bytesPerValue, void * *buffer), &c, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) OSMESA_PROC(void, OSMesa, GetIntegerv, OSMesaGetIntegerv, GETINTEGERV, (GLint pname, GLint *value), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) OSMESA_PROC(OSMESAproc, OSMesa, GetProcAddress, OSMesaGetProcAddress, GETPROCADDRESS, (const char *funcName), &funcName, return (OSMESAproc)) #endif #if !defined(TINYGL_ONLY) OSMESA_PROC(GLboolean, OSMesa, MakeCurrent, OSMesaMakeCurrent, MAKECURRENT, (OSMesaContext ctx, void *buffer, GLenum type, GLsizei width, GLsizei height), &ctx, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) OSMESA_PROC(void, OSMesa, PixelStore, OSMesaPixelStore, PIXELSTORE, (GLint pname, GLint value), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) OSMESA_PROC(void, OSMesa, Postprocess, OSMesaPostprocess, POSTPROCESS, (OSMesaContext osmesa, const char *filter, GLuint enable_value), &osmesa, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Accum, glAccum, ACCUM, (GLenum op, GLfloat value), &op, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, AccumxOES, glAccumxOES, ACCUMXOES, (GLenum op, GLfixed value), &op, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ActiveProgramEXT, glActiveProgramEXT, ACTIVEPROGRAMEXT, (GLuint program), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ActiveShaderProgram, glActiveShaderProgram, ACTIVESHADERPROGRAM, (GLuint pipeline, GLuint program), &pipeline, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ActiveStencilFaceEXT, glActiveStencilFaceEXT, ACTIVESTENCILFACEEXT, (GLenum face), &face, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ActiveTexture, glActiveTexture, ACTIVETEXTURE, (GLenum texture), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ActiveTextureARB, glActiveTextureARB, ACTIVETEXTUREARB, (GLenum texture), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ActiveVaryingNV, glActiveVaryingNV, ACTIVEVARYINGNV, (GLuint program, const GLchar *name), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, AddSwapHintRectWIN, glAddSwapHintRectWIN, ADDSWAPHINTRECTWIN, (GLint x, GLint y, GLsizei width, GLsizei height), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, AlphaFragmentOp1ATI, glAlphaFragmentOp1ATI, ALPHAFRAGMENTOP1ATI, (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod), &op, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, AlphaFragmentOp2ATI, glAlphaFragmentOp2ATI, ALPHAFRAGMENTOP2ATI, (GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod), &op, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, AlphaFragmentOp3ATI, glAlphaFragmentOp3ATI, 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), &op, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, AlphaFunc, glAlphaFunc, ALPHAFUNC, (GLenum func, GLclampf ref), &func, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, AlphaFuncxOES, glAlphaFuncxOES, ALPHAFUNCXOES, (GLenum func, GLfixed ref), &func, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ApplyTextureEXT, glApplyTextureEXT, APPLYTEXTUREEXT, (GLenum mode), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, AreProgramsResidentNV, glAreProgramsResidentNV, AREPROGRAMSRESIDENTNV, (GLsizei n, const GLuint *programs, GLboolean *residences), &n, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, AreTexturesResident, glAreTexturesResident, ARETEXTURESRESIDENT, (GLsizei n, const GLuint *textures, GLboolean *residences), &n, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, AreTexturesResidentEXT, glAreTexturesResidentEXT, ARETEXTURESRESIDENTEXT, (GLsizei n, const GLuint *textures, GLboolean *residences), &n, return (GLboolean)) #endif GL_PROC(void, gl, ArrayElement, glArrayElement, ARRAYELEMENT, (GLint i), &i, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ArrayElementEXT, glArrayElementEXT, ARRAYELEMENTEXT, (GLint i), &i, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ArrayObjectATI, glArrayObjectATI, ARRAYOBJECTATI, (GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset), &array, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, AsyncMarkerSGIX, glAsyncMarkerSGIX, ASYNCMARKERSGIX, (GLuint marker), &marker, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, AttachObjectARB, glAttachObjectARB, ATTACHOBJECTARB, (GLhandleARB containerObj, GLhandleARB obj), &containerObj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, AttachShader, glAttachShader, ATTACHSHADER, (GLuint program, GLuint shader), &program, GL_void_return) #endif GL_PROC(void, gl, Begin, glBegin, BEGIN, (GLenum mode), &mode, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BeginConditionalRender, glBeginConditionalRender, BEGINCONDITIONALRENDER, (GLuint id, GLenum mode), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BeginConditionalRenderNV, glBeginConditionalRenderNV, BEGINCONDITIONALRENDERNV, (GLuint id, GLenum mode), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BeginConditionalRenderNVX, glBeginConditionalRenderNVX, BEGINCONDITIONALRENDERNVX, (GLuint id), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BeginFragmentShaderATI, glBeginFragmentShaderATI, BEGINFRAGMENTSHADERATI, (void), NULL, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BeginOcclusionQueryNV, glBeginOcclusionQueryNV, BEGINOCCLUSIONQUERYNV, (GLuint id), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BeginPerfMonitorAMD, glBeginPerfMonitorAMD, BEGINPERFMONITORAMD, (GLuint monitor), &monitor, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BeginPerfQueryINTEL, glBeginPerfQueryINTEL, BEGINPERFQUERYINTEL, (GLuint queryHandle), &queryHandle, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BeginQuery, glBeginQuery, BEGINQUERY, (GLenum target, GLuint id), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BeginQueryARB, glBeginQueryARB, BEGINQUERYARB, (GLenum target, GLuint id), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BeginQueryIndexed, glBeginQueryIndexed, BEGINQUERYINDEXED, (GLenum target, GLuint index, GLuint id), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BeginTransformFeedback, glBeginTransformFeedback, BEGINTRANSFORMFEEDBACK, (GLenum primitiveMode), &primitiveMode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BeginTransformFeedbackEXT, glBeginTransformFeedbackEXT, BEGINTRANSFORMFEEDBACKEXT, (GLenum primitiveMode), &primitiveMode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BeginTransformFeedbackNV, glBeginTransformFeedbackNV, BEGINTRANSFORMFEEDBACKNV, (GLenum primitiveMode), &primitiveMode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BeginVertexShaderEXT, glBeginVertexShaderEXT, BEGINVERTEXSHADEREXT, (void), NULL, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BeginVideoCaptureNV, glBeginVideoCaptureNV, BEGINVIDEOCAPTURENV, (GLuint video_capture_slot), &video_capture_slot, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindAttribLocation, glBindAttribLocation, BINDATTRIBLOCATION, (GLuint program, GLuint index, const GLchar *name), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindAttribLocationARB, glBindAttribLocationARB, BINDATTRIBLOCATIONARB, (GLhandleARB programObj, GLuint index, const GLcharARB *name), &programObj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindBuffer, glBindBuffer, BINDBUFFER, (GLenum target, GLuint buffer), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindBufferARB, glBindBufferARB, BINDBUFFERARB, (GLenum target, GLuint buffer), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindBufferBase, glBindBufferBase, BINDBUFFERBASE, (GLenum target, GLuint index, GLuint buffer), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindBufferBaseEXT, glBindBufferBaseEXT, BINDBUFFERBASEEXT, (GLenum target, GLuint index, GLuint buffer), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindBufferBaseNV, glBindBufferBaseNV, BINDBUFFERBASENV, (GLenum target, GLuint index, GLuint buffer), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindBufferOffsetEXT, glBindBufferOffsetEXT, BINDBUFFEROFFSETEXT, (GLenum target, GLuint index, GLuint buffer, GLintptr offset), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindBufferOffsetNV, glBindBufferOffsetNV, BINDBUFFEROFFSETNV, (GLenum target, GLuint index, GLuint buffer, GLintptr offset), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindBufferRange, glBindBufferRange, BINDBUFFERRANGE, (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindBufferRangeEXT, glBindBufferRangeEXT, BINDBUFFERRANGEEXT, (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindBufferRangeNV, glBindBufferRangeNV, BINDBUFFERRANGENV, (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindBuffersBase, glBindBuffersBase, BINDBUFFERSBASE, (GLenum target, GLuint first, GLsizei count, const GLuint *buffers), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindBuffersRange, glBindBuffersRange, BINDBUFFERSRANGE, (GLenum target, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizeiptr *sizes), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindFragDataLocation, glBindFragDataLocation, BINDFRAGDATALOCATION, (GLuint program, GLuint color, const GLchar *name), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindFragDataLocationEXT, glBindFragDataLocationEXT, BINDFRAGDATALOCATIONEXT, (GLuint program, GLuint color, const GLchar *name), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindFragDataLocationIndexed, glBindFragDataLocationIndexed, BINDFRAGDATALOCATIONINDEXED, (GLuint program, GLuint colorNumber, GLuint index, const GLchar *name), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindFragmentShaderATI, glBindFragmentShaderATI, BINDFRAGMENTSHADERATI, (GLuint id), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindFramebuffer, glBindFramebuffer, BINDFRAMEBUFFER, (GLenum target, GLuint framebuffer), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindFramebufferEXT, glBindFramebufferEXT, BINDFRAMEBUFFEREXT, (GLenum target, GLuint framebuffer), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindImageTexture, glBindImageTexture, BINDIMAGETEXTURE, (GLuint unit, GLuint texture, GLint level, GLboolean32 layered, GLint layer, GLenum access, GLenum format), &unit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindImageTextureEXT, glBindImageTextureEXT, BINDIMAGETEXTUREEXT, (GLuint index, GLuint texture, GLint level, GLboolean32 layered, GLint layer, GLenum access, GLint format), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindImageTextures, glBindImageTextures, BINDIMAGETEXTURES, (GLuint first, GLsizei count, const GLuint *textures), &first, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLuint, gl, BindLightParameterEXT, glBindLightParameterEXT, BINDLIGHTPARAMETEREXT, (GLenum light, GLenum value), &light, return (GLuint)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLuint, gl, BindMaterialParameterEXT, glBindMaterialParameterEXT, BINDMATERIALPARAMETEREXT, (GLenum face, GLenum value), &face, return (GLuint)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindMultiTextureEXT, glBindMultiTextureEXT, BINDMULTITEXTUREEXT, (GLenum texunit, GLenum target, GLuint texture), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLuint, gl, BindParameterEXT, glBindParameterEXT, BINDPARAMETEREXT, (GLenum value), &value, return (GLuint)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindProgramARB, glBindProgramARB, BINDPROGRAMARB, (GLenum target, GLuint program), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindProgramNV, glBindProgramNV, BINDPROGRAMNV, (GLenum target, GLuint id), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindProgramPipeline, glBindProgramPipeline, BINDPROGRAMPIPELINE, (GLuint pipeline), &pipeline, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindRenderbuffer, glBindRenderbuffer, BINDRENDERBUFFER, (GLenum target, GLuint renderbuffer), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindRenderbufferEXT, glBindRenderbufferEXT, BINDRENDERBUFFEREXT, (GLenum target, GLuint renderbuffer), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindSampler, glBindSampler, BINDSAMPLER, (GLuint unit, GLuint sampler), &unit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindSamplers, glBindSamplers, BINDSAMPLERS, (GLuint first, GLsizei count, const GLuint *samplers), &first, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLuint, gl, BindTexGenParameterEXT, glBindTexGenParameterEXT, BINDTEXGENPARAMETEREXT, (GLenum unit, GLenum coord, GLenum value), &unit, return (GLuint)) #endif GL_PROC(void, gl, BindTexture, glBindTexture, BINDTEXTURE, (GLenum target, GLuint texture), &target, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindTextureEXT, glBindTextureEXT, BINDTEXTUREEXT, (GLenum target, GLuint texture), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLuint, gl, BindTextureUnitParameterEXT, glBindTextureUnitParameterEXT, BINDTEXTUREUNITPARAMETEREXT, (GLenum unit, GLenum value), &unit, return (GLuint)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindTextures, glBindTextures, BINDTEXTURES, (GLuint first, GLsizei count, const GLuint *textures), &first, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindTransformFeedback, glBindTransformFeedback, BINDTRANSFORMFEEDBACK, (GLenum target, GLuint id), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindTransformFeedbackNV, glBindTransformFeedbackNV, BINDTRANSFORMFEEDBACKNV, (GLenum target, GLuint id), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindVertexArray, glBindVertexArray, BINDVERTEXARRAY, (GLuint array), &array, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindVertexArrayAPPLE, glBindVertexArrayAPPLE, BINDVERTEXARRAYAPPLE, (GLuint array), &array, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindVertexBuffer, glBindVertexBuffer, BINDVERTEXBUFFER, (GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride), &bindingindex, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindVertexBuffers, glBindVertexBuffers, BINDVERTEXBUFFERS, (GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides), &first, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindVertexShaderEXT, glBindVertexShaderEXT, BINDVERTEXSHADEREXT, (GLuint id), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindVideoCaptureStreamBufferNV, glBindVideoCaptureStreamBufferNV, BINDVIDEOCAPTURESTREAMBUFFERNV, (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLintptrARB offset), &video_capture_slot, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BindVideoCaptureStreamTextureNV, glBindVideoCaptureStreamTextureNV, BINDVIDEOCAPTURESTREAMTEXTURENV, (GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLenum target, GLuint texture), &video_capture_slot, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Binormal3bEXT, glBinormal3bEXT, BINORMAL3BEXT, (GLbyte32 bx, GLbyte32 by, GLbyte32 bz), &bx, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Binormal3bvEXT, glBinormal3bvEXT, BINORMAL3BVEXT, (const GLbyte *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Binormal3dEXT, glBinormal3dEXT, BINORMAL3DEXT, (GLdouble bx, GLdouble by, GLdouble bz), &bx, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Binormal3dvEXT, glBinormal3dvEXT, BINORMAL3DVEXT, (const GLdouble *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Binormal3fEXT, glBinormal3fEXT, BINORMAL3FEXT, (GLfloat bx, GLfloat by, GLfloat bz), &bx, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Binormal3fvEXT, glBinormal3fvEXT, BINORMAL3FVEXT, (const GLfloat *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Binormal3iEXT, glBinormal3iEXT, BINORMAL3IEXT, (GLint bx, GLint by, GLint bz), &bx, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Binormal3ivEXT, glBinormal3ivEXT, BINORMAL3IVEXT, (const GLint *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Binormal3sEXT, glBinormal3sEXT, BINORMAL3SEXT, (GLshort32 bx, GLshort32 by, GLshort32 bz), &bx, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Binormal3svEXT, glBinormal3svEXT, BINORMAL3SVEXT, (const GLshort *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BinormalPointerEXT, glBinormalPointerEXT, BINORMALPOINTEREXT, (GLenum type, GLsizei stride, const void *pointer), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Bitmap, glBitmap, BITMAP, (GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap), &width, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BitmapxOES, glBitmapxOES, BITMAPXOES, (GLsizei width, GLsizei height, GLfixed xorig, GLfixed yorig, GLfixed xmove, GLfixed ymove, const GLubyte *bitmap), &width, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BlendBarrierNV, glBlendBarrierNV, BLENDBARRIERNV, (void), NULL, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BlendColor, glBlendColor, BLENDCOLOR, (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BlendColorEXT, glBlendColorEXT, BLENDCOLOREXT, (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BlendColorxOES, glBlendColorxOES, BLENDCOLORXOES, (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BlendEquation, glBlendEquation, BLENDEQUATION, (GLenum mode), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BlendEquationEXT, glBlendEquationEXT, BLENDEQUATIONEXT, (GLenum mode), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BlendEquationIndexedAMD, glBlendEquationIndexedAMD, BLENDEQUATIONINDEXEDAMD, (GLuint buf, GLenum mode), &buf, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BlendEquationSeparate, glBlendEquationSeparate, BLENDEQUATIONSEPARATE, (GLenum modeRGB, GLenum modeAlpha), &modeRGB, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BlendEquationSeparateATI, glBlendEquationSeparateATI, BLENDEQUATIONSEPARATEATI, (GLenum equationRGB, GLenum equationAlpha), &equationRGB, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BlendEquationSeparateEXT, glBlendEquationSeparateEXT, BLENDEQUATIONSEPARATEEXT, (GLenum modeRGB, GLenum modeAlpha), &modeRGB, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BlendEquationSeparateIndexedAMD, glBlendEquationSeparateIndexedAMD, BLENDEQUATIONSEPARATEINDEXEDAMD, (GLuint buf, GLenum modeRGB, GLenum modeAlpha), &buf, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BlendEquationSeparatei, glBlendEquationSeparatei, BLENDEQUATIONSEPARATEI, (GLuint buf, GLenum modeRGB, GLenum modeAlpha), &buf, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BlendEquationSeparateiARB, glBlendEquationSeparateiARB, BLENDEQUATIONSEPARATEIARB, (GLuint buf, GLenum modeRGB, GLenum modeAlpha), &buf, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BlendEquationi, glBlendEquationi, BLENDEQUATIONI, (GLuint buf, GLenum mode), &buf, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BlendEquationiARB, glBlendEquationiARB, BLENDEQUATIONIARB, (GLuint buf, GLenum mode), &buf, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BlendFunc, glBlendFunc, BLENDFUNC, (GLenum sfactor, GLenum dfactor), &sfactor, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BlendFuncIndexedAMD, glBlendFuncIndexedAMD, BLENDFUNCINDEXEDAMD, (GLuint buf, GLenum src, GLenum dst), &buf, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BlendFuncSeparate, glBlendFuncSeparate, BLENDFUNCSEPARATE, (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha), &sfactorRGB, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BlendFuncSeparateEXT, glBlendFuncSeparateEXT, BLENDFUNCSEPARATEEXT, (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha), &sfactorRGB, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BlendFuncSeparateINGR, glBlendFuncSeparateINGR, BLENDFUNCSEPARATEINGR, (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha), &sfactorRGB, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BlendFuncSeparateIndexedAMD, glBlendFuncSeparateIndexedAMD, BLENDFUNCSEPARATEINDEXEDAMD, (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha), &buf, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BlendFuncSeparatei, glBlendFuncSeparatei, BLENDFUNCSEPARATEI, (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha), &buf, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BlendFuncSeparateiARB, glBlendFuncSeparateiARB, BLENDFUNCSEPARATEIARB, (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha), &buf, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BlendFunci, glBlendFunci, BLENDFUNCI, (GLuint buf, GLenum src, GLenum dst), &buf, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BlendFunciARB, glBlendFunciARB, BLENDFUNCIARB, (GLuint buf, GLenum src, GLenum dst), &buf, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BlendParameteriNV, glBlendParameteriNV, BLENDPARAMETERINV, (GLenum pname, GLint value), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BlitFramebuffer, glBlitFramebuffer, BLITFRAMEBUFFER, (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter), &srcX0, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BlitFramebufferEXT, glBlitFramebufferEXT, BLITFRAMEBUFFEREXT, (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter), &srcX0, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BufferAddressRangeNV, glBufferAddressRangeNV, BUFFERADDRESSRANGENV, (GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BufferData, glBufferData, BUFFERDATA, (GLenum target, GLsizeiptr size, const void *data, GLenum usage), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BufferDataARB, glBufferDataARB, BUFFERDATAARB, (GLenum target, GLsizeiptrARB size, const void *data, GLenum usage), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BufferParameteriAPPLE, glBufferParameteriAPPLE, BUFFERPARAMETERIAPPLE, (GLenum target, GLenum pname, GLint param), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BufferStorage, glBufferStorage, BUFFERSTORAGE, (GLenum target, GLsizeiptr size, const void *data, GLbitfield flags), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BufferSubData, glBufferSubData, BUFFERSUBDATA, (GLenum target, GLintptr offset, GLsizeiptr size, const void *data), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, BufferSubDataARB, glBufferSubDataARB, BUFFERSUBDATAARB, (GLenum target, GLintptrARB offset, GLsizeiptrARB size, const void *data), &target, GL_void_return) #endif GL_PROC(void, gl, CallList, glCallList, CALLLIST, (GLuint list), &list, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CallLists, glCallLists, CALLLISTS, (GLsizei n, GLenum type, const GLvoid *lists), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLenum, gl, CheckFramebufferStatus, glCheckFramebufferStatus, CHECKFRAMEBUFFERSTATUS, (GLenum target), &target, return (GLenum)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLenum, gl, CheckFramebufferStatusEXT, glCheckFramebufferStatusEXT, CHECKFRAMEBUFFERSTATUSEXT, (GLenum target), &target, return (GLenum)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLenum, gl, CheckNamedFramebufferStatusEXT, glCheckNamedFramebufferStatusEXT, CHECKNAMEDFRAMEBUFFERSTATUSEXT, (GLuint framebuffer, GLenum target), &framebuffer, return (GLenum)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ClampColor, glClampColor, CLAMPCOLOR, (GLenum target, GLenum clamp), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ClampColorARB, glClampColorARB, CLAMPCOLORARB, (GLenum target, GLenum clamp), &target, GL_void_return) #endif GL_PROC(void, gl, Clear, glClear, CLEAR, (GLbitfield mask), &mask, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ClearAccum, glClearAccum, CLEARACCUM, (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ClearAccumxOES, glClearAccumxOES, CLEARACCUMXOES, (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ClearBufferData, glClearBufferData, CLEARBUFFERDATA, (GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ClearBufferSubData, glClearBufferSubData, CLEARBUFFERSUBDATA, (GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ClearBufferfi, glClearBufferfi, CLEARBUFFERFI, (GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil), &buffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ClearBufferfv, glClearBufferfv, CLEARBUFFERFV, (GLenum buffer, GLint drawbuffer, const GLfloat *value), &buffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ClearBufferiv, glClearBufferiv, CLEARBUFFERIV, (GLenum buffer, GLint drawbuffer, const GLint *value), &buffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ClearBufferuiv, glClearBufferuiv, CLEARBUFFERUIV, (GLenum buffer, GLint drawbuffer, const GLuint *value), &buffer, GL_void_return) #endif GL_PROC(void, gl, ClearColor, glClearColor, CLEARCOLOR, (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha), &red, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ClearColorIiEXT, glClearColorIiEXT, CLEARCOLORIIEXT, (GLint red, GLint green, GLint blue, GLint alpha), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ClearColorIuiEXT, glClearColorIuiEXT, CLEARCOLORIUIEXT, (GLuint red, GLuint green, GLuint blue, GLuint alpha), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ClearColorxOES, glClearColorxOES, CLEARCOLORXOES, (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ClearDebugLogMESA, glClearDebugLogMESA, CLEARDEBUGLOGMESA, (GLhandleARB obj, GLenum logType, GLenum shaderType), &obj, GL_void_return) #endif GL_PROC(void, gl, ClearDepth, glClearDepth, CLEARDEPTH, (GLclampd depth), &depth, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ClearDepthdNV, glClearDepthdNV, CLEARDEPTHDNV, (GLdouble depth), &depth, GL_void_return) #endif GL_PROC(void, gl, ClearDepthf, glClearDepthf, CLEARDEPTHF, (GLfloat d), &d, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ClearDepthfOES, glClearDepthfOES, CLEARDEPTHFOES, (GLclampf depth), &depth, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ClearDepthxOES, glClearDepthxOES, CLEARDEPTHXOES, (GLfixed depth), &depth, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ClearIndex, glClearIndex, CLEARINDEX, (GLfloat c), &c, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ClearNamedBufferDataEXT, glClearNamedBufferDataEXT, CLEARNAMEDBUFFERDATAEXT, (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data), &buffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ClearNamedBufferSubDataEXT, glClearNamedBufferSubDataEXT, CLEARNAMEDBUFFERSUBDATAEXT, (GLuint buffer, GLenum internalformat, GLsizeiptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data), &buffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ClearStencil, glClearStencil, CLEARSTENCIL, (GLint s), &s, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ClearTexImage, glClearTexImage, CLEARTEXIMAGE, (GLuint texture, GLint level, GLenum format, GLenum type, const void *data), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ClearTexSubImage, glClearTexSubImage, CLEARTEXSUBIMAGE, (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ClientActiveTexture, glClientActiveTexture, CLIENTACTIVETEXTURE, (GLenum texture), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ClientActiveTextureARB, glClientActiveTextureARB, CLIENTACTIVETEXTUREARB, (GLenum texture), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ClientActiveVertexStreamATI, glClientActiveVertexStreamATI, CLIENTACTIVEVERTEXSTREAMATI, (GLenum stream), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ClientAttribDefaultEXT, glClientAttribDefaultEXT, CLIENTATTRIBDEFAULTEXT, (GLbitfield mask), &mask, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLenum, gl, ClientWaitSync, glClientWaitSync, CLIENTWAITSYNC, (GLsync sync, GLbitfield flags, GLuint64 timeout), &sync, return (GLenum)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ClipPlane, glClipPlane, CLIPPLANE, (GLenum plane, const GLdouble *equation), &plane, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ClipPlanefOES, glClipPlanefOES, CLIPPLANEFOES, (GLenum plane, const GLfloat *equation), &plane, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ClipPlanexOES, glClipPlanexOES, CLIPPLANEXOES, (GLenum plane, const GLfixed *equation), &plane, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color3b, glColor3b, COLOR3B, (GLbyte32 red, GLbyte32 green, GLbyte32 blue), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color3bv, glColor3bv, COLOR3BV, (const GLbyte *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color3d, glColor3d, COLOR3D, (GLdouble red, GLdouble green, GLdouble blue), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color3dv, glColor3dv, COLOR3DV, (const GLdouble *v), &v, GL_void_return) #endif GL_PROC(void, gl, Color3f, glColor3f, COLOR3F, (GLfloat red, GLfloat green, GLfloat blue), &red, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color3fVertex3fSUN, glColor3fVertex3fSUN, COLOR3FVERTEX3FSUN, (GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z), &r, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color3fVertex3fvSUN, glColor3fVertex3fvSUN, COLOR3FVERTEX3FVSUN, (const GLfloat *c, const GLfloat *v), &c, GL_void_return) #endif GL_PROC(void, gl, Color3fv, glColor3fv, COLOR3FV, (const GLfloat *v), &v, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color3hNV, glColor3hNV, COLOR3HNV, (GLhalfNV32 red, GLhalfNV32 green, GLhalfNV32 blue), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color3hvNV, glColor3hvNV, COLOR3HVNV, (const GLhalfNV *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color3i, glColor3i, COLOR3I, (GLint red, GLint green, GLint blue), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color3iv, glColor3iv, COLOR3IV, (const GLint *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color3s, glColor3s, COLOR3S, (GLshort32 red, GLshort32 green, GLshort32 blue), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color3sv, glColor3sv, COLOR3SV, (const GLshort *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color3ub, glColor3ub, COLOR3UB, (GLubyte32 red, GLubyte32 green, GLubyte32 blue), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color3ubv, glColor3ubv, COLOR3UBV, (const GLubyte *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color3ui, glColor3ui, COLOR3UI, (GLuint red, GLuint green, GLuint blue), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color3uiv, glColor3uiv, COLOR3UIV, (const GLuint *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color3us, glColor3us, COLOR3US, (GLushort32 red, GLushort32 green, GLushort32 blue), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color3usv, glColor3usv, COLOR3USV, (const GLushort *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color3xOES, glColor3xOES, COLOR3XOES, (GLfixed red, GLfixed green, GLfixed blue), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color3xvOES, glColor3xvOES, COLOR3XVOES, (const GLfixed *components), &components, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color4b, glColor4b, COLOR4B, (GLbyte32 red, GLbyte32 green, GLbyte32 blue, GLbyte32 alpha), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color4bv, glColor4bv, COLOR4BV, (const GLbyte *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color4d, glColor4d, COLOR4D, (GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color4dv, glColor4dv, COLOR4DV, (const GLdouble *v), &v, GL_void_return) #endif GL_PROC(void, gl, Color4f, glColor4f, COLOR4F, (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha), &red, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color4fNormal3fVertex3fSUN, glColor4fNormal3fVertex3fSUN, COLOR4FNORMAL3FVERTEX3FSUN, (GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z), &r, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color4fNormal3fVertex3fvSUN, glColor4fNormal3fVertex3fvSUN, COLOR4FNORMAL3FVERTEX3FVSUN, (const GLfloat *c, const GLfloat *n, const GLfloat *v), &c, GL_void_return) #endif GL_PROC(void, gl, Color4fv, glColor4fv, COLOR4FV, (const GLfloat *v), &v, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color4hNV, glColor4hNV, COLOR4HNV, (GLhalfNV32 red, GLhalfNV32 green, GLhalfNV32 blue, GLhalfNV32 alpha), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color4hvNV, glColor4hvNV, COLOR4HVNV, (const GLhalfNV *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color4i, glColor4i, COLOR4I, (GLint red, GLint green, GLint blue, GLint alpha), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color4iv, glColor4iv, COLOR4IV, (const GLint *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color4s, glColor4s, COLOR4S, (GLshort32 red, GLshort32 green, GLshort32 blue, GLshort32 alpha), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color4sv, glColor4sv, COLOR4SV, (const GLshort *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color4ub, glColor4ub, COLOR4UB, (GLubyte32 red, GLubyte32 green, GLubyte32 blue, GLubyte32 alpha), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color4ubVertex2fSUN, glColor4ubVertex2fSUN, COLOR4UBVERTEX2FSUN, (GLubyte32 r, GLubyte32 g, GLubyte32 b, GLubyte32 a, GLfloat x, GLfloat y), &r, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color4ubVertex2fvSUN, glColor4ubVertex2fvSUN, COLOR4UBVERTEX2FVSUN, (const GLubyte *c, const GLfloat *v), &c, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color4ubVertex3fSUN, glColor4ubVertex3fSUN, COLOR4UBVERTEX3FSUN, (GLubyte32 r, GLubyte32 g, GLubyte32 b, GLubyte32 a, GLfloat x, GLfloat y, GLfloat z), &r, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color4ubVertex3fvSUN, glColor4ubVertex3fvSUN, COLOR4UBVERTEX3FVSUN, (const GLubyte *c, const GLfloat *v), &c, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color4ubv, glColor4ubv, COLOR4UBV, (const GLubyte *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color4ui, glColor4ui, COLOR4UI, (GLuint red, GLuint green, GLuint blue, GLuint alpha), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color4uiv, glColor4uiv, COLOR4UIV, (const GLuint *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color4us, glColor4us, COLOR4US, (GLushort32 red, GLushort32 green, GLushort32 blue, GLushort32 alpha), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color4usv, glColor4usv, COLOR4USV, (const GLushort *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color4xOES, glColor4xOES, COLOR4XOES, (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Color4xvOES, glColor4xvOES, COLOR4XVOES, (const GLfixed *components), &components, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ColorFormatNV, glColorFormatNV, COLORFORMATNV, (GLint size, GLenum type, GLsizei stride), &size, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ColorFragmentOp1ATI, glColorFragmentOp1ATI, COLORFRAGMENTOP1ATI, (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod), &op, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ColorFragmentOp2ATI, glColorFragmentOp2ATI, COLORFRAGMENTOP2ATI, (GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod), &op, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ColorFragmentOp3ATI, glColorFragmentOp3ATI, 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), &op, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ColorMask, glColorMask, COLORMASK, (GLboolean32 red, GLboolean32 green, GLboolean32 blue, GLboolean32 alpha), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ColorMaskIndexedEXT, glColorMaskIndexedEXT, COLORMASKINDEXEDEXT, (GLuint index, GLboolean32 r, GLboolean32 g, GLboolean32 b, GLboolean32 a), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ColorMaski, glColorMaski, COLORMASKI, (GLuint index, GLboolean32 r, GLboolean32 g, GLboolean32 b, GLboolean32 a), &index, GL_void_return) #endif GL_PROC(void, gl, ColorMaterial, glColorMaterial, COLORMATERIAL, (GLenum face, GLenum mode), &face, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ColorP3ui, glColorP3ui, COLORP3UI, (GLenum type, GLuint color), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ColorP3uiv, glColorP3uiv, COLORP3UIV, (GLenum type, const GLuint *color), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ColorP4ui, glColorP4ui, COLORP4UI, (GLenum type, GLuint color), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ColorP4uiv, glColorP4uiv, COLORP4UIV, (GLenum type, const GLuint *color), &type, GL_void_return) #endif GL_PROC(void, gl, ColorPointer, glColorPointer, COLORPOINTER, (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer), &size, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ColorPointerEXT, glColorPointerEXT, COLORPOINTEREXT, (GLint size, GLenum type, GLsizei stride, GLsizei count, const void *pointer), &size, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ColorPointerListIBM, glColorPointerListIBM, COLORPOINTERLISTIBM, (GLint size, GLenum type, GLint stride, const void * *pointer, GLint ptrstride), &size, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ColorPointervINTEL, glColorPointervINTEL, COLORPOINTERVINTEL, (GLint size, GLenum type, const void * *pointer), &size, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ColorSubTable, glColorSubTable, COLORSUBTABLE, (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const void *data), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ColorSubTableEXT, glColorSubTableEXT, COLORSUBTABLEEXT, (GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const void *data), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ColorTable, glColorTable, COLORTABLE, (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *table), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ColorTableEXT, glColorTableEXT, COLORTABLEEXT, (GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const void *table), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ColorTableParameterfv, glColorTableParameterfv, COLORTABLEPARAMETERFV, (GLenum target, GLenum pname, const GLfloat *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ColorTableParameterfvSGI, glColorTableParameterfvSGI, COLORTABLEPARAMETERFVSGI, (GLenum target, GLenum pname, const GLfloat *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ColorTableParameteriv, glColorTableParameteriv, COLORTABLEPARAMETERIV, (GLenum target, GLenum pname, const GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ColorTableParameterivSGI, glColorTableParameterivSGI, COLORTABLEPARAMETERIVSGI, (GLenum target, GLenum pname, const GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ColorTableSGI, glColorTableSGI, COLORTABLESGI, (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *table), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CombinerInputNV, glCombinerInputNV, COMBINERINPUTNV, (GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage), &stage, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CombinerOutputNV, glCombinerOutputNV, COMBINEROUTPUTNV, (GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean32 abDotProduct, GLboolean32 cdDotProduct, GLboolean32 muxSum), &stage, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CombinerParameterfNV, glCombinerParameterfNV, COMBINERPARAMETERFNV, (GLenum pname, GLfloat param), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CombinerParameterfvNV, glCombinerParameterfvNV, COMBINERPARAMETERFVNV, (GLenum pname, const GLfloat *params), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CombinerParameteriNV, glCombinerParameteriNV, COMBINERPARAMETERINV, (GLenum pname, GLint param), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CombinerParameterivNV, glCombinerParameterivNV, COMBINERPARAMETERIVNV, (GLenum pname, const GLint *params), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CombinerStageParameterfvNV, glCombinerStageParameterfvNV, COMBINERSTAGEPARAMETERFVNV, (GLenum stage, GLenum pname, const GLfloat *params), &stage, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CompileShader, glCompileShader, COMPILESHADER, (GLuint shader), &shader, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CompileShaderARB, glCompileShaderARB, COMPILESHADERARB, (GLhandleARB shaderObj), &shaderObj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CompileShaderIncludeARB, glCompileShaderIncludeARB, COMPILESHADERINCLUDEARB, (GLuint shader, GLsizei count, const GLchar *const *path, const GLint *length), &shader, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CompressedMultiTexImage1DEXT, glCompressedMultiTexImage1DEXT, COMPRESSEDMULTITEXIMAGE1DEXT, (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *bits), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CompressedMultiTexImage2DEXT, glCompressedMultiTexImage2DEXT, COMPRESSEDMULTITEXIMAGE2DEXT, (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *bits), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CompressedMultiTexImage3DEXT, glCompressedMultiTexImage3DEXT, COMPRESSEDMULTITEXIMAGE3DEXT, (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *bits), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CompressedMultiTexSubImage1DEXT, glCompressedMultiTexSubImage1DEXT, COMPRESSEDMULTITEXSUBIMAGE1DEXT, (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *bits), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CompressedMultiTexSubImage2DEXT, glCompressedMultiTexSubImage2DEXT, COMPRESSEDMULTITEXSUBIMAGE2DEXT, (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *bits), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CompressedMultiTexSubImage3DEXT, glCompressedMultiTexSubImage3DEXT, COMPRESSEDMULTITEXSUBIMAGE3DEXT, (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *bits), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CompressedTexImage1D, glCompressedTexImage1D, COMPRESSEDTEXIMAGE1D, (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CompressedTexImage1DARB, glCompressedTexImage1DARB, COMPRESSEDTEXIMAGE1DARB, (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CompressedTexImage2D, glCompressedTexImage2D, COMPRESSEDTEXIMAGE2D, (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CompressedTexImage2DARB, glCompressedTexImage2DARB, COMPRESSEDTEXIMAGE2DARB, (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CompressedTexImage3D, glCompressedTexImage3D, COMPRESSEDTEXIMAGE3D, (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CompressedTexImage3DARB, glCompressedTexImage3DARB, COMPRESSEDTEXIMAGE3DARB, (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CompressedTexSubImage1D, glCompressedTexSubImage1D, COMPRESSEDTEXSUBIMAGE1D, (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CompressedTexSubImage1DARB, glCompressedTexSubImage1DARB, COMPRESSEDTEXSUBIMAGE1DARB, (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CompressedTexSubImage2D, glCompressedTexSubImage2D, COMPRESSEDTEXSUBIMAGE2D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CompressedTexSubImage2DARB, glCompressedTexSubImage2DARB, COMPRESSEDTEXSUBIMAGE2DARB, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CompressedTexSubImage3D, glCompressedTexSubImage3D, COMPRESSEDTEXSUBIMAGE3D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CompressedTexSubImage3DARB, glCompressedTexSubImage3DARB, COMPRESSEDTEXSUBIMAGE3DARB, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CompressedTextureImage1DEXT, glCompressedTextureImage1DEXT, COMPRESSEDTEXTUREIMAGE1DEXT, (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *bits), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CompressedTextureImage2DEXT, glCompressedTextureImage2DEXT, COMPRESSEDTEXTUREIMAGE2DEXT, (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *bits), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CompressedTextureImage3DEXT, glCompressedTextureImage3DEXT, COMPRESSEDTEXTUREIMAGE3DEXT, (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *bits), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CompressedTextureSubImage1DEXT, glCompressedTextureSubImage1DEXT, COMPRESSEDTEXTURESUBIMAGE1DEXT, (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *bits), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CompressedTextureSubImage2DEXT, glCompressedTextureSubImage2DEXT, COMPRESSEDTEXTURESUBIMAGE2DEXT, (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *bits), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CompressedTextureSubImage3DEXT, glCompressedTextureSubImage3DEXT, COMPRESSEDTEXTURESUBIMAGE3DEXT, (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *bits), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ConvolutionFilter1D, glConvolutionFilter1D, CONVOLUTIONFILTER1D, (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *image), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ConvolutionFilter1DEXT, glConvolutionFilter1DEXT, CONVOLUTIONFILTER1DEXT, (GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *image), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ConvolutionFilter2D, glConvolutionFilter2D, CONVOLUTIONFILTER2D, (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *image), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ConvolutionFilter2DEXT, glConvolutionFilter2DEXT, CONVOLUTIONFILTER2DEXT, (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *image), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ConvolutionParameterf, glConvolutionParameterf, CONVOLUTIONPARAMETERF, (GLenum target, GLenum pname, GLfloat params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ConvolutionParameterfEXT, glConvolutionParameterfEXT, CONVOLUTIONPARAMETERFEXT, (GLenum target, GLenum pname, GLfloat params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ConvolutionParameterfv, glConvolutionParameterfv, CONVOLUTIONPARAMETERFV, (GLenum target, GLenum pname, const GLfloat *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ConvolutionParameterfvEXT, glConvolutionParameterfvEXT, CONVOLUTIONPARAMETERFVEXT, (GLenum target, GLenum pname, const GLfloat *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ConvolutionParameteri, glConvolutionParameteri, CONVOLUTIONPARAMETERI, (GLenum target, GLenum pname, GLint params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ConvolutionParameteriEXT, glConvolutionParameteriEXT, CONVOLUTIONPARAMETERIEXT, (GLenum target, GLenum pname, GLint params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ConvolutionParameteriv, glConvolutionParameteriv, CONVOLUTIONPARAMETERIV, (GLenum target, GLenum pname, const GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ConvolutionParameterivEXT, glConvolutionParameterivEXT, CONVOLUTIONPARAMETERIVEXT, (GLenum target, GLenum pname, const GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ConvolutionParameterxOES, glConvolutionParameterxOES, CONVOLUTIONPARAMETERXOES, (GLenum target, GLenum pname, GLfixed param), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ConvolutionParameterxvOES, glConvolutionParameterxvOES, CONVOLUTIONPARAMETERXVOES, (GLenum target, GLenum pname, const GLfixed *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CopyBufferSubData, glCopyBufferSubData, COPYBUFFERSUBDATA, (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size), &readTarget, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CopyColorSubTable, glCopyColorSubTable, COPYCOLORSUBTABLE, (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CopyColorSubTableEXT, glCopyColorSubTableEXT, COPYCOLORSUBTABLEEXT, (GLenum target, GLsizei start, GLint x, GLint y, GLsizei width), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CopyColorTable, glCopyColorTable, COPYCOLORTABLE, (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CopyColorTableSGI, glCopyColorTableSGI, COPYCOLORTABLESGI, (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CopyConvolutionFilter1D, glCopyConvolutionFilter1D, COPYCONVOLUTIONFILTER1D, (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CopyConvolutionFilter1DEXT, glCopyConvolutionFilter1DEXT, COPYCONVOLUTIONFILTER1DEXT, (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CopyConvolutionFilter2D, glCopyConvolutionFilter2D, COPYCONVOLUTIONFILTER2D, (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CopyConvolutionFilter2DEXT, glCopyConvolutionFilter2DEXT, COPYCONVOLUTIONFILTER2DEXT, (GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CopyImageSubData, glCopyImageSubData, COPYIMAGESUBDATA, (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth), &srcName, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CopyImageSubDataNV, glCopyImageSubDataNV, COPYIMAGESUBDATANV, (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth), &srcName, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CopyMultiTexImage1DEXT, glCopyMultiTexImage1DEXT, COPYMULTITEXIMAGE1DEXT, (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CopyMultiTexImage2DEXT, glCopyMultiTexImage2DEXT, COPYMULTITEXIMAGE2DEXT, (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CopyMultiTexSubImage1DEXT, glCopyMultiTexSubImage1DEXT, COPYMULTITEXSUBIMAGE1DEXT, (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CopyMultiTexSubImage2DEXT, glCopyMultiTexSubImage2DEXT, COPYMULTITEXSUBIMAGE2DEXT, (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CopyMultiTexSubImage3DEXT, glCopyMultiTexSubImage3DEXT, COPYMULTITEXSUBIMAGE3DEXT, (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CopyPathNV, glCopyPathNV, COPYPATHNV, (GLuint resultPath, GLuint srcPath), &resultPath, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CopyPixels, glCopyPixels, COPYPIXELS, (GLint x, GLint y, GLsizei width, GLsizei height, GLenum type), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CopyTexImage1D, glCopyTexImage1D, COPYTEXIMAGE1D, (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CopyTexImage1DEXT, glCopyTexImage1DEXT, COPYTEXIMAGE1DEXT, (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CopyTexImage2D, glCopyTexImage2D, COPYTEXIMAGE2D, (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CopyTexImage2DEXT, glCopyTexImage2DEXT, COPYTEXIMAGE2DEXT, (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CopyTexSubImage1D, glCopyTexSubImage1D, COPYTEXSUBIMAGE1D, (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CopyTexSubImage1DEXT, glCopyTexSubImage1DEXT, COPYTEXSUBIMAGE1DEXT, (GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CopyTexSubImage2D, glCopyTexSubImage2D, COPYTEXSUBIMAGE2D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CopyTexSubImage2DEXT, glCopyTexSubImage2DEXT, COPYTEXSUBIMAGE2DEXT, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CopyTexSubImage3D, glCopyTexSubImage3D, COPYTEXSUBIMAGE3D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CopyTexSubImage3DEXT, glCopyTexSubImage3DEXT, COPYTEXSUBIMAGE3DEXT, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CopyTextureImage1DEXT, glCopyTextureImage1DEXT, COPYTEXTUREIMAGE1DEXT, (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CopyTextureImage2DEXT, glCopyTextureImage2DEXT, COPYTEXTUREIMAGE2DEXT, (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CopyTextureSubImage1DEXT, glCopyTextureSubImage1DEXT, COPYTEXTURESUBIMAGE1DEXT, (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CopyTextureSubImage2DEXT, glCopyTextureSubImage2DEXT, COPYTEXTURESUBIMAGE2DEXT, (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CopyTextureSubImage3DEXT, glCopyTextureSubImage3DEXT, COPYTEXTURESUBIMAGE3DEXT, (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CoverFillPathInstancedNV, glCoverFillPathInstancedNV, COVERFILLPATHINSTANCEDNV, (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues), &numPaths, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CoverFillPathNV, glCoverFillPathNV, COVERFILLPATHNV, (GLuint path, GLenum coverMode), &path, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CoverStrokePathInstancedNV, glCoverStrokePathInstancedNV, COVERSTROKEPATHINSTANCEDNV, (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues), &numPaths, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CoverStrokePathNV, glCoverStrokePathNV, COVERSTROKEPATHNV, (GLuint path, GLenum coverMode), &path, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLhandleARB, gl, CreateDebugObjectMESA, glCreateDebugObjectMESA, CREATEDEBUGOBJECTMESA, (void), NULL, return (GLhandleARB)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CreatePerfQueryINTEL, glCreatePerfQueryINTEL, CREATEPERFQUERYINTEL, (GLuint queryId, GLuint *queryHandle), &queryId, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLuint, gl, CreateProgram, glCreateProgram, CREATEPROGRAM, (void), NULL, return (GLuint)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLhandleARB, gl, CreateProgramObjectARB, glCreateProgramObjectARB, CREATEPROGRAMOBJECTARB, (void), NULL, return (GLhandleARB)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLuint, gl, CreateShader, glCreateShader, CREATESHADER, (GLenum type), &type, return (GLuint)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLhandleARB, gl, CreateShaderObjectARB, glCreateShaderObjectARB, CREATESHADEROBJECTARB, (GLenum shaderType), &shaderType, return (GLhandleARB)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLuint, gl, CreateShaderProgramEXT, glCreateShaderProgramEXT, CREATESHADERPROGRAMEXT, (GLenum type, const GLchar *string), &type, return (GLuint)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLuint, gl, CreateShaderProgramv, glCreateShaderProgramv, CREATESHADERPROGRAMV, (GLenum type, GLsizei count, const GLchar *const *strings), &type, return (GLuint)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLsync, gl, CreateSyncFromCLeventARB, glCreateSyncFromCLeventARB, CREATESYNCFROMCLEVENTARB, (struct _cl_context *context, struct _cl_event *event, GLbitfield flags), &context, return (GLsync)) #endif GL_PROC(void, gl, CullFace, glCullFace, CULLFACE, (GLenum mode), &mode, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CullParameterdvEXT, glCullParameterdvEXT, CULLPARAMETERDVEXT, (GLenum pname, GLdouble *params), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CullParameterfvEXT, glCullParameterfvEXT, CULLPARAMETERFVEXT, (GLenum pname, GLfloat *params), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, CurrentPaletteMatrixARB, glCurrentPaletteMatrixARB, CURRENTPALETTEMATRIXARB, (GLint index), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DebugMessageCallback, glDebugMessageCallback, DEBUGMESSAGECALLBACK, (GLDEBUGPROC callback, const void *userParam), &callback, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DebugMessageCallbackAMD, glDebugMessageCallbackAMD, DEBUGMESSAGECALLBACKAMD, (GLDEBUGPROCAMD callback, void *userParam), &callback, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DebugMessageCallbackARB, glDebugMessageCallbackARB, DEBUGMESSAGECALLBACKARB, (GLDEBUGPROCARB callback, const void *userParam), &callback, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DebugMessageControl, glDebugMessageControl, DEBUGMESSAGECONTROL, (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean32 enabled), &source, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DebugMessageControlARB, glDebugMessageControlARB, DEBUGMESSAGECONTROLARB, (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean32 enabled), &source, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DebugMessageEnableAMD, glDebugMessageEnableAMD, DEBUGMESSAGEENABLEAMD, (GLenum category, GLenum severity, GLsizei count, const GLuint *ids, GLboolean32 enabled), &category, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DebugMessageInsert, glDebugMessageInsert, DEBUGMESSAGEINSERT, (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf), &source, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DebugMessageInsertAMD, glDebugMessageInsertAMD, DEBUGMESSAGEINSERTAMD, (GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar *buf), &category, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DebugMessageInsertARB, glDebugMessageInsertARB, DEBUGMESSAGEINSERTARB, (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf), &source, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DeformSGIX, glDeformSGIX, DEFORMSGIX, (GLbitfield mask), &mask, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DeformationMap3dSGIX, glDeformationMap3dSGIX, DEFORMATIONMAP3DSGIX, (GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble w1, GLdouble w2, GLint wstride, GLint worder, const GLdouble *points), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DeformationMap3fSGIX, glDeformationMap3fSGIX, DEFORMATIONMAP3FSGIX, (GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat w1, GLfloat w2, GLint wstride, GLint worder, const GLfloat *points), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DeleteAsyncMarkersSGIX, glDeleteAsyncMarkersSGIX, DELETEASYNCMARKERSSGIX, (GLuint marker, GLsizei range), &marker, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DeleteBuffers, glDeleteBuffers, DELETEBUFFERS, (GLsizei n, const GLuint *buffers), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DeleteBuffersARB, glDeleteBuffersARB, DELETEBUFFERSARB, (GLsizei n, const GLuint *buffers), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DeleteFencesAPPLE, glDeleteFencesAPPLE, DELETEFENCESAPPLE, (GLsizei n, const GLuint *fences), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DeleteFencesNV, glDeleteFencesNV, DELETEFENCESNV, (GLsizei n, const GLuint *fences), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DeleteFragmentShaderATI, glDeleteFragmentShaderATI, DELETEFRAGMENTSHADERATI, (GLuint id), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DeleteFramebuffers, glDeleteFramebuffers, DELETEFRAMEBUFFERS, (GLsizei n, const GLuint *framebuffers), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DeleteFramebuffersEXT, glDeleteFramebuffersEXT, DELETEFRAMEBUFFERSEXT, (GLsizei n, const GLuint *framebuffers), &n, GL_void_return) #endif GL_PROC(void, gl, DeleteLists, glDeleteLists, DELETELISTS, (GLuint list, GLsizei range), &list, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DeleteNamedStringARB, glDeleteNamedStringARB, DELETENAMEDSTRINGARB, (GLint namelen, const GLchar *name), &namelen, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DeleteNamesAMD, glDeleteNamesAMD, DELETENAMESAMD, (GLenum identifier, GLuint num, const GLuint *names), &identifier, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DeleteObjectARB, glDeleteObjectARB, DELETEOBJECTARB, (GLhandleARB obj), &obj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DeleteObjectBufferATI, glDeleteObjectBufferATI, DELETEOBJECTBUFFERATI, (GLuint buffer), &buffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DeleteOcclusionQueriesNV, glDeleteOcclusionQueriesNV, DELETEOCCLUSIONQUERIESNV, (GLsizei n, const GLuint *ids), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DeletePathsNV, glDeletePathsNV, DELETEPATHSNV, (GLuint path, GLsizei range), &path, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DeletePerfMonitorsAMD, glDeletePerfMonitorsAMD, DELETEPERFMONITORSAMD, (GLsizei n, GLuint *monitors), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DeletePerfQueryINTEL, glDeletePerfQueryINTEL, DELETEPERFQUERYINTEL, (GLuint queryHandle), &queryHandle, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DeleteProgram, glDeleteProgram, DELETEPROGRAM, (GLuint program), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DeleteProgramPipelines, glDeleteProgramPipelines, DELETEPROGRAMPIPELINES, (GLsizei n, const GLuint *pipelines), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DeleteProgramsARB, glDeleteProgramsARB, DELETEPROGRAMSARB, (GLsizei n, const GLuint *programs), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DeleteProgramsNV, glDeleteProgramsNV, DELETEPROGRAMSNV, (GLsizei n, const GLuint *programs), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DeleteQueries, glDeleteQueries, DELETEQUERIES, (GLsizei n, const GLuint *ids), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DeleteQueriesARB, glDeleteQueriesARB, DELETEQUERIESARB, (GLsizei n, const GLuint *ids), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DeleteRenderbuffers, glDeleteRenderbuffers, DELETERENDERBUFFERS, (GLsizei n, const GLuint *renderbuffers), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DeleteRenderbuffersEXT, glDeleteRenderbuffersEXT, DELETERENDERBUFFERSEXT, (GLsizei n, const GLuint *renderbuffers), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DeleteSamplers, glDeleteSamplers, DELETESAMPLERS, (GLsizei count, const GLuint *samplers), &count, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DeleteShader, glDeleteShader, DELETESHADER, (GLuint shader), &shader, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DeleteSync, glDeleteSync, DELETESYNC, (GLsync sync), &sync, GL_void_return) #endif GL_PROC(void, gl, DeleteTextures, glDeleteTextures, DELETETEXTURES, (GLsizei n, const GLuint *textures), &n, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DeleteTexturesEXT, glDeleteTexturesEXT, DELETETEXTURESEXT, (GLsizei n, const GLuint *textures), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DeleteTransformFeedbacks, glDeleteTransformFeedbacks, DELETETRANSFORMFEEDBACKS, (GLsizei n, const GLuint *ids), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DeleteTransformFeedbacksNV, glDeleteTransformFeedbacksNV, DELETETRANSFORMFEEDBACKSNV, (GLsizei n, const GLuint *ids), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DeleteVertexArrays, glDeleteVertexArrays, DELETEVERTEXARRAYS, (GLsizei n, const GLuint *arrays), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DeleteVertexArraysAPPLE, glDeleteVertexArraysAPPLE, DELETEVERTEXARRAYSAPPLE, (GLsizei n, const GLuint *arrays), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DeleteVertexShaderEXT, glDeleteVertexShaderEXT, DELETEVERTEXSHADEREXT, (GLuint id), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DepthBoundsEXT, glDepthBoundsEXT, DEPTHBOUNDSEXT, (GLclampd zmin, GLclampd zmax), &zmin, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DepthBoundsdNV, glDepthBoundsdNV, DEPTHBOUNDSDNV, (GLdouble zmin, GLdouble zmax), &zmin, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DepthFunc, glDepthFunc, DEPTHFUNC, (GLenum func), &func, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DepthMask, glDepthMask, DEPTHMASK, (GLboolean32 flag), &flag, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DepthRange, glDepthRange, DEPTHRANGE, (GLclampd zNear, GLclampd zFar), &zNear, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DepthRangeArrayv, glDepthRangeArrayv, DEPTHRANGEARRAYV, (GLuint first, GLsizei count, const GLdouble *v), &first, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DepthRangeIndexed, glDepthRangeIndexed, DEPTHRANGEINDEXED, (GLuint index, GLdouble n, GLdouble f), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DepthRangedNV, glDepthRangedNV, DEPTHRANGEDNV, (GLdouble zNear, GLdouble zFar), &zNear, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DepthRangef, glDepthRangef, DEPTHRANGEF, (GLfloat n, GLfloat f), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DepthRangefOES, glDepthRangefOES, DEPTHRANGEFOES, (GLclampf n, GLclampf f), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DepthRangexOES, glDepthRangexOES, DEPTHRANGEXOES, (GLfixed n, GLfixed f), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DetachObjectARB, glDetachObjectARB, DETACHOBJECTARB, (GLhandleARB containerObj, GLhandleARB attachedObj), &containerObj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DetachShader, glDetachShader, DETACHSHADER, (GLuint program, GLuint shader), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DetailTexFuncSGIS, glDetailTexFuncSGIS, DETAILTEXFUNCSGIS, (GLenum target, GLsizei n, const GLfloat *points), &target, GL_void_return) #endif GL_PROC(void, gl, Disable, glDisable, DISABLE, (GLenum cap), &cap, GL_void_return) GL_PROC(void, gl, DisableClientState, glDisableClientState, DISABLECLIENTSTATE, (GLenum array), &array, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DisableClientStateIndexedEXT, glDisableClientStateIndexedEXT, DISABLECLIENTSTATEINDEXEDEXT, (GLenum array, GLuint index), &array, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DisableClientStateiEXT, glDisableClientStateiEXT, DISABLECLIENTSTATEIEXT, (GLenum array, GLuint index), &array, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DisableIndexedEXT, glDisableIndexedEXT, DISABLEINDEXEDEXT, (GLenum target, GLuint index), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DisableTraceMESA, glDisableTraceMESA, DISABLETRACEMESA, (GLbitfield mask), &mask, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DisableVariantClientStateEXT, glDisableVariantClientStateEXT, DISABLEVARIANTCLIENTSTATEEXT, (GLuint id), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DisableVertexArrayAttribEXT, glDisableVertexArrayAttribEXT, DISABLEVERTEXARRAYATTRIBEXT, (GLuint vaobj, GLuint index), &vaobj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DisableVertexArrayEXT, glDisableVertexArrayEXT, DISABLEVERTEXARRAYEXT, (GLuint vaobj, GLenum array), &vaobj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DisableVertexAttribAPPLE, glDisableVertexAttribAPPLE, DISABLEVERTEXATTRIBAPPLE, (GLuint index, GLenum pname), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DisableVertexAttribArray, glDisableVertexAttribArray, DISABLEVERTEXATTRIBARRAY, (GLuint index), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DisableVertexAttribArrayARB, glDisableVertexAttribArrayARB, DISABLEVERTEXATTRIBARRAYARB, (GLuint index), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Disablei, glDisablei, DISABLEI, (GLenum target, GLuint index), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DispatchCompute, glDispatchCompute, DISPATCHCOMPUTE, (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z), &num_groups_x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DispatchComputeGroupSizeARB, glDispatchComputeGroupSizeARB, DISPATCHCOMPUTEGROUPSIZEARB, (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z, GLuint group_size_x, GLuint group_size_y, GLuint group_size_z), &num_groups_x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DispatchComputeIndirect, glDispatchComputeIndirect, DISPATCHCOMPUTEINDIRECT, (GLintptr indirect), &indirect, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DrawArrays, glDrawArrays, DRAWARRAYS, (GLenum mode, GLint first, GLsizei count), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DrawArraysEXT, glDrawArraysEXT, DRAWARRAYSEXT, (GLenum mode, GLint first, GLsizei count), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DrawArraysIndirect, glDrawArraysIndirect, DRAWARRAYSINDIRECT, (GLenum mode, const void *indirect), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DrawArraysInstanced, glDrawArraysInstanced, DRAWARRAYSINSTANCED, (GLenum mode, GLint first, GLsizei count, GLsizei instancecount), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DrawArraysInstancedARB, glDrawArraysInstancedARB, DRAWARRAYSINSTANCEDARB, (GLenum mode, GLint first, GLsizei count, GLsizei primcount), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DrawArraysInstancedBaseInstance, glDrawArraysInstancedBaseInstance, DRAWARRAYSINSTANCEDBASEINSTANCE, (GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DrawArraysInstancedEXT, glDrawArraysInstancedEXT, DRAWARRAYSINSTANCEDEXT, (GLenum mode, GLint start, GLsizei count, GLsizei primcount), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DrawBuffer, glDrawBuffer, DRAWBUFFER, (GLenum mode), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DrawBuffers, glDrawBuffers, DRAWBUFFERS, (GLsizei n, const GLenum *bufs), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DrawBuffersARB, glDrawBuffersARB, DRAWBUFFERSARB, (GLsizei n, const GLenum *bufs), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DrawBuffersATI, glDrawBuffersATI, DRAWBUFFERSATI, (GLsizei n, const GLenum *bufs), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DrawElementArrayAPPLE, glDrawElementArrayAPPLE, DRAWELEMENTARRAYAPPLE, (GLenum mode, GLint first, GLsizei count), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DrawElementArrayATI, glDrawElementArrayATI, DRAWELEMENTARRAYATI, (GLenum mode, GLsizei count), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DrawElements, glDrawElements, DRAWELEMENTS, (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DrawElementsBaseVertex, glDrawElementsBaseVertex, DRAWELEMENTSBASEVERTEX, (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DrawElementsIndirect, glDrawElementsIndirect, DRAWELEMENTSINDIRECT, (GLenum mode, GLenum type, const void *indirect), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DrawElementsInstanced, glDrawElementsInstanced, DRAWELEMENTSINSTANCED, (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DrawElementsInstancedARB, glDrawElementsInstancedARB, DRAWELEMENTSINSTANCEDARB, (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DrawElementsInstancedBaseInstance, glDrawElementsInstancedBaseInstance, DRAWELEMENTSINSTANCEDBASEINSTANCE, (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DrawElementsInstancedBaseVertex, glDrawElementsInstancedBaseVertex, DRAWELEMENTSINSTANCEDBASEVERTEX, (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DrawElementsInstancedBaseVertexBaseInstance, glDrawElementsInstancedBaseVertexBaseInstance, DRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCE, (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DrawElementsInstancedEXT, glDrawElementsInstancedEXT, DRAWELEMENTSINSTANCEDEXT, (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DrawMeshArraysSUN, glDrawMeshArraysSUN, DRAWMESHARRAYSSUN, (GLenum mode, GLint first, GLsizei count, GLsizei width), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DrawPixels, glDrawPixels, DRAWPIXELS, (GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels), &width, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DrawRangeElementArrayAPPLE, glDrawRangeElementArrayAPPLE, DRAWRANGEELEMENTARRAYAPPLE, (GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DrawRangeElementArrayATI, glDrawRangeElementArrayATI, DRAWRANGEELEMENTARRAYATI, (GLenum mode, GLuint start, GLuint end, GLsizei count), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DrawRangeElements, glDrawRangeElements, DRAWRANGEELEMENTS, (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DrawRangeElementsBaseVertex, glDrawRangeElementsBaseVertex, DRAWRANGEELEMENTSBASEVERTEX, (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DrawRangeElementsEXT, glDrawRangeElementsEXT, DRAWRANGEELEMENTSEXT, (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DrawTextureNV, glDrawTextureNV, DRAWTEXTURENV, (GLuint texture, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DrawTransformFeedback, glDrawTransformFeedback, DRAWTRANSFORMFEEDBACK, (GLenum mode, GLuint id), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DrawTransformFeedbackInstanced, glDrawTransformFeedbackInstanced, DRAWTRANSFORMFEEDBACKINSTANCED, (GLenum mode, GLuint id, GLsizei instancecount), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DrawTransformFeedbackNV, glDrawTransformFeedbackNV, DRAWTRANSFORMFEEDBACKNV, (GLenum mode, GLuint id), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DrawTransformFeedbackStream, glDrawTransformFeedbackStream, DRAWTRANSFORMFEEDBACKSTREAM, (GLenum mode, GLuint id, GLuint stream), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, DrawTransformFeedbackStreamInstanced, glDrawTransformFeedbackStreamInstanced, DRAWTRANSFORMFEEDBACKSTREAMINSTANCED, (GLenum mode, GLuint id, GLuint stream, GLsizei instancecount), &mode, GL_void_return) #endif GL_PROC(void, gl, EdgeFlag, glEdgeFlag, EDGEFLAG, (GLboolean32 flag), &flag, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EdgeFlagFormatNV, glEdgeFlagFormatNV, EDGEFLAGFORMATNV, (GLsizei stride), &stride, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EdgeFlagPointer, glEdgeFlagPointer, EDGEFLAGPOINTER, (GLsizei stride, const GLvoid *pointer), &stride, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EdgeFlagPointerEXT, glEdgeFlagPointerEXT, EDGEFLAGPOINTEREXT, (GLsizei stride, GLsizei count, const GLboolean *pointer), &stride, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EdgeFlagPointerListIBM, glEdgeFlagPointerListIBM, EDGEFLAGPOINTERLISTIBM, (GLint stride, const GLboolean * *pointer, GLint ptrstride), &stride, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EdgeFlagv, glEdgeFlagv, EDGEFLAGV, (const GLboolean *flag), &flag, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ElementPointerAPPLE, glElementPointerAPPLE, ELEMENTPOINTERAPPLE, (GLenum type, const void *pointer), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ElementPointerATI, glElementPointerATI, ELEMENTPOINTERATI, (GLenum type, const void *pointer), &type, GL_void_return) #endif GL_PROC(void, gl, Enable, glEnable, ENABLE, (GLenum cap), &cap, GL_void_return) GL_PROC(void, gl, EnableClientState, glEnableClientState, ENABLECLIENTSTATE, (GLenum array), &array, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EnableClientStateIndexedEXT, glEnableClientStateIndexedEXT, ENABLECLIENTSTATEINDEXEDEXT, (GLenum array, GLuint index), &array, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EnableClientStateiEXT, glEnableClientStateiEXT, ENABLECLIENTSTATEIEXT, (GLenum array, GLuint index), &array, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EnableIndexedEXT, glEnableIndexedEXT, ENABLEINDEXEDEXT, (GLenum target, GLuint index), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EnableTraceMESA, glEnableTraceMESA, ENABLETRACEMESA, (GLbitfield mask), &mask, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EnableVariantClientStateEXT, glEnableVariantClientStateEXT, ENABLEVARIANTCLIENTSTATEEXT, (GLuint id), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EnableVertexArrayAttribEXT, glEnableVertexArrayAttribEXT, ENABLEVERTEXARRAYATTRIBEXT, (GLuint vaobj, GLuint index), &vaobj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EnableVertexArrayEXT, glEnableVertexArrayEXT, ENABLEVERTEXARRAYEXT, (GLuint vaobj, GLenum array), &vaobj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EnableVertexAttribAPPLE, glEnableVertexAttribAPPLE, ENABLEVERTEXATTRIBAPPLE, (GLuint index, GLenum pname), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EnableVertexAttribArray, glEnableVertexAttribArray, ENABLEVERTEXATTRIBARRAY, (GLuint index), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EnableVertexAttribArrayARB, glEnableVertexAttribArrayARB, ENABLEVERTEXATTRIBARRAYARB, (GLuint index), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Enablei, glEnablei, ENABLEI, (GLenum target, GLuint index), &target, GL_void_return) #endif GL_PROC(void, gl, End, glEnd, END, (void), NULL, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EndConditionalRender, glEndConditionalRender, ENDCONDITIONALRENDER, (void), NULL, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EndConditionalRenderNV, glEndConditionalRenderNV, ENDCONDITIONALRENDERNV, (void), NULL, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EndConditionalRenderNVX, glEndConditionalRenderNVX, ENDCONDITIONALRENDERNVX, (void), NULL, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EndFragmentShaderATI, glEndFragmentShaderATI, ENDFRAGMENTSHADERATI, (void), NULL, GL_void_return) #endif GL_PROC(void, gl, EndList, glEndList, ENDLIST, (void), NULL, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EndOcclusionQueryNV, glEndOcclusionQueryNV, ENDOCCLUSIONQUERYNV, (void), NULL, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EndPerfMonitorAMD, glEndPerfMonitorAMD, ENDPERFMONITORAMD, (GLuint monitor), &monitor, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EndPerfQueryINTEL, glEndPerfQueryINTEL, ENDPERFQUERYINTEL, (GLuint queryHandle), &queryHandle, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EndQuery, glEndQuery, ENDQUERY, (GLenum target), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EndQueryARB, glEndQueryARB, ENDQUERYARB, (GLenum target), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EndQueryIndexed, glEndQueryIndexed, ENDQUERYINDEXED, (GLenum target, GLuint index), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EndTraceMESA, glEndTraceMESA, ENDTRACEMESA, (void), NULL, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EndTransformFeedback, glEndTransformFeedback, ENDTRANSFORMFEEDBACK, (void), NULL, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EndTransformFeedbackEXT, glEndTransformFeedbackEXT, ENDTRANSFORMFEEDBACKEXT, (void), NULL, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EndTransformFeedbackNV, glEndTransformFeedbackNV, ENDTRANSFORMFEEDBACKNV, (void), NULL, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EndVertexShaderEXT, glEndVertexShaderEXT, ENDVERTEXSHADEREXT, (void), NULL, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EndVideoCaptureNV, glEndVideoCaptureNV, ENDVIDEOCAPTURENV, (GLuint video_capture_slot), &video_capture_slot, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EvalCoord1d, glEvalCoord1d, EVALCOORD1D, (GLdouble u), &u, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EvalCoord1dv, glEvalCoord1dv, EVALCOORD1DV, (const GLdouble *u), &u, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EvalCoord1f, glEvalCoord1f, EVALCOORD1F, (GLfloat u), &u, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EvalCoord1fv, glEvalCoord1fv, EVALCOORD1FV, (const GLfloat *u), &u, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EvalCoord1xOES, glEvalCoord1xOES, EVALCOORD1XOES, (GLfixed u), &u, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EvalCoord1xvOES, glEvalCoord1xvOES, EVALCOORD1XVOES, (const GLfixed *coords), &coords, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EvalCoord2d, glEvalCoord2d, EVALCOORD2D, (GLdouble u, GLdouble v), &u, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EvalCoord2dv, glEvalCoord2dv, EVALCOORD2DV, (const GLdouble *u), &u, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EvalCoord2f, glEvalCoord2f, EVALCOORD2F, (GLfloat u, GLfloat v), &u, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EvalCoord2fv, glEvalCoord2fv, EVALCOORD2FV, (const GLfloat *u), &u, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EvalCoord2xOES, glEvalCoord2xOES, EVALCOORD2XOES, (GLfixed u, GLfixed v), &u, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EvalCoord2xvOES, glEvalCoord2xvOES, EVALCOORD2XVOES, (const GLfixed *coords), &coords, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EvalMapsNV, glEvalMapsNV, EVALMAPSNV, (GLenum target, GLenum mode), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EvalMesh1, glEvalMesh1, EVALMESH1, (GLenum mode, GLint i1, GLint i2), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EvalMesh2, glEvalMesh2, EVALMESH2, (GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EvalPoint1, glEvalPoint1, EVALPOINT1, (GLint i), &i, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, EvalPoint2, glEvalPoint2, EVALPOINT2, (GLint i, GLint j), &i, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ExecuteProgramNV, glExecuteProgramNV, EXECUTEPROGRAMNV, (GLenum target, GLuint id, const GLfloat *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ExtractComponentEXT, glExtractComponentEXT, EXTRACTCOMPONENTEXT, (GLuint res, GLuint src, GLuint num), &res, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FeedbackBuffer, glFeedbackBuffer, FEEDBACKBUFFER, (GLsizei size, GLenum type, GLfloat *buffer), &size, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FeedbackBufferxOES, glFeedbackBufferxOES, FEEDBACKBUFFERXOES, (GLsizei n, GLenum type, const GLfixed *buffer), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLsync, gl, FenceSync, glFenceSync, FENCESYNC, (GLenum condition, GLbitfield flags), &condition, return (GLsync)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FinalCombinerInputNV, glFinalCombinerInputNV, FINALCOMBINERINPUTNV, (GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage), &variable, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Finish, glFinish, FINISH, (void), NULL, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLint, gl, FinishAsyncSGIX, glFinishAsyncSGIX, FINISHASYNCSGIX, (GLuint *markerp), &markerp, return (GLint)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FinishFenceAPPLE, glFinishFenceAPPLE, FINISHFENCEAPPLE, (GLuint fence), &fence, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FinishFenceNV, glFinishFenceNV, FINISHFENCENV, (GLuint fence), &fence, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FinishObjectAPPLE, glFinishObjectAPPLE, FINISHOBJECTAPPLE, (GLenum object, GLuint name), &object, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FinishRenderAPPLE, glFinishRenderAPPLE, FINISHRENDERAPPLE, (void), NULL, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FinishTextureSUNX, glFinishTextureSUNX, FINISHTEXTURESUNX, (void), NULL, GL_void_return) #endif GL_PROC(void, gl, Flush, glFlush, FLUSH, (void), NULL, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FlushMappedBufferRange, glFlushMappedBufferRange, FLUSHMAPPEDBUFFERRANGE, (GLenum target, GLintptr offset, GLsizeiptr length), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FlushMappedBufferRangeAPPLE, glFlushMappedBufferRangeAPPLE, FLUSHMAPPEDBUFFERRANGEAPPLE, (GLenum target, GLintptr offset, GLsizeiptr size), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FlushMappedNamedBufferRangeEXT, glFlushMappedNamedBufferRangeEXT, FLUSHMAPPEDNAMEDBUFFERRANGEEXT, (GLuint buffer, GLintptr offset, GLsizeiptr length), &buffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FlushPixelDataRangeNV, glFlushPixelDataRangeNV, FLUSHPIXELDATARANGENV, (GLenum target), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FlushRasterSGIX, glFlushRasterSGIX, FLUSHRASTERSGIX, (void), NULL, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FlushRenderAPPLE, glFlushRenderAPPLE, FLUSHRENDERAPPLE, (void), NULL, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FlushStaticDataIBM, glFlushStaticDataIBM, FLUSHSTATICDATAIBM, (GLenum target), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FlushVertexArrayRangeAPPLE, glFlushVertexArrayRangeAPPLE, FLUSHVERTEXARRAYRANGEAPPLE, (GLsizei length, void *pointer), &length, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FlushVertexArrayRangeNV, glFlushVertexArrayRangeNV, FLUSHVERTEXARRAYRANGENV, (void), NULL, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FogCoordFormatNV, glFogCoordFormatNV, FOGCOORDFORMATNV, (GLenum type, GLsizei stride), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FogCoordPointer, glFogCoordPointer, FOGCOORDPOINTER, (GLenum type, GLsizei stride, const void *pointer), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FogCoordPointerEXT, glFogCoordPointerEXT, FOGCOORDPOINTEREXT, (GLenum type, GLsizei stride, const void *pointer), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FogCoordPointerListIBM, glFogCoordPointerListIBM, FOGCOORDPOINTERLISTIBM, (GLenum type, GLint stride, const void * *pointer, GLint ptrstride), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FogCoordd, glFogCoordd, FOGCOORDD, (GLdouble coord), &coord, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FogCoorddEXT, glFogCoorddEXT, FOGCOORDDEXT, (GLdouble coord), &coord, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FogCoorddv, glFogCoorddv, FOGCOORDDV, (const GLdouble *coord), &coord, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FogCoorddvEXT, glFogCoorddvEXT, FOGCOORDDVEXT, (const GLdouble *coord), &coord, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FogCoordf, glFogCoordf, FOGCOORDF, (GLfloat coord), &coord, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FogCoordfEXT, glFogCoordfEXT, FOGCOORDFEXT, (GLfloat coord), &coord, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FogCoordfv, glFogCoordfv, FOGCOORDFV, (const GLfloat *coord), &coord, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FogCoordfvEXT, glFogCoordfvEXT, FOGCOORDFVEXT, (const GLfloat *coord), &coord, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FogCoordhNV, glFogCoordhNV, FOGCOORDHNV, (GLhalfNV32 fog), &fog, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FogCoordhvNV, glFogCoordhvNV, FOGCOORDHVNV, (const GLhalfNV *fog), &fog, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FogFuncSGIS, glFogFuncSGIS, FOGFUNCSGIS, (GLsizei n, const GLfloat *points), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Fogf, glFogf, FOGF, (GLenum pname, GLfloat param), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Fogfv, glFogfv, FOGFV, (GLenum pname, const GLfloat *params), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Fogi, glFogi, FOGI, (GLenum pname, GLint param), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Fogiv, glFogiv, FOGIV, (GLenum pname, const GLint *params), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FogxOES, glFogxOES, FOGXOES, (GLenum pname, GLfixed param), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FogxvOES, glFogxvOES, FOGXVOES, (GLenum pname, const GLfixed *param), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FragmentColorMaterialSGIX, glFragmentColorMaterialSGIX, FRAGMENTCOLORMATERIALSGIX, (GLenum face, GLenum mode), &face, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FragmentLightModelfSGIX, glFragmentLightModelfSGIX, FRAGMENTLIGHTMODELFSGIX, (GLenum pname, GLfloat param), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FragmentLightModelfvSGIX, glFragmentLightModelfvSGIX, FRAGMENTLIGHTMODELFVSGIX, (GLenum pname, const GLfloat *params), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FragmentLightModeliSGIX, glFragmentLightModeliSGIX, FRAGMENTLIGHTMODELISGIX, (GLenum pname, GLint param), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FragmentLightModelivSGIX, glFragmentLightModelivSGIX, FRAGMENTLIGHTMODELIVSGIX, (GLenum pname, const GLint *params), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FragmentLightfSGIX, glFragmentLightfSGIX, FRAGMENTLIGHTFSGIX, (GLenum light, GLenum pname, GLfloat param), &light, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FragmentLightfvSGIX, glFragmentLightfvSGIX, FRAGMENTLIGHTFVSGIX, (GLenum light, GLenum pname, const GLfloat *params), &light, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FragmentLightiSGIX, glFragmentLightiSGIX, FRAGMENTLIGHTISGIX, (GLenum light, GLenum pname, GLint param), &light, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FragmentLightivSGIX, glFragmentLightivSGIX, FRAGMENTLIGHTIVSGIX, (GLenum light, GLenum pname, const GLint *params), &light, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FragmentMaterialfSGIX, glFragmentMaterialfSGIX, FRAGMENTMATERIALFSGIX, (GLenum face, GLenum pname, GLfloat param), &face, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FragmentMaterialfvSGIX, glFragmentMaterialfvSGIX, FRAGMENTMATERIALFVSGIX, (GLenum face, GLenum pname, const GLfloat *params), &face, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FragmentMaterialiSGIX, glFragmentMaterialiSGIX, FRAGMENTMATERIALISGIX, (GLenum face, GLenum pname, GLint param), &face, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FragmentMaterialivSGIX, glFragmentMaterialivSGIX, FRAGMENTMATERIALIVSGIX, (GLenum face, GLenum pname, const GLint *params), &face, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FrameTerminatorGREMEDY, glFrameTerminatorGREMEDY, FRAMETERMINATORGREMEDY, (void), NULL, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FrameZoomSGIX, glFrameZoomSGIX, FRAMEZOOMSGIX, (GLint factor), &factor, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FramebufferDrawBufferEXT, glFramebufferDrawBufferEXT, FRAMEBUFFERDRAWBUFFEREXT, (GLuint framebuffer, GLenum mode), &framebuffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FramebufferDrawBuffersEXT, glFramebufferDrawBuffersEXT, FRAMEBUFFERDRAWBUFFERSEXT, (GLuint framebuffer, GLsizei n, const GLenum *bufs), &framebuffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FramebufferParameteri, glFramebufferParameteri, FRAMEBUFFERPARAMETERI, (GLenum target, GLenum pname, GLint param), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FramebufferReadBufferEXT, glFramebufferReadBufferEXT, FRAMEBUFFERREADBUFFEREXT, (GLuint framebuffer, GLenum mode), &framebuffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FramebufferRenderbuffer, glFramebufferRenderbuffer, FRAMEBUFFERRENDERBUFFER, (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FramebufferRenderbufferEXT, glFramebufferRenderbufferEXT, FRAMEBUFFERRENDERBUFFEREXT, (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FramebufferTexture, glFramebufferTexture, FRAMEBUFFERTEXTURE, (GLenum target, GLenum attachment, GLuint texture, GLint level), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FramebufferTexture1D, glFramebufferTexture1D, FRAMEBUFFERTEXTURE1D, (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FramebufferTexture1DEXT, glFramebufferTexture1DEXT, FRAMEBUFFERTEXTURE1DEXT, (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FramebufferTexture2D, glFramebufferTexture2D, FRAMEBUFFERTEXTURE2D, (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FramebufferTexture2DEXT, glFramebufferTexture2DEXT, FRAMEBUFFERTEXTURE2DEXT, (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FramebufferTexture3D, glFramebufferTexture3D, FRAMEBUFFERTEXTURE3D, (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FramebufferTexture3DEXT, glFramebufferTexture3DEXT, FRAMEBUFFERTEXTURE3DEXT, (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FramebufferTextureARB, glFramebufferTextureARB, FRAMEBUFFERTEXTUREARB, (GLenum target, GLenum attachment, GLuint texture, GLint level), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FramebufferTextureEXT, glFramebufferTextureEXT, FRAMEBUFFERTEXTUREEXT, (GLenum target, GLenum attachment, GLuint texture, GLint level), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FramebufferTextureFaceARB, glFramebufferTextureFaceARB, FRAMEBUFFERTEXTUREFACEARB, (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FramebufferTextureFaceEXT, glFramebufferTextureFaceEXT, FRAMEBUFFERTEXTUREFACEEXT, (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FramebufferTextureLayer, glFramebufferTextureLayer, FRAMEBUFFERTEXTURELAYER, (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FramebufferTextureLayerARB, glFramebufferTextureLayerARB, FRAMEBUFFERTEXTURELAYERARB, (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FramebufferTextureLayerEXT, glFramebufferTextureLayerEXT, FRAMEBUFFERTEXTURELAYEREXT, (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FreeObjectBufferATI, glFreeObjectBufferATI, FREEOBJECTBUFFERATI, (GLuint buffer), &buffer, GL_void_return) #endif GL_PROC(void, gl, FrontFace, glFrontFace, FRONTFACE, (GLenum mode), &mode, GL_void_return) GL_PROC(void, gl, Frustum, glFrustum, FRUSTUM, (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar), &left, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FrustumfOES, glFrustumfOES, FRUSTUMFOES, (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f), &l, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, FrustumxOES, glFrustumxOES, FRUSTUMXOES, (GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f), &l, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLuint, gl, GenAsyncMarkersSGIX, glGenAsyncMarkersSGIX, GENASYNCMARKERSSGIX, (GLsizei range), &range, return (GLuint)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GenBuffers, glGenBuffers, GENBUFFERS, (GLsizei n, GLuint *buffers), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GenBuffersARB, glGenBuffersARB, GENBUFFERSARB, (GLsizei n, GLuint *buffers), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GenFencesAPPLE, glGenFencesAPPLE, GENFENCESAPPLE, (GLsizei n, GLuint *fences), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GenFencesNV, glGenFencesNV, GENFENCESNV, (GLsizei n, GLuint *fences), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLuint, gl, GenFragmentShadersATI, glGenFragmentShadersATI, GENFRAGMENTSHADERSATI, (GLuint range), &range, return (GLuint)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GenFramebuffers, glGenFramebuffers, GENFRAMEBUFFERS, (GLsizei n, GLuint *framebuffers), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GenFramebuffersEXT, glGenFramebuffersEXT, GENFRAMEBUFFERSEXT, (GLsizei n, GLuint *framebuffers), &n, GL_void_return) #endif GL_PROC(GLuint, gl, GenLists, glGenLists, GENLISTS, (GLsizei range), &range, return (GLuint)) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GenNamesAMD, glGenNamesAMD, GENNAMESAMD, (GLenum identifier, GLuint num, GLuint *names), &identifier, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GenOcclusionQueriesNV, glGenOcclusionQueriesNV, GENOCCLUSIONQUERIESNV, (GLsizei n, GLuint *ids), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLuint, gl, GenPathsNV, glGenPathsNV, GENPATHSNV, (GLsizei range), &range, return (GLuint)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GenPerfMonitorsAMD, glGenPerfMonitorsAMD, GENPERFMONITORSAMD, (GLsizei n, GLuint *monitors), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GenProgramPipelines, glGenProgramPipelines, GENPROGRAMPIPELINES, (GLsizei n, GLuint *pipelines), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GenProgramsARB, glGenProgramsARB, GENPROGRAMSARB, (GLsizei n, GLuint *programs), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GenProgramsNV, glGenProgramsNV, GENPROGRAMSNV, (GLsizei n, GLuint *programs), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GenQueries, glGenQueries, GENQUERIES, (GLsizei n, GLuint *ids), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GenQueriesARB, glGenQueriesARB, GENQUERIESARB, (GLsizei n, GLuint *ids), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GenRenderbuffers, glGenRenderbuffers, GENRENDERBUFFERS, (GLsizei n, GLuint *renderbuffers), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GenRenderbuffersEXT, glGenRenderbuffersEXT, GENRENDERBUFFERSEXT, (GLsizei n, GLuint *renderbuffers), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GenSamplers, glGenSamplers, GENSAMPLERS, (GLsizei count, GLuint *samplers), &count, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLuint, gl, GenSymbolsEXT, glGenSymbolsEXT, GENSYMBOLSEXT, (GLenum datatype, GLenum storagetype, GLenum range, GLuint components), &datatype, return (GLuint)) #endif GL_PROC(void, gl, GenTextures, glGenTextures, GENTEXTURES, (GLsizei n, GLuint *textures), &n, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GenTexturesEXT, glGenTexturesEXT, GENTEXTURESEXT, (GLsizei n, GLuint *textures), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GenTransformFeedbacks, glGenTransformFeedbacks, GENTRANSFORMFEEDBACKS, (GLsizei n, GLuint *ids), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GenTransformFeedbacksNV, glGenTransformFeedbacksNV, GENTRANSFORMFEEDBACKSNV, (GLsizei n, GLuint *ids), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GenVertexArrays, glGenVertexArrays, GENVERTEXARRAYS, (GLsizei n, GLuint *arrays), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GenVertexArraysAPPLE, glGenVertexArraysAPPLE, GENVERTEXARRAYSAPPLE, (GLsizei n, GLuint *arrays), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLuint, gl, GenVertexShadersEXT, glGenVertexShadersEXT, GENVERTEXSHADERSEXT, (GLuint range), &range, return (GLuint)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GenerateMipmap, glGenerateMipmap, GENERATEMIPMAP, (GLenum target), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GenerateMipmapEXT, glGenerateMipmapEXT, GENERATEMIPMAPEXT, (GLenum target), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GenerateMultiTexMipmapEXT, glGenerateMultiTexMipmapEXT, GENERATEMULTITEXMIPMAPEXT, (GLenum texunit, GLenum target), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GenerateTextureMipmapEXT, glGenerateTextureMipmapEXT, GENERATETEXTUREMIPMAPEXT, (GLuint texture, GLenum target), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetActiveAtomicCounterBufferiv, glGetActiveAtomicCounterBufferiv, GETACTIVEATOMICCOUNTERBUFFERIV, (GLuint program, GLuint bufferIndex, GLenum pname, GLint *params), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetActiveAttrib, glGetActiveAttrib, GETACTIVEATTRIB, (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetActiveAttribARB, glGetActiveAttribARB, GETACTIVEATTRIBARB, (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name), &programObj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetActiveSubroutineName, glGetActiveSubroutineName, GETACTIVESUBROUTINENAME, (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetActiveSubroutineUniformName, glGetActiveSubroutineUniformName, GETACTIVESUBROUTINEUNIFORMNAME, (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetActiveSubroutineUniformiv, glGetActiveSubroutineUniformiv, GETACTIVESUBROUTINEUNIFORMIV, (GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetActiveUniform, glGetActiveUniform, GETACTIVEUNIFORM, (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetActiveUniformARB, glGetActiveUniformARB, GETACTIVEUNIFORMARB, (GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name), &programObj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLuint, gl, GetActiveUniformBlockIndex, glGetActiveUniformBlockIndex, GETACTIVEUNIFORMBLOCKINDEX, (GLuint program, const GLchar *uniformBlockName), &program, return (GLuint)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetActiveUniformBlockName, glGetActiveUniformBlockName, GETACTIVEUNIFORMBLOCKNAME, (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetActiveUniformBlockiv, glGetActiveUniformBlockiv, GETACTIVEUNIFORMBLOCKIV, (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetActiveUniformName, glGetActiveUniformName, GETACTIVEUNIFORMNAME, (GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetActiveUniformsiv, glGetActiveUniformsiv, GETACTIVEUNIFORMSIV, (GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetActiveVaryingNV, glGetActiveVaryingNV, GETACTIVEVARYINGNV, (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetArrayObjectfvATI, glGetArrayObjectfvATI, GETARRAYOBJECTFVATI, (GLenum array, GLenum pname, GLfloat *params), &array, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetArrayObjectivATI, glGetArrayObjectivATI, GETARRAYOBJECTIVATI, (GLenum array, GLenum pname, GLint *params), &array, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetAttachedObjectsARB, glGetAttachedObjectsARB, GETATTACHEDOBJECTSARB, (GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj), &containerObj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetAttachedShaders, glGetAttachedShaders, GETATTACHEDSHADERS, (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLint, gl, GetAttribLocation, glGetAttribLocation, GETATTRIBLOCATION, (GLuint program, const GLchar *name), &program, return (GLint)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLint, gl, GetAttribLocationARB, glGetAttribLocationARB, GETATTRIBLOCATIONARB, (GLhandleARB programObj, const GLcharARB *name), &programObj, return (GLint)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetBooleanIndexedvEXT, glGetBooleanIndexedvEXT, GETBOOLEANINDEXEDVEXT, (GLenum target, GLuint index, GLboolean *data), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetBooleani_v, glGetBooleani_v, GETBOOLEANI_V, (GLenum target, GLuint index, GLboolean *data), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetBooleanv, glGetBooleanv, GETBOOLEANV, (GLenum pname, GLboolean *params), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetBufferParameteri64v, glGetBufferParameteri64v, GETBUFFERPARAMETERI64V, (GLenum target, GLenum pname, GLint64 *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetBufferParameteriv, glGetBufferParameteriv, GETBUFFERPARAMETERIV, (GLenum target, GLenum pname, GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetBufferParameterivARB, glGetBufferParameterivARB, GETBUFFERPARAMETERIVARB, (GLenum target, GLenum pname, GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetBufferParameterui64vNV, glGetBufferParameterui64vNV, GETBUFFERPARAMETERUI64VNV, (GLenum target, GLenum pname, GLuint64EXT *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetBufferPointerv, glGetBufferPointerv, GETBUFFERPOINTERV, (GLenum target, GLenum pname, void * *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetBufferPointervARB, glGetBufferPointervARB, GETBUFFERPOINTERVARB, (GLenum target, GLenum pname, void * *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetBufferSubData, glGetBufferSubData, GETBUFFERSUBDATA, (GLenum target, GLintptr offset, GLsizeiptr size, void *data), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetBufferSubDataARB, glGetBufferSubDataARB, GETBUFFERSUBDATAARB, (GLenum target, GLintptrARB offset, GLsizeiptrARB size, void *data), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetClipPlane, glGetClipPlane, GETCLIPPLANE, (GLenum plane, GLdouble *equation), &plane, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetClipPlanefOES, glGetClipPlanefOES, GETCLIPPLANEFOES, (GLenum plane, GLfloat *equation), &plane, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetClipPlanexOES, glGetClipPlanexOES, GETCLIPPLANEXOES, (GLenum plane, GLfixed *equation), &plane, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetColorTable, glGetColorTable, GETCOLORTABLE, (GLenum target, GLenum format, GLenum type, void *table), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetColorTableEXT, glGetColorTableEXT, GETCOLORTABLEEXT, (GLenum target, GLenum format, GLenum type, void *data), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetColorTableParameterfv, glGetColorTableParameterfv, GETCOLORTABLEPARAMETERFV, (GLenum target, GLenum pname, GLfloat *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetColorTableParameterfvEXT, glGetColorTableParameterfvEXT, GETCOLORTABLEPARAMETERFVEXT, (GLenum target, GLenum pname, GLfloat *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetColorTableParameterfvSGI, glGetColorTableParameterfvSGI, GETCOLORTABLEPARAMETERFVSGI, (GLenum target, GLenum pname, GLfloat *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetColorTableParameteriv, glGetColorTableParameteriv, GETCOLORTABLEPARAMETERIV, (GLenum target, GLenum pname, GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetColorTableParameterivEXT, glGetColorTableParameterivEXT, GETCOLORTABLEPARAMETERIVEXT, (GLenum target, GLenum pname, GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetColorTableParameterivSGI, glGetColorTableParameterivSGI, GETCOLORTABLEPARAMETERIVSGI, (GLenum target, GLenum pname, GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetColorTableSGI, glGetColorTableSGI, GETCOLORTABLESGI, (GLenum target, GLenum format, GLenum type, void *table), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetCombinerInputParameterfvNV, glGetCombinerInputParameterfvNV, GETCOMBINERINPUTPARAMETERFVNV, (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params), &stage, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetCombinerInputParameterivNV, glGetCombinerInputParameterivNV, GETCOMBINERINPUTPARAMETERIVNV, (GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params), &stage, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetCombinerOutputParameterfvNV, glGetCombinerOutputParameterfvNV, GETCOMBINEROUTPUTPARAMETERFVNV, (GLenum stage, GLenum portion, GLenum pname, GLfloat *params), &stage, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetCombinerOutputParameterivNV, glGetCombinerOutputParameterivNV, GETCOMBINEROUTPUTPARAMETERIVNV, (GLenum stage, GLenum portion, GLenum pname, GLint *params), &stage, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetCombinerStageParameterfvNV, glGetCombinerStageParameterfvNV, GETCOMBINERSTAGEPARAMETERFVNV, (GLenum stage, GLenum pname, GLfloat *params), &stage, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetCompressedMultiTexImageEXT, glGetCompressedMultiTexImageEXT, GETCOMPRESSEDMULTITEXIMAGEEXT, (GLenum texunit, GLenum target, GLint lod, void *img), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetCompressedTexImage, glGetCompressedTexImage, GETCOMPRESSEDTEXIMAGE, (GLenum target, GLint level, void *img), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetCompressedTexImageARB, glGetCompressedTexImageARB, GETCOMPRESSEDTEXIMAGEARB, (GLenum target, GLint level, void *img), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetCompressedTextureImageEXT, glGetCompressedTextureImageEXT, GETCOMPRESSEDTEXTUREIMAGEEXT, (GLuint texture, GLenum target, GLint lod, void *img), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetConvolutionFilter, glGetConvolutionFilter, GETCONVOLUTIONFILTER, (GLenum target, GLenum format, GLenum type, void *image), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetConvolutionFilterEXT, glGetConvolutionFilterEXT, GETCONVOLUTIONFILTEREXT, (GLenum target, GLenum format, GLenum type, void *image), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetConvolutionParameterfv, glGetConvolutionParameterfv, GETCONVOLUTIONPARAMETERFV, (GLenum target, GLenum pname, GLfloat *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetConvolutionParameterfvEXT, glGetConvolutionParameterfvEXT, GETCONVOLUTIONPARAMETERFVEXT, (GLenum target, GLenum pname, GLfloat *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetConvolutionParameteriv, glGetConvolutionParameteriv, GETCONVOLUTIONPARAMETERIV, (GLenum target, GLenum pname, GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetConvolutionParameterivEXT, glGetConvolutionParameterivEXT, GETCONVOLUTIONPARAMETERIVEXT, (GLenum target, GLenum pname, GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetConvolutionParameterxvOES, glGetConvolutionParameterxvOES, GETCONVOLUTIONPARAMETERXVOES, (GLenum target, GLenum pname, GLfixed *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLsizei, gl, GetDebugLogLengthMESA, glGetDebugLogLengthMESA, GETDEBUGLOGLENGTHMESA, (GLhandleARB obj, GLenum logType, GLenum shaderType), &obj, return (GLsizei)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetDebugLogMESA, glGetDebugLogMESA, GETDEBUGLOGMESA, (GLhandleARB obj, GLenum logType, GLenum shaderType, GLsizei maxLength, GLsizei *length, GLcharARB *debugLog), &obj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLuint, gl, GetDebugMessageLog, glGetDebugMessageLog, GETDEBUGMESSAGELOG, (GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog), &count, return (GLuint)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLuint, gl, GetDebugMessageLogAMD, glGetDebugMessageLogAMD, GETDEBUGMESSAGELOGAMD, (GLuint count, GLsizei bufsize, GLenum *categories, GLuint *severities, GLuint *ids, GLsizei *lengths, GLchar *message), &count, return (GLuint)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLuint, gl, GetDebugMessageLogARB, glGetDebugMessageLogARB, GETDEBUGMESSAGELOGARB, (GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog), &count, return (GLuint)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetDetailTexFuncSGIS, glGetDetailTexFuncSGIS, GETDETAILTEXFUNCSGIS, (GLenum target, GLfloat *points), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetDoubleIndexedvEXT, glGetDoubleIndexedvEXT, GETDOUBLEINDEXEDVEXT, (GLenum target, GLuint index, GLdouble *data), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetDoublei_v, glGetDoublei_v, GETDOUBLEI_V, (GLenum target, GLuint index, GLdouble *data), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetDoublei_vEXT, glGetDoublei_vEXT, GETDOUBLEI_VEXT, (GLenum pname, GLuint index, GLdouble *params), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetDoublev, glGetDoublev, GETDOUBLEV, (GLenum pname, GLdouble *params), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLenum, gl, GetError, glGetError, GETERROR, (void), NULL, return (GLenum)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetFenceivNV, glGetFenceivNV, GETFENCEIVNV, (GLuint fence, GLenum pname, GLint *params), &fence, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetFinalCombinerInputParameterfvNV, glGetFinalCombinerInputParameterfvNV, GETFINALCOMBINERINPUTPARAMETERFVNV, (GLenum variable, GLenum pname, GLfloat *params), &variable, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetFinalCombinerInputParameterivNV, glGetFinalCombinerInputParameterivNV, GETFINALCOMBINERINPUTPARAMETERIVNV, (GLenum variable, GLenum pname, GLint *params), &variable, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetFirstPerfQueryIdINTEL, glGetFirstPerfQueryIdINTEL, GETFIRSTPERFQUERYIDINTEL, (GLuint *queryId), &queryId, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetFixedvOES, glGetFixedvOES, GETFIXEDVOES, (GLenum pname, GLfixed *params), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetFloatIndexedvEXT, glGetFloatIndexedvEXT, GETFLOATINDEXEDVEXT, (GLenum target, GLuint index, GLfloat *data), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetFloati_v, glGetFloati_v, GETFLOATI_V, (GLenum target, GLuint index, GLfloat *data), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetFloati_vEXT, glGetFloati_vEXT, GETFLOATI_VEXT, (GLenum pname, GLuint index, GLfloat *params), &pname, GL_void_return) #endif GL_PROC(void, gl, GetFloatv, glGetFloatv, GETFLOATV, (GLenum pname, GLfloat *params), &pname, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetFogFuncSGIS, glGetFogFuncSGIS, GETFOGFUNCSGIS, (GLfloat *points), &points, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLint, gl, GetFragDataIndex, glGetFragDataIndex, GETFRAGDATAINDEX, (GLuint program, const GLchar *name), &program, return (GLint)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLint, gl, GetFragDataLocation, glGetFragDataLocation, GETFRAGDATALOCATION, (GLuint program, const GLchar *name), &program, return (GLint)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLint, gl, GetFragDataLocationEXT, glGetFragDataLocationEXT, GETFRAGDATALOCATIONEXT, (GLuint program, const GLchar *name), &program, return (GLint)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetFragmentLightfvSGIX, glGetFragmentLightfvSGIX, GETFRAGMENTLIGHTFVSGIX, (GLenum light, GLenum pname, GLfloat *params), &light, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetFragmentLightivSGIX, glGetFragmentLightivSGIX, GETFRAGMENTLIGHTIVSGIX, (GLenum light, GLenum pname, GLint *params), &light, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetFragmentMaterialfvSGIX, glGetFragmentMaterialfvSGIX, GETFRAGMENTMATERIALFVSGIX, (GLenum face, GLenum pname, GLfloat *params), &face, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetFragmentMaterialivSGIX, glGetFragmentMaterialivSGIX, GETFRAGMENTMATERIALIVSGIX, (GLenum face, GLenum pname, GLint *params), &face, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetFramebufferAttachmentParameteriv, glGetFramebufferAttachmentParameteriv, GETFRAMEBUFFERATTACHMENTPARAMETERIV, (GLenum target, GLenum attachment, GLenum pname, GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetFramebufferAttachmentParameterivEXT, glGetFramebufferAttachmentParameterivEXT, GETFRAMEBUFFERATTACHMENTPARAMETERIVEXT, (GLenum target, GLenum attachment, GLenum pname, GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetFramebufferParameteriv, glGetFramebufferParameteriv, GETFRAMEBUFFERPARAMETERIV, (GLenum target, GLenum pname, GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetFramebufferParameterivEXT, glGetFramebufferParameterivEXT, GETFRAMEBUFFERPARAMETERIVEXT, (GLuint framebuffer, GLenum pname, GLint *params), &framebuffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLenum, gl, GetGraphicsResetStatusARB, glGetGraphicsResetStatusARB, GETGRAPHICSRESETSTATUSARB, (void), NULL, return (GLenum)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLhandleARB, gl, GetHandleARB, glGetHandleARB, GETHANDLEARB, (GLenum pname), &pname, return (GLhandleARB)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetHistogram, glGetHistogram, GETHISTOGRAM, (GLenum target, GLboolean32 reset, GLenum format, GLenum type, void *values), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetHistogramEXT, glGetHistogramEXT, GETHISTOGRAMEXT, (GLenum target, GLboolean32 reset, GLenum format, GLenum type, void *values), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetHistogramParameterfv, glGetHistogramParameterfv, GETHISTOGRAMPARAMETERFV, (GLenum target, GLenum pname, GLfloat *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetHistogramParameterfvEXT, glGetHistogramParameterfvEXT, GETHISTOGRAMPARAMETERFVEXT, (GLenum target, GLenum pname, GLfloat *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetHistogramParameteriv, glGetHistogramParameteriv, GETHISTOGRAMPARAMETERIV, (GLenum target, GLenum pname, GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetHistogramParameterivEXT, glGetHistogramParameterivEXT, GETHISTOGRAMPARAMETERIVEXT, (GLenum target, GLenum pname, GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetHistogramParameterxvOES, glGetHistogramParameterxvOES, GETHISTOGRAMPARAMETERXVOES, (GLenum target, GLenum pname, GLfixed *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLuint64, gl, GetImageHandleARB, glGetImageHandleARB, GETIMAGEHANDLEARB, (GLuint texture, GLint level, GLboolean32 layered, GLint layer, GLenum format), &texture, return (GLuint64)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLuint64, gl, GetImageHandleNV, glGetImageHandleNV, GETIMAGEHANDLENV, (GLuint texture, GLint level, GLboolean32 layered, GLint layer, GLenum format), &texture, return (GLuint64)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetImageTransformParameterfvHP, glGetImageTransformParameterfvHP, GETIMAGETRANSFORMPARAMETERFVHP, (GLenum target, GLenum pname, GLfloat *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetImageTransformParameterivHP, glGetImageTransformParameterivHP, GETIMAGETRANSFORMPARAMETERIVHP, (GLenum target, GLenum pname, GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetInfoLogARB, glGetInfoLogARB, GETINFOLOGARB, (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog), &obj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLint, gl, GetInstrumentsSGIX, glGetInstrumentsSGIX, GETINSTRUMENTSSGIX, (void), NULL, return (GLint)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetInteger64i_v, glGetInteger64i_v, GETINTEGER64I_V, (GLenum target, GLuint index, GLint64 *data), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetInteger64v, glGetInteger64v, GETINTEGER64V, (GLenum pname, GLint64 *data), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetIntegerIndexedvEXT, glGetIntegerIndexedvEXT, GETINTEGERINDEXEDVEXT, (GLenum target, GLuint index, GLint *data), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetIntegeri_v, glGetIntegeri_v, GETINTEGERI_V, (GLenum target, GLuint index, GLint *data), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetIntegerui64i_vNV, glGetIntegerui64i_vNV, GETINTEGERUI64I_VNV, (GLenum value, GLuint index, GLuint64EXT *result), &value, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetIntegerui64vNV, glGetIntegerui64vNV, GETINTEGERUI64VNV, (GLenum value, GLuint64EXT *result), &value, GL_void_return) #endif GL_PROC(void, gl, GetIntegerv, glGetIntegerv, GETINTEGERV, (GLenum pname, GLint *params), &pname, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetInternalformati64v, glGetInternalformati64v, GETINTERNALFORMATI64V, (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64 *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetInternalformativ, glGetInternalformativ, GETINTERNALFORMATIV, (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetInvariantBooleanvEXT, glGetInvariantBooleanvEXT, GETINVARIANTBOOLEANVEXT, (GLuint id, GLenum value, GLboolean *data), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetInvariantFloatvEXT, glGetInvariantFloatvEXT, GETINVARIANTFLOATVEXT, (GLuint id, GLenum value, GLfloat *data), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetInvariantIntegervEXT, glGetInvariantIntegervEXT, GETINVARIANTINTEGERVEXT, (GLuint id, GLenum value, GLint *data), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetLightfv, glGetLightfv, GETLIGHTFV, (GLenum light, GLenum pname, GLfloat *params), &light, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetLightiv, glGetLightiv, GETLIGHTIV, (GLenum light, GLenum pname, GLint *params), &light, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetLightxOES, glGetLightxOES, GETLIGHTXOES, (GLenum light, GLenum pname, GLfixed *params), &light, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetListParameterfvSGIX, glGetListParameterfvSGIX, GETLISTPARAMETERFVSGIX, (GLuint list, GLenum pname, GLfloat *params), &list, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetListParameterivSGIX, glGetListParameterivSGIX, GETLISTPARAMETERIVSGIX, (GLuint list, GLenum pname, GLint *params), &list, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetLocalConstantBooleanvEXT, glGetLocalConstantBooleanvEXT, GETLOCALCONSTANTBOOLEANVEXT, (GLuint id, GLenum value, GLboolean *data), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetLocalConstantFloatvEXT, glGetLocalConstantFloatvEXT, GETLOCALCONSTANTFLOATVEXT, (GLuint id, GLenum value, GLfloat *data), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetLocalConstantIntegervEXT, glGetLocalConstantIntegervEXT, GETLOCALCONSTANTINTEGERVEXT, (GLuint id, GLenum value, GLint *data), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetMapAttribParameterfvNV, glGetMapAttribParameterfvNV, GETMAPATTRIBPARAMETERFVNV, (GLenum target, GLuint index, GLenum pname, GLfloat *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetMapAttribParameterivNV, glGetMapAttribParameterivNV, GETMAPATTRIBPARAMETERIVNV, (GLenum target, GLuint index, GLenum pname, GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetMapControlPointsNV, glGetMapControlPointsNV, GETMAPCONTROLPOINTSNV, (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean32 packed, void *points), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetMapParameterfvNV, glGetMapParameterfvNV, GETMAPPARAMETERFVNV, (GLenum target, GLenum pname, GLfloat *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetMapParameterivNV, glGetMapParameterivNV, GETMAPPARAMETERIVNV, (GLenum target, GLenum pname, GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetMapdv, glGetMapdv, GETMAPDV, (GLenum target, GLenum query, GLdouble *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetMapfv, glGetMapfv, GETMAPFV, (GLenum target, GLenum query, GLfloat *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetMapiv, glGetMapiv, GETMAPIV, (GLenum target, GLenum query, GLint *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetMapxvOES, glGetMapxvOES, GETMAPXVOES, (GLenum target, GLenum query, GLfixed *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetMaterialfv, glGetMaterialfv, GETMATERIALFV, (GLenum face, GLenum pname, GLfloat *params), &face, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetMaterialiv, glGetMaterialiv, GETMATERIALIV, (GLenum face, GLenum pname, GLint *params), &face, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetMaterialxOES, glGetMaterialxOES, GETMATERIALXOES, (GLenum face, GLenum pname, GLfixed param), &face, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetMinmax, glGetMinmax, GETMINMAX, (GLenum target, GLboolean32 reset, GLenum format, GLenum type, void *values), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetMinmaxEXT, glGetMinmaxEXT, GETMINMAXEXT, (GLenum target, GLboolean32 reset, GLenum format, GLenum type, void *values), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetMinmaxParameterfv, glGetMinmaxParameterfv, GETMINMAXPARAMETERFV, (GLenum target, GLenum pname, GLfloat *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetMinmaxParameterfvEXT, glGetMinmaxParameterfvEXT, GETMINMAXPARAMETERFVEXT, (GLenum target, GLenum pname, GLfloat *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetMinmaxParameteriv, glGetMinmaxParameteriv, GETMINMAXPARAMETERIV, (GLenum target, GLenum pname, GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetMinmaxParameterivEXT, glGetMinmaxParameterivEXT, GETMINMAXPARAMETERIVEXT, (GLenum target, GLenum pname, GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetMultiTexEnvfvEXT, glGetMultiTexEnvfvEXT, GETMULTITEXENVFVEXT, (GLenum texunit, GLenum target, GLenum pname, GLfloat *params), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetMultiTexEnvivEXT, glGetMultiTexEnvivEXT, GETMULTITEXENVIVEXT, (GLenum texunit, GLenum target, GLenum pname, GLint *params), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetMultiTexGendvEXT, glGetMultiTexGendvEXT, GETMULTITEXGENDVEXT, (GLenum texunit, GLenum coord, GLenum pname, GLdouble *params), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetMultiTexGenfvEXT, glGetMultiTexGenfvEXT, GETMULTITEXGENFVEXT, (GLenum texunit, GLenum coord, GLenum pname, GLfloat *params), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetMultiTexGenivEXT, glGetMultiTexGenivEXT, GETMULTITEXGENIVEXT, (GLenum texunit, GLenum coord, GLenum pname, GLint *params), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetMultiTexImageEXT, glGetMultiTexImageEXT, GETMULTITEXIMAGEEXT, (GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, void *pixels), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetMultiTexLevelParameterfvEXT, glGetMultiTexLevelParameterfvEXT, GETMULTITEXLEVELPARAMETERFVEXT, (GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat *params), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetMultiTexLevelParameterivEXT, glGetMultiTexLevelParameterivEXT, GETMULTITEXLEVELPARAMETERIVEXT, (GLenum texunit, GLenum target, GLint level, GLenum pname, GLint *params), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetMultiTexParameterIivEXT, glGetMultiTexParameterIivEXT, GETMULTITEXPARAMETERIIVEXT, (GLenum texunit, GLenum target, GLenum pname, GLint *params), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetMultiTexParameterIuivEXT, glGetMultiTexParameterIuivEXT, GETMULTITEXPARAMETERIUIVEXT, (GLenum texunit, GLenum target, GLenum pname, GLuint *params), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetMultiTexParameterfvEXT, glGetMultiTexParameterfvEXT, GETMULTITEXPARAMETERFVEXT, (GLenum texunit, GLenum target, GLenum pname, GLfloat *params), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetMultiTexParameterivEXT, glGetMultiTexParameterivEXT, GETMULTITEXPARAMETERIVEXT, (GLenum texunit, GLenum target, GLenum pname, GLint *params), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetMultisamplefv, glGetMultisamplefv, GETMULTISAMPLEFV, (GLenum pname, GLuint index, GLfloat *val), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetMultisamplefvNV, glGetMultisamplefvNV, GETMULTISAMPLEFVNV, (GLenum pname, GLuint index, GLfloat *val), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetNamedBufferParameterivEXT, glGetNamedBufferParameterivEXT, GETNAMEDBUFFERPARAMETERIVEXT, (GLuint buffer, GLenum pname, GLint *params), &buffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetNamedBufferParameterui64vNV, glGetNamedBufferParameterui64vNV, GETNAMEDBUFFERPARAMETERUI64VNV, (GLuint buffer, GLenum pname, GLuint64EXT *params), &buffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetNamedBufferPointervEXT, glGetNamedBufferPointervEXT, GETNAMEDBUFFERPOINTERVEXT, (GLuint buffer, GLenum pname, void * *params), &buffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetNamedBufferSubDataEXT, glGetNamedBufferSubDataEXT, GETNAMEDBUFFERSUBDATAEXT, (GLuint buffer, GLintptr offset, GLsizeiptr size, void *data), &buffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetNamedFramebufferAttachmentParameterivEXT, glGetNamedFramebufferAttachmentParameterivEXT, GETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVEXT, (GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params), &framebuffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetNamedFramebufferParameterivEXT, glGetNamedFramebufferParameterivEXT, GETNAMEDFRAMEBUFFERPARAMETERIVEXT, (GLuint framebuffer, GLenum pname, GLint *params), &framebuffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetNamedProgramLocalParameterIivEXT, glGetNamedProgramLocalParameterIivEXT, GETNAMEDPROGRAMLOCALPARAMETERIIVEXT, (GLuint program, GLenum target, GLuint index, GLint *params), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetNamedProgramLocalParameterIuivEXT, glGetNamedProgramLocalParameterIuivEXT, GETNAMEDPROGRAMLOCALPARAMETERIUIVEXT, (GLuint program, GLenum target, GLuint index, GLuint *params), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetNamedProgramLocalParameterdvEXT, glGetNamedProgramLocalParameterdvEXT, GETNAMEDPROGRAMLOCALPARAMETERDVEXT, (GLuint program, GLenum target, GLuint index, GLdouble *params), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetNamedProgramLocalParameterfvEXT, glGetNamedProgramLocalParameterfvEXT, GETNAMEDPROGRAMLOCALPARAMETERFVEXT, (GLuint program, GLenum target, GLuint index, GLfloat *params), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetNamedProgramStringEXT, glGetNamedProgramStringEXT, GETNAMEDPROGRAMSTRINGEXT, (GLuint program, GLenum target, GLenum pname, void *string), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetNamedProgramivEXT, glGetNamedProgramivEXT, GETNAMEDPROGRAMIVEXT, (GLuint program, GLenum target, GLenum pname, GLint *params), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetNamedRenderbufferParameterivEXT, glGetNamedRenderbufferParameterivEXT, GETNAMEDRENDERBUFFERPARAMETERIVEXT, (GLuint renderbuffer, GLenum pname, GLint *params), &renderbuffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetNamedStringARB, glGetNamedStringARB, GETNAMEDSTRINGARB, (GLint namelen, const GLchar *name, GLsizei bufSize, GLint *stringlen, GLchar *string), &namelen, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetNamedStringivARB, glGetNamedStringivARB, GETNAMEDSTRINGIVARB, (GLint namelen, const GLchar *name, GLenum pname, GLint *params), &namelen, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetNextPerfQueryIdINTEL, glGetNextPerfQueryIdINTEL, GETNEXTPERFQUERYIDINTEL, (GLuint queryId, GLuint *nextQueryId), &queryId, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetObjectBufferfvATI, glGetObjectBufferfvATI, GETOBJECTBUFFERFVATI, (GLuint buffer, GLenum pname, GLfloat *params), &buffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetObjectBufferivATI, glGetObjectBufferivATI, GETOBJECTBUFFERIVATI, (GLuint buffer, GLenum pname, GLint *params), &buffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetObjectLabel, glGetObjectLabel, GETOBJECTLABEL, (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label), &identifier, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetObjectLabelEXT, glGetObjectLabelEXT, GETOBJECTLABELEXT, (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetObjectParameterfvARB, glGetObjectParameterfvARB, GETOBJECTPARAMETERFVARB, (GLhandleARB obj, GLenum pname, GLfloat *params), &obj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetObjectParameterivAPPLE, glGetObjectParameterivAPPLE, GETOBJECTPARAMETERIVAPPLE, (GLenum objectType, GLuint name, GLenum pname, GLint *params), &objectType, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetObjectParameterivARB, glGetObjectParameterivARB, GETOBJECTPARAMETERIVARB, (GLhandleARB obj, GLenum pname, GLint *params), &obj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetObjectPtrLabel, glGetObjectPtrLabel, GETOBJECTPTRLABEL, (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label), &ptr, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetOcclusionQueryivNV, glGetOcclusionQueryivNV, GETOCCLUSIONQUERYIVNV, (GLuint id, GLenum pname, GLint *params), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetOcclusionQueryuivNV, glGetOcclusionQueryuivNV, GETOCCLUSIONQUERYUIVNV, (GLuint id, GLenum pname, GLuint *params), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetPathColorGenfvNV, glGetPathColorGenfvNV, GETPATHCOLORGENFVNV, (GLenum color, GLenum pname, GLfloat *value), &color, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetPathColorGenivNV, glGetPathColorGenivNV, GETPATHCOLORGENIVNV, (GLenum color, GLenum pname, GLint *value), &color, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetPathCommandsNV, glGetPathCommandsNV, GETPATHCOMMANDSNV, (GLuint path, GLubyte *commands), &path, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetPathCoordsNV, glGetPathCoordsNV, GETPATHCOORDSNV, (GLuint path, GLfloat *coords), &path, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetPathDashArrayNV, glGetPathDashArrayNV, GETPATHDASHARRAYNV, (GLuint path, GLfloat *dashArray), &path, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLfloat, gl, GetPathLengthNV, glGetPathLengthNV, GETPATHLENGTHNV, (GLuint path, GLsizei startSegment, GLsizei numSegments), &path, return (GLfloat)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetPathMetricRangeNV, glGetPathMetricRangeNV, GETPATHMETRICRANGENV, (GLbitfield metricQueryMask, GLuint firstPathName, GLsizei numPaths, GLsizei stride, GLfloat *metrics), &metricQueryMask, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetPathMetricsNV, glGetPathMetricsNV, GETPATHMETRICSNV, (GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLsizei stride, GLfloat *metrics), &metricQueryMask, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetPathParameterfvNV, glGetPathParameterfvNV, GETPATHPARAMETERFVNV, (GLuint path, GLenum pname, GLfloat *value), &path, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetPathParameterivNV, glGetPathParameterivNV, GETPATHPARAMETERIVNV, (GLuint path, GLenum pname, GLint *value), &path, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetPathSpacingNV, glGetPathSpacingNV, GETPATHSPACINGNV, (GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat *returnedSpacing), &pathListMode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetPathTexGenfvNV, glGetPathTexGenfvNV, GETPATHTEXGENFVNV, (GLenum texCoordSet, GLenum pname, GLfloat *value), &texCoordSet, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetPathTexGenivNV, glGetPathTexGenivNV, GETPATHTEXGENIVNV, (GLenum texCoordSet, GLenum pname, GLint *value), &texCoordSet, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetPerfCounterInfoINTEL, glGetPerfCounterInfoINTEL, GETPERFCOUNTERINFOINTEL, (GLuint queryId, GLuint counterId, GLuint counterNameLength, GLchar *counterName, GLuint counterDescLength, GLchar *counterDesc, GLuint *counterOffset, GLuint *counterDataSize, GLuint *counterTypeEnum, GLuint *counterDataTypeEnum, GLuint64 *rawCounterMaxValue), &queryId, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetPerfMonitorCounterDataAMD, glGetPerfMonitorCounterDataAMD, GETPERFMONITORCOUNTERDATAAMD, (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten), &monitor, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetPerfMonitorCounterInfoAMD, glGetPerfMonitorCounterInfoAMD, GETPERFMONITORCOUNTERINFOAMD, (GLuint group, GLuint counter, GLenum pname, void *data), &group, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetPerfMonitorCounterStringAMD, glGetPerfMonitorCounterStringAMD, GETPERFMONITORCOUNTERSTRINGAMD, (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString), &group, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetPerfMonitorCountersAMD, glGetPerfMonitorCountersAMD, GETPERFMONITORCOUNTERSAMD, (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters), &group, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetPerfMonitorGroupStringAMD, glGetPerfMonitorGroupStringAMD, GETPERFMONITORGROUPSTRINGAMD, (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString), &group, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetPerfMonitorGroupsAMD, glGetPerfMonitorGroupsAMD, GETPERFMONITORGROUPSAMD, (GLint *numGroups, GLsizei groupsSize, GLuint *groups), &numGroups, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetPerfQueryDataINTEL, glGetPerfQueryDataINTEL, GETPERFQUERYDATAINTEL, (GLuint queryHandle, GLuint flags, GLsizei dataSize, GLvoid *data, GLuint *bytesWritten), &queryHandle, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetPerfQueryIdByNameINTEL, glGetPerfQueryIdByNameINTEL, GETPERFQUERYIDBYNAMEINTEL, (GLchar *queryName, GLuint *queryId), &queryName, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetPerfQueryInfoINTEL, glGetPerfQueryInfoINTEL, GETPERFQUERYINFOINTEL, (GLuint queryId, GLuint queryNameLength, GLchar *queryName, GLuint *dataSize, GLuint *noCounters, GLuint *noInstances, GLuint *capsMask), &queryId, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetPixelMapfv, glGetPixelMapfv, GETPIXELMAPFV, (GLenum map, GLfloat *values), &map, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetPixelMapuiv, glGetPixelMapuiv, GETPIXELMAPUIV, (GLenum map, GLuint *values), &map, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetPixelMapusv, glGetPixelMapusv, GETPIXELMAPUSV, (GLenum map, GLushort *values), &map, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetPixelMapxv, glGetPixelMapxv, GETPIXELMAPXV, (GLenum map, GLint size, GLfixed *values), &map, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetPixelTexGenParameterfvSGIS, glGetPixelTexGenParameterfvSGIS, GETPIXELTEXGENPARAMETERFVSGIS, (GLenum pname, GLfloat *params), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetPixelTexGenParameterivSGIS, glGetPixelTexGenParameterivSGIS, GETPIXELTEXGENPARAMETERIVSGIS, (GLenum pname, GLint *params), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetPixelTransformParameterfvEXT, glGetPixelTransformParameterfvEXT, GETPIXELTRANSFORMPARAMETERFVEXT, (GLenum target, GLenum pname, GLfloat *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetPixelTransformParameterivEXT, glGetPixelTransformParameterivEXT, GETPIXELTRANSFORMPARAMETERIVEXT, (GLenum target, GLenum pname, GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetPointerIndexedvEXT, glGetPointerIndexedvEXT, GETPOINTERINDEXEDVEXT, (GLenum target, GLuint index, void * *data), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetPointeri_vEXT, glGetPointeri_vEXT, GETPOINTERI_VEXT, (GLenum pname, GLuint index, void * *params), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetPointerv, glGetPointerv, GETPOINTERV, (GLenum pname, GLvoid* *params), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetPointervEXT, glGetPointervEXT, GETPOINTERVEXT, (GLenum pname, void * *params), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetPolygonStipple, glGetPolygonStipple, GETPOLYGONSTIPPLE, (GLubyte *mask), &mask, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetProgramBinary, glGetProgramBinary, GETPROGRAMBINARY, (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetProgramEnvParameterIivNV, glGetProgramEnvParameterIivNV, GETPROGRAMENVPARAMETERIIVNV, (GLenum target, GLuint index, GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetProgramEnvParameterIuivNV, glGetProgramEnvParameterIuivNV, GETPROGRAMENVPARAMETERIUIVNV, (GLenum target, GLuint index, GLuint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetProgramEnvParameterdvARB, glGetProgramEnvParameterdvARB, GETPROGRAMENVPARAMETERDVARB, (GLenum target, GLuint index, GLdouble *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetProgramEnvParameterfvARB, glGetProgramEnvParameterfvARB, GETPROGRAMENVPARAMETERFVARB, (GLenum target, GLuint index, GLfloat *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetProgramInfoLog, glGetProgramInfoLog, GETPROGRAMINFOLOG, (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetProgramInterfaceiv, glGetProgramInterfaceiv, GETPROGRAMINTERFACEIV, (GLuint program, GLenum programInterface, GLenum pname, GLint *params), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetProgramLocalParameterIivNV, glGetProgramLocalParameterIivNV, GETPROGRAMLOCALPARAMETERIIVNV, (GLenum target, GLuint index, GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetProgramLocalParameterIuivNV, glGetProgramLocalParameterIuivNV, GETPROGRAMLOCALPARAMETERIUIVNV, (GLenum target, GLuint index, GLuint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetProgramLocalParameterdvARB, glGetProgramLocalParameterdvARB, GETPROGRAMLOCALPARAMETERDVARB, (GLenum target, GLuint index, GLdouble *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetProgramLocalParameterfvARB, glGetProgramLocalParameterfvARB, GETPROGRAMLOCALPARAMETERFVARB, (GLenum target, GLuint index, GLfloat *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetProgramNamedParameterdvNV, glGetProgramNamedParameterdvNV, GETPROGRAMNAMEDPARAMETERDVNV, (GLuint id, GLsizei len, const GLubyte *name, GLdouble *params), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetProgramNamedParameterfvNV, glGetProgramNamedParameterfvNV, GETPROGRAMNAMEDPARAMETERFVNV, (GLuint id, GLsizei len, const GLubyte *name, GLfloat *params), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetProgramParameterdvNV, glGetProgramParameterdvNV, GETPROGRAMPARAMETERDVNV, (GLenum target, GLuint index, GLenum pname, GLdouble *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetProgramParameterfvNV, glGetProgramParameterfvNV, GETPROGRAMPARAMETERFVNV, (GLenum target, GLuint index, GLenum pname, GLfloat *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetProgramPipelineInfoLog, glGetProgramPipelineInfoLog, GETPROGRAMPIPELINEINFOLOG, (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog), &pipeline, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetProgramPipelineiv, glGetProgramPipelineiv, GETPROGRAMPIPELINEIV, (GLuint pipeline, GLenum pname, GLint *params), &pipeline, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetProgramRegisterfvMESA, glGetProgramRegisterfvMESA, GETPROGRAMREGISTERFVMESA, (GLenum target, GLsizei len, const GLubyte *name, GLfloat *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLuint, gl, GetProgramResourceIndex, glGetProgramResourceIndex, GETPROGRAMRESOURCEINDEX, (GLuint program, GLenum programInterface, const GLchar *name), &program, return (GLuint)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLint, gl, GetProgramResourceLocation, glGetProgramResourceLocation, GETPROGRAMRESOURCELOCATION, (GLuint program, GLenum programInterface, const GLchar *name), &program, return (GLint)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLint, gl, GetProgramResourceLocationIndex, glGetProgramResourceLocationIndex, GETPROGRAMRESOURCELOCATIONINDEX, (GLuint program, GLenum programInterface, const GLchar *name), &program, return (GLint)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetProgramResourceName, glGetProgramResourceName, GETPROGRAMRESOURCENAME, (GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetProgramResourceiv, glGetProgramResourceiv, GETPROGRAMRESOURCEIV, (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetProgramStageiv, glGetProgramStageiv, GETPROGRAMSTAGEIV, (GLuint program, GLenum shadertype, GLenum pname, GLint *values), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetProgramStringARB, glGetProgramStringARB, GETPROGRAMSTRINGARB, (GLenum target, GLenum pname, void *string), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetProgramStringNV, glGetProgramStringNV, GETPROGRAMSTRINGNV, (GLuint id, GLenum pname, GLubyte *program), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetProgramSubroutineParameteruivNV, glGetProgramSubroutineParameteruivNV, GETPROGRAMSUBROUTINEPARAMETERUIVNV, (GLenum target, GLuint index, GLuint *param), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetProgramiv, glGetProgramiv, GETPROGRAMIV, (GLuint program, GLenum pname, GLint *params), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetProgramivARB, glGetProgramivARB, GETPROGRAMIVARB, (GLenum target, GLenum pname, GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetProgramivNV, glGetProgramivNV, GETPROGRAMIVNV, (GLuint id, GLenum pname, GLint *params), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetQueryIndexediv, glGetQueryIndexediv, GETQUERYINDEXEDIV, (GLenum target, GLuint index, GLenum pname, GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetQueryObjecti64v, glGetQueryObjecti64v, GETQUERYOBJECTI64V, (GLuint id, GLenum pname, GLint64 *params), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetQueryObjecti64vEXT, glGetQueryObjecti64vEXT, GETQUERYOBJECTI64VEXT, (GLuint id, GLenum pname, GLint64 *params), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetQueryObjectiv, glGetQueryObjectiv, GETQUERYOBJECTIV, (GLuint id, GLenum pname, GLint *params), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetQueryObjectivARB, glGetQueryObjectivARB, GETQUERYOBJECTIVARB, (GLuint id, GLenum pname, GLint *params), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetQueryObjectui64v, glGetQueryObjectui64v, GETQUERYOBJECTUI64V, (GLuint id, GLenum pname, GLuint64 *params), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetQueryObjectui64vEXT, glGetQueryObjectui64vEXT, GETQUERYOBJECTUI64VEXT, (GLuint id, GLenum pname, GLuint64 *params), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetQueryObjectuiv, glGetQueryObjectuiv, GETQUERYOBJECTUIV, (GLuint id, GLenum pname, GLuint *params), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetQueryObjectuivARB, glGetQueryObjectuivARB, GETQUERYOBJECTUIVARB, (GLuint id, GLenum pname, GLuint *params), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetQueryiv, glGetQueryiv, GETQUERYIV, (GLenum target, GLenum pname, GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetQueryivARB, glGetQueryivARB, GETQUERYIVARB, (GLenum target, GLenum pname, GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetRenderbufferParameteriv, glGetRenderbufferParameteriv, GETRENDERBUFFERPARAMETERIV, (GLenum target, GLenum pname, GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetRenderbufferParameterivEXT, glGetRenderbufferParameterivEXT, GETRENDERBUFFERPARAMETERIVEXT, (GLenum target, GLenum pname, GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetSamplerParameterIiv, glGetSamplerParameterIiv, GETSAMPLERPARAMETERIIV, (GLuint sampler, GLenum pname, GLint *params), &sampler, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetSamplerParameterIuiv, glGetSamplerParameterIuiv, GETSAMPLERPARAMETERIUIV, (GLuint sampler, GLenum pname, GLuint *params), &sampler, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetSamplerParameterfv, glGetSamplerParameterfv, GETSAMPLERPARAMETERFV, (GLuint sampler, GLenum pname, GLfloat *params), &sampler, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetSamplerParameteriv, glGetSamplerParameteriv, GETSAMPLERPARAMETERIV, (GLuint sampler, GLenum pname, GLint *params), &sampler, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetSeparableFilter, glGetSeparableFilter, GETSEPARABLEFILTER, (GLenum target, GLenum format, GLenum type, void *row, void *column, void *span), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetSeparableFilterEXT, glGetSeparableFilterEXT, GETSEPARABLEFILTEREXT, (GLenum target, GLenum format, GLenum type, void *row, void *column, void *span), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetShaderInfoLog, glGetShaderInfoLog, GETSHADERINFOLOG, (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog), &shader, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetShaderPrecisionFormat, glGetShaderPrecisionFormat, GETSHADERPRECISIONFORMAT, (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision), &shadertype, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetShaderSource, glGetShaderSource, GETSHADERSOURCE, (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source), &shader, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetShaderSourceARB, glGetShaderSourceARB, GETSHADERSOURCEARB, (GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *source), &obj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetShaderiv, glGetShaderiv, GETSHADERIV, (GLuint shader, GLenum pname, GLint *params), &shader, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetSharpenTexFuncSGIS, glGetSharpenTexFuncSGIS, GETSHARPENTEXFUNCSGIS, (GLenum target, GLfloat *points), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_GETSTRING(const GLubyte *, gl, GetString, glGetString, GETSTRING, (GLenum name), &name, return (const GLubyte *)) #endif #if !defined(TINYGL_ONLY) GL_GETSTRINGI(const GLubyte *, gl, GetStringi, glGetStringi, GETSTRINGI, (GLenum name, GLuint index), &name, return (const GLubyte *)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLuint, gl, GetSubroutineIndex, glGetSubroutineIndex, GETSUBROUTINEINDEX, (GLuint program, GLenum shadertype, const GLchar *name), &program, return (GLuint)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLint, gl, GetSubroutineUniformLocation, glGetSubroutineUniformLocation, GETSUBROUTINEUNIFORMLOCATION, (GLuint program, GLenum shadertype, const GLchar *name), &program, return (GLint)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetSynciv, glGetSynciv, GETSYNCIV, (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values), &sync, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetTexBumpParameterfvATI, glGetTexBumpParameterfvATI, GETTEXBUMPPARAMETERFVATI, (GLenum pname, GLfloat *param), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetTexBumpParameterivATI, glGetTexBumpParameterivATI, GETTEXBUMPPARAMETERIVATI, (GLenum pname, GLint *param), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetTexEnvfv, glGetTexEnvfv, GETTEXENVFV, (GLenum target, GLenum pname, GLfloat *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetTexEnviv, glGetTexEnviv, GETTEXENVIV, (GLenum target, GLenum pname, GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetTexEnvxvOES, glGetTexEnvxvOES, GETTEXENVXVOES, (GLenum target, GLenum pname, GLfixed *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetTexFilterFuncSGIS, glGetTexFilterFuncSGIS, GETTEXFILTERFUNCSGIS, (GLenum target, GLenum filter, GLfloat *weights), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetTexGendv, glGetTexGendv, GETTEXGENDV, (GLenum coord, GLenum pname, GLdouble *params), &coord, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetTexGenfv, glGetTexGenfv, GETTEXGENFV, (GLenum coord, GLenum pname, GLfloat *params), &coord, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetTexGeniv, glGetTexGeniv, GETTEXGENIV, (GLenum coord, GLenum pname, GLint *params), &coord, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetTexGenxvOES, glGetTexGenxvOES, GETTEXGENXVOES, (GLenum coord, GLenum pname, GLfixed *params), &coord, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetTexImage, glGetTexImage, GETTEXIMAGE, (GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetTexLevelParameterfv, glGetTexLevelParameterfv, GETTEXLEVELPARAMETERFV, (GLenum target, GLint level, GLenum pname, GLfloat *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetTexLevelParameteriv, glGetTexLevelParameteriv, GETTEXLEVELPARAMETERIV, (GLenum target, GLint level, GLenum pname, GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetTexLevelParameterxvOES, glGetTexLevelParameterxvOES, GETTEXLEVELPARAMETERXVOES, (GLenum target, GLint level, GLenum pname, GLfixed *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetTexParameterIiv, glGetTexParameterIiv, GETTEXPARAMETERIIV, (GLenum target, GLenum pname, GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetTexParameterIivEXT, glGetTexParameterIivEXT, GETTEXPARAMETERIIVEXT, (GLenum target, GLenum pname, GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetTexParameterIuiv, glGetTexParameterIuiv, GETTEXPARAMETERIUIV, (GLenum target, GLenum pname, GLuint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetTexParameterIuivEXT, glGetTexParameterIuivEXT, GETTEXPARAMETERIUIVEXT, (GLenum target, GLenum pname, GLuint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetTexParameterPointervAPPLE, glGetTexParameterPointervAPPLE, GETTEXPARAMETERPOINTERVAPPLE, (GLenum target, GLenum pname, void * *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetTexParameterfv, glGetTexParameterfv, GETTEXPARAMETERFV, (GLenum target, GLenum pname, GLfloat *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetTexParameteriv, glGetTexParameteriv, GETTEXPARAMETERIV, (GLenum target, GLenum pname, GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetTexParameterxvOES, glGetTexParameterxvOES, GETTEXPARAMETERXVOES, (GLenum target, GLenum pname, GLfixed *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLuint64, gl, GetTextureHandleARB, glGetTextureHandleARB, GETTEXTUREHANDLEARB, (GLuint texture), &texture, return (GLuint64)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLuint64, gl, GetTextureHandleNV, glGetTextureHandleNV, GETTEXTUREHANDLENV, (GLuint texture), &texture, return (GLuint64)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetTextureImageEXT, glGetTextureImageEXT, GETTEXTUREIMAGEEXT, (GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, void *pixels), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetTextureLevelParameterfvEXT, glGetTextureLevelParameterfvEXT, GETTEXTURELEVELPARAMETERFVEXT, (GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetTextureLevelParameterivEXT, glGetTextureLevelParameterivEXT, GETTEXTURELEVELPARAMETERIVEXT, (GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetTextureParameterIivEXT, glGetTextureParameterIivEXT, GETTEXTUREPARAMETERIIVEXT, (GLuint texture, GLenum target, GLenum pname, GLint *params), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetTextureParameterIuivEXT, glGetTextureParameterIuivEXT, GETTEXTUREPARAMETERIUIVEXT, (GLuint texture, GLenum target, GLenum pname, GLuint *params), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetTextureParameterfvEXT, glGetTextureParameterfvEXT, GETTEXTUREPARAMETERFVEXT, (GLuint texture, GLenum target, GLenum pname, GLfloat *params), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetTextureParameterivEXT, glGetTextureParameterivEXT, GETTEXTUREPARAMETERIVEXT, (GLuint texture, GLenum target, GLenum pname, GLint *params), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLuint64, gl, GetTextureSamplerHandleARB, glGetTextureSamplerHandleARB, GETTEXTURESAMPLERHANDLEARB, (GLuint texture, GLuint sampler), &texture, return (GLuint64)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLuint64, gl, GetTextureSamplerHandleNV, glGetTextureSamplerHandleNV, GETTEXTURESAMPLERHANDLENV, (GLuint texture, GLuint sampler), &texture, return (GLuint64)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetTrackMatrixivNV, glGetTrackMatrixivNV, GETTRACKMATRIXIVNV, (GLenum target, GLuint address, GLenum pname, GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetTransformFeedbackVarying, glGetTransformFeedbackVarying, GETTRANSFORMFEEDBACKVARYING, (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetTransformFeedbackVaryingEXT, glGetTransformFeedbackVaryingEXT, GETTRANSFORMFEEDBACKVARYINGEXT, (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetTransformFeedbackVaryingNV, glGetTransformFeedbackVaryingNV, GETTRANSFORMFEEDBACKVARYINGNV, (GLuint program, GLuint index, GLint *location), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLuint, gl, GetUniformBlockIndex, glGetUniformBlockIndex, GETUNIFORMBLOCKINDEX, (GLuint program, const GLchar *uniformBlockName), &program, return (GLuint)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLint, gl, GetUniformBufferSizeEXT, glGetUniformBufferSizeEXT, GETUNIFORMBUFFERSIZEEXT, (GLuint program, GLint location), &program, return (GLint)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetUniformIndices, glGetUniformIndices, GETUNIFORMINDICES, (GLuint program, GLsizei uniformCount, const GLchar *const *uniformNames, GLuint *uniformIndices), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLint, gl, GetUniformLocation, glGetUniformLocation, GETUNIFORMLOCATION, (GLuint program, const GLchar *name), &program, return (GLint)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLint, gl, GetUniformLocationARB, glGetUniformLocationARB, GETUNIFORMLOCATIONARB, (GLhandleARB programObj, const GLcharARB *name), &programObj, return (GLint)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLintptr, gl, GetUniformOffsetEXT, glGetUniformOffsetEXT, GETUNIFORMOFFSETEXT, (GLuint program, GLint location), &program, return (GLintptr)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetUniformSubroutineuiv, glGetUniformSubroutineuiv, GETUNIFORMSUBROUTINEUIV, (GLenum shadertype, GLint location, GLuint *params), &shadertype, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetUniformdv, glGetUniformdv, GETUNIFORMDV, (GLuint program, GLint location, GLdouble *params), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetUniformfv, glGetUniformfv, GETUNIFORMFV, (GLuint program, GLint location, GLfloat *params), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetUniformfvARB, glGetUniformfvARB, GETUNIFORMFVARB, (GLhandleARB programObj, GLint location, GLfloat *params), &programObj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetUniformi64vNV, glGetUniformi64vNV, GETUNIFORMI64VNV, (GLuint program, GLint location, GLint64EXT *params), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetUniformiv, glGetUniformiv, GETUNIFORMIV, (GLuint program, GLint location, GLint *params), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetUniformivARB, glGetUniformivARB, GETUNIFORMIVARB, (GLhandleARB programObj, GLint location, GLint *params), &programObj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetUniformui64vNV, glGetUniformui64vNV, GETUNIFORMUI64VNV, (GLuint program, GLint location, GLuint64EXT *params), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetUniformuiv, glGetUniformuiv, GETUNIFORMUIV, (GLuint program, GLint location, GLuint *params), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetUniformuivEXT, glGetUniformuivEXT, GETUNIFORMUIVEXT, (GLuint program, GLint location, GLuint *params), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVariantArrayObjectfvATI, glGetVariantArrayObjectfvATI, GETVARIANTARRAYOBJECTFVATI, (GLuint id, GLenum pname, GLfloat *params), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVariantArrayObjectivATI, glGetVariantArrayObjectivATI, GETVARIANTARRAYOBJECTIVATI, (GLuint id, GLenum pname, GLint *params), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVariantBooleanvEXT, glGetVariantBooleanvEXT, GETVARIANTBOOLEANVEXT, (GLuint id, GLenum value, GLboolean *data), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVariantFloatvEXT, glGetVariantFloatvEXT, GETVARIANTFLOATVEXT, (GLuint id, GLenum value, GLfloat *data), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVariantIntegervEXT, glGetVariantIntegervEXT, GETVARIANTINTEGERVEXT, (GLuint id, GLenum value, GLint *data), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVariantPointervEXT, glGetVariantPointervEXT, GETVARIANTPOINTERVEXT, (GLuint id, GLenum value, void * *data), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLint, gl, GetVaryingLocationNV, glGetVaryingLocationNV, GETVARYINGLOCATIONNV, (GLuint program, const GLchar *name), &program, return (GLint)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVertexArrayIntegeri_vEXT, glGetVertexArrayIntegeri_vEXT, GETVERTEXARRAYINTEGERI_VEXT, (GLuint vaobj, GLuint index, GLenum pname, GLint *param), &vaobj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVertexArrayIntegervEXT, glGetVertexArrayIntegervEXT, GETVERTEXARRAYINTEGERVEXT, (GLuint vaobj, GLenum pname, GLint *param), &vaobj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVertexArrayPointeri_vEXT, glGetVertexArrayPointeri_vEXT, GETVERTEXARRAYPOINTERI_VEXT, (GLuint vaobj, GLuint index, GLenum pname, void * *param), &vaobj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVertexArrayPointervEXT, glGetVertexArrayPointervEXT, GETVERTEXARRAYPOINTERVEXT, (GLuint vaobj, GLenum pname, void * *param), &vaobj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVertexAttribArrayObjectfvATI, glGetVertexAttribArrayObjectfvATI, GETVERTEXATTRIBARRAYOBJECTFVATI, (GLuint index, GLenum pname, GLfloat *params), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVertexAttribArrayObjectivATI, glGetVertexAttribArrayObjectivATI, GETVERTEXATTRIBARRAYOBJECTIVATI, (GLuint index, GLenum pname, GLint *params), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVertexAttribIiv, glGetVertexAttribIiv, GETVERTEXATTRIBIIV, (GLuint index, GLenum pname, GLint *params), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVertexAttribIivEXT, glGetVertexAttribIivEXT, GETVERTEXATTRIBIIVEXT, (GLuint index, GLenum pname, GLint *params), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVertexAttribIuiv, glGetVertexAttribIuiv, GETVERTEXATTRIBIUIV, (GLuint index, GLenum pname, GLuint *params), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVertexAttribIuivEXT, glGetVertexAttribIuivEXT, GETVERTEXATTRIBIUIVEXT, (GLuint index, GLenum pname, GLuint *params), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVertexAttribLdv, glGetVertexAttribLdv, GETVERTEXATTRIBLDV, (GLuint index, GLenum pname, GLdouble *params), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVertexAttribLdvEXT, glGetVertexAttribLdvEXT, GETVERTEXATTRIBLDVEXT, (GLuint index, GLenum pname, GLdouble *params), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVertexAttribLi64vNV, glGetVertexAttribLi64vNV, GETVERTEXATTRIBLI64VNV, (GLuint index, GLenum pname, GLint64EXT *params), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVertexAttribLui64vARB, glGetVertexAttribLui64vARB, GETVERTEXATTRIBLUI64VARB, (GLuint index, GLenum pname, GLuint64EXT *params), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVertexAttribLui64vNV, glGetVertexAttribLui64vNV, GETVERTEXATTRIBLUI64VNV, (GLuint index, GLenum pname, GLuint64EXT *params), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVertexAttribPointerv, glGetVertexAttribPointerv, GETVERTEXATTRIBPOINTERV, (GLuint index, GLenum pname, void * *pointer), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVertexAttribPointervARB, glGetVertexAttribPointervARB, GETVERTEXATTRIBPOINTERVARB, (GLuint index, GLenum pname, void * *pointer), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVertexAttribPointervNV, glGetVertexAttribPointervNV, GETVERTEXATTRIBPOINTERVNV, (GLuint index, GLenum pname, void * *pointer), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVertexAttribdv, glGetVertexAttribdv, GETVERTEXATTRIBDV, (GLuint index, GLenum pname, GLdouble *params), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVertexAttribdvARB, glGetVertexAttribdvARB, GETVERTEXATTRIBDVARB, (GLuint index, GLenum pname, GLdouble *params), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVertexAttribdvNV, glGetVertexAttribdvNV, GETVERTEXATTRIBDVNV, (GLuint index, GLenum pname, GLdouble *params), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVertexAttribfv, glGetVertexAttribfv, GETVERTEXATTRIBFV, (GLuint index, GLenum pname, GLfloat *params), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVertexAttribfvARB, glGetVertexAttribfvARB, GETVERTEXATTRIBFVARB, (GLuint index, GLenum pname, GLfloat *params), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVertexAttribfvNV, glGetVertexAttribfvNV, GETVERTEXATTRIBFVNV, (GLuint index, GLenum pname, GLfloat *params), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVertexAttribiv, glGetVertexAttribiv, GETVERTEXATTRIBIV, (GLuint index, GLenum pname, GLint *params), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVertexAttribivARB, glGetVertexAttribivARB, GETVERTEXATTRIBIVARB, (GLuint index, GLenum pname, GLint *params), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVertexAttribivNV, glGetVertexAttribivNV, GETVERTEXATTRIBIVNV, (GLuint index, GLenum pname, GLint *params), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVideoCaptureStreamdvNV, glGetVideoCaptureStreamdvNV, GETVIDEOCAPTURESTREAMDVNV, (GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble *params), &video_capture_slot, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVideoCaptureStreamfvNV, glGetVideoCaptureStreamfvNV, GETVIDEOCAPTURESTREAMFVNV, (GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat *params), &video_capture_slot, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVideoCaptureStreamivNV, glGetVideoCaptureStreamivNV, GETVIDEOCAPTURESTREAMIVNV, (GLuint video_capture_slot, GLuint stream, GLenum pname, GLint *params), &video_capture_slot, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVideoCaptureivNV, glGetVideoCaptureivNV, GETVIDEOCAPTUREIVNV, (GLuint video_capture_slot, GLenum pname, GLint *params), &video_capture_slot, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVideoi64vNV, glGetVideoi64vNV, GETVIDEOI64VNV, (GLuint video_slot, GLenum pname, GLint64EXT *params), &video_slot, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVideoivNV, glGetVideoivNV, GETVIDEOIVNV, (GLuint video_slot, GLenum pname, GLint *params), &video_slot, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVideoui64vNV, glGetVideoui64vNV, GETVIDEOUI64VNV, (GLuint video_slot, GLenum pname, GLuint64EXT *params), &video_slot, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetVideouivNV, glGetVideouivNV, GETVIDEOUIVNV, (GLuint video_slot, GLenum pname, GLuint *params), &video_slot, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetnColorTableARB, glGetnColorTableARB, GETNCOLORTABLEARB, (GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *table), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetnCompressedTexImageARB, glGetnCompressedTexImageARB, GETNCOMPRESSEDTEXIMAGEARB, (GLenum target, GLint lod, GLsizei bufSize, void *img), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetnConvolutionFilterARB, glGetnConvolutionFilterARB, GETNCONVOLUTIONFILTERARB, (GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *image), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetnHistogramARB, glGetnHistogramARB, GETNHISTOGRAMARB, (GLenum target, GLboolean32 reset, GLenum format, GLenum type, GLsizei bufSize, void *values), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetnMapdvARB, glGetnMapdvARB, GETNMAPDVARB, (GLenum target, GLenum query, GLsizei bufSize, GLdouble *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetnMapfvARB, glGetnMapfvARB, GETNMAPFVARB, (GLenum target, GLenum query, GLsizei bufSize, GLfloat *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetnMapivARB, glGetnMapivARB, GETNMAPIVARB, (GLenum target, GLenum query, GLsizei bufSize, GLint *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetnMinmaxARB, glGetnMinmaxARB, GETNMINMAXARB, (GLenum target, GLboolean32 reset, GLenum format, GLenum type, GLsizei bufSize, void *values), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetnPixelMapfvARB, glGetnPixelMapfvARB, GETNPIXELMAPFVARB, (GLenum map, GLsizei bufSize, GLfloat *values), &map, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetnPixelMapuivARB, glGetnPixelMapuivARB, GETNPIXELMAPUIVARB, (GLenum map, GLsizei bufSize, GLuint *values), &map, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetnPixelMapusvARB, glGetnPixelMapusvARB, GETNPIXELMAPUSVARB, (GLenum map, GLsizei bufSize, GLushort *values), &map, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetnPolygonStippleARB, glGetnPolygonStippleARB, GETNPOLYGONSTIPPLEARB, (GLsizei bufSize, GLubyte *pattern), &bufSize, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetnSeparableFilterARB, glGetnSeparableFilterARB, GETNSEPARABLEFILTERARB, (GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, void *row, GLsizei columnBufSize, void *column, void *span), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetnTexImageARB, glGetnTexImageARB, GETNTEXIMAGEARB, (GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *img), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetnUniformdvARB, glGetnUniformdvARB, GETNUNIFORMDVARB, (GLuint program, GLint location, GLsizei bufSize, GLdouble *params), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetnUniformfvARB, glGetnUniformfvARB, GETNUNIFORMFVARB, (GLuint program, GLint location, GLsizei bufSize, GLfloat *params), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetnUniformivARB, glGetnUniformivARB, GETNUNIFORMIVARB, (GLuint program, GLint location, GLsizei bufSize, GLint *params), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GetnUniformuivARB, glGetnUniformuivARB, GETNUNIFORMUIVARB, (GLuint program, GLint location, GLsizei bufSize, GLuint *params), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GlobalAlphaFactorbSUN, glGlobalAlphaFactorbSUN, GLOBALALPHAFACTORBSUN, (GLbyte32 factor), &factor, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GlobalAlphaFactordSUN, glGlobalAlphaFactordSUN, GLOBALALPHAFACTORDSUN, (GLdouble factor), &factor, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GlobalAlphaFactorfSUN, glGlobalAlphaFactorfSUN, GLOBALALPHAFACTORFSUN, (GLfloat factor), &factor, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GlobalAlphaFactoriSUN, glGlobalAlphaFactoriSUN, GLOBALALPHAFACTORISUN, (GLint factor), &factor, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GlobalAlphaFactorsSUN, glGlobalAlphaFactorsSUN, GLOBALALPHAFACTORSSUN, (GLshort32 factor), &factor, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GlobalAlphaFactorubSUN, glGlobalAlphaFactorubSUN, GLOBALALPHAFACTORUBSUN, (GLubyte32 factor), &factor, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GlobalAlphaFactoruiSUN, glGlobalAlphaFactoruiSUN, GLOBALALPHAFACTORUISUN, (GLuint factor), &factor, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, GlobalAlphaFactorusSUN, glGlobalAlphaFactorusSUN, GLOBALALPHAFACTORUSSUN, (GLushort32 factor), &factor, GL_void_return) #endif GL_PROC(void, gl, Hint, glHint, HINT, (GLenum target, GLenum mode), &target, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, HintPGI, glHintPGI, HINTPGI, (GLenum target, GLint mode), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Histogram, glHistogram, HISTOGRAM, (GLenum target, GLsizei width, GLenum internalformat, GLboolean32 sink), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, HistogramEXT, glHistogramEXT, HISTOGRAMEXT, (GLenum target, GLsizei width, GLenum internalformat, GLboolean32 sink), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, IglooInterfaceSGIX, glIglooInterfaceSGIX, IGLOOINTERFACESGIX, (GLenum pname, const void *params), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ImageTransformParameterfHP, glImageTransformParameterfHP, IMAGETRANSFORMPARAMETERFHP, (GLenum target, GLenum pname, GLfloat param), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ImageTransformParameterfvHP, glImageTransformParameterfvHP, IMAGETRANSFORMPARAMETERFVHP, (GLenum target, GLenum pname, const GLfloat *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ImageTransformParameteriHP, glImageTransformParameteriHP, IMAGETRANSFORMPARAMETERIHP, (GLenum target, GLenum pname, GLint param), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ImageTransformParameterivHP, glImageTransformParameterivHP, IMAGETRANSFORMPARAMETERIVHP, (GLenum target, GLenum pname, const GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLsync, gl, ImportSyncEXT, glImportSyncEXT, IMPORTSYNCEXT, (GLenum external_sync_type, GLintptr external_sync, GLbitfield flags), &external_sync_type, return (GLsync)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, IndexFormatNV, glIndexFormatNV, INDEXFORMATNV, (GLenum type, GLsizei stride), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, IndexFuncEXT, glIndexFuncEXT, INDEXFUNCEXT, (GLenum func, GLclampf ref), &func, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, IndexMask, glIndexMask, INDEXMASK, (GLuint mask), &mask, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, IndexMaterialEXT, glIndexMaterialEXT, INDEXMATERIALEXT, (GLenum face, GLenum mode), &face, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, IndexPointer, glIndexPointer, INDEXPOINTER, (GLenum type, GLsizei stride, const GLvoid *pointer), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, IndexPointerEXT, glIndexPointerEXT, INDEXPOINTEREXT, (GLenum type, GLsizei stride, GLsizei count, const void *pointer), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, IndexPointerListIBM, glIndexPointerListIBM, INDEXPOINTERLISTIBM, (GLenum type, GLint stride, const void * *pointer, GLint ptrstride), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Indexd, glIndexd, INDEXD, (GLdouble c), &c, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Indexdv, glIndexdv, INDEXDV, (const GLdouble *c), &c, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Indexf, glIndexf, INDEXF, (GLfloat c), &c, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Indexfv, glIndexfv, INDEXFV, (const GLfloat *c), &c, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Indexi, glIndexi, INDEXI, (GLint c), &c, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Indexiv, glIndexiv, INDEXIV, (const GLint *c), &c, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Indexs, glIndexs, INDEXS, (GLshort32 c), &c, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Indexsv, glIndexsv, INDEXSV, (const GLshort *c), &c, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Indexub, glIndexub, INDEXUB, (GLubyte32 c), &c, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Indexubv, glIndexubv, INDEXUBV, (const GLubyte *c), &c, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, IndexxOES, glIndexxOES, INDEXXOES, (GLfixed component), &component, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, IndexxvOES, glIndexxvOES, INDEXXVOES, (const GLfixed *component), &component, GL_void_return) #endif GL_PROC(void, gl, InitNames, glInitNames, INITNAMES, (void), NULL, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, InsertComponentEXT, glInsertComponentEXT, INSERTCOMPONENTEXT, (GLuint res, GLuint src, GLuint num), &res, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, InsertEventMarkerEXT, glInsertEventMarkerEXT, INSERTEVENTMARKEREXT, (GLsizei length, const GLchar *marker), &length, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, InstrumentsBufferSGIX, glInstrumentsBufferSGIX, INSTRUMENTSBUFFERSGIX, (GLsizei size, GLint *buffer), &size, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, InterleavedArrays, glInterleavedArrays, INTERLEAVEDARRAYS, (GLenum format, GLsizei stride, const GLvoid *pointer), &format, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, InterpolatePathsNV, glInterpolatePathsNV, INTERPOLATEPATHSNV, (GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight), &resultPath, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, InvalidateBufferData, glInvalidateBufferData, INVALIDATEBUFFERDATA, (GLuint buffer), &buffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, InvalidateBufferSubData, glInvalidateBufferSubData, INVALIDATEBUFFERSUBDATA, (GLuint buffer, GLintptr offset, GLsizeiptr length), &buffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, InvalidateFramebuffer, glInvalidateFramebuffer, INVALIDATEFRAMEBUFFER, (GLenum target, GLsizei numAttachments, const GLenum *attachments), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, InvalidateSubFramebuffer, glInvalidateSubFramebuffer, INVALIDATESUBFRAMEBUFFER, (GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, InvalidateTexImage, glInvalidateTexImage, INVALIDATETEXIMAGE, (GLuint texture, GLint level), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, InvalidateTexSubImage, glInvalidateTexSubImage, INVALIDATETEXSUBIMAGE, (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsAsyncMarkerSGIX, glIsAsyncMarkerSGIX, ISASYNCMARKERSGIX, (GLuint marker), &marker, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsBuffer, glIsBuffer, ISBUFFER, (GLuint buffer), &buffer, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsBufferARB, glIsBufferARB, ISBUFFERARB, (GLuint buffer), &buffer, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsBufferResidentNV, glIsBufferResidentNV, ISBUFFERRESIDENTNV, (GLenum target), &target, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsEnabled, glIsEnabled, ISENABLED, (GLenum cap), &cap, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsEnabledIndexedEXT, glIsEnabledIndexedEXT, ISENABLEDINDEXEDEXT, (GLenum target, GLuint index), &target, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsEnabledi, glIsEnabledi, ISENABLEDI, (GLenum target, GLuint index), &target, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsFenceAPPLE, glIsFenceAPPLE, ISFENCEAPPLE, (GLuint fence), &fence, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsFenceNV, glIsFenceNV, ISFENCENV, (GLuint fence), &fence, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsFramebuffer, glIsFramebuffer, ISFRAMEBUFFER, (GLuint framebuffer), &framebuffer, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsFramebufferEXT, glIsFramebufferEXT, ISFRAMEBUFFEREXT, (GLuint framebuffer), &framebuffer, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsImageHandleResidentARB, glIsImageHandleResidentARB, ISIMAGEHANDLERESIDENTARB, (GLuint64 handle), &handle, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsImageHandleResidentNV, glIsImageHandleResidentNV, ISIMAGEHANDLERESIDENTNV, (GLuint64 handle), &handle, return (GLboolean)) #endif GL_PROC(GLboolean, gl, IsList, glIsList, ISLIST, (GLuint list), &list, return (GLboolean)) #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsNameAMD, glIsNameAMD, ISNAMEAMD, (GLenum identifier, GLuint name), &identifier, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsNamedBufferResidentNV, glIsNamedBufferResidentNV, ISNAMEDBUFFERRESIDENTNV, (GLuint buffer), &buffer, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsNamedStringARB, glIsNamedStringARB, ISNAMEDSTRINGARB, (GLint namelen, const GLchar *name), &namelen, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsObjectBufferATI, glIsObjectBufferATI, ISOBJECTBUFFERATI, (GLuint buffer), &buffer, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsOcclusionQueryNV, glIsOcclusionQueryNV, ISOCCLUSIONQUERYNV, (GLuint id), &id, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsPathNV, glIsPathNV, ISPATHNV, (GLuint path), &path, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsPointInFillPathNV, glIsPointInFillPathNV, ISPOINTINFILLPATHNV, (GLuint path, GLuint mask, GLfloat x, GLfloat y), &path, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsPointInStrokePathNV, glIsPointInStrokePathNV, ISPOINTINSTROKEPATHNV, (GLuint path, GLfloat x, GLfloat y), &path, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsProgram, glIsProgram, ISPROGRAM, (GLuint program), &program, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsProgramARB, glIsProgramARB, ISPROGRAMARB, (GLuint program), &program, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsProgramNV, glIsProgramNV, ISPROGRAMNV, (GLuint id), &id, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsProgramPipeline, glIsProgramPipeline, ISPROGRAMPIPELINE, (GLuint pipeline), &pipeline, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsQuery, glIsQuery, ISQUERY, (GLuint id), &id, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsQueryARB, glIsQueryARB, ISQUERYARB, (GLuint id), &id, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsRenderbuffer, glIsRenderbuffer, ISRENDERBUFFER, (GLuint renderbuffer), &renderbuffer, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsRenderbufferEXT, glIsRenderbufferEXT, ISRENDERBUFFEREXT, (GLuint renderbuffer), &renderbuffer, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsSampler, glIsSampler, ISSAMPLER, (GLuint sampler), &sampler, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsShader, glIsShader, ISSHADER, (GLuint shader), &shader, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsSync, glIsSync, ISSYNC, (GLsync sync), &sync, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsTexture, glIsTexture, ISTEXTURE, (GLuint texture), &texture, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsTextureEXT, glIsTextureEXT, ISTEXTUREEXT, (GLuint texture), &texture, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsTextureHandleResidentARB, glIsTextureHandleResidentARB, ISTEXTUREHANDLERESIDENTARB, (GLuint64 handle), &handle, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsTextureHandleResidentNV, glIsTextureHandleResidentNV, ISTEXTUREHANDLERESIDENTNV, (GLuint64 handle), &handle, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsTransformFeedback, glIsTransformFeedback, ISTRANSFORMFEEDBACK, (GLuint id), &id, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsTransformFeedbackNV, glIsTransformFeedbackNV, ISTRANSFORMFEEDBACKNV, (GLuint id), &id, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsVariantEnabledEXT, glIsVariantEnabledEXT, ISVARIANTENABLEDEXT, (GLuint id, GLenum cap), &id, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsVertexArray, glIsVertexArray, ISVERTEXARRAY, (GLuint array), &array, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsVertexArrayAPPLE, glIsVertexArrayAPPLE, ISVERTEXARRAYAPPLE, (GLuint array), &array, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, IsVertexAttribEnabledAPPLE, glIsVertexAttribEnabledAPPLE, ISVERTEXATTRIBENABLEDAPPLE, (GLuint index, GLenum pname), &index, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, LabelObjectEXT, glLabelObjectEXT, LABELOBJECTEXT, (GLenum type, GLuint object, GLsizei length, const GLchar *label), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, LightEnviSGIX, glLightEnviSGIX, LIGHTENVISGIX, (GLenum pname, GLint param), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, LightModelf, glLightModelf, LIGHTMODELF, (GLenum pname, GLfloat param), &pname, GL_void_return) #endif GL_PROC(void, gl, LightModelfv, glLightModelfv, LIGHTMODELFV, (GLenum pname, const GLfloat *params), &pname, GL_void_return) GL_PROC(void, gl, LightModeli, glLightModeli, LIGHTMODELI, (GLenum pname, GLint param), &pname, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, LightModeliv, glLightModeliv, LIGHTMODELIV, (GLenum pname, const GLint *params), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, LightModelxOES, glLightModelxOES, LIGHTMODELXOES, (GLenum pname, GLfixed param), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, LightModelxvOES, glLightModelxvOES, LIGHTMODELXVOES, (GLenum pname, const GLfixed *param), &pname, GL_void_return) #endif GL_PROC(void, gl, Lightf, glLightf, LIGHTF, (GLenum light, GLenum pname, GLfloat param), &light, GL_void_return) GL_PROC(void, gl, Lightfv, glLightfv, LIGHTFV, (GLenum light, GLenum pname, const GLfloat *params), &light, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Lighti, glLighti, LIGHTI, (GLenum light, GLenum pname, GLint param), &light, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Lightiv, glLightiv, LIGHTIV, (GLenum light, GLenum pname, const GLint *params), &light, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, LightxOES, glLightxOES, LIGHTXOES, (GLenum light, GLenum pname, GLfixed param), &light, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, LightxvOES, glLightxvOES, LIGHTXVOES, (GLenum light, GLenum pname, const GLfixed *params), &light, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, LineStipple, glLineStipple, LINESTIPPLE, (GLint factor, GLushort32 pattern), &factor, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, LineWidth, glLineWidth, LINEWIDTH, (GLfloat width), &width, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, LineWidthxOES, glLineWidthxOES, LINEWIDTHXOES, (GLfixed width), &width, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, LinkProgram, glLinkProgram, LINKPROGRAM, (GLuint program), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, LinkProgramARB, glLinkProgramARB, LINKPROGRAMARB, (GLhandleARB programObj), &programObj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ListBase, glListBase, LISTBASE, (GLuint base), &base, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ListParameterfSGIX, glListParameterfSGIX, LISTPARAMETERFSGIX, (GLuint list, GLenum pname, GLfloat param), &list, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ListParameterfvSGIX, glListParameterfvSGIX, LISTPARAMETERFVSGIX, (GLuint list, GLenum pname, const GLfloat *params), &list, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ListParameteriSGIX, glListParameteriSGIX, LISTPARAMETERISGIX, (GLuint list, GLenum pname, GLint param), &list, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ListParameterivSGIX, glListParameterivSGIX, LISTPARAMETERIVSGIX, (GLuint list, GLenum pname, const GLint *params), &list, GL_void_return) #endif GL_PROC(void, gl, LoadIdentity, glLoadIdentity, LOADIDENTITY, (void), NULL, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, LoadIdentityDeformationMapSGIX, glLoadIdentityDeformationMapSGIX, LOADIDENTITYDEFORMATIONMAPSGIX, (GLbitfield mask), &mask, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, LoadMatrixd, glLoadMatrixd, LOADMATRIXD, (const GLdouble *m), &m, GL_void_return) #endif GL_PROC(void, gl, LoadMatrixf, glLoadMatrixf, LOADMATRIXF, (const GLfloat *m), &m, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, LoadMatrixxOES, glLoadMatrixxOES, LOADMATRIXXOES, (const GLfixed *m), &m, GL_void_return) #endif GL_PROC(void, gl, LoadName, glLoadName, LOADNAME, (GLuint name), &name, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, LoadProgramNV, glLoadProgramNV, LOADPROGRAMNV, (GLenum target, GLuint id, GLsizei len, const GLubyte *program), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, LoadTransposeMatrixd, glLoadTransposeMatrixd, LOADTRANSPOSEMATRIXD, (const GLdouble *m), &m, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, LoadTransposeMatrixdARB, glLoadTransposeMatrixdARB, LOADTRANSPOSEMATRIXDARB, (const GLdouble *m), &m, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, LoadTransposeMatrixf, glLoadTransposeMatrixf, LOADTRANSPOSEMATRIXF, (const GLfloat *m), &m, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, LoadTransposeMatrixfARB, glLoadTransposeMatrixfARB, LOADTRANSPOSEMATRIXFARB, (const GLfloat *m), &m, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, LoadTransposeMatrixxOES, glLoadTransposeMatrixxOES, LOADTRANSPOSEMATRIXXOES, (const GLfixed *m), &m, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, LockArraysEXT, glLockArraysEXT, LOCKARRAYSEXT, (GLint first, GLsizei count), &first, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, LogicOp, glLogicOp, LOGICOP, (GLenum opcode), &opcode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MakeBufferNonResidentNV, glMakeBufferNonResidentNV, MAKEBUFFERNONRESIDENTNV, (GLenum target), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MakeBufferResidentNV, glMakeBufferResidentNV, MAKEBUFFERRESIDENTNV, (GLenum target, GLenum access), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MakeImageHandleNonResidentARB, glMakeImageHandleNonResidentARB, MAKEIMAGEHANDLENONRESIDENTARB, (GLuint64 handle), &handle, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MakeImageHandleNonResidentNV, glMakeImageHandleNonResidentNV, MAKEIMAGEHANDLENONRESIDENTNV, (GLuint64 handle), &handle, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MakeImageHandleResidentARB, glMakeImageHandleResidentARB, MAKEIMAGEHANDLERESIDENTARB, (GLuint64 handle, GLenum access), &handle, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MakeImageHandleResidentNV, glMakeImageHandleResidentNV, MAKEIMAGEHANDLERESIDENTNV, (GLuint64 handle, GLenum access), &handle, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MakeNamedBufferNonResidentNV, glMakeNamedBufferNonResidentNV, MAKENAMEDBUFFERNONRESIDENTNV, (GLuint buffer), &buffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MakeNamedBufferResidentNV, glMakeNamedBufferResidentNV, MAKENAMEDBUFFERRESIDENTNV, (GLuint buffer, GLenum access), &buffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MakeTextureHandleNonResidentARB, glMakeTextureHandleNonResidentARB, MAKETEXTUREHANDLENONRESIDENTARB, (GLuint64 handle), &handle, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MakeTextureHandleNonResidentNV, glMakeTextureHandleNonResidentNV, MAKETEXTUREHANDLENONRESIDENTNV, (GLuint64 handle), &handle, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MakeTextureHandleResidentARB, glMakeTextureHandleResidentARB, MAKETEXTUREHANDLERESIDENTARB, (GLuint64 handle), &handle, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MakeTextureHandleResidentNV, glMakeTextureHandleResidentNV, MAKETEXTUREHANDLERESIDENTNV, (GLuint64 handle), &handle, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Map1d, glMap1d, MAP1D, (GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Map1f, glMap1f, MAP1F, (GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Map1xOES, glMap1xOES, MAP1XOES, (GLenum target, GLfixed u1, GLfixed u2, GLint stride, GLint order, GLfixed points), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Map2d, glMap2d, MAP2D, (GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Map2f, glMap2f, MAP2F, (GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Map2xOES, glMap2xOES, MAP2XOES, (GLenum target, GLfixed u1, GLfixed u2, GLint ustride, GLint uorder, GLfixed v1, GLfixed v2, GLint vstride, GLint vorder, GLfixed points), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void *, gl, MapBuffer, glMapBuffer, MAPBUFFER, (GLenum target, GLenum access), &target, return (void *)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void *, gl, MapBufferARB, glMapBufferARB, MAPBUFFERARB, (GLenum target, GLenum access), &target, return (void *)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void *, gl, MapBufferRange, glMapBufferRange, MAPBUFFERRANGE, (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access), &target, return (void *)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MapControlPointsNV, glMapControlPointsNV, MAPCONTROLPOINTSNV, (GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean32 packed, const void *points), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MapGrid1d, glMapGrid1d, MAPGRID1D, (GLint un, GLdouble u1, GLdouble u2), &un, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MapGrid1f, glMapGrid1f, MAPGRID1F, (GLint un, GLfloat u1, GLfloat u2), &un, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MapGrid1xOES, glMapGrid1xOES, MAPGRID1XOES, (GLint n, GLfixed u1, GLfixed u2), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MapGrid2d, glMapGrid2d, MAPGRID2D, (GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2), &un, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MapGrid2f, glMapGrid2f, MAPGRID2F, (GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2), &un, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MapGrid2xOES, glMapGrid2xOES, MAPGRID2XOES, (GLint n, GLfixed u1, GLfixed u2, GLfixed v1, GLfixed v2), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void *, gl, MapNamedBufferEXT, glMapNamedBufferEXT, MAPNAMEDBUFFEREXT, (GLuint buffer, GLenum access), &buffer, return (void *)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void *, gl, MapNamedBufferRangeEXT, glMapNamedBufferRangeEXT, MAPNAMEDBUFFERRANGEEXT, (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access), &buffer, return (void *)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void *, gl, MapObjectBufferATI, glMapObjectBufferATI, MAPOBJECTBUFFERATI, (GLuint buffer), &buffer, return (void *)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MapParameterfvNV, glMapParameterfvNV, MAPPARAMETERFVNV, (GLenum target, GLenum pname, const GLfloat *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MapParameterivNV, glMapParameterivNV, MAPPARAMETERIVNV, (GLenum target, GLenum pname, const GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void *, gl, MapTexture2DINTEL, glMapTexture2DINTEL, MAPTEXTURE2DINTEL, (GLuint texture, GLint level, GLbitfield access, const GLint *stride, const GLenum *layout), &texture, return (void *)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MapVertexAttrib1dAPPLE, glMapVertexAttrib1dAPPLE, MAPVERTEXATTRIB1DAPPLE, (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MapVertexAttrib1fAPPLE, glMapVertexAttrib1fAPPLE, MAPVERTEXATTRIB1FAPPLE, (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MapVertexAttrib2dAPPLE, glMapVertexAttrib2dAPPLE, MAPVERTEXATTRIB2DAPPLE, (GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MapVertexAttrib2fAPPLE, glMapVertexAttrib2fAPPLE, MAPVERTEXATTRIB2FAPPLE, (GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points), &index, GL_void_return) #endif GL_PROC(void, gl, Materialf, glMaterialf, MATERIALF, (GLenum face, GLenum pname, GLfloat param), &face, GL_void_return) GL_PROC(void, gl, Materialfv, glMaterialfv, MATERIALFV, (GLenum face, GLenum pname, const GLfloat *params), &face, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Materiali, glMateriali, MATERIALI, (GLenum face, GLenum pname, GLint param), &face, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Materialiv, glMaterialiv, MATERIALIV, (GLenum face, GLenum pname, const GLint *params), &face, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MaterialxOES, glMaterialxOES, MATERIALXOES, (GLenum face, GLenum pname, GLfixed param), &face, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MaterialxvOES, glMaterialxvOES, MATERIALXVOES, (GLenum face, GLenum pname, const GLfixed *param), &face, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MatrixFrustumEXT, glMatrixFrustumEXT, MATRIXFRUSTUMEXT, (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MatrixIndexPointerARB, glMatrixIndexPointerARB, MATRIXINDEXPOINTERARB, (GLint size, GLenum type, GLsizei stride, const void *pointer), &size, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MatrixIndexubvARB, glMatrixIndexubvARB, MATRIXINDEXUBVARB, (GLint size, const GLubyte *indices), &size, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MatrixIndexuivARB, glMatrixIndexuivARB, MATRIXINDEXUIVARB, (GLint size, const GLuint *indices), &size, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MatrixIndexusvARB, glMatrixIndexusvARB, MATRIXINDEXUSVARB, (GLint size, const GLushort *indices), &size, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MatrixLoadIdentityEXT, glMatrixLoadIdentityEXT, MATRIXLOADIDENTITYEXT, (GLenum mode), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MatrixLoadTransposedEXT, glMatrixLoadTransposedEXT, MATRIXLOADTRANSPOSEDEXT, (GLenum mode, const GLdouble *m), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MatrixLoadTransposefEXT, glMatrixLoadTransposefEXT, MATRIXLOADTRANSPOSEFEXT, (GLenum mode, const GLfloat *m), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MatrixLoaddEXT, glMatrixLoaddEXT, MATRIXLOADDEXT, (GLenum mode, const GLdouble *m), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MatrixLoadfEXT, glMatrixLoadfEXT, MATRIXLOADFEXT, (GLenum mode, const GLfloat *m), &mode, GL_void_return) #endif GL_PROC(void, gl, MatrixMode, glMatrixMode, MATRIXMODE, (GLenum mode), &mode, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MatrixMultTransposedEXT, glMatrixMultTransposedEXT, MATRIXMULTTRANSPOSEDEXT, (GLenum mode, const GLdouble *m), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MatrixMultTransposefEXT, glMatrixMultTransposefEXT, MATRIXMULTTRANSPOSEFEXT, (GLenum mode, const GLfloat *m), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MatrixMultdEXT, glMatrixMultdEXT, MATRIXMULTDEXT, (GLenum mode, const GLdouble *m), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MatrixMultfEXT, glMatrixMultfEXT, MATRIXMULTFEXT, (GLenum mode, const GLfloat *m), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MatrixOrthoEXT, glMatrixOrthoEXT, MATRIXORTHOEXT, (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MatrixPopEXT, glMatrixPopEXT, MATRIXPOPEXT, (GLenum mode), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MatrixPushEXT, glMatrixPushEXT, MATRIXPUSHEXT, (GLenum mode), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MatrixRotatedEXT, glMatrixRotatedEXT, MATRIXROTATEDEXT, (GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MatrixRotatefEXT, glMatrixRotatefEXT, MATRIXROTATEFEXT, (GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MatrixScaledEXT, glMatrixScaledEXT, MATRIXSCALEDEXT, (GLenum mode, GLdouble x, GLdouble y, GLdouble z), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MatrixScalefEXT, glMatrixScalefEXT, MATRIXSCALEFEXT, (GLenum mode, GLfloat x, GLfloat y, GLfloat z), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MatrixTranslatedEXT, glMatrixTranslatedEXT, MATRIXTRANSLATEDEXT, (GLenum mode, GLdouble x, GLdouble y, GLdouble z), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MatrixTranslatefEXT, glMatrixTranslatefEXT, MATRIXTRANSLATEFEXT, (GLenum mode, GLfloat x, GLfloat y, GLfloat z), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MemoryBarrier, glMemoryBarrier, MEMORYBARRIER, (GLbitfield barriers), &barriers, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MemoryBarrierEXT, glMemoryBarrierEXT, MEMORYBARRIEREXT, (GLbitfield barriers), &barriers, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MinSampleShading, glMinSampleShading, MINSAMPLESHADING, (GLfloat value), &value, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MinSampleShadingARB, glMinSampleShadingARB, MINSAMPLESHADINGARB, (GLfloat value), &value, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Minmax, glMinmax, MINMAX, (GLenum target, GLenum internalformat, GLboolean32 sink), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MinmaxEXT, glMinmaxEXT, MINMAXEXT, (GLenum target, GLenum internalformat, GLboolean32 sink), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultMatrixd, glMultMatrixd, MULTMATRIXD, (const GLdouble *m), &m, GL_void_return) #endif GL_PROC(void, gl, MultMatrixf, glMultMatrixf, MULTMATRIXF, (const GLfloat *m), &m, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultMatrixxOES, glMultMatrixxOES, MULTMATRIXXOES, (const GLfixed *m), &m, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultTransposeMatrixd, glMultTransposeMatrixd, MULTTRANSPOSEMATRIXD, (const GLdouble *m), &m, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultTransposeMatrixdARB, glMultTransposeMatrixdARB, MULTTRANSPOSEMATRIXDARB, (const GLdouble *m), &m, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultTransposeMatrixf, glMultTransposeMatrixf, MULTTRANSPOSEMATRIXF, (const GLfloat *m), &m, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultTransposeMatrixfARB, glMultTransposeMatrixfARB, MULTTRANSPOSEMATRIXFARB, (const GLfloat *m), &m, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultTransposeMatrixxOES, glMultTransposeMatrixxOES, MULTTRANSPOSEMATRIXXOES, (const GLfixed *m), &m, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiDrawArrays, glMultiDrawArrays, MULTIDRAWARRAYS, (GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiDrawArraysEXT, glMultiDrawArraysEXT, MULTIDRAWARRAYSEXT, (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiDrawArraysIndirect, glMultiDrawArraysIndirect, MULTIDRAWARRAYSINDIRECT, (GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiDrawArraysIndirectAMD, glMultiDrawArraysIndirectAMD, MULTIDRAWARRAYSINDIRECTAMD, (GLenum mode, const void *indirect, GLsizei primcount, GLsizei stride), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiDrawArraysIndirectBindlessNV, glMultiDrawArraysIndirectBindlessNV, MULTIDRAWARRAYSINDIRECTBINDLESSNV, (GLenum mode, const void *indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiDrawArraysIndirectCountARB, glMultiDrawArraysIndirectCountARB, MULTIDRAWARRAYSINDIRECTCOUNTARB, (GLenum mode, GLintptr indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiDrawElementArrayAPPLE, glMultiDrawElementArrayAPPLE, MULTIDRAWELEMENTARRAYAPPLE, (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiDrawElements, glMultiDrawElements, MULTIDRAWELEMENTS, (GLenum mode, const GLsizei *count, GLenum type, const void *const *indices, GLsizei drawcount), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiDrawElementsBaseVertex, glMultiDrawElementsBaseVertex, MULTIDRAWELEMENTSBASEVERTEX, (GLenum mode, const GLsizei *count, GLenum type, const void *const *indices, GLsizei drawcount, const GLint *basevertex), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiDrawElementsEXT, glMultiDrawElementsEXT, MULTIDRAWELEMENTSEXT, (GLenum mode, const GLsizei *count, GLenum type, const void *const *indices, GLsizei primcount), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiDrawElementsIndirect, glMultiDrawElementsIndirect, MULTIDRAWELEMENTSINDIRECT, (GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiDrawElementsIndirectAMD, glMultiDrawElementsIndirectAMD, MULTIDRAWELEMENTSINDIRECTAMD, (GLenum mode, GLenum type, const void *indirect, GLsizei primcount, GLsizei stride), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiDrawElementsIndirectBindlessNV, glMultiDrawElementsIndirectBindlessNV, MULTIDRAWELEMENTSINDIRECTBINDLESSNV, (GLenum mode, GLenum type, const void *indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiDrawElementsIndirectCountARB, glMultiDrawElementsIndirectCountARB, MULTIDRAWELEMENTSINDIRECTCOUNTARB, (GLenum mode, GLenum type, GLintptr indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiDrawRangeElementArrayAPPLE, glMultiDrawRangeElementArrayAPPLE, MULTIDRAWRANGEELEMENTARRAYAPPLE, (GLenum mode, GLuint start, GLuint end, const GLint *first, const GLsizei *count, GLsizei primcount), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiModeDrawArraysIBM, glMultiModeDrawArraysIBM, MULTIMODEDRAWARRAYSIBM, (const GLenum *mode, const GLint *first, const GLsizei *count, GLsizei primcount, GLint modestride), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiModeDrawElementsIBM, glMultiModeDrawElementsIBM, MULTIMODEDRAWELEMENTSIBM, (const GLenum *mode, const GLsizei *count, GLenum type, const void *const *indices, GLsizei primcount, GLint modestride), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexBufferEXT, glMultiTexBufferEXT, MULTITEXBUFFEREXT, (GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord1bOES, glMultiTexCoord1bOES, MULTITEXCOORD1BOES, (GLenum texture, GLbyte32 s), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord1bvOES, glMultiTexCoord1bvOES, MULTITEXCOORD1BVOES, (GLenum texture, const GLbyte *coords), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord1d, glMultiTexCoord1d, MULTITEXCOORD1D, (GLenum target, GLdouble s), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord1dARB, glMultiTexCoord1dARB, MULTITEXCOORD1DARB, (GLenum target, GLdouble s), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord1dv, glMultiTexCoord1dv, MULTITEXCOORD1DV, (GLenum target, const GLdouble *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord1dvARB, glMultiTexCoord1dvARB, MULTITEXCOORD1DVARB, (GLenum target, const GLdouble *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord1f, glMultiTexCoord1f, MULTITEXCOORD1F, (GLenum target, GLfloat s), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord1fARB, glMultiTexCoord1fARB, MULTITEXCOORD1FARB, (GLenum target, GLfloat s), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord1fv, glMultiTexCoord1fv, MULTITEXCOORD1FV, (GLenum target, const GLfloat *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord1fvARB, glMultiTexCoord1fvARB, MULTITEXCOORD1FVARB, (GLenum target, const GLfloat *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord1hNV, glMultiTexCoord1hNV, MULTITEXCOORD1HNV, (GLenum target, GLhalfNV32 s), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord1hvNV, glMultiTexCoord1hvNV, MULTITEXCOORD1HVNV, (GLenum target, const GLhalfNV *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord1i, glMultiTexCoord1i, MULTITEXCOORD1I, (GLenum target, GLint s), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord1iARB, glMultiTexCoord1iARB, MULTITEXCOORD1IARB, (GLenum target, GLint s), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord1iv, glMultiTexCoord1iv, MULTITEXCOORD1IV, (GLenum target, const GLint *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord1ivARB, glMultiTexCoord1ivARB, MULTITEXCOORD1IVARB, (GLenum target, const GLint *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord1s, glMultiTexCoord1s, MULTITEXCOORD1S, (GLenum target, GLshort32 s), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord1sARB, glMultiTexCoord1sARB, MULTITEXCOORD1SARB, (GLenum target, GLshort32 s), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord1sv, glMultiTexCoord1sv, MULTITEXCOORD1SV, (GLenum target, const GLshort *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord1svARB, glMultiTexCoord1svARB, MULTITEXCOORD1SVARB, (GLenum target, const GLshort *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord1xOES, glMultiTexCoord1xOES, MULTITEXCOORD1XOES, (GLenum texture, GLfixed s), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord1xvOES, glMultiTexCoord1xvOES, MULTITEXCOORD1XVOES, (GLenum texture, const GLfixed *coords), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord2bOES, glMultiTexCoord2bOES, MULTITEXCOORD2BOES, (GLenum texture, GLbyte32 s, GLbyte32 t), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord2bvOES, glMultiTexCoord2bvOES, MULTITEXCOORD2BVOES, (GLenum texture, const GLbyte *coords), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord2d, glMultiTexCoord2d, MULTITEXCOORD2D, (GLenum target, GLdouble s, GLdouble t), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord2dARB, glMultiTexCoord2dARB, MULTITEXCOORD2DARB, (GLenum target, GLdouble s, GLdouble t), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord2dv, glMultiTexCoord2dv, MULTITEXCOORD2DV, (GLenum target, const GLdouble *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord2dvARB, glMultiTexCoord2dvARB, MULTITEXCOORD2DVARB, (GLenum target, const GLdouble *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord2f, glMultiTexCoord2f, MULTITEXCOORD2F, (GLenum target, GLfloat s, GLfloat t), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord2fARB, glMultiTexCoord2fARB, MULTITEXCOORD2FARB, (GLenum target, GLfloat s, GLfloat t), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord2fv, glMultiTexCoord2fv, MULTITEXCOORD2FV, (GLenum target, const GLfloat *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord2fvARB, glMultiTexCoord2fvARB, MULTITEXCOORD2FVARB, (GLenum target, const GLfloat *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord2hNV, glMultiTexCoord2hNV, MULTITEXCOORD2HNV, (GLenum target, GLhalfNV32 s, GLhalfNV32 t), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord2hvNV, glMultiTexCoord2hvNV, MULTITEXCOORD2HVNV, (GLenum target, const GLhalfNV *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord2i, glMultiTexCoord2i, MULTITEXCOORD2I, (GLenum target, GLint s, GLint t), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord2iARB, glMultiTexCoord2iARB, MULTITEXCOORD2IARB, (GLenum target, GLint s, GLint t), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord2iv, glMultiTexCoord2iv, MULTITEXCOORD2IV, (GLenum target, const GLint *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord2ivARB, glMultiTexCoord2ivARB, MULTITEXCOORD2IVARB, (GLenum target, const GLint *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord2s, glMultiTexCoord2s, MULTITEXCOORD2S, (GLenum target, GLshort32 s, GLshort32 t), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord2sARB, glMultiTexCoord2sARB, MULTITEXCOORD2SARB, (GLenum target, GLshort32 s, GLshort32 t), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord2sv, glMultiTexCoord2sv, MULTITEXCOORD2SV, (GLenum target, const GLshort *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord2svARB, glMultiTexCoord2svARB, MULTITEXCOORD2SVARB, (GLenum target, const GLshort *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord2xOES, glMultiTexCoord2xOES, MULTITEXCOORD2XOES, (GLenum texture, GLfixed s, GLfixed t), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord2xvOES, glMultiTexCoord2xvOES, MULTITEXCOORD2XVOES, (GLenum texture, const GLfixed *coords), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord3bOES, glMultiTexCoord3bOES, MULTITEXCOORD3BOES, (GLenum texture, GLbyte32 s, GLbyte32 t, GLbyte32 r), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord3bvOES, glMultiTexCoord3bvOES, MULTITEXCOORD3BVOES, (GLenum texture, const GLbyte *coords), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord3d, glMultiTexCoord3d, MULTITEXCOORD3D, (GLenum target, GLdouble s, GLdouble t, GLdouble r), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord3dARB, glMultiTexCoord3dARB, MULTITEXCOORD3DARB, (GLenum target, GLdouble s, GLdouble t, GLdouble r), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord3dv, glMultiTexCoord3dv, MULTITEXCOORD3DV, (GLenum target, const GLdouble *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord3dvARB, glMultiTexCoord3dvARB, MULTITEXCOORD3DVARB, (GLenum target, const GLdouble *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord3f, glMultiTexCoord3f, MULTITEXCOORD3F, (GLenum target, GLfloat s, GLfloat t, GLfloat r), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord3fARB, glMultiTexCoord3fARB, MULTITEXCOORD3FARB, (GLenum target, GLfloat s, GLfloat t, GLfloat r), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord3fv, glMultiTexCoord3fv, MULTITEXCOORD3FV, (GLenum target, const GLfloat *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord3fvARB, glMultiTexCoord3fvARB, MULTITEXCOORD3FVARB, (GLenum target, const GLfloat *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord3hNV, glMultiTexCoord3hNV, MULTITEXCOORD3HNV, (GLenum target, GLhalfNV32 s, GLhalfNV32 t, GLhalfNV32 r), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord3hvNV, glMultiTexCoord3hvNV, MULTITEXCOORD3HVNV, (GLenum target, const GLhalfNV *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord3i, glMultiTexCoord3i, MULTITEXCOORD3I, (GLenum target, GLint s, GLint t, GLint r), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord3iARB, glMultiTexCoord3iARB, MULTITEXCOORD3IARB, (GLenum target, GLint s, GLint t, GLint r), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord3iv, glMultiTexCoord3iv, MULTITEXCOORD3IV, (GLenum target, const GLint *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord3ivARB, glMultiTexCoord3ivARB, MULTITEXCOORD3IVARB, (GLenum target, const GLint *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord3s, glMultiTexCoord3s, MULTITEXCOORD3S, (GLenum target, GLshort32 s, GLshort32 t, GLshort32 r), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord3sARB, glMultiTexCoord3sARB, MULTITEXCOORD3SARB, (GLenum target, GLshort32 s, GLshort32 t, GLshort32 r), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord3sv, glMultiTexCoord3sv, MULTITEXCOORD3SV, (GLenum target, const GLshort *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord3svARB, glMultiTexCoord3svARB, MULTITEXCOORD3SVARB, (GLenum target, const GLshort *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord3xOES, glMultiTexCoord3xOES, MULTITEXCOORD3XOES, (GLenum texture, GLfixed s, GLfixed t, GLfixed r), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord3xvOES, glMultiTexCoord3xvOES, MULTITEXCOORD3XVOES, (GLenum texture, const GLfixed *coords), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord4bOES, glMultiTexCoord4bOES, MULTITEXCOORD4BOES, (GLenum texture, GLbyte32 s, GLbyte32 t, GLbyte32 r, GLbyte32 q), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord4bvOES, glMultiTexCoord4bvOES, MULTITEXCOORD4BVOES, (GLenum texture, const GLbyte *coords), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord4d, glMultiTexCoord4d, MULTITEXCOORD4D, (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord4dARB, glMultiTexCoord4dARB, MULTITEXCOORD4DARB, (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord4dv, glMultiTexCoord4dv, MULTITEXCOORD4DV, (GLenum target, const GLdouble *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord4dvARB, glMultiTexCoord4dvARB, MULTITEXCOORD4DVARB, (GLenum target, const GLdouble *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord4f, glMultiTexCoord4f, MULTITEXCOORD4F, (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord4fARB, glMultiTexCoord4fARB, MULTITEXCOORD4FARB, (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord4fv, glMultiTexCoord4fv, MULTITEXCOORD4FV, (GLenum target, const GLfloat *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord4fvARB, glMultiTexCoord4fvARB, MULTITEXCOORD4FVARB, (GLenum target, const GLfloat *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord4hNV, glMultiTexCoord4hNV, MULTITEXCOORD4HNV, (GLenum target, GLhalfNV32 s, GLhalfNV32 t, GLhalfNV32 r, GLhalfNV32 q), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord4hvNV, glMultiTexCoord4hvNV, MULTITEXCOORD4HVNV, (GLenum target, const GLhalfNV *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord4i, glMultiTexCoord4i, MULTITEXCOORD4I, (GLenum target, GLint s, GLint t, GLint r, GLint q), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord4iARB, glMultiTexCoord4iARB, MULTITEXCOORD4IARB, (GLenum target, GLint s, GLint t, GLint r, GLint q), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord4iv, glMultiTexCoord4iv, MULTITEXCOORD4IV, (GLenum target, const GLint *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord4ivARB, glMultiTexCoord4ivARB, MULTITEXCOORD4IVARB, (GLenum target, const GLint *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord4s, glMultiTexCoord4s, MULTITEXCOORD4S, (GLenum target, GLshort32 s, GLshort32 t, GLshort32 r, GLshort32 q), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord4sARB, glMultiTexCoord4sARB, MULTITEXCOORD4SARB, (GLenum target, GLshort32 s, GLshort32 t, GLshort32 r, GLshort32 q), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord4sv, glMultiTexCoord4sv, MULTITEXCOORD4SV, (GLenum target, const GLshort *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord4svARB, glMultiTexCoord4svARB, MULTITEXCOORD4SVARB, (GLenum target, const GLshort *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord4xOES, glMultiTexCoord4xOES, MULTITEXCOORD4XOES, (GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoord4xvOES, glMultiTexCoord4xvOES, MULTITEXCOORD4XVOES, (GLenum texture, const GLfixed *coords), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoordP1ui, glMultiTexCoordP1ui, MULTITEXCOORDP1UI, (GLenum texture, GLenum type, GLuint coords), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoordP1uiv, glMultiTexCoordP1uiv, MULTITEXCOORDP1UIV, (GLenum texture, GLenum type, const GLuint *coords), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoordP2ui, glMultiTexCoordP2ui, MULTITEXCOORDP2UI, (GLenum texture, GLenum type, GLuint coords), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoordP2uiv, glMultiTexCoordP2uiv, MULTITEXCOORDP2UIV, (GLenum texture, GLenum type, const GLuint *coords), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoordP3ui, glMultiTexCoordP3ui, MULTITEXCOORDP3UI, (GLenum texture, GLenum type, GLuint coords), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoordP3uiv, glMultiTexCoordP3uiv, MULTITEXCOORDP3UIV, (GLenum texture, GLenum type, const GLuint *coords), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoordP4ui, glMultiTexCoordP4ui, MULTITEXCOORDP4UI, (GLenum texture, GLenum type, GLuint coords), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoordP4uiv, glMultiTexCoordP4uiv, MULTITEXCOORDP4UIV, (GLenum texture, GLenum type, const GLuint *coords), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexCoordPointerEXT, glMultiTexCoordPointerEXT, MULTITEXCOORDPOINTEREXT, (GLenum texunit, GLint size, GLenum type, GLsizei stride, const void *pointer), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexEnvfEXT, glMultiTexEnvfEXT, MULTITEXENVFEXT, (GLenum texunit, GLenum target, GLenum pname, GLfloat param), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexEnvfvEXT, glMultiTexEnvfvEXT, MULTITEXENVFVEXT, (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexEnviEXT, glMultiTexEnviEXT, MULTITEXENVIEXT, (GLenum texunit, GLenum target, GLenum pname, GLint param), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexEnvivEXT, glMultiTexEnvivEXT, MULTITEXENVIVEXT, (GLenum texunit, GLenum target, GLenum pname, const GLint *params), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexGendEXT, glMultiTexGendEXT, MULTITEXGENDEXT, (GLenum texunit, GLenum coord, GLenum pname, GLdouble param), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexGendvEXT, glMultiTexGendvEXT, MULTITEXGENDVEXT, (GLenum texunit, GLenum coord, GLenum pname, const GLdouble *params), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexGenfEXT, glMultiTexGenfEXT, MULTITEXGENFEXT, (GLenum texunit, GLenum coord, GLenum pname, GLfloat param), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexGenfvEXT, glMultiTexGenfvEXT, MULTITEXGENFVEXT, (GLenum texunit, GLenum coord, GLenum pname, const GLfloat *params), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexGeniEXT, glMultiTexGeniEXT, MULTITEXGENIEXT, (GLenum texunit, GLenum coord, GLenum pname, GLint param), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexGenivEXT, glMultiTexGenivEXT, MULTITEXGENIVEXT, (GLenum texunit, GLenum coord, GLenum pname, const GLint *params), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexImage1DEXT, glMultiTexImage1DEXT, MULTITEXIMAGE1DEXT, (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexImage2DEXT, glMultiTexImage2DEXT, MULTITEXIMAGE2DEXT, (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexImage3DEXT, glMultiTexImage3DEXT, MULTITEXIMAGE3DEXT, (GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexParameterIivEXT, glMultiTexParameterIivEXT, MULTITEXPARAMETERIIVEXT, (GLenum texunit, GLenum target, GLenum pname, const GLint *params), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexParameterIuivEXT, glMultiTexParameterIuivEXT, MULTITEXPARAMETERIUIVEXT, (GLenum texunit, GLenum target, GLenum pname, const GLuint *params), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexParameterfEXT, glMultiTexParameterfEXT, MULTITEXPARAMETERFEXT, (GLenum texunit, GLenum target, GLenum pname, GLfloat param), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexParameterfvEXT, glMultiTexParameterfvEXT, MULTITEXPARAMETERFVEXT, (GLenum texunit, GLenum target, GLenum pname, const GLfloat *params), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexParameteriEXT, glMultiTexParameteriEXT, MULTITEXPARAMETERIEXT, (GLenum texunit, GLenum target, GLenum pname, GLint param), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexParameterivEXT, glMultiTexParameterivEXT, MULTITEXPARAMETERIVEXT, (GLenum texunit, GLenum target, GLenum pname, const GLint *params), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexRenderbufferEXT, glMultiTexRenderbufferEXT, MULTITEXRENDERBUFFEREXT, (GLenum texunit, GLenum target, GLuint renderbuffer), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexSubImage1DEXT, glMultiTexSubImage1DEXT, MULTITEXSUBIMAGE1DEXT, (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexSubImage2DEXT, glMultiTexSubImage2DEXT, MULTITEXSUBIMAGE2DEXT, (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, MultiTexSubImage3DEXT, glMultiTexSubImage3DEXT, MULTITEXSUBIMAGE3DEXT, (GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels), &texunit, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NamedBufferDataEXT, glNamedBufferDataEXT, NAMEDBUFFERDATAEXT, (GLuint buffer, GLsizeiptr size, const void *data, GLenum usage), &buffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NamedBufferStorageEXT, glNamedBufferStorageEXT, NAMEDBUFFERSTORAGEEXT, (GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags), &buffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NamedBufferSubDataEXT, glNamedBufferSubDataEXT, NAMEDBUFFERSUBDATAEXT, (GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data), &buffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NamedCopyBufferSubDataEXT, glNamedCopyBufferSubDataEXT, NAMEDCOPYBUFFERSUBDATAEXT, (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size), &readBuffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NamedFramebufferParameteriEXT, glNamedFramebufferParameteriEXT, NAMEDFRAMEBUFFERPARAMETERIEXT, (GLuint framebuffer, GLenum pname, GLint param), &framebuffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NamedFramebufferRenderbufferEXT, glNamedFramebufferRenderbufferEXT, NAMEDFRAMEBUFFERRENDERBUFFEREXT, (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer), &framebuffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NamedFramebufferTexture1DEXT, glNamedFramebufferTexture1DEXT, NAMEDFRAMEBUFFERTEXTURE1DEXT, (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level), &framebuffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NamedFramebufferTexture2DEXT, glNamedFramebufferTexture2DEXT, NAMEDFRAMEBUFFERTEXTURE2DEXT, (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level), &framebuffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NamedFramebufferTexture3DEXT, glNamedFramebufferTexture3DEXT, NAMEDFRAMEBUFFERTEXTURE3DEXT, (GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset), &framebuffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NamedFramebufferTextureEXT, glNamedFramebufferTextureEXT, NAMEDFRAMEBUFFERTEXTUREEXT, (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level), &framebuffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NamedFramebufferTextureFaceEXT, glNamedFramebufferTextureFaceEXT, NAMEDFRAMEBUFFERTEXTUREFACEEXT, (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face), &framebuffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NamedFramebufferTextureLayerEXT, glNamedFramebufferTextureLayerEXT, NAMEDFRAMEBUFFERTEXTURELAYEREXT, (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer), &framebuffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NamedProgramLocalParameter4dEXT, glNamedProgramLocalParameter4dEXT, NAMEDPROGRAMLOCALPARAMETER4DEXT, (GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NamedProgramLocalParameter4dvEXT, glNamedProgramLocalParameter4dvEXT, NAMEDPROGRAMLOCALPARAMETER4DVEXT, (GLuint program, GLenum target, GLuint index, const GLdouble *params), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NamedProgramLocalParameter4fEXT, glNamedProgramLocalParameter4fEXT, NAMEDPROGRAMLOCALPARAMETER4FEXT, (GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NamedProgramLocalParameter4fvEXT, glNamedProgramLocalParameter4fvEXT, NAMEDPROGRAMLOCALPARAMETER4FVEXT, (GLuint program, GLenum target, GLuint index, const GLfloat *params), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NamedProgramLocalParameterI4iEXT, glNamedProgramLocalParameterI4iEXT, NAMEDPROGRAMLOCALPARAMETERI4IEXT, (GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NamedProgramLocalParameterI4ivEXT, glNamedProgramLocalParameterI4ivEXT, NAMEDPROGRAMLOCALPARAMETERI4IVEXT, (GLuint program, GLenum target, GLuint index, const GLint *params), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NamedProgramLocalParameterI4uiEXT, glNamedProgramLocalParameterI4uiEXT, NAMEDPROGRAMLOCALPARAMETERI4UIEXT, (GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NamedProgramLocalParameterI4uivEXT, glNamedProgramLocalParameterI4uivEXT, NAMEDPROGRAMLOCALPARAMETERI4UIVEXT, (GLuint program, GLenum target, GLuint index, const GLuint *params), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NamedProgramLocalParameters4fvEXT, glNamedProgramLocalParameters4fvEXT, NAMEDPROGRAMLOCALPARAMETERS4FVEXT, (GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat *params), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NamedProgramLocalParametersI4ivEXT, glNamedProgramLocalParametersI4ivEXT, NAMEDPROGRAMLOCALPARAMETERSI4IVEXT, (GLuint program, GLenum target, GLuint index, GLsizei count, const GLint *params), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NamedProgramLocalParametersI4uivEXT, glNamedProgramLocalParametersI4uivEXT, NAMEDPROGRAMLOCALPARAMETERSI4UIVEXT, (GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint *params), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NamedProgramStringEXT, glNamedProgramStringEXT, NAMEDPROGRAMSTRINGEXT, (GLuint program, GLenum target, GLenum format, GLsizei len, const void *string), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NamedRenderbufferStorageEXT, glNamedRenderbufferStorageEXT, NAMEDRENDERBUFFERSTORAGEEXT, (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height), &renderbuffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NamedRenderbufferStorageMultisampleCoverageEXT, glNamedRenderbufferStorageMultisampleCoverageEXT, NAMEDRENDERBUFFERSTORAGEMULTISAMPLECOVERAGEEXT, (GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height), &renderbuffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NamedRenderbufferStorageMultisampleEXT, glNamedRenderbufferStorageMultisampleEXT, NAMEDRENDERBUFFERSTORAGEMULTISAMPLEEXT, (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height), &renderbuffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NamedStringARB, glNamedStringARB, NAMEDSTRINGARB, (GLenum type, GLint namelen, const GLchar *name, GLint stringlen, const GLchar *string), &type, GL_void_return) #endif GL_PROC(void, gl, NewList, glNewList, NEWLIST, (GLuint list, GLenum mode), &list, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(GLuint, gl, NewObjectBufferATI, glNewObjectBufferATI, NEWOBJECTBUFFERATI, (GLsizei size, const void *pointer, GLenum usage), &size, return (GLuint)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NewTraceMESA, glNewTraceMESA, NEWTRACEMESA, (GLbitfield mask, const GLubyte *traceName), &mask, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Normal3b, glNormal3b, NORMAL3B, (GLbyte32 nx, GLbyte32 ny, GLbyte32 nz), &nx, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Normal3bv, glNormal3bv, NORMAL3BV, (const GLbyte *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Normal3d, glNormal3d, NORMAL3D, (GLdouble nx, GLdouble ny, GLdouble nz), &nx, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Normal3dv, glNormal3dv, NORMAL3DV, (const GLdouble *v), &v, GL_void_return) #endif GL_PROC(void, gl, Normal3f, glNormal3f, NORMAL3F, (GLfloat nx, GLfloat ny, GLfloat nz), &nx, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Normal3fVertex3fSUN, glNormal3fVertex3fSUN, NORMAL3FVERTEX3FSUN, (GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z), &nx, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Normal3fVertex3fvSUN, glNormal3fVertex3fvSUN, NORMAL3FVERTEX3FVSUN, (const GLfloat *n, const GLfloat *v), &n, GL_void_return) #endif GL_PROC(void, gl, Normal3fv, glNormal3fv, NORMAL3FV, (const GLfloat *v), &v, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Normal3hNV, glNormal3hNV, NORMAL3HNV, (GLhalfNV32 nx, GLhalfNV32 ny, GLhalfNV32 nz), &nx, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Normal3hvNV, glNormal3hvNV, NORMAL3HVNV, (const GLhalfNV *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Normal3i, glNormal3i, NORMAL3I, (GLint nx, GLint ny, GLint nz), &nx, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Normal3iv, glNormal3iv, NORMAL3IV, (const GLint *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Normal3s, glNormal3s, NORMAL3S, (GLshort32 nx, GLshort32 ny, GLshort32 nz), &nx, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Normal3sv, glNormal3sv, NORMAL3SV, (const GLshort *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Normal3xOES, glNormal3xOES, NORMAL3XOES, (GLfixed nx, GLfixed ny, GLfixed nz), &nx, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Normal3xvOES, glNormal3xvOES, NORMAL3XVOES, (const GLfixed *coords), &coords, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NormalFormatNV, glNormalFormatNV, NORMALFORMATNV, (GLenum type, GLsizei stride), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NormalP3ui, glNormalP3ui, NORMALP3UI, (GLenum type, GLuint coords), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NormalP3uiv, glNormalP3uiv, NORMALP3UIV, (GLenum type, const GLuint *coords), &type, GL_void_return) #endif GL_PROC(void, gl, NormalPointer, glNormalPointer, NORMALPOINTER, (GLenum type, GLsizei stride, const GLvoid *pointer), &type, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NormalPointerEXT, glNormalPointerEXT, NORMALPOINTEREXT, (GLenum type, GLsizei stride, GLsizei count, const void *pointer), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NormalPointerListIBM, glNormalPointerListIBM, NORMALPOINTERLISTIBM, (GLenum type, GLint stride, const void * *pointer, GLint ptrstride), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NormalPointervINTEL, glNormalPointervINTEL, NORMALPOINTERVINTEL, (GLenum type, const void * *pointer), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NormalStream3bATI, glNormalStream3bATI, NORMALSTREAM3BATI, (GLenum stream, GLbyte32 nx, GLbyte32 ny, GLbyte32 nz), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NormalStream3bvATI, glNormalStream3bvATI, NORMALSTREAM3BVATI, (GLenum stream, const GLbyte *coords), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NormalStream3dATI, glNormalStream3dATI, NORMALSTREAM3DATI, (GLenum stream, GLdouble nx, GLdouble ny, GLdouble nz), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NormalStream3dvATI, glNormalStream3dvATI, NORMALSTREAM3DVATI, (GLenum stream, const GLdouble *coords), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NormalStream3fATI, glNormalStream3fATI, NORMALSTREAM3FATI, (GLenum stream, GLfloat nx, GLfloat ny, GLfloat nz), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NormalStream3fvATI, glNormalStream3fvATI, NORMALSTREAM3FVATI, (GLenum stream, const GLfloat *coords), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NormalStream3iATI, glNormalStream3iATI, NORMALSTREAM3IATI, (GLenum stream, GLint nx, GLint ny, GLint nz), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NormalStream3ivATI, glNormalStream3ivATI, NORMALSTREAM3IVATI, (GLenum stream, const GLint *coords), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NormalStream3sATI, glNormalStream3sATI, NORMALSTREAM3SATI, (GLenum stream, GLshort32 nx, GLshort32 ny, GLshort32 nz), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, NormalStream3svATI, glNormalStream3svATI, NORMALSTREAM3SVATI, (GLenum stream, const GLshort *coords), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ObjectLabel, glObjectLabel, OBJECTLABEL, (GLenum identifier, GLuint name, GLsizei length, const GLchar *label), &identifier, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ObjectPtrLabel, glObjectPtrLabel, OBJECTPTRLABEL, (const void *ptr, GLsizei length, const GLchar *label), &ptr, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLenum, gl, ObjectPurgeableAPPLE, glObjectPurgeableAPPLE, OBJECTPURGEABLEAPPLE, (GLenum objectType, GLuint name, GLenum option), &objectType, return (GLenum)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLenum, gl, ObjectUnpurgeableAPPLE, glObjectUnpurgeableAPPLE, OBJECTUNPURGEABLEAPPLE, (GLenum objectType, GLuint name, GLenum option), &objectType, return (GLenum)) #endif GL_PROC(void, gl, Ortho, glOrtho, ORTHO, (GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar), &left, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, OrthofOES, glOrthofOES, ORTHOFOES, (GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f), &l, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, OrthoxOES, glOrthoxOES, ORTHOXOES, (GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f), &l, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PNTrianglesfATI, glPNTrianglesfATI, PNTRIANGLESFATI, (GLenum pname, GLfloat param), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PNTrianglesiATI, glPNTrianglesiATI, PNTRIANGLESIATI, (GLenum pname, GLint param), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PassTexCoordATI, glPassTexCoordATI, PASSTEXCOORDATI, (GLuint dst, GLuint coord, GLenum swizzle), &dst, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PassThrough, glPassThrough, PASSTHROUGH, (GLfloat token), &token, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PassThroughxOES, glPassThroughxOES, PASSTHROUGHXOES, (GLfixed token), &token, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PatchParameterfv, glPatchParameterfv, PATCHPARAMETERFV, (GLenum pname, const GLfloat *values), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PatchParameteri, glPatchParameteri, PATCHPARAMETERI, (GLenum pname, GLint value), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PathColorGenNV, glPathColorGenNV, PATHCOLORGENNV, (GLenum color, GLenum genMode, GLenum colorFormat, const GLfloat *coeffs), &color, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PathCommandsNV, glPathCommandsNV, PATHCOMMANDSNV, (GLuint path, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords), &path, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PathCoordsNV, glPathCoordsNV, PATHCOORDSNV, (GLuint path, GLsizei numCoords, GLenum coordType, const void *coords), &path, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PathCoverDepthFuncNV, glPathCoverDepthFuncNV, PATHCOVERDEPTHFUNCNV, (GLenum func), &func, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PathDashArrayNV, glPathDashArrayNV, PATHDASHARRAYNV, (GLuint path, GLsizei dashCount, const GLfloat *dashArray), &path, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PathFogGenNV, glPathFogGenNV, PATHFOGGENNV, (GLenum genMode), &genMode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PathGlyphRangeNV, glPathGlyphRangeNV, PATHGLYPHRANGENV, (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale), &firstPathName, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PathGlyphsNV, glPathGlyphsNV, PATHGLYPHSNV, (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const void *charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale), &firstPathName, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PathParameterfNV, glPathParameterfNV, PATHPARAMETERFNV, (GLuint path, GLenum pname, GLfloat value), &path, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PathParameterfvNV, glPathParameterfvNV, PATHPARAMETERFVNV, (GLuint path, GLenum pname, const GLfloat *value), &path, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PathParameteriNV, glPathParameteriNV, PATHPARAMETERINV, (GLuint path, GLenum pname, GLint value), &path, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PathParameterivNV, glPathParameterivNV, PATHPARAMETERIVNV, (GLuint path, GLenum pname, const GLint *value), &path, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PathStencilDepthOffsetNV, glPathStencilDepthOffsetNV, PATHSTENCILDEPTHOFFSETNV, (GLfloat factor, GLfloat units), &factor, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PathStencilFuncNV, glPathStencilFuncNV, PATHSTENCILFUNCNV, (GLenum func, GLint ref, GLuint mask), &func, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PathStringNV, glPathStringNV, PATHSTRINGNV, (GLuint path, GLenum format, GLsizei length, const void *pathString), &path, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PathSubCommandsNV, glPathSubCommandsNV, PATHSUBCOMMANDSNV, (GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords), &path, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PathSubCoordsNV, glPathSubCoordsNV, PATHSUBCOORDSNV, (GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const void *coords), &path, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PathTexGenNV, glPathTexGenNV, PATHTEXGENNV, (GLenum texCoordSet, GLenum genMode, GLint components, const GLfloat *coeffs), &texCoordSet, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PauseTransformFeedback, glPauseTransformFeedback, PAUSETRANSFORMFEEDBACK, (void), NULL, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PauseTransformFeedbackNV, glPauseTransformFeedbackNV, PAUSETRANSFORMFEEDBACKNV, (void), NULL, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PixelDataRangeNV, glPixelDataRangeNV, PIXELDATARANGENV, (GLenum target, GLsizei length, const void *pointer), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PixelMapfv, glPixelMapfv, PIXELMAPFV, (GLenum map, GLsizei mapsize, const GLfloat *values), &map, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PixelMapuiv, glPixelMapuiv, PIXELMAPUIV, (GLenum map, GLsizei mapsize, const GLuint *values), &map, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PixelMapusv, glPixelMapusv, PIXELMAPUSV, (GLenum map, GLsizei mapsize, const GLushort *values), &map, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PixelMapx, glPixelMapx, PIXELMAPX, (GLenum map, GLint size, const GLfixed *values), &map, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PixelStoref, glPixelStoref, PIXELSTOREF, (GLenum pname, GLfloat param), &pname, GL_void_return) #endif GL_PROC(void, gl, PixelStorei, glPixelStorei, PIXELSTOREI, (GLenum pname, GLint param), &pname, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PixelStorex, glPixelStorex, PIXELSTOREX, (GLenum pname, GLfixed param), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PixelTexGenParameterfSGIS, glPixelTexGenParameterfSGIS, PIXELTEXGENPARAMETERFSGIS, (GLenum pname, GLfloat param), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PixelTexGenParameterfvSGIS, glPixelTexGenParameterfvSGIS, PIXELTEXGENPARAMETERFVSGIS, (GLenum pname, const GLfloat *params), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PixelTexGenParameteriSGIS, glPixelTexGenParameteriSGIS, PIXELTEXGENPARAMETERISGIS, (GLenum pname, GLint param), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PixelTexGenParameterivSGIS, glPixelTexGenParameterivSGIS, PIXELTEXGENPARAMETERIVSGIS, (GLenum pname, const GLint *params), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PixelTexGenSGIX, glPixelTexGenSGIX, PIXELTEXGENSGIX, (GLenum mode), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PixelTransferf, glPixelTransferf, PIXELTRANSFERF, (GLenum pname, GLfloat param), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PixelTransferi, glPixelTransferi, PIXELTRANSFERI, (GLenum pname, GLint param), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PixelTransferxOES, glPixelTransferxOES, PIXELTRANSFERXOES, (GLenum pname, GLfixed param), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PixelTransformParameterfEXT, glPixelTransformParameterfEXT, PIXELTRANSFORMPARAMETERFEXT, (GLenum target, GLenum pname, GLfloat param), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PixelTransformParameterfvEXT, glPixelTransformParameterfvEXT, PIXELTRANSFORMPARAMETERFVEXT, (GLenum target, GLenum pname, const GLfloat *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PixelTransformParameteriEXT, glPixelTransformParameteriEXT, PIXELTRANSFORMPARAMETERIEXT, (GLenum target, GLenum pname, GLint param), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PixelTransformParameterivEXT, glPixelTransformParameterivEXT, PIXELTRANSFORMPARAMETERIVEXT, (GLenum target, GLenum pname, const GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PixelZoom, glPixelZoom, PIXELZOOM, (GLfloat xfactor, GLfloat yfactor), &xfactor, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PixelZoomxOES, glPixelZoomxOES, PIXELZOOMXOES, (GLfixed xfactor, GLfixed yfactor), &xfactor, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, PointAlongPathNV, glPointAlongPathNV, POINTALONGPATHNV, (GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat *x, GLfloat *y, GLfloat *tangentX, GLfloat *tangentY), &path, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PointParameterf, glPointParameterf, POINTPARAMETERF, (GLenum pname, GLfloat param), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PointParameterfARB, glPointParameterfARB, POINTPARAMETERFARB, (GLenum pname, GLfloat param), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PointParameterfEXT, glPointParameterfEXT, POINTPARAMETERFEXT, (GLenum pname, GLfloat param), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PointParameterfSGIS, glPointParameterfSGIS, POINTPARAMETERFSGIS, (GLenum pname, GLfloat param), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PointParameterfv, glPointParameterfv, POINTPARAMETERFV, (GLenum pname, const GLfloat *params), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PointParameterfvARB, glPointParameterfvARB, POINTPARAMETERFVARB, (GLenum pname, const GLfloat *params), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PointParameterfvEXT, glPointParameterfvEXT, POINTPARAMETERFVEXT, (GLenum pname, const GLfloat *params), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PointParameterfvSGIS, glPointParameterfvSGIS, POINTPARAMETERFVSGIS, (GLenum pname, const GLfloat *params), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PointParameteri, glPointParameteri, POINTPARAMETERI, (GLenum pname, GLint param), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PointParameteriNV, glPointParameteriNV, POINTPARAMETERINV, (GLenum pname, GLint param), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PointParameteriv, glPointParameteriv, POINTPARAMETERIV, (GLenum pname, const GLint *params), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PointParameterivNV, glPointParameterivNV, POINTPARAMETERIVNV, (GLenum pname, const GLint *params), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PointParameterxvOES, glPointParameterxvOES, POINTPARAMETERXVOES, (GLenum pname, const GLfixed *params), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PointSize, glPointSize, POINTSIZE, (GLfloat size), &size, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PointSizePointerAPPLE, glPointSizePointerAPPLE, POINTSIZEPOINTERAPPLE, (GLenum type, GLsizei stride, const GLvoid *pointer), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PointSizexOES, glPointSizexOES, POINTSIZEXOES, (GLfixed size), &size, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLint, gl, PollAsyncSGIX, glPollAsyncSGIX, POLLASYNCSGIX, (GLuint *markerp), &markerp, return (GLint)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLint, gl, PollInstrumentsSGIX, glPollInstrumentsSGIX, POLLINSTRUMENTSSGIX, (GLint *marker_p), &marker_p, return (GLint)) #endif GL_PROC(void, gl, PolygonMode, glPolygonMode, POLYGONMODE, (GLenum face, GLenum mode), &face, GL_void_return) GL_PROC(void, gl, PolygonOffset, glPolygonOffset, POLYGONOFFSET, (GLfloat factor, GLfloat units), &factor, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PolygonOffsetEXT, glPolygonOffsetEXT, POLYGONOFFSETEXT, (GLfloat factor, GLfloat bias), &factor, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PolygonOffsetxOES, glPolygonOffsetxOES, POLYGONOFFSETXOES, (GLfixed factor, GLfixed units), &factor, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PolygonStipple, glPolygonStipple, POLYGONSTIPPLE, (const GLubyte *mask), &mask, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PopAttrib, glPopAttrib, POPATTRIB, (void), NULL, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PopClientAttrib, glPopClientAttrib, POPCLIENTATTRIB, (void), NULL, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PopDebugGroup, glPopDebugGroup, POPDEBUGGROUP, (void), NULL, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PopGroupMarkerEXT, glPopGroupMarkerEXT, POPGROUPMARKEREXT, (void), NULL, GL_void_return) #endif GL_PROC(void, gl, PopMatrix, glPopMatrix, POPMATRIX, (void), NULL, GL_void_return) GL_PROC(void, gl, PopName, glPopName, POPNAME, (void), NULL, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PresentFrameDualFillNV, glPresentFrameDualFillNV, PRESENTFRAMEDUALFILLNV, (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3), &video_slot, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PresentFrameKeyedNV, glPresentFrameKeyedNV, PRESENTFRAMEKEYEDNV, (GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1), &video_slot, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PrimitiveRestartIndex, glPrimitiveRestartIndex, PRIMITIVERESTARTINDEX, (GLuint index), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PrimitiveRestartIndexNV, glPrimitiveRestartIndexNV, PRIMITIVERESTARTINDEXNV, (GLuint index), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PrimitiveRestartNV, glPrimitiveRestartNV, PRIMITIVERESTARTNV, (void), NULL, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PrioritizeTextures, glPrioritizeTextures, PRIORITIZETEXTURES, (GLsizei n, const GLuint *textures, const GLclampf *priorities), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PrioritizeTexturesEXT, glPrioritizeTexturesEXT, PRIORITIZETEXTURESEXT, (GLsizei n, const GLuint *textures, const GLclampf *priorities), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PrioritizeTexturesxOES, glPrioritizeTexturesxOES, PRIORITIZETEXTURESXOES, (GLsizei n, const GLuint *textures, const GLfixed *priorities), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramBinary, glProgramBinary, PROGRAMBINARY, (GLuint program, GLenum binaryFormat, const void *binary, GLsizei length), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramBufferParametersIivNV, glProgramBufferParametersIivNV, PROGRAMBUFFERPARAMETERSIIVNV, (GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramBufferParametersIuivNV, glProgramBufferParametersIuivNV, PROGRAMBUFFERPARAMETERSIUIVNV, (GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLuint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramBufferParametersfvNV, glProgramBufferParametersfvNV, PROGRAMBUFFERPARAMETERSFVNV, (GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLfloat *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramCallbackMESA, glProgramCallbackMESA, PROGRAMCALLBACKMESA, (GLenum target, GLprogramcallbackMESA callback, GLvoid *data), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramEnvParameter4dARB, glProgramEnvParameter4dARB, PROGRAMENVPARAMETER4DARB, (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramEnvParameter4dvARB, glProgramEnvParameter4dvARB, PROGRAMENVPARAMETER4DVARB, (GLenum target, GLuint index, const GLdouble *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramEnvParameter4fARB, glProgramEnvParameter4fARB, PROGRAMENVPARAMETER4FARB, (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramEnvParameter4fvARB, glProgramEnvParameter4fvARB, PROGRAMENVPARAMETER4FVARB, (GLenum target, GLuint index, const GLfloat *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramEnvParameterI4iNV, glProgramEnvParameterI4iNV, PROGRAMENVPARAMETERI4INV, (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramEnvParameterI4ivNV, glProgramEnvParameterI4ivNV, PROGRAMENVPARAMETERI4IVNV, (GLenum target, GLuint index, const GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramEnvParameterI4uiNV, glProgramEnvParameterI4uiNV, PROGRAMENVPARAMETERI4UINV, (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramEnvParameterI4uivNV, glProgramEnvParameterI4uivNV, PROGRAMENVPARAMETERI4UIVNV, (GLenum target, GLuint index, const GLuint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramEnvParameters4fvEXT, glProgramEnvParameters4fvEXT, PROGRAMENVPARAMETERS4FVEXT, (GLenum target, GLuint index, GLsizei count, const GLfloat *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramEnvParametersI4ivNV, glProgramEnvParametersI4ivNV, PROGRAMENVPARAMETERSI4IVNV, (GLenum target, GLuint index, GLsizei count, const GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramEnvParametersI4uivNV, glProgramEnvParametersI4uivNV, PROGRAMENVPARAMETERSI4UIVNV, (GLenum target, GLuint index, GLsizei count, const GLuint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramLocalParameter4dARB, glProgramLocalParameter4dARB, PROGRAMLOCALPARAMETER4DARB, (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramLocalParameter4dvARB, glProgramLocalParameter4dvARB, PROGRAMLOCALPARAMETER4DVARB, (GLenum target, GLuint index, const GLdouble *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramLocalParameter4fARB, glProgramLocalParameter4fARB, PROGRAMLOCALPARAMETER4FARB, (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramLocalParameter4fvARB, glProgramLocalParameter4fvARB, PROGRAMLOCALPARAMETER4FVARB, (GLenum target, GLuint index, const GLfloat *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramLocalParameterI4iNV, glProgramLocalParameterI4iNV, PROGRAMLOCALPARAMETERI4INV, (GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramLocalParameterI4ivNV, glProgramLocalParameterI4ivNV, PROGRAMLOCALPARAMETERI4IVNV, (GLenum target, GLuint index, const GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramLocalParameterI4uiNV, glProgramLocalParameterI4uiNV, PROGRAMLOCALPARAMETERI4UINV, (GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramLocalParameterI4uivNV, glProgramLocalParameterI4uivNV, PROGRAMLOCALPARAMETERI4UIVNV, (GLenum target, GLuint index, const GLuint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramLocalParameters4fvEXT, glProgramLocalParameters4fvEXT, PROGRAMLOCALPARAMETERS4FVEXT, (GLenum target, GLuint index, GLsizei count, const GLfloat *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramLocalParametersI4ivNV, glProgramLocalParametersI4ivNV, PROGRAMLOCALPARAMETERSI4IVNV, (GLenum target, GLuint index, GLsizei count, const GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramLocalParametersI4uivNV, glProgramLocalParametersI4uivNV, PROGRAMLOCALPARAMETERSI4UIVNV, (GLenum target, GLuint index, GLsizei count, const GLuint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramNamedParameter4dNV, glProgramNamedParameter4dNV, PROGRAMNAMEDPARAMETER4DNV, (GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramNamedParameter4dvNV, glProgramNamedParameter4dvNV, PROGRAMNAMEDPARAMETER4DVNV, (GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramNamedParameter4fNV, glProgramNamedParameter4fNV, PROGRAMNAMEDPARAMETER4FNV, (GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramNamedParameter4fvNV, glProgramNamedParameter4fvNV, PROGRAMNAMEDPARAMETER4FVNV, (GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramParameter4dNV, glProgramParameter4dNV, PROGRAMPARAMETER4DNV, (GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramParameter4dvNV, glProgramParameter4dvNV, PROGRAMPARAMETER4DVNV, (GLenum target, GLuint index, const GLdouble *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramParameter4fNV, glProgramParameter4fNV, PROGRAMPARAMETER4FNV, (GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramParameter4fvNV, glProgramParameter4fvNV, PROGRAMPARAMETER4FVNV, (GLenum target, GLuint index, const GLfloat *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramParameteri, glProgramParameteri, PROGRAMPARAMETERI, (GLuint program, GLenum pname, GLint value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramParameteriARB, glProgramParameteriARB, PROGRAMPARAMETERIARB, (GLuint program, GLenum pname, GLint value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramParameteriEXT, glProgramParameteriEXT, PROGRAMPARAMETERIEXT, (GLuint program, GLenum pname, GLint value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramParameters4dvNV, glProgramParameters4dvNV, PROGRAMPARAMETERS4DVNV, (GLenum target, GLuint index, GLsizei count, const GLdouble *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramParameters4fvNV, glProgramParameters4fvNV, PROGRAMPARAMETERS4FVNV, (GLenum target, GLuint index, GLsizei count, const GLfloat *v), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramStringARB, glProgramStringARB, PROGRAMSTRINGARB, (GLenum target, GLenum format, GLsizei len, const void *string), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramSubroutineParametersuivNV, glProgramSubroutineParametersuivNV, PROGRAMSUBROUTINEPARAMETERSUIVNV, (GLenum target, GLsizei count, const GLuint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform1d, glProgramUniform1d, PROGRAMUNIFORM1D, (GLuint program, GLint location, GLdouble v0), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform1dEXT, glProgramUniform1dEXT, PROGRAMUNIFORM1DEXT, (GLuint program, GLint location, GLdouble x), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform1dv, glProgramUniform1dv, PROGRAMUNIFORM1DV, (GLuint program, GLint location, GLsizei count, const GLdouble *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform1dvEXT, glProgramUniform1dvEXT, PROGRAMUNIFORM1DVEXT, (GLuint program, GLint location, GLsizei count, const GLdouble *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform1f, glProgramUniform1f, PROGRAMUNIFORM1F, (GLuint program, GLint location, GLfloat v0), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform1fEXT, glProgramUniform1fEXT, PROGRAMUNIFORM1FEXT, (GLuint program, GLint location, GLfloat v0), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform1fv, glProgramUniform1fv, PROGRAMUNIFORM1FV, (GLuint program, GLint location, GLsizei count, const GLfloat *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform1fvEXT, glProgramUniform1fvEXT, PROGRAMUNIFORM1FVEXT, (GLuint program, GLint location, GLsizei count, const GLfloat *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform1i, glProgramUniform1i, PROGRAMUNIFORM1I, (GLuint program, GLint location, GLint v0), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform1i64NV, glProgramUniform1i64NV, PROGRAMUNIFORM1I64NV, (GLuint program, GLint location, GLint64EXT x), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform1i64vNV, glProgramUniform1i64vNV, PROGRAMUNIFORM1I64VNV, (GLuint program, GLint location, GLsizei count, const GLint64EXT *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform1iEXT, glProgramUniform1iEXT, PROGRAMUNIFORM1IEXT, (GLuint program, GLint location, GLint v0), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform1iv, glProgramUniform1iv, PROGRAMUNIFORM1IV, (GLuint program, GLint location, GLsizei count, const GLint *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform1ivEXT, glProgramUniform1ivEXT, PROGRAMUNIFORM1IVEXT, (GLuint program, GLint location, GLsizei count, const GLint *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform1ui, glProgramUniform1ui, PROGRAMUNIFORM1UI, (GLuint program, GLint location, GLuint v0), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform1ui64NV, glProgramUniform1ui64NV, PROGRAMUNIFORM1UI64NV, (GLuint program, GLint location, GLuint64EXT x), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform1ui64vNV, glProgramUniform1ui64vNV, PROGRAMUNIFORM1UI64VNV, (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform1uiEXT, glProgramUniform1uiEXT, PROGRAMUNIFORM1UIEXT, (GLuint program, GLint location, GLuint v0), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform1uiv, glProgramUniform1uiv, PROGRAMUNIFORM1UIV, (GLuint program, GLint location, GLsizei count, const GLuint *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform1uivEXT, glProgramUniform1uivEXT, PROGRAMUNIFORM1UIVEXT, (GLuint program, GLint location, GLsizei count, const GLuint *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform2d, glProgramUniform2d, PROGRAMUNIFORM2D, (GLuint program, GLint location, GLdouble v0, GLdouble v1), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform2dEXT, glProgramUniform2dEXT, PROGRAMUNIFORM2DEXT, (GLuint program, GLint location, GLdouble x, GLdouble y), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform2dv, glProgramUniform2dv, PROGRAMUNIFORM2DV, (GLuint program, GLint location, GLsizei count, const GLdouble *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform2dvEXT, glProgramUniform2dvEXT, PROGRAMUNIFORM2DVEXT, (GLuint program, GLint location, GLsizei count, const GLdouble *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform2f, glProgramUniform2f, PROGRAMUNIFORM2F, (GLuint program, GLint location, GLfloat v0, GLfloat v1), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform2fEXT, glProgramUniform2fEXT, PROGRAMUNIFORM2FEXT, (GLuint program, GLint location, GLfloat v0, GLfloat v1), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform2fv, glProgramUniform2fv, PROGRAMUNIFORM2FV, (GLuint program, GLint location, GLsizei count, const GLfloat *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform2fvEXT, glProgramUniform2fvEXT, PROGRAMUNIFORM2FVEXT, (GLuint program, GLint location, GLsizei count, const GLfloat *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform2i, glProgramUniform2i, PROGRAMUNIFORM2I, (GLuint program, GLint location, GLint v0, GLint v1), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform2i64NV, glProgramUniform2i64NV, PROGRAMUNIFORM2I64NV, (GLuint program, GLint location, GLint64EXT x, GLint64EXT y), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform2i64vNV, glProgramUniform2i64vNV, PROGRAMUNIFORM2I64VNV, (GLuint program, GLint location, GLsizei count, const GLint64EXT *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform2iEXT, glProgramUniform2iEXT, PROGRAMUNIFORM2IEXT, (GLuint program, GLint location, GLint v0, GLint v1), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform2iv, glProgramUniform2iv, PROGRAMUNIFORM2IV, (GLuint program, GLint location, GLsizei count, const GLint *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform2ivEXT, glProgramUniform2ivEXT, PROGRAMUNIFORM2IVEXT, (GLuint program, GLint location, GLsizei count, const GLint *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform2ui, glProgramUniform2ui, PROGRAMUNIFORM2UI, (GLuint program, GLint location, GLuint v0, GLuint v1), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform2ui64NV, glProgramUniform2ui64NV, PROGRAMUNIFORM2UI64NV, (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform2ui64vNV, glProgramUniform2ui64vNV, PROGRAMUNIFORM2UI64VNV, (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform2uiEXT, glProgramUniform2uiEXT, PROGRAMUNIFORM2UIEXT, (GLuint program, GLint location, GLuint v0, GLuint v1), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform2uiv, glProgramUniform2uiv, PROGRAMUNIFORM2UIV, (GLuint program, GLint location, GLsizei count, const GLuint *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform2uivEXT, glProgramUniform2uivEXT, PROGRAMUNIFORM2UIVEXT, (GLuint program, GLint location, GLsizei count, const GLuint *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform3d, glProgramUniform3d, PROGRAMUNIFORM3D, (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform3dEXT, glProgramUniform3dEXT, PROGRAMUNIFORM3DEXT, (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform3dv, glProgramUniform3dv, PROGRAMUNIFORM3DV, (GLuint program, GLint location, GLsizei count, const GLdouble *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform3dvEXT, glProgramUniform3dvEXT, PROGRAMUNIFORM3DVEXT, (GLuint program, GLint location, GLsizei count, const GLdouble *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform3f, glProgramUniform3f, PROGRAMUNIFORM3F, (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform3fEXT, glProgramUniform3fEXT, PROGRAMUNIFORM3FEXT, (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform3fv, glProgramUniform3fv, PROGRAMUNIFORM3FV, (GLuint program, GLint location, GLsizei count, const GLfloat *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform3fvEXT, glProgramUniform3fvEXT, PROGRAMUNIFORM3FVEXT, (GLuint program, GLint location, GLsizei count, const GLfloat *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform3i, glProgramUniform3i, PROGRAMUNIFORM3I, (GLuint program, GLint location, GLint v0, GLint v1, GLint v2), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform3i64NV, glProgramUniform3i64NV, PROGRAMUNIFORM3I64NV, (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform3i64vNV, glProgramUniform3i64vNV, PROGRAMUNIFORM3I64VNV, (GLuint program, GLint location, GLsizei count, const GLint64EXT *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform3iEXT, glProgramUniform3iEXT, PROGRAMUNIFORM3IEXT, (GLuint program, GLint location, GLint v0, GLint v1, GLint v2), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform3iv, glProgramUniform3iv, PROGRAMUNIFORM3IV, (GLuint program, GLint location, GLsizei count, const GLint *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform3ivEXT, glProgramUniform3ivEXT, PROGRAMUNIFORM3IVEXT, (GLuint program, GLint location, GLsizei count, const GLint *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform3ui, glProgramUniform3ui, PROGRAMUNIFORM3UI, (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform3ui64NV, glProgramUniform3ui64NV, PROGRAMUNIFORM3UI64NV, (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform3ui64vNV, glProgramUniform3ui64vNV, PROGRAMUNIFORM3UI64VNV, (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform3uiEXT, glProgramUniform3uiEXT, PROGRAMUNIFORM3UIEXT, (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform3uiv, glProgramUniform3uiv, PROGRAMUNIFORM3UIV, (GLuint program, GLint location, GLsizei count, const GLuint *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform3uivEXT, glProgramUniform3uivEXT, PROGRAMUNIFORM3UIVEXT, (GLuint program, GLint location, GLsizei count, const GLuint *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform4d, glProgramUniform4d, PROGRAMUNIFORM4D, (GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform4dEXT, glProgramUniform4dEXT, PROGRAMUNIFORM4DEXT, (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform4dv, glProgramUniform4dv, PROGRAMUNIFORM4DV, (GLuint program, GLint location, GLsizei count, const GLdouble *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform4dvEXT, glProgramUniform4dvEXT, PROGRAMUNIFORM4DVEXT, (GLuint program, GLint location, GLsizei count, const GLdouble *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform4f, glProgramUniform4f, PROGRAMUNIFORM4F, (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform4fEXT, glProgramUniform4fEXT, PROGRAMUNIFORM4FEXT, (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform4fv, glProgramUniform4fv, PROGRAMUNIFORM4FV, (GLuint program, GLint location, GLsizei count, const GLfloat *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform4fvEXT, glProgramUniform4fvEXT, PROGRAMUNIFORM4FVEXT, (GLuint program, GLint location, GLsizei count, const GLfloat *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform4i, glProgramUniform4i, PROGRAMUNIFORM4I, (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform4i64NV, glProgramUniform4i64NV, PROGRAMUNIFORM4I64NV, (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform4i64vNV, glProgramUniform4i64vNV, PROGRAMUNIFORM4I64VNV, (GLuint program, GLint location, GLsizei count, const GLint64EXT *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform4iEXT, glProgramUniform4iEXT, PROGRAMUNIFORM4IEXT, (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform4iv, glProgramUniform4iv, PROGRAMUNIFORM4IV, (GLuint program, GLint location, GLsizei count, const GLint *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform4ivEXT, glProgramUniform4ivEXT, PROGRAMUNIFORM4IVEXT, (GLuint program, GLint location, GLsizei count, const GLint *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform4ui, glProgramUniform4ui, PROGRAMUNIFORM4UI, (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform4ui64NV, glProgramUniform4ui64NV, PROGRAMUNIFORM4UI64NV, (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform4ui64vNV, glProgramUniform4ui64vNV, PROGRAMUNIFORM4UI64VNV, (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform4uiEXT, glProgramUniform4uiEXT, PROGRAMUNIFORM4UIEXT, (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform4uiv, glProgramUniform4uiv, PROGRAMUNIFORM4UIV, (GLuint program, GLint location, GLsizei count, const GLuint *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniform4uivEXT, glProgramUniform4uivEXT, PROGRAMUNIFORM4UIVEXT, (GLuint program, GLint location, GLsizei count, const GLuint *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformHandleui64ARB, glProgramUniformHandleui64ARB, PROGRAMUNIFORMHANDLEUI64ARB, (GLuint program, GLint location, GLuint64 value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformHandleui64NV, glProgramUniformHandleui64NV, PROGRAMUNIFORMHANDLEUI64NV, (GLuint program, GLint location, GLuint64 value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformHandleui64vARB, glProgramUniformHandleui64vARB, PROGRAMUNIFORMHANDLEUI64VARB, (GLuint program, GLint location, GLsizei count, const GLuint64 *values), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformHandleui64vNV, glProgramUniformHandleui64vNV, PROGRAMUNIFORMHANDLEUI64VNV, (GLuint program, GLint location, GLsizei count, const GLuint64 *values), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformMatrix2dv, glProgramUniformMatrix2dv, PROGRAMUNIFORMMATRIX2DV, (GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformMatrix2dvEXT, glProgramUniformMatrix2dvEXT, PROGRAMUNIFORMMATRIX2DVEXT, (GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformMatrix2fv, glProgramUniformMatrix2fv, PROGRAMUNIFORMMATRIX2FV, (GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformMatrix2fvEXT, glProgramUniformMatrix2fvEXT, PROGRAMUNIFORMMATRIX2FVEXT, (GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformMatrix2x3dv, glProgramUniformMatrix2x3dv, PROGRAMUNIFORMMATRIX2X3DV, (GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformMatrix2x3dvEXT, glProgramUniformMatrix2x3dvEXT, PROGRAMUNIFORMMATRIX2X3DVEXT, (GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformMatrix2x3fv, glProgramUniformMatrix2x3fv, PROGRAMUNIFORMMATRIX2X3FV, (GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformMatrix2x3fvEXT, glProgramUniformMatrix2x3fvEXT, PROGRAMUNIFORMMATRIX2X3FVEXT, (GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformMatrix2x4dv, glProgramUniformMatrix2x4dv, PROGRAMUNIFORMMATRIX2X4DV, (GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformMatrix2x4dvEXT, glProgramUniformMatrix2x4dvEXT, PROGRAMUNIFORMMATRIX2X4DVEXT, (GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformMatrix2x4fv, glProgramUniformMatrix2x4fv, PROGRAMUNIFORMMATRIX2X4FV, (GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformMatrix2x4fvEXT, glProgramUniformMatrix2x4fvEXT, PROGRAMUNIFORMMATRIX2X4FVEXT, (GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformMatrix3dv, glProgramUniformMatrix3dv, PROGRAMUNIFORMMATRIX3DV, (GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformMatrix3dvEXT, glProgramUniformMatrix3dvEXT, PROGRAMUNIFORMMATRIX3DVEXT, (GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformMatrix3fv, glProgramUniformMatrix3fv, PROGRAMUNIFORMMATRIX3FV, (GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformMatrix3fvEXT, glProgramUniformMatrix3fvEXT, PROGRAMUNIFORMMATRIX3FVEXT, (GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformMatrix3x2dv, glProgramUniformMatrix3x2dv, PROGRAMUNIFORMMATRIX3X2DV, (GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformMatrix3x2dvEXT, glProgramUniformMatrix3x2dvEXT, PROGRAMUNIFORMMATRIX3X2DVEXT, (GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformMatrix3x2fv, glProgramUniformMatrix3x2fv, PROGRAMUNIFORMMATRIX3X2FV, (GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformMatrix3x2fvEXT, glProgramUniformMatrix3x2fvEXT, PROGRAMUNIFORMMATRIX3X2FVEXT, (GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformMatrix3x4dv, glProgramUniformMatrix3x4dv, PROGRAMUNIFORMMATRIX3X4DV, (GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformMatrix3x4dvEXT, glProgramUniformMatrix3x4dvEXT, PROGRAMUNIFORMMATRIX3X4DVEXT, (GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformMatrix3x4fv, glProgramUniformMatrix3x4fv, PROGRAMUNIFORMMATRIX3X4FV, (GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformMatrix3x4fvEXT, glProgramUniformMatrix3x4fvEXT, PROGRAMUNIFORMMATRIX3X4FVEXT, (GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformMatrix4dv, glProgramUniformMatrix4dv, PROGRAMUNIFORMMATRIX4DV, (GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformMatrix4dvEXT, glProgramUniformMatrix4dvEXT, PROGRAMUNIFORMMATRIX4DVEXT, (GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformMatrix4fv, glProgramUniformMatrix4fv, PROGRAMUNIFORMMATRIX4FV, (GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformMatrix4fvEXT, glProgramUniformMatrix4fvEXT, PROGRAMUNIFORMMATRIX4FVEXT, (GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformMatrix4x2dv, glProgramUniformMatrix4x2dv, PROGRAMUNIFORMMATRIX4X2DV, (GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformMatrix4x2dvEXT, glProgramUniformMatrix4x2dvEXT, PROGRAMUNIFORMMATRIX4X2DVEXT, (GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformMatrix4x2fv, glProgramUniformMatrix4x2fv, PROGRAMUNIFORMMATRIX4X2FV, (GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformMatrix4x2fvEXT, glProgramUniformMatrix4x2fvEXT, PROGRAMUNIFORMMATRIX4X2FVEXT, (GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformMatrix4x3dv, glProgramUniformMatrix4x3dv, PROGRAMUNIFORMMATRIX4X3DV, (GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformMatrix4x3dvEXT, glProgramUniformMatrix4x3dvEXT, PROGRAMUNIFORMMATRIX4X3DVEXT, (GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformMatrix4x3fv, glProgramUniformMatrix4x3fv, PROGRAMUNIFORMMATRIX4X3FV, (GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformMatrix4x3fvEXT, glProgramUniformMatrix4x3fvEXT, PROGRAMUNIFORMMATRIX4X3FVEXT, (GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformui64NV, glProgramUniformui64NV, PROGRAMUNIFORMUI64NV, (GLuint program, GLint location, GLuint64EXT value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramUniformui64vNV, glProgramUniformui64vNV, PROGRAMUNIFORMUI64VNV, (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProgramVertexLimitNV, glProgramVertexLimitNV, PROGRAMVERTEXLIMITNV, (GLenum target, GLint limit), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProvokingVertex, glProvokingVertex, PROVOKINGVERTEX, (GLenum mode), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ProvokingVertexEXT, glProvokingVertexEXT, PROVOKINGVERTEXEXT, (GLenum mode), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PushAttrib, glPushAttrib, PUSHATTRIB, (GLbitfield mask), &mask, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PushClientAttrib, glPushClientAttrib, PUSHCLIENTATTRIB, (GLbitfield mask), &mask, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PushClientAttribDefaultEXT, glPushClientAttribDefaultEXT, PUSHCLIENTATTRIBDEFAULTEXT, (GLbitfield mask), &mask, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PushDebugGroup, glPushDebugGroup, PUSHDEBUGGROUP, (GLenum source, GLuint id, GLsizei length, const GLchar *message), &source, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, PushGroupMarkerEXT, glPushGroupMarkerEXT, PUSHGROUPMARKEREXT, (GLsizei length, const GLchar *marker), &length, GL_void_return) #endif GL_PROC(void, gl, PushMatrix, glPushMatrix, PUSHMATRIX, (void), NULL, GL_void_return) GL_PROC(void, gl, PushName, glPushName, PUSHNAME, (GLuint name), &name, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, QueryCounter, glQueryCounter, QUERYCOUNTER, (GLuint id, GLenum target), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLbitfield, gl, QueryMatrixxOES, glQueryMatrixxOES, QUERYMATRIXXOES, (GLfixed *mantissa, GLint *exponent), &mantissa, return (GLbitfield)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, QueryObjectParameteruiAMD, glQueryObjectParameteruiAMD, QUERYOBJECTPARAMETERUIAMD, (GLenum target, GLuint id, GLenum pname, GLuint param), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RasterPos2d, glRasterPos2d, RASTERPOS2D, (GLdouble x, GLdouble y), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RasterPos2dv, glRasterPos2dv, RASTERPOS2DV, (const GLdouble *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RasterPos2f, glRasterPos2f, RASTERPOS2F, (GLfloat x, GLfloat y), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RasterPos2fv, glRasterPos2fv, RASTERPOS2FV, (const GLfloat *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RasterPos2i, glRasterPos2i, RASTERPOS2I, (GLint x, GLint y), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RasterPos2iv, glRasterPos2iv, RASTERPOS2IV, (const GLint *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RasterPos2s, glRasterPos2s, RASTERPOS2S, (GLshort32 x, GLshort32 y), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RasterPos2sv, glRasterPos2sv, RASTERPOS2SV, (const GLshort *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RasterPos2xOES, glRasterPos2xOES, RASTERPOS2XOES, (GLfixed x, GLfixed y), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RasterPos2xvOES, glRasterPos2xvOES, RASTERPOS2XVOES, (const GLfixed *coords), &coords, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RasterPos3d, glRasterPos3d, RASTERPOS3D, (GLdouble x, GLdouble y, GLdouble z), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RasterPos3dv, glRasterPos3dv, RASTERPOS3DV, (const GLdouble *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RasterPos3f, glRasterPos3f, RASTERPOS3F, (GLfloat x, GLfloat y, GLfloat z), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RasterPos3fv, glRasterPos3fv, RASTERPOS3FV, (const GLfloat *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RasterPos3i, glRasterPos3i, RASTERPOS3I, (GLint x, GLint y, GLint z), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RasterPos3iv, glRasterPos3iv, RASTERPOS3IV, (const GLint *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RasterPos3s, glRasterPos3s, RASTERPOS3S, (GLshort32 x, GLshort32 y, GLshort32 z), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RasterPos3sv, glRasterPos3sv, RASTERPOS3SV, (const GLshort *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RasterPos3xOES, glRasterPos3xOES, RASTERPOS3XOES, (GLfixed x, GLfixed y, GLfixed z), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RasterPos3xvOES, glRasterPos3xvOES, RASTERPOS3XVOES, (const GLfixed *coords), &coords, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RasterPos4d, glRasterPos4d, RASTERPOS4D, (GLdouble x, GLdouble y, GLdouble z, GLdouble w), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RasterPos4dv, glRasterPos4dv, RASTERPOS4DV, (const GLdouble *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RasterPos4f, glRasterPos4f, RASTERPOS4F, (GLfloat x, GLfloat y, GLfloat z, GLfloat w), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RasterPos4fv, glRasterPos4fv, RASTERPOS4FV, (const GLfloat *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RasterPos4i, glRasterPos4i, RASTERPOS4I, (GLint x, GLint y, GLint z, GLint w), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RasterPos4iv, glRasterPos4iv, RASTERPOS4IV, (const GLint *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RasterPos4s, glRasterPos4s, RASTERPOS4S, (GLshort32 x, GLshort32 y, GLshort32 z, GLshort32 w), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RasterPos4sv, glRasterPos4sv, RASTERPOS4SV, (const GLshort *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RasterPos4xOES, glRasterPos4xOES, RASTERPOS4XOES, (GLfixed x, GLfixed y, GLfixed z, GLfixed w), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RasterPos4xvOES, glRasterPos4xvOES, RASTERPOS4XVOES, (const GLfixed *coords), &coords, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ReadBuffer, glReadBuffer, READBUFFER, (GLenum mode), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ReadInstrumentsSGIX, glReadInstrumentsSGIX, READINSTRUMENTSSGIX, (GLint marker), &marker, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ReadPixels, glReadPixels, READPIXELS, (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ReadnPixelsARB, glReadnPixelsARB, READNPIXELSARB, (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Rectd, glRectd, RECTD, (GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2), &x1, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Rectdv, glRectdv, RECTDV, (const GLdouble *v1, const GLdouble *v2), &v1, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Rectf, glRectf, RECTF, (GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2), &x1, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Rectfv, glRectfv, RECTFV, (const GLfloat *v1, const GLfloat *v2), &v1, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Recti, glRecti, RECTI, (GLint x1, GLint y1, GLint x2, GLint y2), &x1, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Rectiv, glRectiv, RECTIV, (const GLint *v1, const GLint *v2), &v1, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Rects, glRects, RECTS, (GLshort32 x1, GLshort32 y1, GLshort32 x2, GLshort32 y2), &x1, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Rectsv, glRectsv, RECTSV, (const GLshort *v1, const GLshort *v2), &v1, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RectxOES, glRectxOES, RECTXOES, (GLfixed x1, GLfixed y1, GLfixed x2, GLfixed y2), &x1, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RectxvOES, glRectxvOES, RECTXVOES, (const GLfixed *v1, const GLfixed *v2), &v1, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ReferencePlaneSGIX, glReferencePlaneSGIX, REFERENCEPLANESGIX, (const GLdouble *equation), &equation, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ReleaseShaderCompiler, glReleaseShaderCompiler, RELEASESHADERCOMPILER, (void), NULL, GL_void_return) #endif GL_PROC(GLint, gl, RenderMode, glRenderMode, RENDERMODE, (GLenum mode), &mode, return (GLint)) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RenderbufferStorage, glRenderbufferStorage, RENDERBUFFERSTORAGE, (GLenum target, GLenum internalformat, GLsizei width, GLsizei height), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RenderbufferStorageEXT, glRenderbufferStorageEXT, RENDERBUFFERSTORAGEEXT, (GLenum target, GLenum internalformat, GLsizei width, GLsizei height), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RenderbufferStorageMultisample, glRenderbufferStorageMultisample, RENDERBUFFERSTORAGEMULTISAMPLE, (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RenderbufferStorageMultisampleCoverageNV, glRenderbufferStorageMultisampleCoverageNV, RENDERBUFFERSTORAGEMULTISAMPLECOVERAGENV, (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RenderbufferStorageMultisampleEXT, glRenderbufferStorageMultisampleEXT, RENDERBUFFERSTORAGEMULTISAMPLEEXT, (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ReplacementCodePointerSUN, glReplacementCodePointerSUN, REPLACEMENTCODEPOINTERSUN, (GLenum type, GLsizei stride, const void * *pointer), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ReplacementCodeubSUN, glReplacementCodeubSUN, REPLACEMENTCODEUBSUN, (GLubyte32 code), &code, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ReplacementCodeubvSUN, glReplacementCodeubvSUN, REPLACEMENTCODEUBVSUN, (const GLubyte *code), &code, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ReplacementCodeuiColor3fVertex3fSUN, glReplacementCodeuiColor3fVertex3fSUN, REPLACEMENTCODEUICOLOR3FVERTEX3FSUN, (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z), &rc, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ReplacementCodeuiColor3fVertex3fvSUN, glReplacementCodeuiColor3fVertex3fvSUN, REPLACEMENTCODEUICOLOR3FVERTEX3FVSUN, (const GLuint *rc, const GLfloat *c, const GLfloat *v), &rc, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ReplacementCodeuiColor4fNormal3fVertex3fSUN, glReplacementCodeuiColor4fNormal3fVertex3fSUN, REPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FSUN, (GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z), &rc, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ReplacementCodeuiColor4fNormal3fVertex3fvSUN, glReplacementCodeuiColor4fNormal3fVertex3fvSUN, REPLACEMENTCODEUICOLOR4FNORMAL3FVERTEX3FVSUN, (const GLuint *rc, const GLfloat *c, const GLfloat *n, const GLfloat *v), &rc, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ReplacementCodeuiColor4ubVertex3fSUN, glReplacementCodeuiColor4ubVertex3fSUN, REPLACEMENTCODEUICOLOR4UBVERTEX3FSUN, (GLuint rc, GLubyte32 r, GLubyte32 g, GLubyte32 b, GLubyte32 a, GLfloat x, GLfloat y, GLfloat z), &rc, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ReplacementCodeuiColor4ubVertex3fvSUN, glReplacementCodeuiColor4ubVertex3fvSUN, REPLACEMENTCODEUICOLOR4UBVERTEX3FVSUN, (const GLuint *rc, const GLubyte *c, const GLfloat *v), &rc, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ReplacementCodeuiNormal3fVertex3fSUN, glReplacementCodeuiNormal3fVertex3fSUN, REPLACEMENTCODEUINORMAL3FVERTEX3FSUN, (GLuint rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z), &rc, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ReplacementCodeuiNormal3fVertex3fvSUN, glReplacementCodeuiNormal3fVertex3fvSUN, REPLACEMENTCODEUINORMAL3FVERTEX3FVSUN, (const GLuint *rc, const GLfloat *n, const GLfloat *v), &rc, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ReplacementCodeuiSUN, glReplacementCodeuiSUN, REPLACEMENTCODEUISUN, (GLuint code), &code, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN, REPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUN, (GLuint rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z), &rc, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN, REPLACEMENTCODEUITEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUN, (const GLuint *rc, const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v), &rc, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN, REPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FSUN, (GLuint rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z), &rc, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN, glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN, REPLACEMENTCODEUITEXCOORD2FNORMAL3FVERTEX3FVSUN, (const GLuint *rc, const GLfloat *tc, const GLfloat *n, const GLfloat *v), &rc, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ReplacementCodeuiTexCoord2fVertex3fSUN, glReplacementCodeuiTexCoord2fVertex3fSUN, REPLACEMENTCODEUITEXCOORD2FVERTEX3FSUN, (GLuint rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z), &rc, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ReplacementCodeuiTexCoord2fVertex3fvSUN, glReplacementCodeuiTexCoord2fVertex3fvSUN, REPLACEMENTCODEUITEXCOORD2FVERTEX3FVSUN, (const GLuint *rc, const GLfloat *tc, const GLfloat *v), &rc, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ReplacementCodeuiVertex3fSUN, glReplacementCodeuiVertex3fSUN, REPLACEMENTCODEUIVERTEX3FSUN, (GLuint rc, GLfloat x, GLfloat y, GLfloat z), &rc, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ReplacementCodeuiVertex3fvSUN, glReplacementCodeuiVertex3fvSUN, REPLACEMENTCODEUIVERTEX3FVSUN, (const GLuint *rc, const GLfloat *v), &rc, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ReplacementCodeuivSUN, glReplacementCodeuivSUN, REPLACEMENTCODEUIVSUN, (const GLuint *code), &code, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ReplacementCodeusSUN, glReplacementCodeusSUN, REPLACEMENTCODEUSSUN, (GLushort32 code), &code, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ReplacementCodeusvSUN, glReplacementCodeusvSUN, REPLACEMENTCODEUSVSUN, (const GLushort *code), &code, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RequestResidentProgramsNV, glRequestResidentProgramsNV, REQUESTRESIDENTPROGRAMSNV, (GLsizei n, const GLuint *programs), &n, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ResetHistogram, glResetHistogram, RESETHISTOGRAM, (GLenum target), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ResetHistogramEXT, glResetHistogramEXT, RESETHISTOGRAMEXT, (GLenum target), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ResetMinmax, glResetMinmax, RESETMINMAX, (GLenum target), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ResetMinmaxEXT, glResetMinmaxEXT, RESETMINMAXEXT, (GLenum target), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ResizeBuffersMESA, glResizeBuffersMESA, RESIZEBUFFERSMESA, (void), NULL, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ResumeTransformFeedback, glResumeTransformFeedback, RESUMETRANSFORMFEEDBACK, (void), NULL, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ResumeTransformFeedbackNV, glResumeTransformFeedbackNV, RESUMETRANSFORMFEEDBACKNV, (void), NULL, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Rotated, glRotated, ROTATED, (GLdouble angle, GLdouble x, GLdouble y, GLdouble z), &angle, GL_void_return) #endif GL_PROC(void, gl, Rotatef, glRotatef, ROTATEF, (GLfloat angle, GLfloat x, GLfloat y, GLfloat z), &angle, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, RotatexOES, glRotatexOES, ROTATEXOES, (GLfixed angle, GLfixed x, GLfixed y, GLfixed z), &angle, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SampleCoverage, glSampleCoverage, SAMPLECOVERAGE, (GLfloat value, GLboolean32 invert), &value, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SampleCoverageARB, glSampleCoverageARB, SAMPLECOVERAGEARB, (GLfloat value, GLboolean32 invert), &value, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SampleCoverageOES, glSampleCoverageOES, SAMPLECOVERAGEOES, (GLfixed value, GLboolean32 invert), &value, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SampleMapATI, glSampleMapATI, SAMPLEMAPATI, (GLuint dst, GLuint interp, GLenum swizzle), &dst, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SampleMaskEXT, glSampleMaskEXT, SAMPLEMASKEXT, (GLclampf value, GLboolean32 invert), &value, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SampleMaskIndexedNV, glSampleMaskIndexedNV, SAMPLEMASKINDEXEDNV, (GLuint index, GLbitfield mask), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SampleMaskSGIS, glSampleMaskSGIS, SAMPLEMASKSGIS, (GLclampf value, GLboolean32 invert), &value, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SampleMaski, glSampleMaski, SAMPLEMASKI, (GLuint maskNumber, GLbitfield mask), &maskNumber, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SamplePass, glSamplePass, SAMPLEPASS, (GLenum mode), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SamplePassARB, glSamplePassARB, SAMPLEPASSARB, (GLenum mode), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SamplePatternEXT, glSamplePatternEXT, SAMPLEPATTERNEXT, (GLenum pattern), &pattern, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SamplePatternSGIS, glSamplePatternSGIS, SAMPLEPATTERNSGIS, (GLenum pattern), &pattern, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SamplerParameterIiv, glSamplerParameterIiv, SAMPLERPARAMETERIIV, (GLuint sampler, GLenum pname, const GLint *param), &sampler, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SamplerParameterIuiv, glSamplerParameterIuiv, SAMPLERPARAMETERIUIV, (GLuint sampler, GLenum pname, const GLuint *param), &sampler, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SamplerParameterf, glSamplerParameterf, SAMPLERPARAMETERF, (GLuint sampler, GLenum pname, GLfloat param), &sampler, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SamplerParameterfv, glSamplerParameterfv, SAMPLERPARAMETERFV, (GLuint sampler, GLenum pname, const GLfloat *param), &sampler, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SamplerParameteri, glSamplerParameteri, SAMPLERPARAMETERI, (GLuint sampler, GLenum pname, GLint param), &sampler, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SamplerParameteriv, glSamplerParameteriv, SAMPLERPARAMETERIV, (GLuint sampler, GLenum pname, const GLint *param), &sampler, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Scaled, glScaled, SCALED, (GLdouble x, GLdouble y, GLdouble z), &x, GL_void_return) #endif GL_PROC(void, gl, Scalef, glScalef, SCALEF, (GLfloat x, GLfloat y, GLfloat z), &x, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ScalexOES, glScalexOES, SCALEXOES, (GLfixed x, GLfixed y, GLfixed z), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Scissor, glScissor, SCISSOR, (GLint x, GLint y, GLsizei width, GLsizei height), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ScissorArrayv, glScissorArrayv, SCISSORARRAYV, (GLuint first, GLsizei count, const GLint *v), &first, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ScissorIndexed, glScissorIndexed, SCISSORINDEXED, (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ScissorIndexedv, glScissorIndexedv, SCISSORINDEXEDV, (GLuint index, const GLint *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColor3b, glSecondaryColor3b, SECONDARYCOLOR3B, (GLbyte32 red, GLbyte32 green, GLbyte32 blue), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColor3bEXT, glSecondaryColor3bEXT, SECONDARYCOLOR3BEXT, (GLbyte32 red, GLbyte32 green, GLbyte32 blue), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColor3bv, glSecondaryColor3bv, SECONDARYCOLOR3BV, (const GLbyte *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColor3bvEXT, glSecondaryColor3bvEXT, SECONDARYCOLOR3BVEXT, (const GLbyte *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColor3d, glSecondaryColor3d, SECONDARYCOLOR3D, (GLdouble red, GLdouble green, GLdouble blue), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColor3dEXT, glSecondaryColor3dEXT, SECONDARYCOLOR3DEXT, (GLdouble red, GLdouble green, GLdouble blue), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColor3dv, glSecondaryColor3dv, SECONDARYCOLOR3DV, (const GLdouble *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColor3dvEXT, glSecondaryColor3dvEXT, SECONDARYCOLOR3DVEXT, (const GLdouble *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColor3f, glSecondaryColor3f, SECONDARYCOLOR3F, (GLfloat red, GLfloat green, GLfloat blue), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColor3fEXT, glSecondaryColor3fEXT, SECONDARYCOLOR3FEXT, (GLfloat red, GLfloat green, GLfloat blue), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColor3fv, glSecondaryColor3fv, SECONDARYCOLOR3FV, (const GLfloat *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColor3fvEXT, glSecondaryColor3fvEXT, SECONDARYCOLOR3FVEXT, (const GLfloat *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColor3hNV, glSecondaryColor3hNV, SECONDARYCOLOR3HNV, (GLhalfNV32 red, GLhalfNV32 green, GLhalfNV32 blue), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColor3hvNV, glSecondaryColor3hvNV, SECONDARYCOLOR3HVNV, (const GLhalfNV *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColor3i, glSecondaryColor3i, SECONDARYCOLOR3I, (GLint red, GLint green, GLint blue), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColor3iEXT, glSecondaryColor3iEXT, SECONDARYCOLOR3IEXT, (GLint red, GLint green, GLint blue), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColor3iv, glSecondaryColor3iv, SECONDARYCOLOR3IV, (const GLint *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColor3ivEXT, glSecondaryColor3ivEXT, SECONDARYCOLOR3IVEXT, (const GLint *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColor3s, glSecondaryColor3s, SECONDARYCOLOR3S, (GLshort32 red, GLshort32 green, GLshort32 blue), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColor3sEXT, glSecondaryColor3sEXT, SECONDARYCOLOR3SEXT, (GLshort32 red, GLshort32 green, GLshort32 blue), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColor3sv, glSecondaryColor3sv, SECONDARYCOLOR3SV, (const GLshort *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColor3svEXT, glSecondaryColor3svEXT, SECONDARYCOLOR3SVEXT, (const GLshort *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColor3ub, glSecondaryColor3ub, SECONDARYCOLOR3UB, (GLubyte32 red, GLubyte32 green, GLubyte32 blue), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColor3ubEXT, glSecondaryColor3ubEXT, SECONDARYCOLOR3UBEXT, (GLubyte32 red, GLubyte32 green, GLubyte32 blue), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColor3ubv, glSecondaryColor3ubv, SECONDARYCOLOR3UBV, (const GLubyte *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColor3ubvEXT, glSecondaryColor3ubvEXT, SECONDARYCOLOR3UBVEXT, (const GLubyte *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColor3ui, glSecondaryColor3ui, SECONDARYCOLOR3UI, (GLuint red, GLuint green, GLuint blue), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColor3uiEXT, glSecondaryColor3uiEXT, SECONDARYCOLOR3UIEXT, (GLuint red, GLuint green, GLuint blue), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColor3uiv, glSecondaryColor3uiv, SECONDARYCOLOR3UIV, (const GLuint *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColor3uivEXT, glSecondaryColor3uivEXT, SECONDARYCOLOR3UIVEXT, (const GLuint *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColor3us, glSecondaryColor3us, SECONDARYCOLOR3US, (GLushort32 red, GLushort32 green, GLushort32 blue), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColor3usEXT, glSecondaryColor3usEXT, SECONDARYCOLOR3USEXT, (GLushort32 red, GLushort32 green, GLushort32 blue), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColor3usv, glSecondaryColor3usv, SECONDARYCOLOR3USV, (const GLushort *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColor3usvEXT, glSecondaryColor3usvEXT, SECONDARYCOLOR3USVEXT, (const GLushort *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColorFormatNV, glSecondaryColorFormatNV, SECONDARYCOLORFORMATNV, (GLint size, GLenum type, GLsizei stride), &size, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColorP3ui, glSecondaryColorP3ui, SECONDARYCOLORP3UI, (GLenum type, GLuint color), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColorP3uiv, glSecondaryColorP3uiv, SECONDARYCOLORP3UIV, (GLenum type, const GLuint *color), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColorPointer, glSecondaryColorPointer, SECONDARYCOLORPOINTER, (GLint size, GLenum type, GLsizei stride, const void *pointer), &size, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColorPointerEXT, glSecondaryColorPointerEXT, SECONDARYCOLORPOINTEREXT, (GLint size, GLenum type, GLsizei stride, const void *pointer), &size, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SecondaryColorPointerListIBM, glSecondaryColorPointerListIBM, SECONDARYCOLORPOINTERLISTIBM, (GLint size, GLenum type, GLint stride, const void * *pointer, GLint ptrstride), &size, GL_void_return) #endif GL_PROC(void, gl, SelectBuffer, glSelectBuffer, SELECTBUFFER, (GLsizei size, GLuint *buffer), &size, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SelectPerfMonitorCountersAMD, glSelectPerfMonitorCountersAMD, SELECTPERFMONITORCOUNTERSAMD, (GLuint monitor, GLboolean32 enable, GLuint group, GLint numCounters, GLuint *counterList), &monitor, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SeparableFilter2D, glSeparableFilter2D, SEPARABLEFILTER2D, (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *row, const void *column), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SeparableFilter2DEXT, glSeparableFilter2DEXT, SEPARABLEFILTER2DEXT, (GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *row, const void *column), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SetFenceAPPLE, glSetFenceAPPLE, SETFENCEAPPLE, (GLuint fence), &fence, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SetFenceNV, glSetFenceNV, SETFENCENV, (GLuint fence, GLenum condition), &fence, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SetFragmentShaderConstantATI, glSetFragmentShaderConstantATI, SETFRAGMENTSHADERCONSTANTATI, (GLuint dst, const GLfloat *value), &dst, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SetInvariantEXT, glSetInvariantEXT, SETINVARIANTEXT, (GLuint id, GLenum type, const void *addr), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SetLocalConstantEXT, glSetLocalConstantEXT, SETLOCALCONSTANTEXT, (GLuint id, GLenum type, const void *addr), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SetMultisamplefvAMD, glSetMultisamplefvAMD, SETMULTISAMPLEFVAMD, (GLenum pname, GLuint index, const GLfloat *val), &pname, GL_void_return) #endif GL_PROC(void, gl, ShadeModel, glShadeModel, SHADEMODEL, (GLenum mode), &mode, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ShaderBinary, glShaderBinary, SHADERBINARY, (GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length), &count, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ShaderOp1EXT, glShaderOp1EXT, SHADEROP1EXT, (GLenum op, GLuint res, GLuint arg1), &op, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ShaderOp2EXT, glShaderOp2EXT, SHADEROP2EXT, (GLenum op, GLuint res, GLuint arg1, GLuint arg2), &op, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ShaderOp3EXT, glShaderOp3EXT, SHADEROP3EXT, (GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3), &op, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ShaderSource, glShaderSource, SHADERSOURCE, (GLuint shader, GLsizei count, const GLchar *const *string, const GLint *length), &shader, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ShaderSourceARB, glShaderSourceARB, SHADERSOURCEARB, (GLhandleARB shaderObj, GLsizei count, const GLcharARB * *string, const GLint *length), &shaderObj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ShaderStorageBlockBinding, glShaderStorageBlockBinding, SHADERSTORAGEBLOCKBINDING, (GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SharpenTexFuncSGIS, glSharpenTexFuncSGIS, SHARPENTEXFUNCSGIS, (GLenum target, GLsizei n, const GLfloat *points), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SpriteParameterfSGIX, glSpriteParameterfSGIX, SPRITEPARAMETERFSGIX, (GLenum pname, GLfloat param), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SpriteParameterfvSGIX, glSpriteParameterfvSGIX, SPRITEPARAMETERFVSGIX, (GLenum pname, const GLfloat *params), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SpriteParameteriSGIX, glSpriteParameteriSGIX, SPRITEPARAMETERISGIX, (GLenum pname, GLint param), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SpriteParameterivSGIX, glSpriteParameterivSGIX, SPRITEPARAMETERIVSGIX, (GLenum pname, const GLint *params), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, StartInstrumentsSGIX, glStartInstrumentsSGIX, STARTINSTRUMENTSSGIX, (void), NULL, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, StencilClearTagEXT, glStencilClearTagEXT, STENCILCLEARTAGEXT, (GLsizei stencilTagBits, GLuint stencilClearTag), &stencilTagBits, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, StencilFillPathInstancedNV, glStencilFillPathInstancedNV, STENCILFILLPATHINSTANCEDNV, (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues), &numPaths, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, StencilFillPathNV, glStencilFillPathNV, STENCILFILLPATHNV, (GLuint path, GLenum fillMode, GLuint mask), &path, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, StencilFunc, glStencilFunc, STENCILFUNC, (GLenum func, GLint ref, GLuint mask), &func, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, StencilFuncSeparate, glStencilFuncSeparate, STENCILFUNCSEPARATE, (GLenum face, GLenum func, GLint ref, GLuint mask), &face, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, StencilFuncSeparateATI, glStencilFuncSeparateATI, STENCILFUNCSEPARATEATI, (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask), &frontfunc, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, StencilMask, glStencilMask, STENCILMASK, (GLuint mask), &mask, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, StencilMaskSeparate, glStencilMaskSeparate, STENCILMASKSEPARATE, (GLenum face, GLuint mask), &face, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, StencilOp, glStencilOp, STENCILOP, (GLenum fail, GLenum zfail, GLenum zpass), &fail, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, StencilOpSeparate, glStencilOpSeparate, STENCILOPSEPARATE, (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass), &face, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, StencilOpSeparateATI, glStencilOpSeparateATI, STENCILOPSEPARATEATI, (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass), &face, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, StencilOpValueAMD, glStencilOpValueAMD, STENCILOPVALUEAMD, (GLenum face, GLuint value), &face, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, StencilStrokePathInstancedNV, glStencilStrokePathInstancedNV, STENCILSTROKEPATHINSTANCEDNV, (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues), &numPaths, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, StencilStrokePathNV, glStencilStrokePathNV, STENCILSTROKEPATHNV, (GLuint path, GLint reference, GLuint mask), &path, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, StopInstrumentsSGIX, glStopInstrumentsSGIX, STOPINSTRUMENTSSGIX, (GLint marker), &marker, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, StringMarkerGREMEDY, glStringMarkerGREMEDY, STRINGMARKERGREMEDY, (GLsizei len, const void *string), &len, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SwapAPPLE, glSwapAPPLE, SWAPAPPLE, (void), NULL, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SwizzleEXT, glSwizzleEXT, SWIZZLEEXT, (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW), &res, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, SyncTextureINTEL, glSyncTextureINTEL, SYNCTEXTUREINTEL, (GLuint texture), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TagSampleBufferSGIX, glTagSampleBufferSGIX, TAGSAMPLEBUFFERSGIX, (void), NULL, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Tangent3bEXT, glTangent3bEXT, TANGENT3BEXT, (GLbyte32 tx, GLbyte32 ty, GLbyte32 tz), &tx, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Tangent3bvEXT, glTangent3bvEXT, TANGENT3BVEXT, (const GLbyte *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Tangent3dEXT, glTangent3dEXT, TANGENT3DEXT, (GLdouble tx, GLdouble ty, GLdouble tz), &tx, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Tangent3dvEXT, glTangent3dvEXT, TANGENT3DVEXT, (const GLdouble *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Tangent3fEXT, glTangent3fEXT, TANGENT3FEXT, (GLfloat tx, GLfloat ty, GLfloat tz), &tx, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Tangent3fvEXT, glTangent3fvEXT, TANGENT3FVEXT, (const GLfloat *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Tangent3iEXT, glTangent3iEXT, TANGENT3IEXT, (GLint tx, GLint ty, GLint tz), &tx, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Tangent3ivEXT, glTangent3ivEXT, TANGENT3IVEXT, (const GLint *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Tangent3sEXT, glTangent3sEXT, TANGENT3SEXT, (GLshort32 tx, GLshort32 ty, GLshort32 tz), &tx, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Tangent3svEXT, glTangent3svEXT, TANGENT3SVEXT, (const GLshort *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TangentPointerEXT, glTangentPointerEXT, TANGENTPOINTEREXT, (GLenum type, GLsizei stride, const void *pointer), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TbufferMask3DFX, glTbufferMask3DFX, TBUFFERMASK3DFX, (GLuint mask), &mask, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TessellationFactorAMD, glTessellationFactorAMD, TESSELLATIONFACTORAMD, (GLfloat factor), &factor, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TessellationModeAMD, glTessellationModeAMD, TESSELLATIONMODEAMD, (GLenum mode), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, TestFenceAPPLE, glTestFenceAPPLE, TESTFENCEAPPLE, (GLuint fence), &fence, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, TestFenceNV, glTestFenceNV, TESTFENCENV, (GLuint fence), &fence, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, TestObjectAPPLE, glTestObjectAPPLE, TESTOBJECTAPPLE, (GLenum object, GLuint name), &object, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexBuffer, glTexBuffer, TEXBUFFER, (GLenum target, GLenum internalformat, GLuint buffer), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexBufferARB, glTexBufferARB, TEXBUFFERARB, (GLenum target, GLenum internalformat, GLuint buffer), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexBufferEXT, glTexBufferEXT, TEXBUFFEREXT, (GLenum target, GLenum internalformat, GLuint buffer), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexBufferRange, glTexBufferRange, TEXBUFFERRANGE, (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexBumpParameterfvATI, glTexBumpParameterfvATI, TEXBUMPPARAMETERFVATI, (GLenum pname, const GLfloat *param), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexBumpParameterivATI, glTexBumpParameterivATI, TEXBUMPPARAMETERIVATI, (GLenum pname, const GLint *param), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord1bOES, glTexCoord1bOES, TEXCOORD1BOES, (GLbyte32 s), &s, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord1bvOES, glTexCoord1bvOES, TEXCOORD1BVOES, (const GLbyte *coords), &coords, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord1d, glTexCoord1d, TEXCOORD1D, (GLdouble s), &s, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord1dv, glTexCoord1dv, TEXCOORD1DV, (const GLdouble *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord1f, glTexCoord1f, TEXCOORD1F, (GLfloat s), &s, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord1fv, glTexCoord1fv, TEXCOORD1FV, (const GLfloat *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord1hNV, glTexCoord1hNV, TEXCOORD1HNV, (GLhalfNV32 s), &s, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord1hvNV, glTexCoord1hvNV, TEXCOORD1HVNV, (const GLhalfNV *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord1i, glTexCoord1i, TEXCOORD1I, (GLint s), &s, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord1iv, glTexCoord1iv, TEXCOORD1IV, (const GLint *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord1s, glTexCoord1s, TEXCOORD1S, (GLshort32 s), &s, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord1sv, glTexCoord1sv, TEXCOORD1SV, (const GLshort *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord1xOES, glTexCoord1xOES, TEXCOORD1XOES, (GLfixed s), &s, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord1xvOES, glTexCoord1xvOES, TEXCOORD1XVOES, (const GLfixed *coords), &coords, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord2bOES, glTexCoord2bOES, TEXCOORD2BOES, (GLbyte32 s, GLbyte32 t), &s, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord2bvOES, glTexCoord2bvOES, TEXCOORD2BVOES, (const GLbyte *coords), &coords, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord2d, glTexCoord2d, TEXCOORD2D, (GLdouble s, GLdouble t), &s, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord2dv, glTexCoord2dv, TEXCOORD2DV, (const GLdouble *v), &v, GL_void_return) #endif GL_PROC(void, gl, TexCoord2f, glTexCoord2f, TEXCOORD2F, (GLfloat s, GLfloat t), &s, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord2fColor3fVertex3fSUN, glTexCoord2fColor3fVertex3fSUN, TEXCOORD2FCOLOR3FVERTEX3FSUN, (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z), &s, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord2fColor3fVertex3fvSUN, glTexCoord2fColor3fVertex3fvSUN, TEXCOORD2FCOLOR3FVERTEX3FVSUN, (const GLfloat *tc, const GLfloat *c, const GLfloat *v), &tc, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord2fColor4fNormal3fVertex3fSUN, glTexCoord2fColor4fNormal3fVertex3fSUN, TEXCOORD2FCOLOR4FNORMAL3FVERTEX3FSUN, (GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z), &s, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord2fColor4fNormal3fVertex3fvSUN, glTexCoord2fColor4fNormal3fVertex3fvSUN, TEXCOORD2FCOLOR4FNORMAL3FVERTEX3FVSUN, (const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v), &tc, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord2fColor4ubVertex3fSUN, glTexCoord2fColor4ubVertex3fSUN, TEXCOORD2FCOLOR4UBVERTEX3FSUN, (GLfloat s, GLfloat t, GLubyte32 r, GLubyte32 g, GLubyte32 b, GLubyte32 a, GLfloat x, GLfloat y, GLfloat z), &s, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord2fColor4ubVertex3fvSUN, glTexCoord2fColor4ubVertex3fvSUN, TEXCOORD2FCOLOR4UBVERTEX3FVSUN, (const GLfloat *tc, const GLubyte *c, const GLfloat *v), &tc, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord2fNormal3fVertex3fSUN, glTexCoord2fNormal3fVertex3fSUN, TEXCOORD2FNORMAL3FVERTEX3FSUN, (GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z), &s, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord2fNormal3fVertex3fvSUN, glTexCoord2fNormal3fVertex3fvSUN, TEXCOORD2FNORMAL3FVERTEX3FVSUN, (const GLfloat *tc, const GLfloat *n, const GLfloat *v), &tc, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord2fVertex3fSUN, glTexCoord2fVertex3fSUN, TEXCOORD2FVERTEX3FSUN, (GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z), &s, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord2fVertex3fvSUN, glTexCoord2fVertex3fvSUN, TEXCOORD2FVERTEX3FVSUN, (const GLfloat *tc, const GLfloat *v), &tc, GL_void_return) #endif GL_PROC(void, gl, TexCoord2fv, glTexCoord2fv, TEXCOORD2FV, (const GLfloat *v), &v, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord2hNV, glTexCoord2hNV, TEXCOORD2HNV, (GLhalfNV32 s, GLhalfNV32 t), &s, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord2hvNV, glTexCoord2hvNV, TEXCOORD2HVNV, (const GLhalfNV *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord2i, glTexCoord2i, TEXCOORD2I, (GLint s, GLint t), &s, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord2iv, glTexCoord2iv, TEXCOORD2IV, (const GLint *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord2s, glTexCoord2s, TEXCOORD2S, (GLshort32 s, GLshort32 t), &s, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord2sv, glTexCoord2sv, TEXCOORD2SV, (const GLshort *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord2xOES, glTexCoord2xOES, TEXCOORD2XOES, (GLfixed s, GLfixed t), &s, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord2xvOES, glTexCoord2xvOES, TEXCOORD2XVOES, (const GLfixed *coords), &coords, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord3bOES, glTexCoord3bOES, TEXCOORD3BOES, (GLbyte32 s, GLbyte32 t, GLbyte32 r), &s, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord3bvOES, glTexCoord3bvOES, TEXCOORD3BVOES, (const GLbyte *coords), &coords, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord3d, glTexCoord3d, TEXCOORD3D, (GLdouble s, GLdouble t, GLdouble r), &s, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord3dv, glTexCoord3dv, TEXCOORD3DV, (const GLdouble *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord3f, glTexCoord3f, TEXCOORD3F, (GLfloat s, GLfloat t, GLfloat r), &s, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord3fv, glTexCoord3fv, TEXCOORD3FV, (const GLfloat *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord3hNV, glTexCoord3hNV, TEXCOORD3HNV, (GLhalfNV32 s, GLhalfNV32 t, GLhalfNV32 r), &s, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord3hvNV, glTexCoord3hvNV, TEXCOORD3HVNV, (const GLhalfNV *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord3i, glTexCoord3i, TEXCOORD3I, (GLint s, GLint t, GLint r), &s, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord3iv, glTexCoord3iv, TEXCOORD3IV, (const GLint *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord3s, glTexCoord3s, TEXCOORD3S, (GLshort32 s, GLshort32 t, GLshort32 r), &s, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord3sv, glTexCoord3sv, TEXCOORD3SV, (const GLshort *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord3xOES, glTexCoord3xOES, TEXCOORD3XOES, (GLfixed s, GLfixed t, GLfixed r), &s, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord3xvOES, glTexCoord3xvOES, TEXCOORD3XVOES, (const GLfixed *coords), &coords, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord4bOES, glTexCoord4bOES, TEXCOORD4BOES, (GLbyte32 s, GLbyte32 t, GLbyte32 r, GLbyte32 q), &s, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord4bvOES, glTexCoord4bvOES, TEXCOORD4BVOES, (const GLbyte *coords), &coords, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord4d, glTexCoord4d, TEXCOORD4D, (GLdouble s, GLdouble t, GLdouble r, GLdouble q), &s, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord4dv, glTexCoord4dv, TEXCOORD4DV, (const GLdouble *v), &v, GL_void_return) #endif GL_PROC(void, gl, TexCoord4f, glTexCoord4f, TEXCOORD4F, (GLfloat s, GLfloat t, GLfloat r, GLfloat q), &s, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord4fColor4fNormal3fVertex4fSUN, glTexCoord4fColor4fNormal3fVertex4fSUN, TEXCOORD4FCOLOR4FNORMAL3FVERTEX4FSUN, (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w), &s, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord4fColor4fNormal3fVertex4fvSUN, glTexCoord4fColor4fNormal3fVertex4fvSUN, TEXCOORD4FCOLOR4FNORMAL3FVERTEX4FVSUN, (const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v), &tc, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord4fVertex4fSUN, glTexCoord4fVertex4fSUN, TEXCOORD4FVERTEX4FSUN, (GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w), &s, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord4fVertex4fvSUN, glTexCoord4fVertex4fvSUN, TEXCOORD4FVERTEX4FVSUN, (const GLfloat *tc, const GLfloat *v), &tc, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord4fv, glTexCoord4fv, TEXCOORD4FV, (const GLfloat *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord4hNV, glTexCoord4hNV, TEXCOORD4HNV, (GLhalfNV32 s, GLhalfNV32 t, GLhalfNV32 r, GLhalfNV32 q), &s, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord4hvNV, glTexCoord4hvNV, TEXCOORD4HVNV, (const GLhalfNV *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord4i, glTexCoord4i, TEXCOORD4I, (GLint s, GLint t, GLint r, GLint q), &s, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord4iv, glTexCoord4iv, TEXCOORD4IV, (const GLint *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord4s, glTexCoord4s, TEXCOORD4S, (GLshort32 s, GLshort32 t, GLshort32 r, GLshort32 q), &s, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord4sv, glTexCoord4sv, TEXCOORD4SV, (const GLshort *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord4xOES, glTexCoord4xOES, TEXCOORD4XOES, (GLfixed s, GLfixed t, GLfixed r, GLfixed q), &s, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoord4xvOES, glTexCoord4xvOES, TEXCOORD4XVOES, (const GLfixed *coords), &coords, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoordFormatNV, glTexCoordFormatNV, TEXCOORDFORMATNV, (GLint size, GLenum type, GLsizei stride), &size, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoordP1ui, glTexCoordP1ui, TEXCOORDP1UI, (GLenum type, GLuint coords), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoordP1uiv, glTexCoordP1uiv, TEXCOORDP1UIV, (GLenum type, const GLuint *coords), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoordP2ui, glTexCoordP2ui, TEXCOORDP2UI, (GLenum type, GLuint coords), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoordP2uiv, glTexCoordP2uiv, TEXCOORDP2UIV, (GLenum type, const GLuint *coords), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoordP3ui, glTexCoordP3ui, TEXCOORDP3UI, (GLenum type, GLuint coords), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoordP3uiv, glTexCoordP3uiv, TEXCOORDP3UIV, (GLenum type, const GLuint *coords), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoordP4ui, glTexCoordP4ui, TEXCOORDP4UI, (GLenum type, GLuint coords), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoordP4uiv, glTexCoordP4uiv, TEXCOORDP4UIV, (GLenum type, const GLuint *coords), &type, GL_void_return) #endif GL_PROC(void, gl, TexCoordPointer, glTexCoordPointer, TEXCOORDPOINTER, (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer), &size, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoordPointerEXT, glTexCoordPointerEXT, TEXCOORDPOINTEREXT, (GLint size, GLenum type, GLsizei stride, GLsizei count, const void *pointer), &size, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoordPointerListIBM, glTexCoordPointerListIBM, TEXCOORDPOINTERLISTIBM, (GLint size, GLenum type, GLint stride, const void * *pointer, GLint ptrstride), &size, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexCoordPointervINTEL, glTexCoordPointervINTEL, TEXCOORDPOINTERVINTEL, (GLint size, GLenum type, const void * *pointer), &size, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexEnvf, glTexEnvf, TEXENVF, (GLenum target, GLenum pname, GLfloat param), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexEnvfv, glTexEnvfv, TEXENVFV, (GLenum target, GLenum pname, const GLfloat *params), &target, GL_void_return) #endif GL_PROC(void, gl, TexEnvi, glTexEnvi, TEXENVI, (GLenum target, GLenum pname, GLint param), &target, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexEnviv, glTexEnviv, TEXENVIV, (GLenum target, GLenum pname, const GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexEnvxOES, glTexEnvxOES, TEXENVXOES, (GLenum target, GLenum pname, GLfixed param), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexEnvxvOES, glTexEnvxvOES, TEXENVXVOES, (GLenum target, GLenum pname, const GLfixed *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexFilterFuncSGIS, glTexFilterFuncSGIS, TEXFILTERFUNCSGIS, (GLenum target, GLenum filter, GLsizei n, const GLfloat *weights), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexGend, glTexGend, TEXGEND, (GLenum coord, GLenum pname, GLdouble param), &coord, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexGendv, glTexGendv, TEXGENDV, (GLenum coord, GLenum pname, const GLdouble *params), &coord, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexGenf, glTexGenf, TEXGENF, (GLenum coord, GLenum pname, GLfloat param), &coord, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexGenfv, glTexGenfv, TEXGENFV, (GLenum coord, GLenum pname, const GLfloat *params), &coord, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexGeni, glTexGeni, TEXGENI, (GLenum coord, GLenum pname, GLint param), &coord, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexGeniv, glTexGeniv, TEXGENIV, (GLenum coord, GLenum pname, const GLint *params), &coord, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexGenxOES, glTexGenxOES, TEXGENXOES, (GLenum coord, GLenum pname, GLfixed param), &coord, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexGenxvOES, glTexGenxvOES, TEXGENXVOES, (GLenum coord, GLenum pname, const GLfixed *params), &coord, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexImage1D, glTexImage1D, TEXIMAGE1D, (GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels), &target, GL_void_return) #endif GL_PROC(void, gl, TexImage2D, glTexImage2D, TEXIMAGE2D, (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels), &target, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexImage2DMultisample, glTexImage2DMultisample, TEXIMAGE2DMULTISAMPLE, (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean32 fixedsamplelocations), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexImage2DMultisampleCoverageNV, glTexImage2DMultisampleCoverageNV, TEXIMAGE2DMULTISAMPLECOVERAGENV, (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean32 fixedSampleLocations), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexImage3D, glTexImage3D, TEXIMAGE3D, (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexImage3DEXT, glTexImage3DEXT, TEXIMAGE3DEXT, (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexImage3DMultisample, glTexImage3DMultisample, TEXIMAGE3DMULTISAMPLE, (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean32 fixedsamplelocations), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexImage3DMultisampleCoverageNV, glTexImage3DMultisampleCoverageNV, TEXIMAGE3DMULTISAMPLECOVERAGENV, (GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean32 fixedSampleLocations), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexImage4DSGIS, glTexImage4DSGIS, TEXIMAGE4DSGIS, (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLint border, GLenum format, GLenum type, const void *pixels), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexPageCommitmentARB, glTexPageCommitmentARB, TEXPAGECOMMITMENTARB, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean32 resident), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexParameterIiv, glTexParameterIiv, TEXPARAMETERIIV, (GLenum target, GLenum pname, const GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexParameterIivEXT, glTexParameterIivEXT, TEXPARAMETERIIVEXT, (GLenum target, GLenum pname, const GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexParameterIuiv, glTexParameterIuiv, TEXPARAMETERIUIV, (GLenum target, GLenum pname, const GLuint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexParameterIuivEXT, glTexParameterIuivEXT, TEXPARAMETERIUIVEXT, (GLenum target, GLenum pname, const GLuint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexParameterf, glTexParameterf, TEXPARAMETERF, (GLenum target, GLenum pname, GLfloat param), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexParameterfv, glTexParameterfv, TEXPARAMETERFV, (GLenum target, GLenum pname, const GLfloat *params), &target, GL_void_return) #endif GL_PROC(void, gl, TexParameteri, glTexParameteri, TEXPARAMETERI, (GLenum target, GLenum pname, GLint param), &target, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexParameteriv, glTexParameteriv, TEXPARAMETERIV, (GLenum target, GLenum pname, const GLint *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexParameterxOES, glTexParameterxOES, TEXPARAMETERXOES, (GLenum target, GLenum pname, GLfixed param), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexParameterxvOES, glTexParameterxvOES, TEXPARAMETERXVOES, (GLenum target, GLenum pname, const GLfixed *params), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexRenderbufferNV, glTexRenderbufferNV, TEXRENDERBUFFERNV, (GLenum target, GLuint renderbuffer), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexScissorFuncINTEL, glTexScissorFuncINTEL, TEXSCISSORFUNCINTEL, (GLenum target, GLenum lfunc, GLenum hfunc), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexScissorINTEL, glTexScissorINTEL, TEXSCISSORINTEL, (GLenum target, GLclampf tlow, GLclampf thigh), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexStorage1D, glTexStorage1D, TEXSTORAGE1D, (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexStorage2D, glTexStorage2D, TEXSTORAGE2D, (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexStorage2DMultisample, glTexStorage2DMultisample, TEXSTORAGE2DMULTISAMPLE, (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean32 fixedsamplelocations), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexStorage3D, glTexStorage3D, TEXSTORAGE3D, (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexStorage3DMultisample, glTexStorage3DMultisample, TEXSTORAGE3DMULTISAMPLE, (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean32 fixedsamplelocations), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexStorageSparseAMD, glTexStorageSparseAMD, TEXSTORAGESPARSEAMD, (GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexSubImage1D, glTexSubImage1D, TEXSUBIMAGE1D, (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexSubImage1DEXT, glTexSubImage1DEXT, TEXSUBIMAGE1DEXT, (GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexSubImage2D, glTexSubImage2D, TEXSUBIMAGE2D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexSubImage2DEXT, glTexSubImage2DEXT, TEXSUBIMAGE2DEXT, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexSubImage3D, glTexSubImage3D, TEXSUBIMAGE3D, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexSubImage3DEXT, glTexSubImage3DEXT, TEXSUBIMAGE3DEXT, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexSubImage4DSGIS, glTexSubImage4DSGIS, TEXSUBIMAGE4DSGIS, (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLenum format, GLenum type, const void *pixels), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TextureBarrierNV, glTextureBarrierNV, TEXTUREBARRIERNV, (void), NULL, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TextureBufferEXT, glTextureBufferEXT, TEXTUREBUFFEREXT, (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TextureBufferRangeEXT, glTextureBufferRangeEXT, TEXTUREBUFFERRANGEEXT, (GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TextureColorMaskSGIS, glTextureColorMaskSGIS, TEXTURECOLORMASKSGIS, (GLboolean32 red, GLboolean32 green, GLboolean32 blue, GLboolean32 alpha), &red, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TextureFogSGIX, glTextureFogSGIX, TEXTUREFOGSGIX, (GLenum pname), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TextureImage1DEXT, glTextureImage1DEXT, TEXTUREIMAGE1DEXT, (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TextureImage2DEXT, glTextureImage2DEXT, TEXTUREIMAGE2DEXT, (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TextureImage2DMultisampleCoverageNV, glTextureImage2DMultisampleCoverageNV, TEXTUREIMAGE2DMULTISAMPLECOVERAGENV, (GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean32 fixedSampleLocations), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TextureImage2DMultisampleNV, glTextureImage2DMultisampleNV, TEXTUREIMAGE2DMULTISAMPLENV, (GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean32 fixedSampleLocations), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TextureImage3DEXT, glTextureImage3DEXT, TEXTUREIMAGE3DEXT, (GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TextureImage3DMultisampleCoverageNV, glTextureImage3DMultisampleCoverageNV, TEXTUREIMAGE3DMULTISAMPLECOVERAGENV, (GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean32 fixedSampleLocations), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TextureImage3DMultisampleNV, glTextureImage3DMultisampleNV, TEXTUREIMAGE3DMULTISAMPLENV, (GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean32 fixedSampleLocations), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TextureLightEXT, glTextureLightEXT, TEXTURELIGHTEXT, (GLenum pname), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TextureMaterialEXT, glTextureMaterialEXT, TEXTUREMATERIALEXT, (GLenum face, GLenum mode), &face, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TextureNormalEXT, glTextureNormalEXT, TEXTURENORMALEXT, (GLenum mode), &mode, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TexturePageCommitmentEXT, glTexturePageCommitmentEXT, TEXTUREPAGECOMMITMENTEXT, (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean32 resident), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TextureParameterIivEXT, glTextureParameterIivEXT, TEXTUREPARAMETERIIVEXT, (GLuint texture, GLenum target, GLenum pname, const GLint *params), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TextureParameterIuivEXT, glTextureParameterIuivEXT, TEXTUREPARAMETERIUIVEXT, (GLuint texture, GLenum target, GLenum pname, const GLuint *params), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TextureParameterfEXT, glTextureParameterfEXT, TEXTUREPARAMETERFEXT, (GLuint texture, GLenum target, GLenum pname, GLfloat param), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TextureParameterfvEXT, glTextureParameterfvEXT, TEXTUREPARAMETERFVEXT, (GLuint texture, GLenum target, GLenum pname, const GLfloat *params), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TextureParameteriEXT, glTextureParameteriEXT, TEXTUREPARAMETERIEXT, (GLuint texture, GLenum target, GLenum pname, GLint param), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TextureParameterivEXT, glTextureParameterivEXT, TEXTUREPARAMETERIVEXT, (GLuint texture, GLenum target, GLenum pname, const GLint *params), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TextureRangeAPPLE, glTextureRangeAPPLE, TEXTURERANGEAPPLE, (GLenum target, GLsizei length, const void *pointer), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TextureRenderbufferEXT, glTextureRenderbufferEXT, TEXTURERENDERBUFFEREXT, (GLuint texture, GLenum target, GLuint renderbuffer), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TextureStorage1DEXT, glTextureStorage1DEXT, TEXTURESTORAGE1DEXT, (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TextureStorage2DEXT, glTextureStorage2DEXT, TEXTURESTORAGE2DEXT, (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TextureStorage2DMultisampleEXT, glTextureStorage2DMultisampleEXT, TEXTURESTORAGE2DMULTISAMPLEEXT, (GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean32 fixedsamplelocations), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TextureStorage3DEXT, glTextureStorage3DEXT, TEXTURESTORAGE3DEXT, (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TextureStorage3DMultisampleEXT, glTextureStorage3DMultisampleEXT, TEXTURESTORAGE3DMULTISAMPLEEXT, (GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean32 fixedsamplelocations), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TextureStorageSparseAMD, glTextureStorageSparseAMD, TEXTURESTORAGESPARSEAMD, (GLuint texture, GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TextureSubImage1DEXT, glTextureSubImage1DEXT, TEXTURESUBIMAGE1DEXT, (GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TextureSubImage2DEXT, glTextureSubImage2DEXT, TEXTURESUBIMAGE2DEXT, (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TextureSubImage3DEXT, glTextureSubImage3DEXT, TEXTURESUBIMAGE3DEXT, (GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TextureView, glTextureView, TEXTUREVIEW, (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TraceAssertAttribMESA, glTraceAssertAttribMESA, TRACEASSERTATTRIBMESA, (GLbitfield attribMask), &attribMask, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TraceCommentMESA, glTraceCommentMESA, TRACECOMMENTMESA, (const GLubyte *comment), &comment, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TraceListMESA, glTraceListMESA, TRACELISTMESA, (GLuint name, const GLubyte *comment), &name, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TracePointerMESA, glTracePointerMESA, TRACEPOINTERMESA, (GLvoid *pointer, const GLubyte *comment), &pointer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TracePointerRangeMESA, glTracePointerRangeMESA, TRACEPOINTERRANGEMESA, (const GLvoid *first, const GLvoid *last, const GLubyte *comment), &first, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TraceTextureMESA, glTraceTextureMESA, TRACETEXTUREMESA, (GLuint name, const GLubyte *comment), &name, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TrackMatrixNV, glTrackMatrixNV, TRACKMATRIXNV, (GLenum target, GLuint address, GLenum matrix, GLenum transform), &target, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TransformFeedbackAttribsNV, glTransformFeedbackAttribsNV, TRANSFORMFEEDBACKATTRIBSNV, (GLuint count, const GLint *attribs, GLenum bufferMode), &count, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TransformFeedbackStreamAttribsNV, glTransformFeedbackStreamAttribsNV, TRANSFORMFEEDBACKSTREAMATTRIBSNV, (GLsizei count, const GLint *attribs, GLsizei nbuffers, const GLint *bufstreams, GLenum bufferMode), &count, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TransformFeedbackVaryings, glTransformFeedbackVaryings, TRANSFORMFEEDBACKVARYINGS, (GLuint program, GLsizei count, const GLchar *const *varyings, GLenum bufferMode), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TransformFeedbackVaryingsEXT, glTransformFeedbackVaryingsEXT, TRANSFORMFEEDBACKVARYINGSEXT, (GLuint program, GLsizei count, const GLchar *const *varyings, GLenum bufferMode), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TransformFeedbackVaryingsNV, glTransformFeedbackVaryingsNV, TRANSFORMFEEDBACKVARYINGSNV, (GLuint program, GLsizei count, const GLint *locations, GLenum bufferMode), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TransformPathNV, glTransformPathNV, TRANSFORMPATHNV, (GLuint resultPath, GLuint srcPath, GLenum transformType, const GLfloat *transformValues), &resultPath, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Translated, glTranslated, TRANSLATED, (GLdouble x, GLdouble y, GLdouble z), &x, GL_void_return) #endif GL_PROC(void, gl, Translatef, glTranslatef, TRANSLATEF, (GLfloat x, GLfloat y, GLfloat z), &x, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, TranslatexOES, glTranslatexOES, TRANSLATEXOES, (GLfixed x, GLfixed y, GLfixed z), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform1d, glUniform1d, UNIFORM1D, (GLint location, GLdouble x), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform1dv, glUniform1dv, UNIFORM1DV, (GLint location, GLsizei count, const GLdouble *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform1f, glUniform1f, UNIFORM1F, (GLint location, GLfloat v0), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform1fARB, glUniform1fARB, UNIFORM1FARB, (GLint location, GLfloat v0), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform1fv, glUniform1fv, UNIFORM1FV, (GLint location, GLsizei count, const GLfloat *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform1fvARB, glUniform1fvARB, UNIFORM1FVARB, (GLint location, GLsizei count, const GLfloat *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform1i, glUniform1i, UNIFORM1I, (GLint location, GLint v0), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform1i64NV, glUniform1i64NV, UNIFORM1I64NV, (GLint location, GLint64EXT x), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform1i64vNV, glUniform1i64vNV, UNIFORM1I64VNV, (GLint location, GLsizei count, const GLint64EXT *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform1iARB, glUniform1iARB, UNIFORM1IARB, (GLint location, GLint v0), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform1iv, glUniform1iv, UNIFORM1IV, (GLint location, GLsizei count, const GLint *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform1ivARB, glUniform1ivARB, UNIFORM1IVARB, (GLint location, GLsizei count, const GLint *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform1ui, glUniform1ui, UNIFORM1UI, (GLint location, GLuint v0), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform1ui64NV, glUniform1ui64NV, UNIFORM1UI64NV, (GLint location, GLuint64EXT x), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform1ui64vNV, glUniform1ui64vNV, UNIFORM1UI64VNV, (GLint location, GLsizei count, const GLuint64EXT *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform1uiEXT, glUniform1uiEXT, UNIFORM1UIEXT, (GLint location, GLuint v0), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform1uiv, glUniform1uiv, UNIFORM1UIV, (GLint location, GLsizei count, const GLuint *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform1uivEXT, glUniform1uivEXT, UNIFORM1UIVEXT, (GLint location, GLsizei count, const GLuint *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform2d, glUniform2d, UNIFORM2D, (GLint location, GLdouble x, GLdouble y), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform2dv, glUniform2dv, UNIFORM2DV, (GLint location, GLsizei count, const GLdouble *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform2f, glUniform2f, UNIFORM2F, (GLint location, GLfloat v0, GLfloat v1), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform2fARB, glUniform2fARB, UNIFORM2FARB, (GLint location, GLfloat v0, GLfloat v1), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform2fv, glUniform2fv, UNIFORM2FV, (GLint location, GLsizei count, const GLfloat *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform2fvARB, glUniform2fvARB, UNIFORM2FVARB, (GLint location, GLsizei count, const GLfloat *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform2i, glUniform2i, UNIFORM2I, (GLint location, GLint v0, GLint v1), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform2i64NV, glUniform2i64NV, UNIFORM2I64NV, (GLint location, GLint64EXT x, GLint64EXT y), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform2i64vNV, glUniform2i64vNV, UNIFORM2I64VNV, (GLint location, GLsizei count, const GLint64EXT *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform2iARB, glUniform2iARB, UNIFORM2IARB, (GLint location, GLint v0, GLint v1), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform2iv, glUniform2iv, UNIFORM2IV, (GLint location, GLsizei count, const GLint *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform2ivARB, glUniform2ivARB, UNIFORM2IVARB, (GLint location, GLsizei count, const GLint *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform2ui, glUniform2ui, UNIFORM2UI, (GLint location, GLuint v0, GLuint v1), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform2ui64NV, glUniform2ui64NV, UNIFORM2UI64NV, (GLint location, GLuint64EXT x, GLuint64EXT y), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform2ui64vNV, glUniform2ui64vNV, UNIFORM2UI64VNV, (GLint location, GLsizei count, const GLuint64EXT *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform2uiEXT, glUniform2uiEXT, UNIFORM2UIEXT, (GLint location, GLuint v0, GLuint v1), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform2uiv, glUniform2uiv, UNIFORM2UIV, (GLint location, GLsizei count, const GLuint *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform2uivEXT, glUniform2uivEXT, UNIFORM2UIVEXT, (GLint location, GLsizei count, const GLuint *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform3d, glUniform3d, UNIFORM3D, (GLint location, GLdouble x, GLdouble y, GLdouble z), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform3dv, glUniform3dv, UNIFORM3DV, (GLint location, GLsizei count, const GLdouble *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform3f, glUniform3f, UNIFORM3F, (GLint location, GLfloat v0, GLfloat v1, GLfloat v2), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform3fARB, glUniform3fARB, UNIFORM3FARB, (GLint location, GLfloat v0, GLfloat v1, GLfloat v2), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform3fv, glUniform3fv, UNIFORM3FV, (GLint location, GLsizei count, const GLfloat *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform3fvARB, glUniform3fvARB, UNIFORM3FVARB, (GLint location, GLsizei count, const GLfloat *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform3i, glUniform3i, UNIFORM3I, (GLint location, GLint v0, GLint v1, GLint v2), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform3i64NV, glUniform3i64NV, UNIFORM3I64NV, (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform3i64vNV, glUniform3i64vNV, UNIFORM3I64VNV, (GLint location, GLsizei count, const GLint64EXT *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform3iARB, glUniform3iARB, UNIFORM3IARB, (GLint location, GLint v0, GLint v1, GLint v2), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform3iv, glUniform3iv, UNIFORM3IV, (GLint location, GLsizei count, const GLint *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform3ivARB, glUniform3ivARB, UNIFORM3IVARB, (GLint location, GLsizei count, const GLint *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform3ui, glUniform3ui, UNIFORM3UI, (GLint location, GLuint v0, GLuint v1, GLuint v2), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform3ui64NV, glUniform3ui64NV, UNIFORM3UI64NV, (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform3ui64vNV, glUniform3ui64vNV, UNIFORM3UI64VNV, (GLint location, GLsizei count, const GLuint64EXT *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform3uiEXT, glUniform3uiEXT, UNIFORM3UIEXT, (GLint location, GLuint v0, GLuint v1, GLuint v2), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform3uiv, glUniform3uiv, UNIFORM3UIV, (GLint location, GLsizei count, const GLuint *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform3uivEXT, glUniform3uivEXT, UNIFORM3UIVEXT, (GLint location, GLsizei count, const GLuint *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform4d, glUniform4d, UNIFORM4D, (GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform4dv, glUniform4dv, UNIFORM4DV, (GLint location, GLsizei count, const GLdouble *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform4f, glUniform4f, UNIFORM4F, (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform4fARB, glUniform4fARB, UNIFORM4FARB, (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform4fv, glUniform4fv, UNIFORM4FV, (GLint location, GLsizei count, const GLfloat *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform4fvARB, glUniform4fvARB, UNIFORM4FVARB, (GLint location, GLsizei count, const GLfloat *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform4i, glUniform4i, UNIFORM4I, (GLint location, GLint v0, GLint v1, GLint v2, GLint v3), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform4i64NV, glUniform4i64NV, UNIFORM4I64NV, (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform4i64vNV, glUniform4i64vNV, UNIFORM4I64VNV, (GLint location, GLsizei count, const GLint64EXT *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform4iARB, glUniform4iARB, UNIFORM4IARB, (GLint location, GLint v0, GLint v1, GLint v2, GLint v3), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform4iv, glUniform4iv, UNIFORM4IV, (GLint location, GLsizei count, const GLint *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform4ivARB, glUniform4ivARB, UNIFORM4IVARB, (GLint location, GLsizei count, const GLint *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform4ui, glUniform4ui, UNIFORM4UI, (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform4ui64NV, glUniform4ui64NV, UNIFORM4UI64NV, (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform4ui64vNV, glUniform4ui64vNV, UNIFORM4UI64VNV, (GLint location, GLsizei count, const GLuint64EXT *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform4uiEXT, glUniform4uiEXT, UNIFORM4UIEXT, (GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform4uiv, glUniform4uiv, UNIFORM4UIV, (GLint location, GLsizei count, const GLuint *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniform4uivEXT, glUniform4uivEXT, UNIFORM4UIVEXT, (GLint location, GLsizei count, const GLuint *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, UniformBlockBinding, glUniformBlockBinding, UNIFORMBLOCKBINDING, (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, UniformBufferEXT, glUniformBufferEXT, UNIFORMBUFFEREXT, (GLuint program, GLint location, GLuint buffer), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, UniformHandleui64ARB, glUniformHandleui64ARB, UNIFORMHANDLEUI64ARB, (GLint location, GLuint64 value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, UniformHandleui64NV, glUniformHandleui64NV, UNIFORMHANDLEUI64NV, (GLint location, GLuint64 value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, UniformHandleui64vARB, glUniformHandleui64vARB, UNIFORMHANDLEUI64VARB, (GLint location, GLsizei count, const GLuint64 *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, UniformHandleui64vNV, glUniformHandleui64vNV, UNIFORMHANDLEUI64VNV, (GLint location, GLsizei count, const GLuint64 *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, UniformMatrix2dv, glUniformMatrix2dv, UNIFORMMATRIX2DV, (GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, UniformMatrix2fv, glUniformMatrix2fv, UNIFORMMATRIX2FV, (GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, UniformMatrix2fvARB, glUniformMatrix2fvARB, UNIFORMMATRIX2FVARB, (GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, UniformMatrix2x3dv, glUniformMatrix2x3dv, UNIFORMMATRIX2X3DV, (GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, UniformMatrix2x3fv, glUniformMatrix2x3fv, UNIFORMMATRIX2X3FV, (GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, UniformMatrix2x4dv, glUniformMatrix2x4dv, UNIFORMMATRIX2X4DV, (GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, UniformMatrix2x4fv, glUniformMatrix2x4fv, UNIFORMMATRIX2X4FV, (GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, UniformMatrix3dv, glUniformMatrix3dv, UNIFORMMATRIX3DV, (GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, UniformMatrix3fv, glUniformMatrix3fv, UNIFORMMATRIX3FV, (GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, UniformMatrix3fvARB, glUniformMatrix3fvARB, UNIFORMMATRIX3FVARB, (GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, UniformMatrix3x2dv, glUniformMatrix3x2dv, UNIFORMMATRIX3X2DV, (GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, UniformMatrix3x2fv, glUniformMatrix3x2fv, UNIFORMMATRIX3X2FV, (GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, UniformMatrix3x4dv, glUniformMatrix3x4dv, UNIFORMMATRIX3X4DV, (GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, UniformMatrix3x4fv, glUniformMatrix3x4fv, UNIFORMMATRIX3X4FV, (GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, UniformMatrix4dv, glUniformMatrix4dv, UNIFORMMATRIX4DV, (GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, UniformMatrix4fv, glUniformMatrix4fv, UNIFORMMATRIX4FV, (GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, UniformMatrix4fvARB, glUniformMatrix4fvARB, UNIFORMMATRIX4FVARB, (GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, UniformMatrix4x2dv, glUniformMatrix4x2dv, UNIFORMMATRIX4X2DV, (GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, UniformMatrix4x2fv, glUniformMatrix4x2fv, UNIFORMMATRIX4X2FV, (GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, UniformMatrix4x3dv, glUniformMatrix4x3dv, UNIFORMMATRIX4X3DV, (GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, UniformMatrix4x3fv, glUniformMatrix4x3fv, UNIFORMMATRIX4X3FV, (GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, UniformSubroutinesuiv, glUniformSubroutinesuiv, UNIFORMSUBROUTINESUIV, (GLenum shadertype, GLsizei count, const GLuint *indices), &shadertype, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniformui64NV, glUniformui64NV, UNIFORMUI64NV, (GLint location, GLuint64EXT value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Uniformui64vNV, glUniformui64vNV, UNIFORMUI64VNV, (GLint location, GLsizei count, const GLuint64EXT *value), &location, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, UnlockArraysEXT, glUnlockArraysEXT, UNLOCKARRAYSEXT, (void), NULL, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, UnmapBuffer, glUnmapBuffer, UNMAPBUFFER, (GLenum target), &target, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, UnmapBufferARB, glUnmapBufferARB, UNMAPBUFFERARB, (GLenum target), &target, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, UnmapNamedBufferEXT, glUnmapNamedBufferEXT, UNMAPNAMEDBUFFEREXT, (GLuint buffer), &buffer, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, UnmapObjectBufferATI, glUnmapObjectBufferATI, UNMAPOBJECTBUFFERATI, (GLuint buffer), &buffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, UnmapTexture2DINTEL, glUnmapTexture2DINTEL, UNMAPTEXTURE2DINTEL, (GLuint texture, GLint level), &texture, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, UpdateObjectBufferATI, glUpdateObjectBufferATI, UPDATEOBJECTBUFFERATI, (GLuint buffer, GLuint offset, GLsizei size, const void *pointer, GLenum preserve), &buffer, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, UseProgram, glUseProgram, USEPROGRAM, (GLuint program), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, UseProgramObjectARB, glUseProgramObjectARB, USEPROGRAMOBJECTARB, (GLhandleARB programObj), &programObj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, UseProgramStages, glUseProgramStages, USEPROGRAMSTAGES, (GLuint pipeline, GLbitfield stages, GLuint program), &pipeline, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, UseShaderProgramEXT, glUseShaderProgramEXT, USESHADERPROGRAMEXT, (GLenum type, GLuint program), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VDPAUFiniNV, glVDPAUFiniNV, VDPAUFININV, (void), NULL, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VDPAUGetSurfaceivNV, glVDPAUGetSurfaceivNV, VDPAUGETSURFACEIVNV, (GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values), &surface, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VDPAUInitNV, glVDPAUInitNV, VDPAUINITNV, (const void *vdpDevice, const void *getProcAddress), &vdpDevice, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLboolean, gl, VDPAUIsSurfaceNV, glVDPAUIsSurfaceNV, VDPAUISSURFACENV, (GLvdpauSurfaceNV surface), &surface, return (GLboolean)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VDPAUMapSurfacesNV, glVDPAUMapSurfacesNV, VDPAUMAPSURFACESNV, (GLsizei numSurfaces, const GLvdpauSurfaceNV *surfaces), &numSurfaces, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLvdpauSurfaceNV, gl, VDPAURegisterOutputSurfaceNV, glVDPAURegisterOutputSurfaceNV, VDPAUREGISTEROUTPUTSURFACENV, (const void *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames), &vdpSurface, return (GLvdpauSurfaceNV)) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLvdpauSurfaceNV, gl, VDPAURegisterVideoSurfaceNV, glVDPAURegisterVideoSurfaceNV, VDPAUREGISTERVIDEOSURFACENV, (const void *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames), &vdpSurface, return (GLvdpauSurfaceNV)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VDPAUSurfaceAccessNV, glVDPAUSurfaceAccessNV, VDPAUSURFACEACCESSNV, (GLvdpauSurfaceNV surface, GLenum access), &surface, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VDPAUUnmapSurfacesNV, glVDPAUUnmapSurfacesNV, VDPAUUNMAPSURFACESNV, (GLsizei numSurface, const GLvdpauSurfaceNV *surfaces), &numSurface, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VDPAUUnregisterSurfaceNV, glVDPAUUnregisterSurfaceNV, VDPAUUNREGISTERSURFACENV, (GLvdpauSurfaceNV surface), &surface, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ValidateProgram, glValidateProgram, VALIDATEPROGRAM, (GLuint program), &program, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ValidateProgramARB, glValidateProgramARB, VALIDATEPROGRAMARB, (GLhandleARB programObj), &programObj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ValidateProgramPipeline, glValidateProgramPipeline, VALIDATEPROGRAMPIPELINE, (GLuint pipeline), &pipeline, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VariantArrayObjectATI, glVariantArrayObjectATI, VARIANTARRAYOBJECTATI, (GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VariantPointerEXT, glVariantPointerEXT, VARIANTPOINTEREXT, (GLuint id, GLenum type, GLuint stride, const void *addr), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VariantbvEXT, glVariantbvEXT, VARIANTBVEXT, (GLuint id, const GLbyte *addr), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VariantdvEXT, glVariantdvEXT, VARIANTDVEXT, (GLuint id, const GLdouble *addr), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VariantfvEXT, glVariantfvEXT, VARIANTFVEXT, (GLuint id, const GLfloat *addr), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VariantivEXT, glVariantivEXT, VARIANTIVEXT, (GLuint id, const GLint *addr), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VariantsvEXT, glVariantsvEXT, VARIANTSVEXT, (GLuint id, const GLshort *addr), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VariantubvEXT, glVariantubvEXT, VARIANTUBVEXT, (GLuint id, const GLubyte *addr), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VariantuivEXT, glVariantuivEXT, VARIANTUIVEXT, (GLuint id, const GLuint *addr), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VariantusvEXT, glVariantusvEXT, VARIANTUSVEXT, (GLuint id, const GLushort *addr), &id, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex2bOES, glVertex2bOES, VERTEX2BOES, (GLbyte32 x), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex2bvOES, glVertex2bvOES, VERTEX2BVOES, (const GLbyte *coords), &coords, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex2d, glVertex2d, VERTEX2D, (GLdouble x, GLdouble y), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex2dv, glVertex2dv, VERTEX2DV, (const GLdouble *v), &v, GL_void_return) #endif GL_PROC(void, gl, Vertex2f, glVertex2f, VERTEX2F, (GLfloat x, GLfloat y), &x, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex2fv, glVertex2fv, VERTEX2FV, (const GLfloat *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex2hNV, glVertex2hNV, VERTEX2HNV, (GLhalfNV32 x, GLhalfNV32 y), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex2hvNV, glVertex2hvNV, VERTEX2HVNV, (const GLhalfNV *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex2i, glVertex2i, VERTEX2I, (GLint x, GLint y), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex2iv, glVertex2iv, VERTEX2IV, (const GLint *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex2s, glVertex2s, VERTEX2S, (GLshort32 x, GLshort32 y), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex2sv, glVertex2sv, VERTEX2SV, (const GLshort *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex2xOES, glVertex2xOES, VERTEX2XOES, (GLfixed x), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex2xvOES, glVertex2xvOES, VERTEX2XVOES, (const GLfixed *coords), &coords, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex3bOES, glVertex3bOES, VERTEX3BOES, (GLbyte32 x, GLbyte32 y), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex3bvOES, glVertex3bvOES, VERTEX3BVOES, (const GLbyte *coords), &coords, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex3d, glVertex3d, VERTEX3D, (GLdouble x, GLdouble y, GLdouble z), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex3dv, glVertex3dv, VERTEX3DV, (const GLdouble *v), &v, GL_void_return) #endif GL_PROC(void, gl, Vertex3f, glVertex3f, VERTEX3F, (GLfloat x, GLfloat y, GLfloat z), &x, GL_void_return) GL_PROC(void, gl, Vertex3fv, glVertex3fv, VERTEX3FV, (const GLfloat *v), &v, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex3hNV, glVertex3hNV, VERTEX3HNV, (GLhalfNV32 x, GLhalfNV32 y, GLhalfNV32 z), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex3hvNV, glVertex3hvNV, VERTEX3HVNV, (const GLhalfNV *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex3i, glVertex3i, VERTEX3I, (GLint x, GLint y, GLint z), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex3iv, glVertex3iv, VERTEX3IV, (const GLint *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex3s, glVertex3s, VERTEX3S, (GLshort32 x, GLshort32 y, GLshort32 z), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex3sv, glVertex3sv, VERTEX3SV, (const GLshort *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex3xOES, glVertex3xOES, VERTEX3XOES, (GLfixed x, GLfixed y), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex3xvOES, glVertex3xvOES, VERTEX3XVOES, (const GLfixed *coords), &coords, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex4bOES, glVertex4bOES, VERTEX4BOES, (GLbyte32 x, GLbyte32 y, GLbyte32 z), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex4bvOES, glVertex4bvOES, VERTEX4BVOES, (const GLbyte *coords), &coords, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex4d, glVertex4d, VERTEX4D, (GLdouble x, GLdouble y, GLdouble z, GLdouble w), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex4dv, glVertex4dv, VERTEX4DV, (const GLdouble *v), &v, GL_void_return) #endif GL_PROC(void, gl, Vertex4f, glVertex4f, VERTEX4F, (GLfloat x, GLfloat y, GLfloat z, GLfloat w), &x, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex4fv, glVertex4fv, VERTEX4FV, (const GLfloat *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex4hNV, glVertex4hNV, VERTEX4HNV, (GLhalfNV32 x, GLhalfNV32 y, GLhalfNV32 z, GLhalfNV32 w), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex4hvNV, glVertex4hvNV, VERTEX4HVNV, (const GLhalfNV *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex4i, glVertex4i, VERTEX4I, (GLint x, GLint y, GLint z, GLint w), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex4iv, glVertex4iv, VERTEX4IV, (const GLint *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex4s, glVertex4s, VERTEX4S, (GLshort32 x, GLshort32 y, GLshort32 z, GLshort32 w), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex4sv, glVertex4sv, VERTEX4SV, (const GLshort *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex4xOES, glVertex4xOES, VERTEX4XOES, (GLfixed x, GLfixed y, GLfixed z), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, Vertex4xvOES, glVertex4xvOES, VERTEX4XVOES, (const GLfixed *coords), &coords, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexArrayBindVertexBufferEXT, glVertexArrayBindVertexBufferEXT, VERTEXARRAYBINDVERTEXBUFFEREXT, (GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride), &vaobj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexArrayColorOffsetEXT, glVertexArrayColorOffsetEXT, VERTEXARRAYCOLOROFFSETEXT, (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset), &vaobj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexArrayEdgeFlagOffsetEXT, glVertexArrayEdgeFlagOffsetEXT, VERTEXARRAYEDGEFLAGOFFSETEXT, (GLuint vaobj, GLuint buffer, GLsizei stride, GLintptr offset), &vaobj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexArrayFogCoordOffsetEXT, glVertexArrayFogCoordOffsetEXT, VERTEXARRAYFOGCOORDOFFSETEXT, (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset), &vaobj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexArrayIndexOffsetEXT, glVertexArrayIndexOffsetEXT, VERTEXARRAYINDEXOFFSETEXT, (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset), &vaobj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexArrayMultiTexCoordOffsetEXT, glVertexArrayMultiTexCoordOffsetEXT, VERTEXARRAYMULTITEXCOORDOFFSETEXT, (GLuint vaobj, GLuint buffer, GLenum texunit, GLint size, GLenum type, GLsizei stride, GLintptr offset), &vaobj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexArrayNormalOffsetEXT, glVertexArrayNormalOffsetEXT, VERTEXARRAYNORMALOFFSETEXT, (GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset), &vaobj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexArrayParameteriAPPLE, glVertexArrayParameteriAPPLE, VERTEXARRAYPARAMETERIAPPLE, (GLenum pname, GLint param), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexArrayRangeAPPLE, glVertexArrayRangeAPPLE, VERTEXARRAYRANGEAPPLE, (GLsizei length, void *pointer), &length, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexArrayRangeNV, glVertexArrayRangeNV, VERTEXARRAYRANGENV, (GLsizei length, const void *pointer), &length, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexArraySecondaryColorOffsetEXT, glVertexArraySecondaryColorOffsetEXT, VERTEXARRAYSECONDARYCOLOROFFSETEXT, (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset), &vaobj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexArrayTexCoordOffsetEXT, glVertexArrayTexCoordOffsetEXT, VERTEXARRAYTEXCOORDOFFSETEXT, (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset), &vaobj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexArrayVertexAttribBindingEXT, glVertexArrayVertexAttribBindingEXT, VERTEXARRAYVERTEXATTRIBBINDINGEXT, (GLuint vaobj, GLuint attribindex, GLuint bindingindex), &vaobj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexArrayVertexAttribDivisorEXT, glVertexArrayVertexAttribDivisorEXT, VERTEXARRAYVERTEXATTRIBDIVISOREXT, (GLuint vaobj, GLuint index, GLuint divisor), &vaobj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexArrayVertexAttribFormatEXT, glVertexArrayVertexAttribFormatEXT, VERTEXARRAYVERTEXATTRIBFORMATEXT, (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean32 normalized, GLuint relativeoffset), &vaobj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexArrayVertexAttribIFormatEXT, glVertexArrayVertexAttribIFormatEXT, VERTEXARRAYVERTEXATTRIBIFORMATEXT, (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset), &vaobj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexArrayVertexAttribIOffsetEXT, glVertexArrayVertexAttribIOffsetEXT, VERTEXARRAYVERTEXATTRIBIOFFSETEXT, (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset), &vaobj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexArrayVertexAttribLFormatEXT, glVertexArrayVertexAttribLFormatEXT, VERTEXARRAYVERTEXATTRIBLFORMATEXT, (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset), &vaobj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexArrayVertexAttribLOffsetEXT, glVertexArrayVertexAttribLOffsetEXT, VERTEXARRAYVERTEXATTRIBLOFFSETEXT, (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset), &vaobj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexArrayVertexAttribOffsetEXT, glVertexArrayVertexAttribOffsetEXT, VERTEXARRAYVERTEXATTRIBOFFSETEXT, (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLboolean32 normalized, GLsizei stride, GLintptr offset), &vaobj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexArrayVertexBindingDivisorEXT, glVertexArrayVertexBindingDivisorEXT, VERTEXARRAYVERTEXBINDINGDIVISOREXT, (GLuint vaobj, GLuint bindingindex, GLuint divisor), &vaobj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexArrayVertexOffsetEXT, glVertexArrayVertexOffsetEXT, VERTEXARRAYVERTEXOFFSETEXT, (GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset), &vaobj, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib1d, glVertexAttrib1d, VERTEXATTRIB1D, (GLuint index, GLdouble x), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib1dARB, glVertexAttrib1dARB, VERTEXATTRIB1DARB, (GLuint index, GLdouble x), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib1dNV, glVertexAttrib1dNV, VERTEXATTRIB1DNV, (GLuint index, GLdouble x), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib1dv, glVertexAttrib1dv, VERTEXATTRIB1DV, (GLuint index, const GLdouble *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib1dvARB, glVertexAttrib1dvARB, VERTEXATTRIB1DVARB, (GLuint index, const GLdouble *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib1dvNV, glVertexAttrib1dvNV, VERTEXATTRIB1DVNV, (GLuint index, const GLdouble *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib1f, glVertexAttrib1f, VERTEXATTRIB1F, (GLuint index, GLfloat x), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib1fARB, glVertexAttrib1fARB, VERTEXATTRIB1FARB, (GLuint index, GLfloat x), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib1fNV, glVertexAttrib1fNV, VERTEXATTRIB1FNV, (GLuint index, GLfloat x), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib1fv, glVertexAttrib1fv, VERTEXATTRIB1FV, (GLuint index, const GLfloat *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib1fvARB, glVertexAttrib1fvARB, VERTEXATTRIB1FVARB, (GLuint index, const GLfloat *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib1fvNV, glVertexAttrib1fvNV, VERTEXATTRIB1FVNV, (GLuint index, const GLfloat *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib1hNV, glVertexAttrib1hNV, VERTEXATTRIB1HNV, (GLuint index, GLhalfNV32 x), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib1hvNV, glVertexAttrib1hvNV, VERTEXATTRIB1HVNV, (GLuint index, const GLhalfNV *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib1s, glVertexAttrib1s, VERTEXATTRIB1S, (GLuint index, GLshort32 x), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib1sARB, glVertexAttrib1sARB, VERTEXATTRIB1SARB, (GLuint index, GLshort32 x), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib1sNV, glVertexAttrib1sNV, VERTEXATTRIB1SNV, (GLuint index, GLshort32 x), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib1sv, glVertexAttrib1sv, VERTEXATTRIB1SV, (GLuint index, const GLshort *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib1svARB, glVertexAttrib1svARB, VERTEXATTRIB1SVARB, (GLuint index, const GLshort *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib1svNV, glVertexAttrib1svNV, VERTEXATTRIB1SVNV, (GLuint index, const GLshort *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib2d, glVertexAttrib2d, VERTEXATTRIB2D, (GLuint index, GLdouble x, GLdouble y), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib2dARB, glVertexAttrib2dARB, VERTEXATTRIB2DARB, (GLuint index, GLdouble x, GLdouble y), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib2dNV, glVertexAttrib2dNV, VERTEXATTRIB2DNV, (GLuint index, GLdouble x, GLdouble y), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib2dv, glVertexAttrib2dv, VERTEXATTRIB2DV, (GLuint index, const GLdouble *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib2dvARB, glVertexAttrib2dvARB, VERTEXATTRIB2DVARB, (GLuint index, const GLdouble *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib2dvNV, glVertexAttrib2dvNV, VERTEXATTRIB2DVNV, (GLuint index, const GLdouble *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib2f, glVertexAttrib2f, VERTEXATTRIB2F, (GLuint index, GLfloat x, GLfloat y), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib2fARB, glVertexAttrib2fARB, VERTEXATTRIB2FARB, (GLuint index, GLfloat x, GLfloat y), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib2fNV, glVertexAttrib2fNV, VERTEXATTRIB2FNV, (GLuint index, GLfloat x, GLfloat y), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib2fv, glVertexAttrib2fv, VERTEXATTRIB2FV, (GLuint index, const GLfloat *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib2fvARB, glVertexAttrib2fvARB, VERTEXATTRIB2FVARB, (GLuint index, const GLfloat *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib2fvNV, glVertexAttrib2fvNV, VERTEXATTRIB2FVNV, (GLuint index, const GLfloat *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib2hNV, glVertexAttrib2hNV, VERTEXATTRIB2HNV, (GLuint index, GLhalfNV32 x, GLhalfNV32 y), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib2hvNV, glVertexAttrib2hvNV, VERTEXATTRIB2HVNV, (GLuint index, const GLhalfNV *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib2s, glVertexAttrib2s, VERTEXATTRIB2S, (GLuint index, GLshort32 x, GLshort32 y), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib2sARB, glVertexAttrib2sARB, VERTEXATTRIB2SARB, (GLuint index, GLshort32 x, GLshort32 y), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib2sNV, glVertexAttrib2sNV, VERTEXATTRIB2SNV, (GLuint index, GLshort32 x, GLshort32 y), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib2sv, glVertexAttrib2sv, VERTEXATTRIB2SV, (GLuint index, const GLshort *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib2svARB, glVertexAttrib2svARB, VERTEXATTRIB2SVARB, (GLuint index, const GLshort *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib2svNV, glVertexAttrib2svNV, VERTEXATTRIB2SVNV, (GLuint index, const GLshort *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib3d, glVertexAttrib3d, VERTEXATTRIB3D, (GLuint index, GLdouble x, GLdouble y, GLdouble z), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib3dARB, glVertexAttrib3dARB, VERTEXATTRIB3DARB, (GLuint index, GLdouble x, GLdouble y, GLdouble z), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib3dNV, glVertexAttrib3dNV, VERTEXATTRIB3DNV, (GLuint index, GLdouble x, GLdouble y, GLdouble z), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib3dv, glVertexAttrib3dv, VERTEXATTRIB3DV, (GLuint index, const GLdouble *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib3dvARB, glVertexAttrib3dvARB, VERTEXATTRIB3DVARB, (GLuint index, const GLdouble *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib3dvNV, glVertexAttrib3dvNV, VERTEXATTRIB3DVNV, (GLuint index, const GLdouble *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib3f, glVertexAttrib3f, VERTEXATTRIB3F, (GLuint index, GLfloat x, GLfloat y, GLfloat z), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib3fARB, glVertexAttrib3fARB, VERTEXATTRIB3FARB, (GLuint index, GLfloat x, GLfloat y, GLfloat z), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib3fNV, glVertexAttrib3fNV, VERTEXATTRIB3FNV, (GLuint index, GLfloat x, GLfloat y, GLfloat z), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib3fv, glVertexAttrib3fv, VERTEXATTRIB3FV, (GLuint index, const GLfloat *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib3fvARB, glVertexAttrib3fvARB, VERTEXATTRIB3FVARB, (GLuint index, const GLfloat *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib3fvNV, glVertexAttrib3fvNV, VERTEXATTRIB3FVNV, (GLuint index, const GLfloat *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib3hNV, glVertexAttrib3hNV, VERTEXATTRIB3HNV, (GLuint index, GLhalfNV32 x, GLhalfNV32 y, GLhalfNV32 z), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib3hvNV, glVertexAttrib3hvNV, VERTEXATTRIB3HVNV, (GLuint index, const GLhalfNV *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib3s, glVertexAttrib3s, VERTEXATTRIB3S, (GLuint index, GLshort32 x, GLshort32 y, GLshort32 z), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib3sARB, glVertexAttrib3sARB, VERTEXATTRIB3SARB, (GLuint index, GLshort32 x, GLshort32 y, GLshort32 z), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib3sNV, glVertexAttrib3sNV, VERTEXATTRIB3SNV, (GLuint index, GLshort32 x, GLshort32 y, GLshort32 z), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib3sv, glVertexAttrib3sv, VERTEXATTRIB3SV, (GLuint index, const GLshort *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib3svARB, glVertexAttrib3svARB, VERTEXATTRIB3SVARB, (GLuint index, const GLshort *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib3svNV, glVertexAttrib3svNV, VERTEXATTRIB3SVNV, (GLuint index, const GLshort *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4Nbv, glVertexAttrib4Nbv, VERTEXATTRIB4NBV, (GLuint index, const GLbyte *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4NbvARB, glVertexAttrib4NbvARB, VERTEXATTRIB4NBVARB, (GLuint index, const GLbyte *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4Niv, glVertexAttrib4Niv, VERTEXATTRIB4NIV, (GLuint index, const GLint *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4NivARB, glVertexAttrib4NivARB, VERTEXATTRIB4NIVARB, (GLuint index, const GLint *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4Nsv, glVertexAttrib4Nsv, VERTEXATTRIB4NSV, (GLuint index, const GLshort *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4NsvARB, glVertexAttrib4NsvARB, VERTEXATTRIB4NSVARB, (GLuint index, const GLshort *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4Nub, glVertexAttrib4Nub, VERTEXATTRIB4NUB, (GLuint index, GLubyte32 x, GLubyte32 y, GLubyte32 z, GLubyte32 w), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4NubARB, glVertexAttrib4NubARB, VERTEXATTRIB4NUBARB, (GLuint index, GLubyte32 x, GLubyte32 y, GLubyte32 z, GLubyte32 w), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4Nubv, glVertexAttrib4Nubv, VERTEXATTRIB4NUBV, (GLuint index, const GLubyte *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4NubvARB, glVertexAttrib4NubvARB, VERTEXATTRIB4NUBVARB, (GLuint index, const GLubyte *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4Nuiv, glVertexAttrib4Nuiv, VERTEXATTRIB4NUIV, (GLuint index, const GLuint *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4NuivARB, glVertexAttrib4NuivARB, VERTEXATTRIB4NUIVARB, (GLuint index, const GLuint *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4Nusv, glVertexAttrib4Nusv, VERTEXATTRIB4NUSV, (GLuint index, const GLushort *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4NusvARB, glVertexAttrib4NusvARB, VERTEXATTRIB4NUSVARB, (GLuint index, const GLushort *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4bv, glVertexAttrib4bv, VERTEXATTRIB4BV, (GLuint index, const GLbyte *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4bvARB, glVertexAttrib4bvARB, VERTEXATTRIB4BVARB, (GLuint index, const GLbyte *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4d, glVertexAttrib4d, VERTEXATTRIB4D, (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4dARB, glVertexAttrib4dARB, VERTEXATTRIB4DARB, (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4dNV, glVertexAttrib4dNV, VERTEXATTRIB4DNV, (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4dv, glVertexAttrib4dv, VERTEXATTRIB4DV, (GLuint index, const GLdouble *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4dvARB, glVertexAttrib4dvARB, VERTEXATTRIB4DVARB, (GLuint index, const GLdouble *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4dvNV, glVertexAttrib4dvNV, VERTEXATTRIB4DVNV, (GLuint index, const GLdouble *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4f, glVertexAttrib4f, VERTEXATTRIB4F, (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4fARB, glVertexAttrib4fARB, VERTEXATTRIB4FARB, (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4fNV, glVertexAttrib4fNV, VERTEXATTRIB4FNV, (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4fv, glVertexAttrib4fv, VERTEXATTRIB4FV, (GLuint index, const GLfloat *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4fvARB, glVertexAttrib4fvARB, VERTEXATTRIB4FVARB, (GLuint index, const GLfloat *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4fvNV, glVertexAttrib4fvNV, VERTEXATTRIB4FVNV, (GLuint index, const GLfloat *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4hNV, glVertexAttrib4hNV, VERTEXATTRIB4HNV, (GLuint index, GLhalfNV32 x, GLhalfNV32 y, GLhalfNV32 z, GLhalfNV32 w), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4hvNV, glVertexAttrib4hvNV, VERTEXATTRIB4HVNV, (GLuint index, const GLhalfNV *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4iv, glVertexAttrib4iv, VERTEXATTRIB4IV, (GLuint index, const GLint *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4ivARB, glVertexAttrib4ivARB, VERTEXATTRIB4IVARB, (GLuint index, const GLint *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4s, glVertexAttrib4s, VERTEXATTRIB4S, (GLuint index, GLshort32 x, GLshort32 y, GLshort32 z, GLshort32 w), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4sARB, glVertexAttrib4sARB, VERTEXATTRIB4SARB, (GLuint index, GLshort32 x, GLshort32 y, GLshort32 z, GLshort32 w), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4sNV, glVertexAttrib4sNV, VERTEXATTRIB4SNV, (GLuint index, GLshort32 x, GLshort32 y, GLshort32 z, GLshort32 w), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4sv, glVertexAttrib4sv, VERTEXATTRIB4SV, (GLuint index, const GLshort *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4svARB, glVertexAttrib4svARB, VERTEXATTRIB4SVARB, (GLuint index, const GLshort *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4svNV, glVertexAttrib4svNV, VERTEXATTRIB4SVNV, (GLuint index, const GLshort *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4ubNV, glVertexAttrib4ubNV, VERTEXATTRIB4UBNV, (GLuint index, GLubyte32 x, GLubyte32 y, GLubyte32 z, GLubyte32 w), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4ubv, glVertexAttrib4ubv, VERTEXATTRIB4UBV, (GLuint index, const GLubyte *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4ubvARB, glVertexAttrib4ubvARB, VERTEXATTRIB4UBVARB, (GLuint index, const GLubyte *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4ubvNV, glVertexAttrib4ubvNV, VERTEXATTRIB4UBVNV, (GLuint index, const GLubyte *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4uiv, glVertexAttrib4uiv, VERTEXATTRIB4UIV, (GLuint index, const GLuint *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4uivARB, glVertexAttrib4uivARB, VERTEXATTRIB4UIVARB, (GLuint index, const GLuint *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4usv, glVertexAttrib4usv, VERTEXATTRIB4USV, (GLuint index, const GLushort *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttrib4usvARB, glVertexAttrib4usvARB, VERTEXATTRIB4USVARB, (GLuint index, const GLushort *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribArrayObjectATI, glVertexAttribArrayObjectATI, VERTEXATTRIBARRAYOBJECTATI, (GLuint index, GLint size, GLenum type, GLboolean32 normalized, GLsizei stride, GLuint buffer, GLuint offset), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribBinding, glVertexAttribBinding, VERTEXATTRIBBINDING, (GLuint attribindex, GLuint bindingindex), &attribindex, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribDivisor, glVertexAttribDivisor, VERTEXATTRIBDIVISOR, (GLuint index, GLuint divisor), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribDivisorARB, glVertexAttribDivisorARB, VERTEXATTRIBDIVISORARB, (GLuint index, GLuint divisor), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribFormat, glVertexAttribFormat, VERTEXATTRIBFORMAT, (GLuint attribindex, GLint size, GLenum type, GLboolean32 normalized, GLuint relativeoffset), &attribindex, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribFormatNV, glVertexAttribFormatNV, VERTEXATTRIBFORMATNV, (GLuint index, GLint size, GLenum type, GLboolean32 normalized, GLsizei stride), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI1i, glVertexAttribI1i, VERTEXATTRIBI1I, (GLuint index, GLint x), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI1iEXT, glVertexAttribI1iEXT, VERTEXATTRIBI1IEXT, (GLuint index, GLint x), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI1iv, glVertexAttribI1iv, VERTEXATTRIBI1IV, (GLuint index, const GLint *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI1ivEXT, glVertexAttribI1ivEXT, VERTEXATTRIBI1IVEXT, (GLuint index, const GLint *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI1ui, glVertexAttribI1ui, VERTEXATTRIBI1UI, (GLuint index, GLuint x), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI1uiEXT, glVertexAttribI1uiEXT, VERTEXATTRIBI1UIEXT, (GLuint index, GLuint x), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI1uiv, glVertexAttribI1uiv, VERTEXATTRIBI1UIV, (GLuint index, const GLuint *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI1uivEXT, glVertexAttribI1uivEXT, VERTEXATTRIBI1UIVEXT, (GLuint index, const GLuint *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI2i, glVertexAttribI2i, VERTEXATTRIBI2I, (GLuint index, GLint x, GLint y), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI2iEXT, glVertexAttribI2iEXT, VERTEXATTRIBI2IEXT, (GLuint index, GLint x, GLint y), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI2iv, glVertexAttribI2iv, VERTEXATTRIBI2IV, (GLuint index, const GLint *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI2ivEXT, glVertexAttribI2ivEXT, VERTEXATTRIBI2IVEXT, (GLuint index, const GLint *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI2ui, glVertexAttribI2ui, VERTEXATTRIBI2UI, (GLuint index, GLuint x, GLuint y), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI2uiEXT, glVertexAttribI2uiEXT, VERTEXATTRIBI2UIEXT, (GLuint index, GLuint x, GLuint y), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI2uiv, glVertexAttribI2uiv, VERTEXATTRIBI2UIV, (GLuint index, const GLuint *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI2uivEXT, glVertexAttribI2uivEXT, VERTEXATTRIBI2UIVEXT, (GLuint index, const GLuint *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI3i, glVertexAttribI3i, VERTEXATTRIBI3I, (GLuint index, GLint x, GLint y, GLint z), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI3iEXT, glVertexAttribI3iEXT, VERTEXATTRIBI3IEXT, (GLuint index, GLint x, GLint y, GLint z), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI3iv, glVertexAttribI3iv, VERTEXATTRIBI3IV, (GLuint index, const GLint *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI3ivEXT, glVertexAttribI3ivEXT, VERTEXATTRIBI3IVEXT, (GLuint index, const GLint *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI3ui, glVertexAttribI3ui, VERTEXATTRIBI3UI, (GLuint index, GLuint x, GLuint y, GLuint z), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI3uiEXT, glVertexAttribI3uiEXT, VERTEXATTRIBI3UIEXT, (GLuint index, GLuint x, GLuint y, GLuint z), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI3uiv, glVertexAttribI3uiv, VERTEXATTRIBI3UIV, (GLuint index, const GLuint *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI3uivEXT, glVertexAttribI3uivEXT, VERTEXATTRIBI3UIVEXT, (GLuint index, const GLuint *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI4bv, glVertexAttribI4bv, VERTEXATTRIBI4BV, (GLuint index, const GLbyte *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI4bvEXT, glVertexAttribI4bvEXT, VERTEXATTRIBI4BVEXT, (GLuint index, const GLbyte *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI4i, glVertexAttribI4i, VERTEXATTRIBI4I, (GLuint index, GLint x, GLint y, GLint z, GLint w), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI4iEXT, glVertexAttribI4iEXT, VERTEXATTRIBI4IEXT, (GLuint index, GLint x, GLint y, GLint z, GLint w), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI4iv, glVertexAttribI4iv, VERTEXATTRIBI4IV, (GLuint index, const GLint *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI4ivEXT, glVertexAttribI4ivEXT, VERTEXATTRIBI4IVEXT, (GLuint index, const GLint *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI4sv, glVertexAttribI4sv, VERTEXATTRIBI4SV, (GLuint index, const GLshort *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI4svEXT, glVertexAttribI4svEXT, VERTEXATTRIBI4SVEXT, (GLuint index, const GLshort *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI4ubv, glVertexAttribI4ubv, VERTEXATTRIBI4UBV, (GLuint index, const GLubyte *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI4ubvEXT, glVertexAttribI4ubvEXT, VERTEXATTRIBI4UBVEXT, (GLuint index, const GLubyte *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI4ui, glVertexAttribI4ui, VERTEXATTRIBI4UI, (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI4uiEXT, glVertexAttribI4uiEXT, VERTEXATTRIBI4UIEXT, (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI4uiv, glVertexAttribI4uiv, VERTEXATTRIBI4UIV, (GLuint index, const GLuint *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI4uivEXT, glVertexAttribI4uivEXT, VERTEXATTRIBI4UIVEXT, (GLuint index, const GLuint *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI4usv, glVertexAttribI4usv, VERTEXATTRIBI4USV, (GLuint index, const GLushort *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribI4usvEXT, glVertexAttribI4usvEXT, VERTEXATTRIBI4USVEXT, (GLuint index, const GLushort *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribIFormat, glVertexAttribIFormat, VERTEXATTRIBIFORMAT, (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset), &attribindex, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribIFormatNV, glVertexAttribIFormatNV, VERTEXATTRIBIFORMATNV, (GLuint index, GLint size, GLenum type, GLsizei stride), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribIPointer, glVertexAttribIPointer, VERTEXATTRIBIPOINTER, (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribIPointerEXT, glVertexAttribIPointerEXT, VERTEXATTRIBIPOINTEREXT, (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribL1d, glVertexAttribL1d, VERTEXATTRIBL1D, (GLuint index, GLdouble x), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribL1dEXT, glVertexAttribL1dEXT, VERTEXATTRIBL1DEXT, (GLuint index, GLdouble x), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribL1dv, glVertexAttribL1dv, VERTEXATTRIBL1DV, (GLuint index, const GLdouble *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribL1dvEXT, glVertexAttribL1dvEXT, VERTEXATTRIBL1DVEXT, (GLuint index, const GLdouble *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribL1i64NV, glVertexAttribL1i64NV, VERTEXATTRIBL1I64NV, (GLuint index, GLint64EXT x), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribL1i64vNV, glVertexAttribL1i64vNV, VERTEXATTRIBL1I64VNV, (GLuint index, const GLint64EXT *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribL1ui64ARB, glVertexAttribL1ui64ARB, VERTEXATTRIBL1UI64ARB, (GLuint index, GLuint64EXT x), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribL1ui64NV, glVertexAttribL1ui64NV, VERTEXATTRIBL1UI64NV, (GLuint index, GLuint64EXT x), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribL1ui64vARB, glVertexAttribL1ui64vARB, VERTEXATTRIBL1UI64VARB, (GLuint index, const GLuint64EXT *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribL1ui64vNV, glVertexAttribL1ui64vNV, VERTEXATTRIBL1UI64VNV, (GLuint index, const GLuint64EXT *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribL2d, glVertexAttribL2d, VERTEXATTRIBL2D, (GLuint index, GLdouble x, GLdouble y), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribL2dEXT, glVertexAttribL2dEXT, VERTEXATTRIBL2DEXT, (GLuint index, GLdouble x, GLdouble y), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribL2dv, glVertexAttribL2dv, VERTEXATTRIBL2DV, (GLuint index, const GLdouble *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribL2dvEXT, glVertexAttribL2dvEXT, VERTEXATTRIBL2DVEXT, (GLuint index, const GLdouble *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribL2i64NV, glVertexAttribL2i64NV, VERTEXATTRIBL2I64NV, (GLuint index, GLint64EXT x, GLint64EXT y), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribL2i64vNV, glVertexAttribL2i64vNV, VERTEXATTRIBL2I64VNV, (GLuint index, const GLint64EXT *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribL2ui64NV, glVertexAttribL2ui64NV, VERTEXATTRIBL2UI64NV, (GLuint index, GLuint64EXT x, GLuint64EXT y), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribL2ui64vNV, glVertexAttribL2ui64vNV, VERTEXATTRIBL2UI64VNV, (GLuint index, const GLuint64EXT *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribL3d, glVertexAttribL3d, VERTEXATTRIBL3D, (GLuint index, GLdouble x, GLdouble y, GLdouble z), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribL3dEXT, glVertexAttribL3dEXT, VERTEXATTRIBL3DEXT, (GLuint index, GLdouble x, GLdouble y, GLdouble z), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribL3dv, glVertexAttribL3dv, VERTEXATTRIBL3DV, (GLuint index, const GLdouble *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribL3dvEXT, glVertexAttribL3dvEXT, VERTEXATTRIBL3DVEXT, (GLuint index, const GLdouble *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribL3i64NV, glVertexAttribL3i64NV, VERTEXATTRIBL3I64NV, (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribL3i64vNV, glVertexAttribL3i64vNV, VERTEXATTRIBL3I64VNV, (GLuint index, const GLint64EXT *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribL3ui64NV, glVertexAttribL3ui64NV, VERTEXATTRIBL3UI64NV, (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribL3ui64vNV, glVertexAttribL3ui64vNV, VERTEXATTRIBL3UI64VNV, (GLuint index, const GLuint64EXT *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribL4d, glVertexAttribL4d, VERTEXATTRIBL4D, (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribL4dEXT, glVertexAttribL4dEXT, VERTEXATTRIBL4DEXT, (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribL4dv, glVertexAttribL4dv, VERTEXATTRIBL4DV, (GLuint index, const GLdouble *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribL4dvEXT, glVertexAttribL4dvEXT, VERTEXATTRIBL4DVEXT, (GLuint index, const GLdouble *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribL4i64NV, glVertexAttribL4i64NV, VERTEXATTRIBL4I64NV, (GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribL4i64vNV, glVertexAttribL4i64vNV, VERTEXATTRIBL4I64VNV, (GLuint index, const GLint64EXT *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribL4ui64NV, glVertexAttribL4ui64NV, VERTEXATTRIBL4UI64NV, (GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribL4ui64vNV, glVertexAttribL4ui64vNV, VERTEXATTRIBL4UI64VNV, (GLuint index, const GLuint64EXT *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribLFormat, glVertexAttribLFormat, VERTEXATTRIBLFORMAT, (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset), &attribindex, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribLFormatNV, glVertexAttribLFormatNV, VERTEXATTRIBLFORMATNV, (GLuint index, GLint size, GLenum type, GLsizei stride), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribLPointer, glVertexAttribLPointer, VERTEXATTRIBLPOINTER, (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribLPointerEXT, glVertexAttribLPointerEXT, VERTEXATTRIBLPOINTEREXT, (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribP1ui, glVertexAttribP1ui, VERTEXATTRIBP1UI, (GLuint index, GLenum type, GLboolean32 normalized, GLuint value), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribP1uiv, glVertexAttribP1uiv, VERTEXATTRIBP1UIV, (GLuint index, GLenum type, GLboolean32 normalized, const GLuint *value), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribP2ui, glVertexAttribP2ui, VERTEXATTRIBP2UI, (GLuint index, GLenum type, GLboolean32 normalized, GLuint value), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribP2uiv, glVertexAttribP2uiv, VERTEXATTRIBP2UIV, (GLuint index, GLenum type, GLboolean32 normalized, const GLuint *value), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribP3ui, glVertexAttribP3ui, VERTEXATTRIBP3UI, (GLuint index, GLenum type, GLboolean32 normalized, GLuint value), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribP3uiv, glVertexAttribP3uiv, VERTEXATTRIBP3UIV, (GLuint index, GLenum type, GLboolean32 normalized, const GLuint *value), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribP4ui, glVertexAttribP4ui, VERTEXATTRIBP4UI, (GLuint index, GLenum type, GLboolean32 normalized, GLuint value), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribP4uiv, glVertexAttribP4uiv, VERTEXATTRIBP4UIV, (GLuint index, GLenum type, GLboolean32 normalized, const GLuint *value), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribParameteriAMD, glVertexAttribParameteriAMD, VERTEXATTRIBPARAMETERIAMD, (GLuint index, GLenum pname, GLint param), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribPointer, glVertexAttribPointer, VERTEXATTRIBPOINTER, (GLuint index, GLint size, GLenum type, GLboolean32 normalized, GLsizei stride, const void *pointer), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribPointerARB, glVertexAttribPointerARB, VERTEXATTRIBPOINTERARB, (GLuint index, GLint size, GLenum type, GLboolean32 normalized, GLsizei stride, const void *pointer), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribPointerNV, glVertexAttribPointerNV, VERTEXATTRIBPOINTERNV, (GLuint index, GLint fsize, GLenum type, GLsizei stride, const void *pointer), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribs1dvNV, glVertexAttribs1dvNV, VERTEXATTRIBS1DVNV, (GLuint index, GLsizei count, const GLdouble *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribs1fvNV, glVertexAttribs1fvNV, VERTEXATTRIBS1FVNV, (GLuint index, GLsizei count, const GLfloat *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribs1hvNV, glVertexAttribs1hvNV, VERTEXATTRIBS1HVNV, (GLuint index, GLsizei n, const GLhalfNV *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribs1svNV, glVertexAttribs1svNV, VERTEXATTRIBS1SVNV, (GLuint index, GLsizei count, const GLshort *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribs2dvNV, glVertexAttribs2dvNV, VERTEXATTRIBS2DVNV, (GLuint index, GLsizei count, const GLdouble *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribs2fvNV, glVertexAttribs2fvNV, VERTEXATTRIBS2FVNV, (GLuint index, GLsizei count, const GLfloat *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribs2hvNV, glVertexAttribs2hvNV, VERTEXATTRIBS2HVNV, (GLuint index, GLsizei n, const GLhalfNV *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribs2svNV, glVertexAttribs2svNV, VERTEXATTRIBS2SVNV, (GLuint index, GLsizei count, const GLshort *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribs3dvNV, glVertexAttribs3dvNV, VERTEXATTRIBS3DVNV, (GLuint index, GLsizei count, const GLdouble *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribs3fvNV, glVertexAttribs3fvNV, VERTEXATTRIBS3FVNV, (GLuint index, GLsizei count, const GLfloat *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribs3hvNV, glVertexAttribs3hvNV, VERTEXATTRIBS3HVNV, (GLuint index, GLsizei n, const GLhalfNV *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribs3svNV, glVertexAttribs3svNV, VERTEXATTRIBS3SVNV, (GLuint index, GLsizei count, const GLshort *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribs4dvNV, glVertexAttribs4dvNV, VERTEXATTRIBS4DVNV, (GLuint index, GLsizei count, const GLdouble *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribs4fvNV, glVertexAttribs4fvNV, VERTEXATTRIBS4FVNV, (GLuint index, GLsizei count, const GLfloat *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribs4hvNV, glVertexAttribs4hvNV, VERTEXATTRIBS4HVNV, (GLuint index, GLsizei n, const GLhalfNV *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribs4svNV, glVertexAttribs4svNV, VERTEXATTRIBS4SVNV, (GLuint index, GLsizei count, const GLshort *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexAttribs4ubvNV, glVertexAttribs4ubvNV, VERTEXATTRIBS4UBVNV, (GLuint index, GLsizei count, const GLubyte *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexBindingDivisor, glVertexBindingDivisor, VERTEXBINDINGDIVISOR, (GLuint bindingindex, GLuint divisor), &bindingindex, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexBlendARB, glVertexBlendARB, VERTEXBLENDARB, (GLint count), &count, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexBlendEnvfATI, glVertexBlendEnvfATI, VERTEXBLENDENVFATI, (GLenum pname, GLfloat param), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexBlendEnviATI, glVertexBlendEnviATI, VERTEXBLENDENVIATI, (GLenum pname, GLint param), &pname, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexFormatNV, glVertexFormatNV, VERTEXFORMATNV, (GLint size, GLenum type, GLsizei stride), &size, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexP2ui, glVertexP2ui, VERTEXP2UI, (GLenum type, GLuint value), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexP2uiv, glVertexP2uiv, VERTEXP2UIV, (GLenum type, const GLuint *value), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexP3ui, glVertexP3ui, VERTEXP3UI, (GLenum type, GLuint value), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexP3uiv, glVertexP3uiv, VERTEXP3UIV, (GLenum type, const GLuint *value), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexP4ui, glVertexP4ui, VERTEXP4UI, (GLenum type, GLuint value), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexP4uiv, glVertexP4uiv, VERTEXP4UIV, (GLenum type, const GLuint *value), &type, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexPointSizefAPPLE, glVertexPointSizefAPPLE, VERTEXPOINTSIZEFAPPLE, (GLfloat size), &size, GL_void_return) #endif GL_PROC(void, gl, VertexPointer, glVertexPointer, VERTEXPOINTER, (GLint size, GLenum type, GLsizei stride, const GLvoid *pointer), &size, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexPointerEXT, glVertexPointerEXT, VERTEXPOINTEREXT, (GLint size, GLenum type, GLsizei stride, GLsizei count, const void *pointer), &size, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexPointerListIBM, glVertexPointerListIBM, VERTEXPOINTERLISTIBM, (GLint size, GLenum type, GLint stride, const void * *pointer, GLint ptrstride), &size, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexPointervINTEL, glVertexPointervINTEL, VERTEXPOINTERVINTEL, (GLint size, GLenum type, const void * *pointer), &size, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexStream1dATI, glVertexStream1dATI, VERTEXSTREAM1DATI, (GLenum stream, GLdouble x), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexStream1dvATI, glVertexStream1dvATI, VERTEXSTREAM1DVATI, (GLenum stream, const GLdouble *coords), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexStream1fATI, glVertexStream1fATI, VERTEXSTREAM1FATI, (GLenum stream, GLfloat x), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexStream1fvATI, glVertexStream1fvATI, VERTEXSTREAM1FVATI, (GLenum stream, const GLfloat *coords), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexStream1iATI, glVertexStream1iATI, VERTEXSTREAM1IATI, (GLenum stream, GLint x), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexStream1ivATI, glVertexStream1ivATI, VERTEXSTREAM1IVATI, (GLenum stream, const GLint *coords), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexStream1sATI, glVertexStream1sATI, VERTEXSTREAM1SATI, (GLenum stream, GLshort32 x), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexStream1svATI, glVertexStream1svATI, VERTEXSTREAM1SVATI, (GLenum stream, const GLshort *coords), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexStream2dATI, glVertexStream2dATI, VERTEXSTREAM2DATI, (GLenum stream, GLdouble x, GLdouble y), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexStream2dvATI, glVertexStream2dvATI, VERTEXSTREAM2DVATI, (GLenum stream, const GLdouble *coords), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexStream2fATI, glVertexStream2fATI, VERTEXSTREAM2FATI, (GLenum stream, GLfloat x, GLfloat y), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexStream2fvATI, glVertexStream2fvATI, VERTEXSTREAM2FVATI, (GLenum stream, const GLfloat *coords), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexStream2iATI, glVertexStream2iATI, VERTEXSTREAM2IATI, (GLenum stream, GLint x, GLint y), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexStream2ivATI, glVertexStream2ivATI, VERTEXSTREAM2IVATI, (GLenum stream, const GLint *coords), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexStream2sATI, glVertexStream2sATI, VERTEXSTREAM2SATI, (GLenum stream, GLshort32 x, GLshort32 y), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexStream2svATI, glVertexStream2svATI, VERTEXSTREAM2SVATI, (GLenum stream, const GLshort *coords), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexStream3dATI, glVertexStream3dATI, VERTEXSTREAM3DATI, (GLenum stream, GLdouble x, GLdouble y, GLdouble z), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexStream3dvATI, glVertexStream3dvATI, VERTEXSTREAM3DVATI, (GLenum stream, const GLdouble *coords), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexStream3fATI, glVertexStream3fATI, VERTEXSTREAM3FATI, (GLenum stream, GLfloat x, GLfloat y, GLfloat z), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexStream3fvATI, glVertexStream3fvATI, VERTEXSTREAM3FVATI, (GLenum stream, const GLfloat *coords), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexStream3iATI, glVertexStream3iATI, VERTEXSTREAM3IATI, (GLenum stream, GLint x, GLint y, GLint z), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexStream3ivATI, glVertexStream3ivATI, VERTEXSTREAM3IVATI, (GLenum stream, const GLint *coords), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexStream3sATI, glVertexStream3sATI, VERTEXSTREAM3SATI, (GLenum stream, GLshort32 x, GLshort32 y, GLshort32 z), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexStream3svATI, glVertexStream3svATI, VERTEXSTREAM3SVATI, (GLenum stream, const GLshort *coords), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexStream4dATI, glVertexStream4dATI, VERTEXSTREAM4DATI, (GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexStream4dvATI, glVertexStream4dvATI, VERTEXSTREAM4DVATI, (GLenum stream, const GLdouble *coords), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexStream4fATI, glVertexStream4fATI, VERTEXSTREAM4FATI, (GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexStream4fvATI, glVertexStream4fvATI, VERTEXSTREAM4FVATI, (GLenum stream, const GLfloat *coords), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexStream4iATI, glVertexStream4iATI, VERTEXSTREAM4IATI, (GLenum stream, GLint x, GLint y, GLint z, GLint w), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexStream4ivATI, glVertexStream4ivATI, VERTEXSTREAM4IVATI, (GLenum stream, const GLint *coords), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexStream4sATI, glVertexStream4sATI, VERTEXSTREAM4SATI, (GLenum stream, GLshort32 x, GLshort32 y, GLshort32 z, GLshort32 w), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexStream4svATI, glVertexStream4svATI, VERTEXSTREAM4SVATI, (GLenum stream, const GLshort *coords), &stream, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexWeightPointerEXT, glVertexWeightPointerEXT, VERTEXWEIGHTPOINTEREXT, (GLint size, GLenum type, GLsizei stride, const void *pointer), &size, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexWeightfEXT, glVertexWeightfEXT, VERTEXWEIGHTFEXT, (GLfloat weight), &weight, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexWeightfvEXT, glVertexWeightfvEXT, VERTEXWEIGHTFVEXT, (const GLfloat *weight), &weight, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexWeighthNV, glVertexWeighthNV, VERTEXWEIGHTHNV, (GLhalfNV32 weight), &weight, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VertexWeighthvNV, glVertexWeighthvNV, VERTEXWEIGHTHVNV, (const GLhalfNV *weight), &weight, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(GLenum, gl, VideoCaptureNV, glVideoCaptureNV, VIDEOCAPTURENV, (GLuint video_capture_slot, GLuint *sequence_num, GLuint64EXT *capture_time), &video_capture_slot, return (GLenum)) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VideoCaptureStreamParameterdvNV, glVideoCaptureStreamParameterdvNV, VIDEOCAPTURESTREAMPARAMETERDVNV, (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble *params), &video_capture_slot, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VideoCaptureStreamParameterfvNV, glVideoCaptureStreamParameterfvNV, VIDEOCAPTURESTREAMPARAMETERFVNV, (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat *params), &video_capture_slot, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, VideoCaptureStreamParameterivNV, glVideoCaptureStreamParameterivNV, VIDEOCAPTURESTREAMPARAMETERIVNV, (GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint *params), &video_capture_slot, GL_void_return) #endif GL_PROC(void, gl, Viewport, glViewport, VIEWPORT, (GLint x, GLint y, GLsizei width, GLsizei height), &x, GL_void_return) #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ViewportArrayv, glViewportArrayv, VIEWPORTARRAYV, (GLuint first, GLsizei count, const GLfloat *v), &first, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ViewportIndexedf, glViewportIndexedf, VIEWPORTINDEXEDF, (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, ViewportIndexedfv, glViewportIndexedfv, VIEWPORTINDEXEDFV, (GLuint index, const GLfloat *v), &index, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WaitSync, glWaitSync, WAITSYNC, (GLsync sync, GLbitfield flags, GLuint64 timeout), &sync, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WeightPathsNV, glWeightPathsNV, WEIGHTPATHSNV, (GLuint resultPath, GLsizei numPaths, const GLuint *paths, const GLfloat *weights), &resultPath, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WeightPointerARB, glWeightPointerARB, WEIGHTPOINTERARB, (GLint size, GLenum type, GLsizei stride, const void *pointer), &size, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WeightbvARB, glWeightbvARB, WEIGHTBVARB, (GLint size, const GLbyte *weights), &size, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WeightdvARB, glWeightdvARB, WEIGHTDVARB, (GLint size, const GLdouble *weights), &size, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WeightfvARB, glWeightfvARB, WEIGHTFVARB, (GLint size, const GLfloat *weights), &size, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WeightivARB, glWeightivARB, WEIGHTIVARB, (GLint size, const GLint *weights), &size, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WeightsvARB, glWeightsvARB, WEIGHTSVARB, (GLint size, const GLshort *weights), &size, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WeightubvARB, glWeightubvARB, WEIGHTUBVARB, (GLint size, const GLubyte *weights), &size, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WeightuivARB, glWeightuivARB, WEIGHTUIVARB, (GLint size, const GLuint *weights), &size, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WeightusvARB, glWeightusvARB, WEIGHTUSVARB, (GLint size, const GLushort *weights), &size, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos2d, glWindowPos2d, WINDOWPOS2D, (GLdouble x, GLdouble y), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos2dARB, glWindowPos2dARB, WINDOWPOS2DARB, (GLdouble x, GLdouble y), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos2dMESA, glWindowPos2dMESA, WINDOWPOS2DMESA, (GLdouble x, GLdouble y), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos2dv, glWindowPos2dv, WINDOWPOS2DV, (const GLdouble *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos2dvARB, glWindowPos2dvARB, WINDOWPOS2DVARB, (const GLdouble *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos2dvMESA, glWindowPos2dvMESA, WINDOWPOS2DVMESA, (const GLdouble *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos2f, glWindowPos2f, WINDOWPOS2F, (GLfloat x, GLfloat y), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos2fARB, glWindowPos2fARB, WINDOWPOS2FARB, (GLfloat x, GLfloat y), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos2fMESA, glWindowPos2fMESA, WINDOWPOS2FMESA, (GLfloat x, GLfloat y), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos2fv, glWindowPos2fv, WINDOWPOS2FV, (const GLfloat *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos2fvARB, glWindowPos2fvARB, WINDOWPOS2FVARB, (const GLfloat *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos2fvMESA, glWindowPos2fvMESA, WINDOWPOS2FVMESA, (const GLfloat *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos2i, glWindowPos2i, WINDOWPOS2I, (GLint x, GLint y), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos2iARB, glWindowPos2iARB, WINDOWPOS2IARB, (GLint x, GLint y), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos2iMESA, glWindowPos2iMESA, WINDOWPOS2IMESA, (GLint x, GLint y), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos2iv, glWindowPos2iv, WINDOWPOS2IV, (const GLint *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos2ivARB, glWindowPos2ivARB, WINDOWPOS2IVARB, (const GLint *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos2ivMESA, glWindowPos2ivMESA, WINDOWPOS2IVMESA, (const GLint *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos2s, glWindowPos2s, WINDOWPOS2S, (GLshort32 x, GLshort32 y), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos2sARB, glWindowPos2sARB, WINDOWPOS2SARB, (GLshort32 x, GLshort32 y), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos2sMESA, glWindowPos2sMESA, WINDOWPOS2SMESA, (GLshort32 x, GLshort32 y), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos2sv, glWindowPos2sv, WINDOWPOS2SV, (const GLshort *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos2svARB, glWindowPos2svARB, WINDOWPOS2SVARB, (const GLshort *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos2svMESA, glWindowPos2svMESA, WINDOWPOS2SVMESA, (const GLshort *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos3d, glWindowPos3d, WINDOWPOS3D, (GLdouble x, GLdouble y, GLdouble z), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos3dARB, glWindowPos3dARB, WINDOWPOS3DARB, (GLdouble x, GLdouble y, GLdouble z), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos3dMESA, glWindowPos3dMESA, WINDOWPOS3DMESA, (GLdouble x, GLdouble y, GLdouble z), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos3dv, glWindowPos3dv, WINDOWPOS3DV, (const GLdouble *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos3dvARB, glWindowPos3dvARB, WINDOWPOS3DVARB, (const GLdouble *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos3dvMESA, glWindowPos3dvMESA, WINDOWPOS3DVMESA, (const GLdouble *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos3f, glWindowPos3f, WINDOWPOS3F, (GLfloat x, GLfloat y, GLfloat z), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos3fARB, glWindowPos3fARB, WINDOWPOS3FARB, (GLfloat x, GLfloat y, GLfloat z), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos3fMESA, glWindowPos3fMESA, WINDOWPOS3FMESA, (GLfloat x, GLfloat y, GLfloat z), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos3fv, glWindowPos3fv, WINDOWPOS3FV, (const GLfloat *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos3fvARB, glWindowPos3fvARB, WINDOWPOS3FVARB, (const GLfloat *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos3fvMESA, glWindowPos3fvMESA, WINDOWPOS3FVMESA, (const GLfloat *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos3i, glWindowPos3i, WINDOWPOS3I, (GLint x, GLint y, GLint z), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos3iARB, glWindowPos3iARB, WINDOWPOS3IARB, (GLint x, GLint y, GLint z), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos3iMESA, glWindowPos3iMESA, WINDOWPOS3IMESA, (GLint x, GLint y, GLint z), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos3iv, glWindowPos3iv, WINDOWPOS3IV, (const GLint *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos3ivARB, glWindowPos3ivARB, WINDOWPOS3IVARB, (const GLint *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos3ivMESA, glWindowPos3ivMESA, WINDOWPOS3IVMESA, (const GLint *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos3s, glWindowPos3s, WINDOWPOS3S, (GLshort32 x, GLshort32 y, GLshort32 z), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos3sARB, glWindowPos3sARB, WINDOWPOS3SARB, (GLshort32 x, GLshort32 y, GLshort32 z), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos3sMESA, glWindowPos3sMESA, WINDOWPOS3SMESA, (GLshort32 x, GLshort32 y, GLshort32 z), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos3sv, glWindowPos3sv, WINDOWPOS3SV, (const GLshort *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos3svARB, glWindowPos3svARB, WINDOWPOS3SVARB, (const GLshort *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos3svMESA, glWindowPos3svMESA, WINDOWPOS3SVMESA, (const GLshort *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos4dMESA, glWindowPos4dMESA, WINDOWPOS4DMESA, (GLdouble x, GLdouble y, GLdouble z, GLdouble w), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos4dvMESA, glWindowPos4dvMESA, WINDOWPOS4DVMESA, (const GLdouble *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos4fMESA, glWindowPos4fMESA, WINDOWPOS4FMESA, (GLfloat x, GLfloat y, GLfloat z, GLfloat w), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos4fvMESA, glWindowPos4fvMESA, WINDOWPOS4FVMESA, (const GLfloat *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos4iMESA, glWindowPos4iMESA, WINDOWPOS4IMESA, (GLint x, GLint y, GLint z, GLint w), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos4ivMESA, glWindowPos4ivMESA, WINDOWPOS4IVMESA, (const GLint *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos4sMESA, glWindowPos4sMESA, WINDOWPOS4SMESA, (GLshort32 x, GLshort32 y, GLshort32 z, GLshort32 w), &x, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WindowPos4svMESA, glWindowPos4svMESA, WINDOWPOS4SVMESA, (const GLshort *v), &v, GL_void_return) #endif #if !defined(TINYGL_ONLY) GL_PROC(void, gl, WriteMaskEXT, glWriteMaskEXT, WRITEMASKEXT, (GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW), &res, GL_void_return) #endif GLU_PROC(void, glu, LookAt, gluLookAt, LOOKAT, (GLdouble eyeX, GLdouble eyeY, GLdouble eyeZ, GLdouble centerX, GLdouble centerY, GLdouble centerZ, GLdouble upX, GLdouble upY, GLdouble upZ), &eyeX, GL_void_return) /* Functions generated: 12 OSMesa + 2664 GL + 1 GLU */ #undef GL_PROC #undef GLU_PROC #undef GL_GETSTRING #undef GL_GETSTRINGI #undef OSMESA_PROC #undef GL_void_return aranym-1.0.2/atari/nfosmesa/gltypes.h000066400000000000000000001116241242022243000175500ustar00rootroot00000000000000#if !defined(__MSHORT__) && (defined(__PUREC__) && __PUREC__ < 0x400) # define __MSHORT__ 1 #endif #ifdef __cplusplus extern "C" { #endif #ifndef APIENTRY #if defined(_WIN32) || defined(__CYGWIN__) #define APIENTRY __stdcall #elif defined(__PUREC__) #define APIENTRY __CDECL #else #define APIENTRY #endif #endif #ifndef CALLBACK #define CALLBACK APIENTRY #endif #ifndef GLAPIENTRY #define GLAPIENTRY APIENTRY #endif #ifndef GLAPI #define GLAPI extern #endif #if !defined(__CDECL) #if defined(__PUREC__) #define __CDECL cdecl #else #define __CDECL #endif #endif #ifndef GL_VERSION_1_1 #define GL_VERSION_1_1 1 #ifdef __MSHORT__ typedef long GLint; /* 4-byte signed */ typedef unsigned long GLuint; /* 4-byte unsigned */ typedef unsigned long GLenum; /* 4-byte unsigned */ typedef unsigned long GLbitfield; /* 4-byte unsigned */ typedef long GLsizei; #else typedef int GLint; /* 4-byte signed */ typedef unsigned int GLuint; /* 4-byte unsigned */ typedef unsigned int GLenum; /* 4-byte unsigned */ typedef unsigned int GLbitfield; /* 4-byte unsigned */ typedef int GLsizei; #endif typedef unsigned char GLboolean; typedef signed char GLbyte; /* 1-byte signed */ typedef unsigned char GLubyte; /* 1-byte unsigned */ typedef short GLshort; /* 2-byte signed */ typedef unsigned short GLushort; /* 2-byte unsigned */ typedef float GLfloat; /* single precision float */ typedef float GLclampf; /* single precision float in [0, 1] */ typedef double GLdouble; /* double precision float */ typedef double GLclampd; /* double precision float in [0, 1] */ typedef void GLvoid; /* Boolean values */ #define GL_FALSE 0 #define GL_TRUE 1 /* Data types */ #define GL_BYTE 0x1400 #define GL_UNSIGNED_BYTE 0x1401 #define GL_SHORT 0x1402 #define GL_UNSIGNED_SHORT 0x1403 #define GL_INT 0x1404 #define GL_UNSIGNED_INT 0x1405 #define GL_FLOAT 0x1406 #define GL_DOUBLE 0x140A #define GL_2_BYTES 0x1407 #define GL_3_BYTES 0x1408 #define GL_4_BYTES 0x1409 /* Primitives */ #define GL_LINES 0x0001 #define GL_POINTS 0x0000 #define GL_LINE_STRIP 0x0003 #define GL_LINE_LOOP 0x0002 #define GL_TRIANGLES 0x0004 #define GL_TRIANGLE_STRIP 0x0005 #define GL_TRIANGLE_FAN 0x0006 #define GL_QUADS 0x0007 #define GL_QUAD_STRIP 0x0008 #define GL_POLYGON 0x0009 #define GL_EDGE_FLAG 0x0B43 /* Vertex Arrays */ #define GL_VERTEX_ARRAY 0x8074 #define GL_NORMAL_ARRAY 0x8075 #define GL_COLOR_ARRAY 0x8076 #define GL_INDEX_ARRAY 0x8077 #define GL_TEXTURE_COORD_ARRAY 0x8078 #define GL_EDGE_FLAG_ARRAY 0x8079 #define GL_VERTEX_ARRAY_SIZE 0x807A #define GL_VERTEX_ARRAY_TYPE 0x807B #define GL_VERTEX_ARRAY_STRIDE 0x807C #define GL_VERTEX_ARRAY_COUNT 0x807D #define GL_NORMAL_ARRAY_TYPE 0x807E #define GL_NORMAL_ARRAY_STRIDE 0x807F #define GL_NORMAL_ARRAY_COUNT 0x8080 #define GL_COLOR_ARRAY_SIZE 0x8081 #define GL_COLOR_ARRAY_TYPE 0x8082 #define GL_COLOR_ARRAY_STRIDE 0x8083 #define GL_COLOR_ARRAY_COUNT 0x8084 #define GL_INDEX_ARRAY_TYPE 0x8085 #define GL_INDEX_ARRAY_STRIDE 0x8086 #define GL_INDEX_ARRAY_COUNT 0x8087 #define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088 #define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089 #define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A #define GL_TEXTURE_COORD_ARRAY_COUNT 0x808B #define GL_EDGE_FLAG_ARRAY_STRIDE 0x808C #define GL_EDGE_FLAG_ARRAY_COUNT 0x808D #define GL_VERTEX_ARRAY_POINTER 0x808E #define GL_NORMAL_ARRAY_POINTER 0x808F #define GL_COLOR_ARRAY_POINTER 0x8090 #define GL_INDEX_ARRAY_POINTER 0x8091 #define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092 #define GL_EDGE_FLAG_ARRAY_POINTER 0x8093 #define GL_V2F 0x2A20 #define GL_V3F 0x2A21 #define GL_C4UB_V2F 0x2A22 #define GL_C4UB_V3F 0x2A23 #define GL_C3F_V3F 0x2A24 #define GL_N3F_V3F 0x2A25 #define GL_C4F_N3F_V3F 0x2A26 #define GL_T2F_V3F 0x2A27 #define GL_T4F_V4F 0x2A28 #define GL_T2F_C4UB_V3F 0x2A29 #define GL_T2F_C3F_V3F 0x2A2A #define GL_T2F_N3F_V3F 0x2A2B #define GL_T2F_C4F_N3F_V3F 0x2A2C #define GL_T4F_C4F_N3F_V4F 0x2A2D /* Matrix Mode */ #define GL_MATRIX_MODE 0x0BA0 #define GL_MODELVIEW 0x1700 #define GL_PROJECTION 0x1701 #define GL_TEXTURE 0x1702 /* Points */ #define GL_POINT_SMOOTH 0x0B10 #define GL_POINT_SIZE 0x0B11 #define GL_POINT_SIZE_GRANULARITY 0x0B13 #define GL_POINT_SIZE_RANGE 0x0B12 /* Lines */ #define GL_LINE_SMOOTH 0x0B20 #define GL_LINE_STIPPLE 0x0B24 #define GL_LINE_STIPPLE_PATTERN 0x0B25 #define GL_LINE_STIPPLE_REPEAT 0x0B26 #define GL_LINE_WIDTH 0x0B21 #define GL_LINE_WIDTH_GRANULARITY 0x0B23 #define GL_LINE_WIDTH_RANGE 0x0B22 /* Polygons */ #define GL_POINT 0x1B00 #define GL_LINE 0x1B01 #define GL_FILL 0x1B02 #define GL_CCW 0x0901 #define GL_CW 0x0900 #define GL_FRONT 0x0404 #define GL_BACK 0x0405 #define GL_CULL_FACE 0x0B44 #define GL_CULL_FACE_MODE 0x0B45 #define GL_POLYGON_SMOOTH 0x0B41 #define GL_POLYGON_STIPPLE 0x0B42 #define GL_FRONT_FACE 0x0B46 #define GL_POLYGON_MODE 0x0B40 #define GL_POLYGON_OFFSET_FACTOR 0x8038 #define GL_POLYGON_OFFSET_UNITS 0x2A00 #define GL_POLYGON_OFFSET_POINT 0x2A01 #define GL_POLYGON_OFFSET_LINE 0x2A02 #define GL_POLYGON_OFFSET_FILL 0x8037 /* Display Lists */ #define GL_COMPILE 0x1300 #define GL_COMPILE_AND_EXECUTE 0x1301 #define GL_LIST_BASE 0x0B32 #define GL_LIST_INDEX 0x0B33 #define GL_LIST_MODE 0x0B30 /* Depth buffer */ #define GL_NEVER 0x0200 #define GL_LESS 0x0201 #define GL_GEQUAL 0x0206 #define GL_LEQUAL 0x0203 #define GL_GREATER 0x0204 #define GL_NOTEQUAL 0x0205 #define GL_EQUAL 0x0202 #define GL_ALWAYS 0x0207 #define GL_DEPTH_TEST 0x0B71 #define GL_DEPTH_BITS 0x0D56 #define GL_DEPTH_CLEAR_VALUE 0x0B73 #define GL_DEPTH_FUNC 0x0B74 #define GL_DEPTH_RANGE 0x0B70 #define GL_DEPTH_WRITEMASK 0x0B72 #define GL_DEPTH_COMPONENT 0x1902 /* Lighting */ #define GL_LIGHTING 0x0B50 #define GL_LIGHT0 0x4000 #define GL_LIGHT1 0x4001 #define GL_LIGHT2 0x4002 #define GL_LIGHT3 0x4003 #define GL_LIGHT4 0x4004 #define GL_LIGHT5 0x4005 #define GL_LIGHT6 0x4006 #define GL_LIGHT7 0x4007 #define GL_SPOT_EXPONENT 0x1205 #define GL_SPOT_CUTOFF 0x1206 #define GL_CONSTANT_ATTENUATION 0x1207 #define GL_LINEAR_ATTENUATION 0x1208 #define GL_QUADRATIC_ATTENUATION 0x1209 #define GL_AMBIENT 0x1200 #define GL_DIFFUSE 0x1201 #define GL_SPECULAR 0x1202 #define GL_SHININESS 0x1601 #define GL_EMISSION 0x1600 #define GL_POSITION 0x1203 #define GL_SPOT_DIRECTION 0x1204 #define GL_AMBIENT_AND_DIFFUSE 0x1602 #define GL_COLOR_INDEXES 0x1603 #define GL_LIGHT_MODEL_TWO_SIDE 0x0B52 #define GL_LIGHT_MODEL_LOCAL_VIEWER 0x0B51 #define GL_LIGHT_MODEL_AMBIENT 0x0B53 #define GL_FRONT_AND_BACK 0x0408 #define GL_SHADE_MODEL 0x0B54 #define GL_FLAT 0x1D00 #define GL_SMOOTH 0x1D01 #define GL_COLOR_MATERIAL 0x0B57 #define GL_COLOR_MATERIAL_FACE 0x0B55 #define GL_COLOR_MATERIAL_PARAMETER 0x0B56 #define GL_NORMALIZE 0x0BA1 /* User clipping planes */ #define GL_CLIP_PLANE0 0x3000 #define GL_CLIP_PLANE1 0x3001 #define GL_CLIP_PLANE2 0x3002 #define GL_CLIP_PLANE3 0x3003 #define GL_CLIP_PLANE4 0x3004 #define GL_CLIP_PLANE5 0x3005 /* Accumulation buffer */ #define GL_ACCUM_RED_BITS 0x0D58 #define GL_ACCUM_GREEN_BITS 0x0D59 #define GL_ACCUM_BLUE_BITS 0x0D5A #define GL_ACCUM_ALPHA_BITS 0x0D5B #define GL_ACCUM_CLEAR_VALUE 0x0B80 #define GL_ACCUM 0x0100 #define GL_ADD 0x0104 #define GL_LOAD 0x0101 #define GL_MULT 0x0103 #define GL_RETURN 0x0102 /* Alpha testing */ #define GL_ALPHA_TEST 0x0BC0 #define GL_ALPHA_TEST_REF 0x0BC2 #define GL_ALPHA_TEST_FUNC 0x0BC1 /* Blending */ #define GL_BLEND 0x0BE2 #define GL_BLEND_SRC 0x0BE1 #define GL_BLEND_DST 0x0BE0 #define GL_ZERO 0 #define GL_ONE 1 #define GL_SRC_COLOR 0x0300 #define GL_ONE_MINUS_SRC_COLOR 0x0301 #define GL_DST_COLOR 0x0306 #define GL_ONE_MINUS_DST_COLOR 0x0307 #define GL_SRC_ALPHA 0x0302 #define GL_ONE_MINUS_SRC_ALPHA 0x0303 #define GL_DST_ALPHA 0x0304 #define GL_ONE_MINUS_DST_ALPHA 0x0305 #define GL_SRC_ALPHA_SATURATE 0x0308 #define GL_CONSTANT_COLOR 0x8001 #define GL_ONE_MINUS_CONSTANT_COLOR 0x8002 #define GL_CONSTANT_ALPHA 0x8003 #define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004 /* Render Mode */ #define GL_FEEDBACK 0x1C01 #define GL_RENDER 0x1C00 #define GL_SELECT 0x1C02 /* Feedback */ #define GL_2D 0x0600 #define GL_3D 0x0601 #define GL_3D_COLOR 0x0602 #define GL_3D_COLOR_TEXTURE 0x0603 #define GL_4D_COLOR_TEXTURE 0x0604 #define GL_POINT_TOKEN 0x0701 #define GL_LINE_TOKEN 0x0702 #define GL_LINE_RESET_TOKEN 0x0707 #define GL_POLYGON_TOKEN 0x0703 #define GL_BITMAP_TOKEN 0x0704 #define GL_DRAW_PIXEL_TOKEN 0x0705 #define GL_COPY_PIXEL_TOKEN 0x0706 #define GL_PASS_THROUGH_TOKEN 0x0700 #define GL_FEEDBACK_BUFFER_POINTER 0x0DF0 #define GL_FEEDBACK_BUFFER_SIZE 0x0DF1 #define GL_FEEDBACK_BUFFER_TYPE 0x0DF2 /* Fog */ #define GL_FOG 0x0B60 #define GL_FOG_MODE 0x0B65 #define GL_FOG_DENSITY 0x0B62 #define GL_FOG_COLOR 0x0B66 #define GL_FOG_INDEX 0x0B61 #define GL_FOG_START 0x0B63 #define GL_FOG_END 0x0B64 #define GL_LINEAR 0x2601 #define GL_EXP 0x0800 #define GL_EXP2 0x0801 /* Logic Ops */ #define GL_LOGIC_OP 0x0BF1 #define GL_INDEX_LOGIC_OP 0x0BF1 #define GL_COLOR_LOGIC_OP 0x0BF2 #define GL_LOGIC_OP_MODE 0x0BF0 #define GL_CLEAR 0x1500 #define GL_SET 0x150F #define GL_COPY 0x1503 #define GL_COPY_INVERTED 0x150C #define GL_NOOP 0x1505 #define GL_INVERT 0x150A #define GL_AND 0x1501 #define GL_NAND 0x150E #define GL_OR 0x1507 #define GL_NOR 0x1508 #define GL_XOR 0x1506 #define GL_EQUIV 0x1509 #define GL_AND_REVERSE 0x1502 #define GL_AND_INVERTED 0x1504 #define GL_OR_REVERSE 0x150B #define GL_OR_INVERTED 0x150D /* Stencil */ #define GL_STENCIL_TEST 0x0B90 #define GL_STENCIL_WRITEMASK 0x0B98 #define GL_STENCIL_BITS 0x0D57 #define GL_STENCIL_FUNC 0x0B92 #define GL_STENCIL_VALUE_MASK 0x0B93 #define GL_STENCIL_REF 0x0B97 #define GL_STENCIL_FAIL 0x0B94 #define GL_STENCIL_PASS_DEPTH_PASS 0x0B96 #define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95 #define GL_STENCIL_CLEAR_VALUE 0x0B91 #define GL_STENCIL_INDEX 0x1901 #define GL_KEEP 0x1E00 #define GL_REPLACE 0x1E01 #define GL_INCR 0x1E02 #define GL_DECR 0x1E03 /* Buffers, Pixel Drawing/Reading */ #define GL_NONE 0 #define GL_LEFT 0x0406 #define GL_RIGHT 0x0407 #define GL_FRONT_LEFT 0x0400 #define GL_FRONT_RIGHT 0x0401 #define GL_BACK_LEFT 0x0402 #define GL_BACK_RIGHT 0x0403 #define GL_AUX0 0x0409 #define GL_AUX1 0x040A #define GL_AUX2 0x040B #define GL_AUX3 0x040C #define GL_COLOR_INDEX 0x1900 #define GL_RED 0x1903 #define GL_GREEN 0x1904 #define GL_BLUE 0x1905 #define GL_ALPHA 0x1906 #define GL_LUMINANCE 0x1909 #define GL_LUMINANCE_ALPHA 0x190A #define GL_ALPHA_BITS 0x0D55 #define GL_RED_BITS 0x0D52 #define GL_GREEN_BITS 0x0D53 #define GL_BLUE_BITS 0x0D54 #define GL_INDEX_BITS 0x0D51 #define GL_SUBPIXEL_BITS 0x0D50 #define GL_AUX_BUFFERS 0x0C00 #define GL_READ_BUFFER 0x0C02 #define GL_DRAW_BUFFER 0x0C01 #define GL_DOUBLEBUFFER 0x0C32 #define GL_STEREO 0x0C33 #define GL_BITMAP 0x1A00 #define GL_COLOR 0x1800 #define GL_DEPTH 0x1801 #define GL_STENCIL 0x1802 #define GL_DITHER 0x0BD0 #define GL_RGB 0x1907 #define GL_RGBA 0x1908 /* Implementation limits */ #define GL_MAX_LIST_NESTING 0x0B31 #define GL_MAX_ATTRIB_STACK_DEPTH 0x0D35 #define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36 #define GL_MAX_NAME_STACK_DEPTH 0x0D37 #define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38 #define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39 #define GL_MAX_EVAL_ORDER 0x0D30 #define GL_MAX_LIGHTS 0x0D31 #define GL_MAX_CLIP_PLANES 0x0D32 #define GL_MAX_TEXTURE_SIZE 0x0D33 #define GL_MAX_PIXEL_MAP_TABLE 0x0D34 #define GL_MAX_VIEWPORT_DIMS 0x0D3A #define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH 0x0D3B #define GL_MAX_COLOR_MATRIX_STACK_DEPTH 0x80B3 /* Gets */ #define GL_ATTRIB_STACK_DEPTH 0x0BB0 #define GL_CLIENT_ATTRIB_STACK_DEPTH 0x0BB1 #define GL_COLOR_CLEAR_VALUE 0x0C22 #define GL_COLOR_WRITEMASK 0x0C23 #define GL_CURRENT_INDEX 0x0B01 #define GL_CURRENT_COLOR 0x0B00 #define GL_CURRENT_NORMAL 0x0B02 #define GL_CURRENT_RASTER_COLOR 0x0B04 #define GL_CURRENT_RASTER_DISTANCE 0x0B09 #define GL_CURRENT_RASTER_INDEX 0x0B05 #define GL_CURRENT_RASTER_POSITION 0x0B07 #define GL_CURRENT_RASTER_TEXTURE_COORDS 0x0B06 #define GL_CURRENT_RASTER_POSITION_VALID 0x0B08 #define GL_CURRENT_TEXTURE_COORDS 0x0B03 #define GL_INDEX_CLEAR_VALUE 0x0C20 #define GL_INDEX_MODE 0x0C30 #define GL_INDEX_WRITEMASK 0x0C21 #define GL_MODELVIEW_MATRIX 0x0BA6 #define GL_MODELVIEW_STACK_DEPTH 0x0BA3 #define GL_NAME_STACK_DEPTH 0x0D70 #define GL_PROJECTION_MATRIX 0x0BA7 #define GL_PROJECTION_STACK_DEPTH 0x0BA4 #define GL_RENDER_MODE 0x0C40 #define GL_RGBA_MODE 0x0C31 #define GL_TEXTURE_MATRIX 0x0BA8 #define GL_TEXTURE_STACK_DEPTH 0x0BA5 #define GL_VIEWPORT 0x0BA2 #define GL_COLOR_MATRIX 0x80B1 #define GL_COLOR_MATRIX_STACK_DEPTH 0x80B2 /* Evaluators */ #define GL_AUTO_NORMAL 0x0D80 #define GL_MAP1_COLOR_4 0x0D90 #define GL_MAP1_GRID_DOMAIN 0x0DD0 #define GL_MAP1_GRID_SEGMENTS 0x0DD1 #define GL_MAP1_INDEX 0x0D91 #define GL_MAP1_NORMAL 0x0D92 #define GL_MAP1_TEXTURE_COORD_1 0x0D93 #define GL_MAP1_TEXTURE_COORD_2 0x0D94 #define GL_MAP1_TEXTURE_COORD_3 0x0D95 #define GL_MAP1_TEXTURE_COORD_4 0x0D96 #define GL_MAP1_VERTEX_3 0x0D97 #define GL_MAP1_VERTEX_4 0x0D98 #define GL_MAP2_COLOR_4 0x0DB0 #define GL_MAP2_GRID_DOMAIN 0x0DD2 #define GL_MAP2_GRID_SEGMENTS 0x0DD3 #define GL_MAP2_INDEX 0x0DB1 #define GL_MAP2_NORMAL 0x0DB2 #define GL_MAP2_TEXTURE_COORD_1 0x0DB3 #define GL_MAP2_TEXTURE_COORD_2 0x0DB4 #define GL_MAP2_TEXTURE_COORD_3 0x0DB5 #define GL_MAP2_TEXTURE_COORD_4 0x0DB6 #define GL_MAP2_VERTEX_3 0x0DB7 #define GL_MAP2_VERTEX_4 0x0DB8 #define GL_COEFF 0x0A00 #define GL_DOMAIN 0x0A02 #define GL_ORDER 0x0A01 /* Hints */ #define GL_FOG_HINT 0x0C54 #define GL_LINE_SMOOTH_HINT 0x0C52 #define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50 #define GL_POINT_SMOOTH_HINT 0x0C51 #define GL_POLYGON_SMOOTH_HINT 0x0C53 #define GL_DONT_CARE 0x1100 #define GL_FASTEST 0x1101 #define GL_NICEST 0x1102 /* Scissor box */ #define GL_SCISSOR_TEST 0x0C11 #define GL_SCISSOR_BOX 0x0C10 /* Pixel Mode / Transfer */ #define GL_MAP_COLOR 0x0D10 #define GL_MAP_STENCIL 0x0D11 #define GL_INDEX_SHIFT 0x0D12 #define GL_INDEX_OFFSET 0x0D13 #define GL_RED_SCALE 0x0D14 #define GL_RED_BIAS 0x0D15 #define GL_GREEN_SCALE 0x0D18 #define GL_GREEN_BIAS 0x0D19 #define GL_BLUE_SCALE 0x0D1A #define GL_BLUE_BIAS 0x0D1B #define GL_ALPHA_SCALE 0x0D1C #define GL_ALPHA_BIAS 0x0D1D #define GL_DEPTH_SCALE 0x0D1E #define GL_DEPTH_BIAS 0x0D1F #define GL_PIXEL_MAP_S_TO_S_SIZE 0x0CB1 #define GL_PIXEL_MAP_I_TO_I_SIZE 0x0CB0 #define GL_PIXEL_MAP_I_TO_R_SIZE 0x0CB2 #define GL_PIXEL_MAP_I_TO_G_SIZE 0x0CB3 #define GL_PIXEL_MAP_I_TO_B_SIZE 0x0CB4 #define GL_PIXEL_MAP_I_TO_A_SIZE 0x0CB5 #define GL_PIXEL_MAP_R_TO_R_SIZE 0x0CB6 #define GL_PIXEL_MAP_G_TO_G_SIZE 0x0CB7 #define GL_PIXEL_MAP_B_TO_B_SIZE 0x0CB8 #define GL_PIXEL_MAP_A_TO_A_SIZE 0x0CB9 #define GL_PIXEL_MAP_S_TO_S 0x0C71 #define GL_PIXEL_MAP_I_TO_I 0x0C70 #define GL_PIXEL_MAP_I_TO_R 0x0C72 #define GL_PIXEL_MAP_I_TO_G 0x0C73 #define GL_PIXEL_MAP_I_TO_B 0x0C74 #define GL_PIXEL_MAP_I_TO_A 0x0C75 #define GL_PIXEL_MAP_R_TO_R 0x0C76 #define GL_PIXEL_MAP_G_TO_G 0x0C77 #define GL_PIXEL_MAP_B_TO_B 0x0C78 #define GL_PIXEL_MAP_A_TO_A 0x0C79 #define GL_PACK_ALIGNMENT 0x0D05 #define GL_PACK_LSB_FIRST 0x0D01 #define GL_PACK_ROW_LENGTH 0x0D02 #define GL_PACK_SKIP_PIXELS 0x0D04 #define GL_PACK_SKIP_ROWS 0x0D03 #define GL_PACK_SWAP_BYTES 0x0D00 #define GL_UNPACK_ALIGNMENT 0x0CF5 #define GL_UNPACK_LSB_FIRST 0x0CF1 #define GL_UNPACK_ROW_LENGTH 0x0CF2 #define GL_UNPACK_SKIP_PIXELS 0x0CF4 #define GL_UNPACK_SKIP_ROWS 0x0CF3 #define GL_UNPACK_SWAP_BYTES 0x0CF0 #define GL_ZOOM_X 0x0D16 #define GL_ZOOM_Y 0x0D17 /* Texture mapping */ #define GL_TEXTURE_ENV 0x2300 #define GL_TEXTURE_ENV_MODE 0x2200 #define GL_TEXTURE_1D 0x0DE0 #define GL_TEXTURE_2D 0x0DE1 #define GL_TEXTURE_WRAP_S 0x2802 #define GL_TEXTURE_WRAP_T 0x2803 #define GL_TEXTURE_MAG_FILTER 0x2800 #define GL_TEXTURE_MIN_FILTER 0x2801 #define GL_TEXTURE_ENV_COLOR 0x2201 #define GL_TEXTURE_GEN_S 0x0C60 #define GL_TEXTURE_GEN_T 0x0C61 #define GL_TEXTURE_GEN_MODE 0x2500 #define GL_TEXTURE_BORDER_COLOR 0x1004 #define GL_TEXTURE_WIDTH 0x1000 #define GL_TEXTURE_HEIGHT 0x1001 #define GL_TEXTURE_BORDER 0x1005 #define GL_TEXTURE_COMPONENTS 0x1003 #define GL_TEXTURE_RED_SIZE 0x805C #define GL_TEXTURE_GREEN_SIZE 0x805D #define GL_TEXTURE_BLUE_SIZE 0x805E #define GL_TEXTURE_ALPHA_SIZE 0x805F #define GL_TEXTURE_LUMINANCE_SIZE 0x8060 #define GL_TEXTURE_INTENSITY_SIZE 0x8061 #define GL_NEAREST_MIPMAP_NEAREST 0x2700 #define GL_NEAREST_MIPMAP_LINEAR 0x2702 #define GL_LINEAR_MIPMAP_NEAREST 0x2701 #define GL_LINEAR_MIPMAP_LINEAR 0x2703 #define GL_OBJECT_LINEAR 0x2401 #define GL_OBJECT_PLANE 0x2501 #define GL_EYE_LINEAR 0x2400 #define GL_EYE_PLANE 0x2502 #define GL_SPHERE_MAP 0x2402 #define GL_DECAL 0x2101 #define GL_MODULATE 0x2100 #define GL_NEAREST 0x2600 #define GL_REPEAT 0x2901 #define GL_CLAMP 0x2900 #define GL_S 0x2000 #define GL_T 0x2001 #define GL_R 0x2002 #define GL_Q 0x2003 #define GL_TEXTURE_GEN_R 0x0C62 #define GL_TEXTURE_GEN_Q 0x0C63 #define GL_PROXY_TEXTURE_1D 0x8063 #define GL_PROXY_TEXTURE_2D 0x8064 #define GL_TEXTURE_PRIORITY 0x8066 #define GL_TEXTURE_RESIDENT 0x8067 #define GL_TEXTURE_BINDING_1D 0x8068 #define GL_TEXTURE_BINDING_2D 0x8069 /* Internal texture formats */ #define GL_ALPHA4 0x803B #define GL_ALPHA8 0x803C #define GL_ALPHA12 0x803D #define GL_ALPHA16 0x803E #define GL_LUMINANCE4 0x803F #define GL_LUMINANCE8 0x8040 #define GL_LUMINANCE12 0x8041 #define GL_LUMINANCE16 0x8042 #define GL_LUMINANCE4_ALPHA4 0x8043 #define GL_LUMINANCE6_ALPHA2 0x8044 #define GL_LUMINANCE8_ALPHA8 0x8045 #define GL_LUMINANCE12_ALPHA4 0x8046 #define GL_LUMINANCE12_ALPHA12 0x8047 #define GL_LUMINANCE16_ALPHA16 0x8048 #define GL_INTENSITY 0x8049 #define GL_INTENSITY4 0x804A #define GL_INTENSITY8 0x804B #define GL_INTENSITY12 0x804C #define GL_INTENSITY16 0x804D #define GL_R3_G3_B2 0x2A10 #define GL_RGB4 0x804F #define GL_RGB5 0x8050 #define GL_RGB8 0x8051 #define GL_RGB10 0x8052 #define GL_RGB12 0x8053 #define GL_RGB16 0x8054 #define GL_RGBA2 0x8055 #define GL_RGBA4 0x8056 #define GL_RGB5_A1 0x8057 #define GL_RGBA8 0x8058 #define GL_RGB10_A2 0x8059 #define GL_RGBA12 0x805A #define GL_RGBA16 0x805B /* Utility */ #define GL_VENDOR 0x1F00 #define GL_RENDERER 0x1F01 #define GL_VERSION 0x1F02 #define GL_EXTENSIONS 0x1F03 /* Errors */ #define GL_INVALID_VALUE 0x0501 #define GL_INVALID_ENUM 0x0500 #define GL_INVALID_OPERATION 0x0502 #define GL_STACK_OVERFLOW 0x0503 #define GL_STACK_UNDERFLOW 0x0504 #define GL_OUT_OF_MEMORY 0x0505 /* * 1.0 Extensions */ /* GL_EXT_blend_minmax and GL_EXT_blend_color */ #define GL_CONSTANT_COLOR_EXT 0x8001 #define GL_ONE_MINUS_CONSTANT_COLOR_EXT 0x8002 #define GL_CONSTANT_ALPHA_EXT 0x8003 #define GL_ONE_MINUS_CONSTANT_ALPHA_EXT 0x8004 #define GL_BLEND_EQUATION_EXT 0x8009 #define GL_MIN_EXT 0x8007 #define GL_MAX_EXT 0x8008 #define GL_FUNC_ADD_EXT 0x8006 #define GL_FUNC_SUBTRACT_EXT 0x800A #define GL_FUNC_REVERSE_SUBTRACT_EXT 0x800B #define GL_BLEND_COLOR_EXT 0x8005 /* GL_EXT_polygon_offset */ #define GL_POLYGON_OFFSET_EXT 0x8037 #define GL_POLYGON_OFFSET_FACTOR_EXT 0x8038 #define GL_POLYGON_OFFSET_BIAS_EXT 0x8039 /* GL_EXT_vertex_array */ #define GL_VERTEX_ARRAY_EXT 0x8074 #define GL_NORMAL_ARRAY_EXT 0x8075 #define GL_COLOR_ARRAY_EXT 0x8076 #define GL_INDEX_ARRAY_EXT 0x8077 #define GL_TEXTURE_COORD_ARRAY_EXT 0x8078 #define GL_EDGE_FLAG_ARRAY_EXT 0x8079 #define GL_VERTEX_ARRAY_SIZE_EXT 0x807A #define GL_VERTEX_ARRAY_TYPE_EXT 0x807B #define GL_VERTEX_ARRAY_STRIDE_EXT 0x807C #define GL_VERTEX_ARRAY_COUNT_EXT 0x807D #define GL_NORMAL_ARRAY_TYPE_EXT 0x807E #define GL_NORMAL_ARRAY_STRIDE_EXT 0x807F #define GL_NORMAL_ARRAY_COUNT_EXT 0x8080 #define GL_COLOR_ARRAY_SIZE_EXT 0x8081 #define GL_COLOR_ARRAY_TYPE_EXT 0x8082 #define GL_COLOR_ARRAY_STRIDE_EXT 0x8083 #define GL_COLOR_ARRAY_COUNT_EXT 0x8084 #define GL_INDEX_ARRAY_TYPE_EXT 0x8085 #define GL_INDEX_ARRAY_STRIDE_EXT 0x8086 #define GL_INDEX_ARRAY_COUNT_EXT 0x8087 #define GL_TEXTURE_COORD_ARRAY_SIZE_EXT 0x8088 #define GL_TEXTURE_COORD_ARRAY_TYPE_EXT 0x8089 #define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT 0x808A #define GL_TEXTURE_COORD_ARRAY_COUNT_EXT 0x808B #define GL_EDGE_FLAG_ARRAY_STRIDE_EXT 0x808C #define GL_EDGE_FLAG_ARRAY_COUNT_EXT 0x808D #define GL_VERTEX_ARRAY_POINTER_EXT 0x808E #define GL_NORMAL_ARRAY_POINTER_EXT 0x808F #define GL_COLOR_ARRAY_POINTER_EXT 0x8090 #define GL_INDEX_ARRAY_POINTER_EXT 0x8091 #define GL_TEXTURE_COORD_ARRAY_POINTER_EXT 0x8092 #define GL_EDGE_FLAG_ARRAY_POINTER_EXT 0x8093 /* GL_EXT_texture_object */ #define GL_TEXTURE_PRIORITY_EXT 0x8066 #define GL_TEXTURE_RESIDENT_EXT 0x8067 #define GL_TEXTURE_1D_BINDING_EXT 0x8068 #define GL_TEXTURE_2D_BINDING_EXT 0x8069 /* GL_EXT_texture3D */ #define GL_PACK_SKIP_IMAGES_EXT 0x806B #define GL_PACK_IMAGE_HEIGHT_EXT 0x806C #define GL_UNPACK_SKIP_IMAGES_EXT 0x806D #define GL_UNPACK_IMAGE_HEIGHT_EXT 0x806E #define GL_TEXTURE_3D_EXT 0x806F #define GL_PROXY_TEXTURE_3D_EXT 0x8070 #define GL_TEXTURE_DEPTH_EXT 0x8071 #define GL_TEXTURE_WRAP_R_EXT 0x8072 #define GL_MAX_3D_TEXTURE_SIZE_EXT 0x8073 #define GL_TEXTURE_3D_BINDING_EXT 0x806A /* GL_EXT_paletted_texture */ #define GL_TABLE_TOO_LARGE_EXT 0x8031 #define GL_COLOR_TABLE_FORMAT_EXT 0x80D8 #define GL_COLOR_TABLE_WIDTH_EXT 0x80D9 #define GL_COLOR_TABLE_RED_SIZE_EXT 0x80DA #define GL_COLOR_TABLE_GREEN_SIZE_EXT 0x80DB #define GL_COLOR_TABLE_BLUE_SIZE_EXT 0x80DC #define GL_COLOR_TABLE_ALPHA_SIZE_EXT 0x80DD #define GL_COLOR_TABLE_LUMINANCE_SIZE_EXT 0x80DE #define GL_COLOR_TABLE_INTENSITY_SIZE_EXT 0x80DF #define GL_TEXTURE_INDEX_SIZE_EXT 0x80ED #define GL_COLOR_INDEX1_EXT 0x80E2 #define GL_COLOR_INDEX2_EXT 0x80E3 #define GL_COLOR_INDEX4_EXT 0x80E4 #define GL_COLOR_INDEX8_EXT 0x80E5 #define GL_COLOR_INDEX12_EXT 0x80E6 #define GL_COLOR_INDEX16_EXT 0x80E7 /* GL_EXT_shared_texture_palette */ #define GL_SHARED_TEXTURE_PALETTE_EXT 0x81FB #if 0 /* GL_SGIS_texture_lod */ #define GL_TEXTURE_MIN_LOD_SGIS 0x813A #define GL_TEXTURE_MAX_LOD_SGIS 0x813B #define GL_TEXTURE_BASE_LEVEL_SGIS 0x813C #define GL_TEXTURE_MAX_LEVEL_SGIS 0x813D #endif /* GL_EXT_point_parameters */ #define GL_POINT_SIZE_MIN_EXT 0x8126 #define GL_POINT_SIZE_MAX_EXT 0x8127 #define GL_POINT_FADE_THRESHOLD_SIZE_EXT 0x8128 #define GL_DISTANCE_ATTENUATION_EXT 0x8129 #define GL_CURRENT_BIT 0x00000001L #define GL_POINT_BIT 0x00000002L #define GL_LINE_BIT 0x00000004L #define GL_POLYGON_BIT 0x00000008L #define GL_POLYGON_STIPPLE_BIT 0x00000010L #define GL_PIXEL_MODE_BIT 0x00000020L #define GL_LIGHTING_BIT 0x00000040L #define GL_FOG_BIT 0x00000080L #define GL_DEPTH_BUFFER_BIT 0x00000100L #define GL_ACCUM_BUFFER_BIT 0x00000200L #define GL_STENCIL_BUFFER_BIT 0x00000400L #define GL_VIEWPORT_BIT 0x00000800L #define GL_TRANSFORM_BIT 0x00001000L #define GL_ENABLE_BIT 0x00002000L #define GL_COLOR_BUFFER_BIT 0x00004000L #define GL_HINT_BIT 0x00008000L #define GL_EVAL_BIT 0x00010000L #define GL_LIST_BIT 0x00020000L #define GL_TEXTURE_BIT 0x00040000L #define GL_SCISSOR_BIT 0x00080000L #define GL_ALL_ATTRIB_BITS 0x000fffffL #define GL_CLIENT_PIXEL_STORE_BIT 0x00000001L #define GL_CLIENT_VERTEX_ARRAY_BIT 0x00000002L #define GL_CLIENT_ALL_ATTRIB_BITS 0x0000FFFFL GLAPI void GLAPIENTRY glEnable(GLenum cap); GLAPI void GLAPIENTRY glDisable(GLenum cap); GLAPI void GLAPIENTRY glShadeModel(GLenum mode); GLAPI void GLAPIENTRY glCullFace(GLenum mode); GLAPI void GLAPIENTRY glPolygonMode(GLenum face, GLenum mode); GLAPI void GLAPIENTRY glBegin(GLenum mode); GLAPI void GLAPIENTRY glEnd(void); GLAPI void GLAPIENTRY glVertex2f(GLfloat x, GLfloat y); GLAPI void GLAPIENTRY glVertex2d(GLdouble x, GLdouble y); GLAPI void GLAPIENTRY glVertex2fv(const GLfloat *v); GLAPI void GLAPIENTRY glVertex2dv(const GLdouble *v); GLAPI void GLAPIENTRY glVertex3f(GLfloat x, GLfloat y, GLfloat z); GLAPI void GLAPIENTRY glVertex3d(GLdouble x, GLdouble y, GLdouble z); GLAPI void GLAPIENTRY glVertex3fv(const GLfloat *v); GLAPI void GLAPIENTRY glVertex3dv(const GLdouble *v); GLAPI void GLAPIENTRY glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w); GLAPI void GLAPIENTRY glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w); GLAPI void GLAPIENTRY glVertex4fv(const GLfloat *v); GLAPI void GLAPIENTRY glVertex4dv(const GLdouble *v); GLAPI void GLAPIENTRY glColor3f(GLfloat red, GLfloat green, GLfloat blue); GLAPI void GLAPIENTRY glColor3d(GLdouble red, GLdouble green, GLdouble blue); GLAPI void GLAPIENTRY glColor3fv(const GLfloat *v); GLAPI void GLAPIENTRY glColor3dv(const GLdouble *v); GLAPI void GLAPIENTRY glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); GLAPI void GLAPIENTRY glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha); GLAPI void GLAPIENTRY glColor4fv(const GLfloat *v); GLAPI void GLAPIENTRY glColor4dv(const GLdouble *v); GLAPI void GLAPIENTRY glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz); GLAPI void GLAPIENTRY glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz); GLAPI void GLAPIENTRY glNormal3fv(const GLfloat *v); GLAPI void GLAPIENTRY glNormal3dv(const GLdouble *v); GLAPI void GLAPIENTRY glTexCoord1f(GLfloat s); GLAPI void GLAPIENTRY glTexCoord1d(GLdouble s); GLAPI void GLAPIENTRY glTexCoord1fv(const GLfloat *v); GLAPI void GLAPIENTRY glTexCoord1dv(const GLdouble *v); GLAPI void GLAPIENTRY glTexCoord2f(GLfloat s, GLfloat t); GLAPI void GLAPIENTRY glTexCoord2d(GLdouble s, GLdouble t); GLAPI void GLAPIENTRY glTexCoord2fv(const GLfloat *v); GLAPI void GLAPIENTRY glTexCoord2dv(const GLdouble *v); GLAPI void GLAPIENTRY glTexCoord3f(GLfloat s, GLfloat t, GLfloat r); GLAPI void GLAPIENTRY glTexCoord3d(GLdouble s, GLdouble t, GLdouble r); GLAPI void GLAPIENTRY glTexCoord3fv(const GLfloat *v); GLAPI void GLAPIENTRY glTexCoord3dv(const GLdouble *v); GLAPI void GLAPIENTRY glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q); GLAPI void GLAPIENTRY glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q); GLAPI void GLAPIENTRY glTexCoord4fv(const GLfloat *v); GLAPI void GLAPIENTRY glTexCoord4dv(const GLdouble *v); GLAPI void GLAPIENTRY glEdgeFlag(GLboolean flag); /* matrix */ GLAPI void GLAPIENTRY glMatrixMode(GLenum mode); GLAPI void GLAPIENTRY glLoadMatrixf(const GLfloat *m); GLAPI void GLAPIENTRY glLoadIdentity(void); GLAPI void GLAPIENTRY glMultMatrixf(const GLfloat *m); GLAPI void GLAPIENTRY glPushMatrix(void); GLAPI void GLAPIENTRY glPopMatrix(void); GLAPI void GLAPIENTRY glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z); GLAPI void GLAPIENTRY glTranslatef(GLfloat x, GLfloat y, GLfloat z); GLAPI void GLAPIENTRY glScalef(GLfloat x, GLfloat y, GLfloat z); GLAPI void GLAPIENTRY glViewport(GLint x, GLint y, GLint width, GLint height); GLAPI void GLAPIENTRY glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near_val, GLdouble far_val); GLAPI void GLAPIENTRY glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near_val, GLdouble far_val); /* lists */ GLAPI GLuint GLAPIENTRY glGenLists(GLsizei range); GLAPI GLboolean GLAPIENTRY glIsList(GLuint list); GLAPI void GLAPIENTRY glNewList(GLuint list, GLenum mode); GLAPI void GLAPIENTRY glEndList(void); GLAPI void GLAPIENTRY glCallList(GLuint list); GLAPI void GLAPIENTRY glDeleteLists(GLuint list, GLsizei range); /* clear */ GLAPI void GLAPIENTRY glClear(GLbitfield mask); GLAPI void GLAPIENTRY glClearColor(GLfloat r, GLfloat g, GLfloat b, GLfloat a); GLAPI void GLAPIENTRY glClearDepth(GLdouble depth); GLAPI void GLAPIENTRY glClearDepthf(GLfloat depth); /* selection */ GLAPI GLint GLAPIENTRY glRenderMode(GLenum mode); GLAPI void GLAPIENTRY glSelectBuffer(GLsizei size, GLuint *buf); GLAPI void GLAPIENTRY glInitNames(void); GLAPI void GLAPIENTRY glPushName(GLuint name); GLAPI void GLAPIENTRY glPopName(void); GLAPI void GLAPIENTRY glLoadName(GLuint name); /* textures */ GLAPI void GLAPIENTRY glGenTextures(GLsizei n, GLuint *textures); GLAPI void GLAPIENTRY glDeleteTextures(GLsizei n, const GLuint *textures); GLAPI void GLAPIENTRY glBindTexture(GLenum target, GLuint texture); GLAPI void GLAPIENTRY glTexImage2D(GLenum target, GLint level, GLint components, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels); GLAPI void GLAPIENTRY glTexEnvi(GLenum target, GLenum pname, GLint param); GLAPI void GLAPIENTRY glTexParameteri(GLenum target, GLenum pname, GLint param); GLAPI void GLAPIENTRY glPixelStorei(GLenum pname, GLint param); /* lighting */ GLAPI void GLAPIENTRY glMaterialfv(GLenum face, GLenum pname, const GLfloat *v); GLAPI void GLAPIENTRY glMaterialf(GLenum mode, GLenum pname, GLfloat v); GLAPI void GLAPIENTRY glColorMaterial(GLenum face, GLenum mode); GLAPI void GLAPIENTRY glLightfv(GLenum light, GLenum pname, const GLfloat *v); GLAPI void GLAPIENTRY glLightf(GLenum light, GLenum pname, GLfloat v); GLAPI void GLAPIENTRY glLightModeli(GLenum pname, GLint param); GLAPI void GLAPIENTRY glLightModelfv(GLenum pname, const GLfloat *param); /* misc */ GLAPI void GLAPIENTRY glFlush(void); GLAPI void GLAPIENTRY glHint(GLenum target, GLenum mode); GLAPI void GLAPIENTRY glGetIntegerv(GLenum pname, GLint *params); GLAPI void GLAPIENTRY glGetFloatv(GLenum pname, GLfloat *v); GLAPI void GLAPIENTRY glFrontFace(GLenum mode); /* opengl 1.2 arrays */ GLAPI void GLAPIENTRY glEnableClientState(GLenum array); GLAPI void GLAPIENTRY glDisableClientState(GLenum array); GLAPI void GLAPIENTRY glArrayElement(GLint i); GLAPI void GLAPIENTRY glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); GLAPI void GLAPIENTRY glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); GLAPI void GLAPIENTRY glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer); GLAPI void GLAPIENTRY glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); /* opengl 1.2 polygon offset */ GLAPI void GLAPIENTRY glPolygonOffset(GLfloat factor, GLfloat units); #endif /* GL_VERSION_1_1 */ #ifndef GL_VERSION_1_5 #define GL_VERSION_1_5 1 typedef ptrdiff_t GLintptr; typedef ptrdiff_t GLsizeiptr; #endif #ifndef GL_VERSION_2_0 #define GL_VERSION_2_0 1 typedef char GLchar; #endif #ifndef GL_ARB_vertex_buffer_object #define GL_ARB_vertex_buffer_object 1 typedef ptrdiff_t GLsizeiptrARB; typedef ptrdiff_t GLintptrARB; #endif #ifndef GL_NV_half_float #define GL_NV_half_float 1 typedef unsigned short GLhalfNV; #endif #ifndef GL_NV_vdpau_interop #define GL_NV_vdpau_interop 1 typedef GLintptr GLvdpauSurfaceNV; #endif #ifndef GL_ARB_cl_event #define GL_ARB_cl_event 1 #ifdef __PUREC__ struct _cl_context { int dummy; }; struct _cl_event { int dummy; }; #else struct _cl_context; struct _cl_event; #endif #endif #if !defined(GL_ARB_sync) && !defined(__TINY_GL_H__) #define GL_ARB_sync 1 #if defined(__GNUC__) || (defined(LLONG_MAX) && LLONG_MAX > 2147483647L) typedef int64_t GLint64; typedef uint64_t GLuint64; #else typedef struct { long hi; unsigned long lo; } GLint64; typedef struct { unsigned long hi; unsigned long lo; } GLuint64; #endif #ifdef __PUREC__ struct __GLsync { int dummy; }; #endif typedef struct __GLsync *GLsync; #endif #if !defined(GL_EXT_timer_query) && !defined(__TINY_GL_H__) #define GL_EXT_timer_query 1 typedef GLint64 GLint64EXT; typedef GLuint64 GLuint64EXT; #endif #ifndef GL_OES_fixed_point #define GL_OES_fixed_point 1 typedef GLint GLfixed; #endif #ifndef GL_ARB_shader_objects #define GL_ARB_shader_objects 1 typedef char GLcharARB; typedef GLuint GLhandleARB; #endif #ifndef GL_KHR_debug #define GL_KHR_debug 1 typedef void CALLBACK (*GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message, const void *userParam); #endif #ifndef GL_ARB_debug_output #define GL_ARB_debug_output 1 typedef void CALLBACK (*GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message, const void *userParam); #endif #ifndef GL_AMD_debug_output #define GL_AMD_debug_output typedef void CALLBACK (*GLDEBUGPROCAMD)(GLuint id,GLenum category, GLenum severity, GLsizei length, const GLchar *message, void *userParam); #endif #ifndef GL_MESA_program_debug #define GL_MESA_program_debug 1 typedef void CALLBACK (*GLprogramcallbackMESA)(GLenum target, GLvoid *data); #endif /* * Mesa Off-Screen rendering interface. * * Copyright (C) 1999-2005 Brian Paul All Rights Reserved. * */ #define OSMESA_VERSION_NUMBER(major, minor, patch) ((major) * 10000 + (minor) * 100 + patch) #define OSMESA_VERSION OSMESA_VERSION_NUMBER(OSMESA_MAJOR_VERSION, OSMESA_MINOR_VERSION, OSMESA_PATCH_VERSION) #if !defined(OSMESA_MAJOR_VERSION) #define OSMESA_MAJOR_VERSION 6 #define OSMESA_MINOR_VERSION 3 #define OSMESA_PATCH_VERSION 0 /* * Values for the format parameter of OSMesaCreateLDG() * Mesa_gl.ldg version 0.8 (Mesa 2.6) */ #define OSMESA_COLOR_INDEX GL_COLOR_INDEX #define OSMESA_RGBA GL_RGBA #define OSMESA_BGRA 0x1 #define OSMESA_ARGB 0x2 #define OSMESA_RGB GL_RGB #define OSMESA_BGR 0x4 #define OSMESA_RGB_565 0x5 #define VDI_ARGB 0x8 #define VDI_RGB 0xf #define DIRECT_VDI_ARGB 0x10 /* * OSMesaPixelStore() parameters: */ #define OSMESA_ROW_LENGTH 0x10 #define OSMESA_Y_UP 0x11 /* * Accepted by OSMesaGetIntegerv: */ #define OSMESA_WIDTH 0x20 #define OSMESA_HEIGHT 0x21 #define OSMESA_FORMAT 0x22 #define OSMESA_TYPE 0x23 #define OSMESA_MAX_WIDTH 0x24 /* new in 4.0 */ #define OSMESA_MAX_HEIGHT 0x25 /* new in 4.0 */ #ifdef __PUREC__ struct osmesa_context { int dummy; }; #endif typedef struct osmesa_context *OSMesaContext; typedef void (*OSMESAproc)(void); GLAPI OSMesaContext GLAPIENTRY OSMesaCreateContext( GLenum format, OSMesaContext sharelist ); GLAPI OSMesaContext GLAPIENTRY OSMesaCreateContextExt( GLenum format, GLint depthBits, GLint stencilBits, GLint accumBits, OSMesaContext sharelist); GLAPI void GLAPIENTRY OSMesaDestroyContext( OSMesaContext ctx ); GLAPI GLboolean GLAPIENTRY OSMesaMakeCurrent( OSMesaContext ctx, void *buffer, GLenum type, GLsizei width, GLsizei height ); GLAPI OSMesaContext GLAPIENTRY OSMesaGetCurrentContext( void ); GLAPI void GLAPIENTRY OSMesaPixelStore( GLint pname, GLint value ); GLAPI void GLAPIENTRY OSMesaGetIntegerv( GLint pname, GLint *value ); GLAPI GLboolean GLAPIENTRY OSMesaGetDepthBuffer( OSMesaContext c, GLint *width, GLint *height, GLint *bytesPerValue, void **buffer ); GLAPI GLboolean GLAPIENTRY OSMesaGetColorBuffer( OSMesaContext c, GLint *width, GLint *height, GLint *format, void **buffer ); GLAPI OSMESAproc GLAPIENTRY OSMesaGetProcAddress( const char *funcName ); GLAPI void GLAPIENTRY OSMesaColorClamp(GLboolean enable); GLAPI void GLAPIENTRY OSMesaPostprocess(OSMesaContext osmesa, const char *filter, GLuint enable_value); #elif OSMESA_VERSION < OSMESA_VERSION_NUMBER(6, 3, 0) typedef void (*OSMESAproc)(void); #endif /* * integral types that need to be promoted to * 32bit type when passed by value */ #ifndef GL_nfosmesa_short_promotions #define GL_nfosmesa_short_promotions 1 #ifdef __MSHORT__ typedef long GLshort32; typedef unsigned long GLushort32; typedef unsigned long GLboolean32; typedef long GLchar32; typedef unsigned long GLubyte32; typedef signed long GLbyte32; typedef unsigned long GLhalfNV32; #else typedef GLshort GLshort32; typedef GLushort GLushort32; typedef GLboolean GLboolean32; typedef GLchar GLchar32; typedef GLubyte GLubyte32; typedef GLbyte GLbyte32; typedef GLhalfNV GLhalfNV32; #endif #endif #ifdef __cplusplus } #endif aranym-1.0.2/atari/nfosmesa/ldg/000077500000000000000000000000001242022243000164515ustar00rootroot00000000000000aranym-1.0.2/atari/nfosmesa/ldg/osmesa.h000066400000000000000000016725251242022243000201330ustar00rootroot00000000000000#ifndef __NFOSMESA_H__ #define __NFOSMESA_H__ #include #include #include #include #if !defined(__MSHORT__) && (defined(__PUREC__) && __PUREC__ < 0x400) # define __MSHORT__ 1 #endif #if (!defined(__PUREC__) || !defined(__MSHORT__) || defined(__GEMLIB__)) && !defined(__USE_GEMLIB) #define __USE_GEMLIB 1 #endif #ifndef _WORD # if defined(__GEMLIB__) || defined(__USE_GEMLIB) # define _WORD short # else # define _WORD int # endif #endif /* * load & initialize NFOSmesa */ LDG *ldg_load_osmesa(const char *libname, _WORD *gl); /* * init NFOSmesa from already loaded lib */ int ldg_init_osmesa(LDG *lib); /* * unload NFOSmesa */ void ldg_unload_osmesa(LDG *lib, _WORD *gl); #if !defined(__MSHORT__) && (defined(__PUREC__) && __PUREC__ < 0x400) # define __MSHORT__ 1 #endif #ifdef __cplusplus extern "C" { #endif #ifndef APIENTRY #if defined(_WIN32) || defined(__CYGWIN__) #define APIENTRY __stdcall #elif defined(__PUREC__) #define APIENTRY __CDECL #else #define APIENTRY #endif #endif #ifndef CALLBACK #define CALLBACK APIENTRY #endif #ifndef GLAPIENTRY #define GLAPIENTRY APIENTRY #endif #ifndef GLAPI #define GLAPI extern #endif #if !defined(__CDECL) #if defined(__PUREC__) #define __CDECL cdecl #else #define __CDECL #endif #endif #ifndef GL_VERSION_1_1 #define GL_VERSION_1_1 1 #ifdef __MSHORT__ typedef long GLint; /* 4-byte signed */ typedef unsigned long GLuint; /* 4-byte unsigned */ typedef unsigned long GLenum; /* 4-byte unsigned */ typedef unsigned long GLbitfield; /* 4-byte unsigned */ typedef long GLsizei; #else typedef int GLint; /* 4-byte signed */ typedef unsigned int GLuint; /* 4-byte unsigned */ typedef unsigned int GLenum; /* 4-byte unsigned */ typedef unsigned int GLbitfield; /* 4-byte unsigned */ typedef int GLsizei; #endif typedef unsigned char GLboolean; typedef signed char GLbyte; /* 1-byte signed */ typedef unsigned char GLubyte; /* 1-byte unsigned */ typedef short GLshort; /* 2-byte signed */ typedef unsigned short GLushort; /* 2-byte unsigned */ typedef float GLfloat; /* single precision float */ typedef float GLclampf; /* single precision float in [0, 1] */ typedef double GLdouble; /* double precision float */ typedef double GLclampd; /* double precision float in [0, 1] */ typedef void GLvoid; /* Boolean values */ #define GL_FALSE 0 #define GL_TRUE 1 /* Data types */ #define GL_BYTE 0x1400 #define GL_UNSIGNED_BYTE 0x1401 #define GL_SHORT 0x1402 #define GL_UNSIGNED_SHORT 0x1403 #define GL_INT 0x1404 #define GL_UNSIGNED_INT 0x1405 #define GL_FLOAT 0x1406 #define GL_DOUBLE 0x140A #define GL_2_BYTES 0x1407 #define GL_3_BYTES 0x1408 #define GL_4_BYTES 0x1409 /* Primitives */ #define GL_LINES 0x0001 #define GL_POINTS 0x0000 #define GL_LINE_STRIP 0x0003 #define GL_LINE_LOOP 0x0002 #define GL_TRIANGLES 0x0004 #define GL_TRIANGLE_STRIP 0x0005 #define GL_TRIANGLE_FAN 0x0006 #define GL_QUADS 0x0007 #define GL_QUAD_STRIP 0x0008 #define GL_POLYGON 0x0009 #define GL_EDGE_FLAG 0x0B43 /* Vertex Arrays */ #define GL_VERTEX_ARRAY 0x8074 #define GL_NORMAL_ARRAY 0x8075 #define GL_COLOR_ARRAY 0x8076 #define GL_INDEX_ARRAY 0x8077 #define GL_TEXTURE_COORD_ARRAY 0x8078 #define GL_EDGE_FLAG_ARRAY 0x8079 #define GL_VERTEX_ARRAY_SIZE 0x807A #define GL_VERTEX_ARRAY_TYPE 0x807B #define GL_VERTEX_ARRAY_STRIDE 0x807C #define GL_VERTEX_ARRAY_COUNT 0x807D #define GL_NORMAL_ARRAY_TYPE 0x807E #define GL_NORMAL_ARRAY_STRIDE 0x807F #define GL_NORMAL_ARRAY_COUNT 0x8080 #define GL_COLOR_ARRAY_SIZE 0x8081 #define GL_COLOR_ARRAY_TYPE 0x8082 #define GL_COLOR_ARRAY_STRIDE 0x8083 #define GL_COLOR_ARRAY_COUNT 0x8084 #define GL_INDEX_ARRAY_TYPE 0x8085 #define GL_INDEX_ARRAY_STRIDE 0x8086 #define GL_INDEX_ARRAY_COUNT 0x8087 #define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088 #define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089 #define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A #define GL_TEXTURE_COORD_ARRAY_COUNT 0x808B #define GL_EDGE_FLAG_ARRAY_STRIDE 0x808C #define GL_EDGE_FLAG_ARRAY_COUNT 0x808D #define GL_VERTEX_ARRAY_POINTER 0x808E #define GL_NORMAL_ARRAY_POINTER 0x808F #define GL_COLOR_ARRAY_POINTER 0x8090 #define GL_INDEX_ARRAY_POINTER 0x8091 #define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092 #define GL_EDGE_FLAG_ARRAY_POINTER 0x8093 #define GL_V2F 0x2A20 #define GL_V3F 0x2A21 #define GL_C4UB_V2F 0x2A22 #define GL_C4UB_V3F 0x2A23 #define GL_C3F_V3F 0x2A24 #define GL_N3F_V3F 0x2A25 #define GL_C4F_N3F_V3F 0x2A26 #define GL_T2F_V3F 0x2A27 #define GL_T4F_V4F 0x2A28 #define GL_T2F_C4UB_V3F 0x2A29 #define GL_T2F_C3F_V3F 0x2A2A #define GL_T2F_N3F_V3F 0x2A2B #define GL_T2F_C4F_N3F_V3F 0x2A2C #define GL_T4F_C4F_N3F_V4F 0x2A2D /* Matrix Mode */ #define GL_MATRIX_MODE 0x0BA0 #define GL_MODELVIEW 0x1700 #define GL_PROJECTION 0x1701 #define GL_TEXTURE 0x1702 /* Points */ #define GL_POINT_SMOOTH 0x0B10 #define GL_POINT_SIZE 0x0B11 #define GL_POINT_SIZE_GRANULARITY 0x0B13 #define GL_POINT_SIZE_RANGE 0x0B12 /* Lines */ #define GL_LINE_SMOOTH 0x0B20 #define GL_LINE_STIPPLE 0x0B24 #define GL_LINE_STIPPLE_PATTERN 0x0B25 #define GL_LINE_STIPPLE_REPEAT 0x0B26 #define GL_LINE_WIDTH 0x0B21 #define GL_LINE_WIDTH_GRANULARITY 0x0B23 #define GL_LINE_WIDTH_RANGE 0x0B22 /* Polygons */ #define GL_POINT 0x1B00 #define GL_LINE 0x1B01 #define GL_FILL 0x1B02 #define GL_CCW 0x0901 #define GL_CW 0x0900 #define GL_FRONT 0x0404 #define GL_BACK 0x0405 #define GL_CULL_FACE 0x0B44 #define GL_CULL_FACE_MODE 0x0B45 #define GL_POLYGON_SMOOTH 0x0B41 #define GL_POLYGON_STIPPLE 0x0B42 #define GL_FRONT_FACE 0x0B46 #define GL_POLYGON_MODE 0x0B40 #define GL_POLYGON_OFFSET_FACTOR 0x8038 #define GL_POLYGON_OFFSET_UNITS 0x2A00 #define GL_POLYGON_OFFSET_POINT 0x2A01 #define GL_POLYGON_OFFSET_LINE 0x2A02 #define GL_POLYGON_OFFSET_FILL 0x8037 /* Display Lists */ #define GL_COMPILE 0x1300 #define GL_COMPILE_AND_EXECUTE 0x1301 #define GL_LIST_BASE 0x0B32 #define GL_LIST_INDEX 0x0B33 #define GL_LIST_MODE 0x0B30 /* Depth buffer */ #define GL_NEVER 0x0200 #define GL_LESS 0x0201 #define GL_GEQUAL 0x0206 #define GL_LEQUAL 0x0203 #define GL_GREATER 0x0204 #define GL_NOTEQUAL 0x0205 #define GL_EQUAL 0x0202 #define GL_ALWAYS 0x0207 #define GL_DEPTH_TEST 0x0B71 #define GL_DEPTH_BITS 0x0D56 #define GL_DEPTH_CLEAR_VALUE 0x0B73 #define GL_DEPTH_FUNC 0x0B74 #define GL_DEPTH_RANGE 0x0B70 #define GL_DEPTH_WRITEMASK 0x0B72 #define GL_DEPTH_COMPONENT 0x1902 /* Lighting */ #define GL_LIGHTING 0x0B50 #define GL_LIGHT0 0x4000 #define GL_LIGHT1 0x4001 #define GL_LIGHT2 0x4002 #define GL_LIGHT3 0x4003 #define GL_LIGHT4 0x4004 #define GL_LIGHT5 0x4005 #define GL_LIGHT6 0x4006 #define GL_LIGHT7 0x4007 #define GL_SPOT_EXPONENT 0x1205 #define GL_SPOT_CUTOFF 0x1206 #define GL_CONSTANT_ATTENUATION 0x1207 #define GL_LINEAR_ATTENUATION 0x1208 #define GL_QUADRATIC_ATTENUATION 0x1209 #define GL_AMBIENT 0x1200 #define GL_DIFFUSE 0x1201 #define GL_SPECULAR 0x1202 #define GL_SHININESS 0x1601 #define GL_EMISSION 0x1600 #define GL_POSITION 0x1203 #define GL_SPOT_DIRECTION 0x1204 #define GL_AMBIENT_AND_DIFFUSE 0x1602 #define GL_COLOR_INDEXES 0x1603 #define GL_LIGHT_MODEL_TWO_SIDE 0x0B52 #define GL_LIGHT_MODEL_LOCAL_VIEWER 0x0B51 #define GL_LIGHT_MODEL_AMBIENT 0x0B53 #define GL_FRONT_AND_BACK 0x0408 #define GL_SHADE_MODEL 0x0B54 #define GL_FLAT 0x1D00 #define GL_SMOOTH 0x1D01 #define GL_COLOR_MATERIAL 0x0B57 #define GL_COLOR_MATERIAL_FACE 0x0B55 #define GL_COLOR_MATERIAL_PARAMETER 0x0B56 #define GL_NORMALIZE 0x0BA1 /* User clipping planes */ #define GL_CLIP_PLANE0 0x3000 #define GL_CLIP_PLANE1 0x3001 #define GL_CLIP_PLANE2 0x3002 #define GL_CLIP_PLANE3 0x3003 #define GL_CLIP_PLANE4 0x3004 #define GL_CLIP_PLANE5 0x3005 /* Accumulation buffer */ #define GL_ACCUM_RED_BITS 0x0D58 #define GL_ACCUM_GREEN_BITS 0x0D59 #define GL_ACCUM_BLUE_BITS 0x0D5A #define GL_ACCUM_ALPHA_BITS 0x0D5B #define GL_ACCUM_CLEAR_VALUE 0x0B80 #define GL_ACCUM 0x0100 #define GL_ADD 0x0104 #define GL_LOAD 0x0101 #define GL_MULT 0x0103 #define GL_RETURN 0x0102 /* Alpha testing */ #define GL_ALPHA_TEST 0x0BC0 #define GL_ALPHA_TEST_REF 0x0BC2 #define GL_ALPHA_TEST_FUNC 0x0BC1 /* Blending */ #define GL_BLEND 0x0BE2 #define GL_BLEND_SRC 0x0BE1 #define GL_BLEND_DST 0x0BE0 #define GL_ZERO 0 #define GL_ONE 1 #define GL_SRC_COLOR 0x0300 #define GL_ONE_MINUS_SRC_COLOR 0x0301 #define GL_DST_COLOR 0x0306 #define GL_ONE_MINUS_DST_COLOR 0x0307 #define GL_SRC_ALPHA 0x0302 #define GL_ONE_MINUS_SRC_ALPHA 0x0303 #define GL_DST_ALPHA 0x0304 #define GL_ONE_MINUS_DST_ALPHA 0x0305 #define GL_SRC_ALPHA_SATURATE 0x0308 #define GL_CONSTANT_COLOR 0x8001 #define GL_ONE_MINUS_CONSTANT_COLOR 0x8002 #define GL_CONSTANT_ALPHA 0x8003 #define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004 /* Render Mode */ #define GL_FEEDBACK 0x1C01 #define GL_RENDER 0x1C00 #define GL_SELECT 0x1C02 /* Feedback */ #define GL_2D 0x0600 #define GL_3D 0x0601 #define GL_3D_COLOR 0x0602 #define GL_3D_COLOR_TEXTURE 0x0603 #define GL_4D_COLOR_TEXTURE 0x0604 #define GL_POINT_TOKEN 0x0701 #define GL_LINE_TOKEN 0x0702 #define GL_LINE_RESET_TOKEN 0x0707 #define GL_POLYGON_TOKEN 0x0703 #define GL_BITMAP_TOKEN 0x0704 #define GL_DRAW_PIXEL_TOKEN 0x0705 #define GL_COPY_PIXEL_TOKEN 0x0706 #define GL_PASS_THROUGH_TOKEN 0x0700 #define GL_FEEDBACK_BUFFER_POINTER 0x0DF0 #define GL_FEEDBACK_BUFFER_SIZE 0x0DF1 #define GL_FEEDBACK_BUFFER_TYPE 0x0DF2 /* Fog */ #define GL_FOG 0x0B60 #define GL_FOG_MODE 0x0B65 #define GL_FOG_DENSITY 0x0B62 #define GL_FOG_COLOR 0x0B66 #define GL_FOG_INDEX 0x0B61 #define GL_FOG_START 0x0B63 #define GL_FOG_END 0x0B64 #define GL_LINEAR 0x2601 #define GL_EXP 0x0800 #define GL_EXP2 0x0801 /* Logic Ops */ #define GL_LOGIC_OP 0x0BF1 #define GL_INDEX_LOGIC_OP 0x0BF1 #define GL_COLOR_LOGIC_OP 0x0BF2 #define GL_LOGIC_OP_MODE 0x0BF0 #define GL_CLEAR 0x1500 #define GL_SET 0x150F #define GL_COPY 0x1503 #define GL_COPY_INVERTED 0x150C #define GL_NOOP 0x1505 #define GL_INVERT 0x150A #define GL_AND 0x1501 #define GL_NAND 0x150E #define GL_OR 0x1507 #define GL_NOR 0x1508 #define GL_XOR 0x1506 #define GL_EQUIV 0x1509 #define GL_AND_REVERSE 0x1502 #define GL_AND_INVERTED 0x1504 #define GL_OR_REVERSE 0x150B #define GL_OR_INVERTED 0x150D /* Stencil */ #define GL_STENCIL_TEST 0x0B90 #define GL_STENCIL_WRITEMASK 0x0B98 #define GL_STENCIL_BITS 0x0D57 #define GL_STENCIL_FUNC 0x0B92 #define GL_STENCIL_VALUE_MASK 0x0B93 #define GL_STENCIL_REF 0x0B97 #define GL_STENCIL_FAIL 0x0B94 #define GL_STENCIL_PASS_DEPTH_PASS 0x0B96 #define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95 #define GL_STENCIL_CLEAR_VALUE 0x0B91 #define GL_STENCIL_INDEX 0x1901 #define GL_KEEP 0x1E00 #define GL_REPLACE 0x1E01 #define GL_INCR 0x1E02 #define GL_DECR 0x1E03 /* Buffers, Pixel Drawing/Reading */ #define GL_NONE 0 #define GL_LEFT 0x0406 #define GL_RIGHT 0x0407 #define GL_FRONT_LEFT 0x0400 #define GL_FRONT_RIGHT 0x0401 #define GL_BACK_LEFT 0x0402 #define GL_BACK_RIGHT 0x0403 #define GL_AUX0 0x0409 #define GL_AUX1 0x040A #define GL_AUX2 0x040B #define GL_AUX3 0x040C #define GL_COLOR_INDEX 0x1900 #define GL_RED 0x1903 #define GL_GREEN 0x1904 #define GL_BLUE 0x1905 #define GL_ALPHA 0x1906 #define GL_LUMINANCE 0x1909 #define GL_LUMINANCE_ALPHA 0x190A #define GL_ALPHA_BITS 0x0D55 #define GL_RED_BITS 0x0D52 #define GL_GREEN_BITS 0x0D53 #define GL_BLUE_BITS 0x0D54 #define GL_INDEX_BITS 0x0D51 #define GL_SUBPIXEL_BITS 0x0D50 #define GL_AUX_BUFFERS 0x0C00 #define GL_READ_BUFFER 0x0C02 #define GL_DRAW_BUFFER 0x0C01 #define GL_DOUBLEBUFFER 0x0C32 #define GL_STEREO 0x0C33 #define GL_BITMAP 0x1A00 #define GL_COLOR 0x1800 #define GL_DEPTH 0x1801 #define GL_STENCIL 0x1802 #define GL_DITHER 0x0BD0 #define GL_RGB 0x1907 #define GL_RGBA 0x1908 /* Implementation limits */ #define GL_MAX_LIST_NESTING 0x0B31 #define GL_MAX_ATTRIB_STACK_DEPTH 0x0D35 #define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36 #define GL_MAX_NAME_STACK_DEPTH 0x0D37 #define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38 #define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39 #define GL_MAX_EVAL_ORDER 0x0D30 #define GL_MAX_LIGHTS 0x0D31 #define GL_MAX_CLIP_PLANES 0x0D32 #define GL_MAX_TEXTURE_SIZE 0x0D33 #define GL_MAX_PIXEL_MAP_TABLE 0x0D34 #define GL_MAX_VIEWPORT_DIMS 0x0D3A #define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH 0x0D3B #define GL_MAX_COLOR_MATRIX_STACK_DEPTH 0x80B3 /* Gets */ #define GL_ATTRIB_STACK_DEPTH 0x0BB0 #define GL_CLIENT_ATTRIB_STACK_DEPTH 0x0BB1 #define GL_COLOR_CLEAR_VALUE 0x0C22 #define GL_COLOR_WRITEMASK 0x0C23 #define GL_CURRENT_INDEX 0x0B01 #define GL_CURRENT_COLOR 0x0B00 #define GL_CURRENT_NORMAL 0x0B02 #define GL_CURRENT_RASTER_COLOR 0x0B04 #define GL_CURRENT_RASTER_DISTANCE 0x0B09 #define GL_CURRENT_RASTER_INDEX 0x0B05 #define GL_CURRENT_RASTER_POSITION 0x0B07 #define GL_CURRENT_RASTER_TEXTURE_COORDS 0x0B06 #define GL_CURRENT_RASTER_POSITION_VALID 0x0B08 #define GL_CURRENT_TEXTURE_COORDS 0x0B03 #define GL_INDEX_CLEAR_VALUE 0x0C20 #define GL_INDEX_MODE 0x0C30 #define GL_INDEX_WRITEMASK 0x0C21 #define GL_MODELVIEW_MATRIX 0x0BA6 #define GL_MODELVIEW_STACK_DEPTH 0x0BA3 #define GL_NAME_STACK_DEPTH 0x0D70 #define GL_PROJECTION_MATRIX 0x0BA7 #define GL_PROJECTION_STACK_DEPTH 0x0BA4 #define GL_RENDER_MODE 0x0C40 #define GL_RGBA_MODE 0x0C31 #define GL_TEXTURE_MATRIX 0x0BA8 #define GL_TEXTURE_STACK_DEPTH 0x0BA5 #define GL_VIEWPORT 0x0BA2 #define GL_COLOR_MATRIX 0x80B1 #define GL_COLOR_MATRIX_STACK_DEPTH 0x80B2 /* Evaluators */ #define GL_AUTO_NORMAL 0x0D80 #define GL_MAP1_COLOR_4 0x0D90 #define GL_MAP1_GRID_DOMAIN 0x0DD0 #define GL_MAP1_GRID_SEGMENTS 0x0DD1 #define GL_MAP1_INDEX 0x0D91 #define GL_MAP1_NORMAL 0x0D92 #define GL_MAP1_TEXTURE_COORD_1 0x0D93 #define GL_MAP1_TEXTURE_COORD_2 0x0D94 #define GL_MAP1_TEXTURE_COORD_3 0x0D95 #define GL_MAP1_TEXTURE_COORD_4 0x0D96 #define GL_MAP1_VERTEX_3 0x0D97 #define GL_MAP1_VERTEX_4 0x0D98 #define GL_MAP2_COLOR_4 0x0DB0 #define GL_MAP2_GRID_DOMAIN 0x0DD2 #define GL_MAP2_GRID_SEGMENTS 0x0DD3 #define GL_MAP2_INDEX 0x0DB1 #define GL_MAP2_NORMAL 0x0DB2 #define GL_MAP2_TEXTURE_COORD_1 0x0DB3 #define GL_MAP2_TEXTURE_COORD_2 0x0DB4 #define GL_MAP2_TEXTURE_COORD_3 0x0DB5 #define GL_MAP2_TEXTURE_COORD_4 0x0DB6 #define GL_MAP2_VERTEX_3 0x0DB7 #define GL_MAP2_VERTEX_4 0x0DB8 #define GL_COEFF 0x0A00 #define GL_DOMAIN 0x0A02 #define GL_ORDER 0x0A01 /* Hints */ #define GL_FOG_HINT 0x0C54 #define GL_LINE_SMOOTH_HINT 0x0C52 #define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50 #define GL_POINT_SMOOTH_HINT 0x0C51 #define GL_POLYGON_SMOOTH_HINT 0x0C53 #define GL_DONT_CARE 0x1100 #define GL_FASTEST 0x1101 #define GL_NICEST 0x1102 /* Scissor box */ #define GL_SCISSOR_TEST 0x0C11 #define GL_SCISSOR_BOX 0x0C10 /* Pixel Mode / Transfer */ #define GL_MAP_COLOR 0x0D10 #define GL_MAP_STENCIL 0x0D11 #define GL_INDEX_SHIFT 0x0D12 #define GL_INDEX_OFFSET 0x0D13 #define GL_RED_SCALE 0x0D14 #define GL_RED_BIAS 0x0D15 #define GL_GREEN_SCALE 0x0D18 #define GL_GREEN_BIAS 0x0D19 #define GL_BLUE_SCALE 0x0D1A #define GL_BLUE_BIAS 0x0D1B #define GL_ALPHA_SCALE 0x0D1C #define GL_ALPHA_BIAS 0x0D1D #define GL_DEPTH_SCALE 0x0D1E #define GL_DEPTH_BIAS 0x0D1F #define GL_PIXEL_MAP_S_TO_S_SIZE 0x0CB1 #define GL_PIXEL_MAP_I_TO_I_SIZE 0x0CB0 #define GL_PIXEL_MAP_I_TO_R_SIZE 0x0CB2 #define GL_PIXEL_MAP_I_TO_G_SIZE 0x0CB3 #define GL_PIXEL_MAP_I_TO_B_SIZE 0x0CB4 #define GL_PIXEL_MAP_I_TO_A_SIZE 0x0CB5 #define GL_PIXEL_MAP_R_TO_R_SIZE 0x0CB6 #define GL_PIXEL_MAP_G_TO_G_SIZE 0x0CB7 #define GL_PIXEL_MAP_B_TO_B_SIZE 0x0CB8 #define GL_PIXEL_MAP_A_TO_A_SIZE 0x0CB9 #define GL_PIXEL_MAP_S_TO_S 0x0C71 #define GL_PIXEL_MAP_I_TO_I 0x0C70 #define GL_PIXEL_MAP_I_TO_R 0x0C72 #define GL_PIXEL_MAP_I_TO_G 0x0C73 #define GL_PIXEL_MAP_I_TO_B 0x0C74 #define GL_PIXEL_MAP_I_TO_A 0x0C75 #define GL_PIXEL_MAP_R_TO_R 0x0C76 #define GL_PIXEL_MAP_G_TO_G 0x0C77 #define GL_PIXEL_MAP_B_TO_B 0x0C78 #define GL_PIXEL_MAP_A_TO_A 0x0C79 #define GL_PACK_ALIGNMENT 0x0D05 #define GL_PACK_LSB_FIRST 0x0D01 #define GL_PACK_ROW_LENGTH 0x0D02 #define GL_PACK_SKIP_PIXELS 0x0D04 #define GL_PACK_SKIP_ROWS 0x0D03 #define GL_PACK_SWAP_BYTES 0x0D00 #define GL_UNPACK_ALIGNMENT 0x0CF5 #define GL_UNPACK_LSB_FIRST 0x0CF1 #define GL_UNPACK_ROW_LENGTH 0x0CF2 #define GL_UNPACK_SKIP_PIXELS 0x0CF4 #define GL_UNPACK_SKIP_ROWS 0x0CF3 #define GL_UNPACK_SWAP_BYTES 0x0CF0 #define GL_ZOOM_X 0x0D16 #define GL_ZOOM_Y 0x0D17 /* Texture mapping */ #define GL_TEXTURE_ENV 0x2300 #define GL_TEXTURE_ENV_MODE 0x2200 #define GL_TEXTURE_1D 0x0DE0 #define GL_TEXTURE_2D 0x0DE1 #define GL_TEXTURE_WRAP_S 0x2802 #define GL_TEXTURE_WRAP_T 0x2803 #define GL_TEXTURE_MAG_FILTER 0x2800 #define GL_TEXTURE_MIN_FILTER 0x2801 #define GL_TEXTURE_ENV_COLOR 0x2201 #define GL_TEXTURE_GEN_S 0x0C60 #define GL_TEXTURE_GEN_T 0x0C61 #define GL_TEXTURE_GEN_MODE 0x2500 #define GL_TEXTURE_BORDER_COLOR 0x1004 #define GL_TEXTURE_WIDTH 0x1000 #define GL_TEXTURE_HEIGHT 0x1001 #define GL_TEXTURE_BORDER 0x1005 #define GL_TEXTURE_COMPONENTS 0x1003 #define GL_TEXTURE_RED_SIZE 0x805C #define GL_TEXTURE_GREEN_SIZE 0x805D #define GL_TEXTURE_BLUE_SIZE 0x805E #define GL_TEXTURE_ALPHA_SIZE 0x805F #define GL_TEXTURE_LUMINANCE_SIZE 0x8060 #define GL_TEXTURE_INTENSITY_SIZE 0x8061 #define GL_NEAREST_MIPMAP_NEAREST 0x2700 #define GL_NEAREST_MIPMAP_LINEAR 0x2702 #define GL_LINEAR_MIPMAP_NEAREST 0x2701 #define GL_LINEAR_MIPMAP_LINEAR 0x2703 #define GL_OBJECT_LINEAR 0x2401 #define GL_OBJECT_PLANE 0x2501 #define GL_EYE_LINEAR 0x2400 #define GL_EYE_PLANE 0x2502 #define GL_SPHERE_MAP 0x2402 #define GL_DECAL 0x2101 #define GL_MODULATE 0x2100 #define GL_NEAREST 0x2600 #define GL_REPEAT 0x2901 #define GL_CLAMP 0x2900 #define GL_S 0x2000 #define GL_T 0x2001 #define GL_R 0x2002 #define GL_Q 0x2003 #define GL_TEXTURE_GEN_R 0x0C62 #define GL_TEXTURE_GEN_Q 0x0C63 #define GL_PROXY_TEXTURE_1D 0x8063 #define GL_PROXY_TEXTURE_2D 0x8064 #define GL_TEXTURE_PRIORITY 0x8066 #define GL_TEXTURE_RESIDENT 0x8067 #define GL_TEXTURE_BINDING_1D 0x8068 #define GL_TEXTURE_BINDING_2D 0x8069 /* Internal texture formats */ #define GL_ALPHA4 0x803B #define GL_ALPHA8 0x803C #define GL_ALPHA12 0x803D #define GL_ALPHA16 0x803E #define GL_LUMINANCE4 0x803F #define GL_LUMINANCE8 0x8040 #define GL_LUMINANCE12 0x8041 #define GL_LUMINANCE16 0x8042 #define GL_LUMINANCE4_ALPHA4 0x8043 #define GL_LUMINANCE6_ALPHA2 0x8044 #define GL_LUMINANCE8_ALPHA8 0x8045 #define GL_LUMINANCE12_ALPHA4 0x8046 #define GL_LUMINANCE12_ALPHA12 0x8047 #define GL_LUMINANCE16_ALPHA16 0x8048 #define GL_INTENSITY 0x8049 #define GL_INTENSITY4 0x804A #define GL_INTENSITY8 0x804B #define GL_INTENSITY12 0x804C #define GL_INTENSITY16 0x804D #define GL_R3_G3_B2 0x2A10 #define GL_RGB4 0x804F #define GL_RGB5 0x8050 #define GL_RGB8 0x8051 #define GL_RGB10 0x8052 #define GL_RGB12 0x8053 #define GL_RGB16 0x8054 #define GL_RGBA2 0x8055 #define GL_RGBA4 0x8056 #define GL_RGB5_A1 0x8057 #define GL_RGBA8 0x8058 #define GL_RGB10_A2 0x8059 #define GL_RGBA12 0x805A #define GL_RGBA16 0x805B /* Utility */ #define GL_VENDOR 0x1F00 #define GL_RENDERER 0x1F01 #define GL_VERSION 0x1F02 #define GL_EXTENSIONS 0x1F03 /* Errors */ #define GL_INVALID_VALUE 0x0501 #define GL_INVALID_ENUM 0x0500 #define GL_INVALID_OPERATION 0x0502 #define GL_STACK_OVERFLOW 0x0503 #define GL_STACK_UNDERFLOW 0x0504 #define GL_OUT_OF_MEMORY 0x0505 /* * 1.0 Extensions */ /* GL_EXT_blend_minmax and GL_EXT_blend_color */ #define GL_CONSTANT_COLOR_EXT 0x8001 #define GL_ONE_MINUS_CONSTANT_COLOR_EXT 0x8002 #define GL_CONSTANT_ALPHA_EXT 0x8003 #define GL_ONE_MINUS_CONSTANT_ALPHA_EXT 0x8004 #define GL_BLEND_EQUATION_EXT 0x8009 #define GL_MIN_EXT 0x8007 #define GL_MAX_EXT 0x8008 #define GL_FUNC_ADD_EXT 0x8006 #define GL_FUNC_SUBTRACT_EXT 0x800A #define GL_FUNC_REVERSE_SUBTRACT_EXT 0x800B #define GL_BLEND_COLOR_EXT 0x8005 /* GL_EXT_polygon_offset */ #define GL_POLYGON_OFFSET_EXT 0x8037 #define GL_POLYGON_OFFSET_FACTOR_EXT 0x8038 #define GL_POLYGON_OFFSET_BIAS_EXT 0x8039 /* GL_EXT_vertex_array */ #define GL_VERTEX_ARRAY_EXT 0x8074 #define GL_NORMAL_ARRAY_EXT 0x8075 #define GL_COLOR_ARRAY_EXT 0x8076 #define GL_INDEX_ARRAY_EXT 0x8077 #define GL_TEXTURE_COORD_ARRAY_EXT 0x8078 #define GL_EDGE_FLAG_ARRAY_EXT 0x8079 #define GL_VERTEX_ARRAY_SIZE_EXT 0x807A #define GL_VERTEX_ARRAY_TYPE_EXT 0x807B #define GL_VERTEX_ARRAY_STRIDE_EXT 0x807C #define GL_VERTEX_ARRAY_COUNT_EXT 0x807D #define GL_NORMAL_ARRAY_TYPE_EXT 0x807E #define GL_NORMAL_ARRAY_STRIDE_EXT 0x807F #define GL_NORMAL_ARRAY_COUNT_EXT 0x8080 #define GL_COLOR_ARRAY_SIZE_EXT 0x8081 #define GL_COLOR_ARRAY_TYPE_EXT 0x8082 #define GL_COLOR_ARRAY_STRIDE_EXT 0x8083 #define GL_COLOR_ARRAY_COUNT_EXT 0x8084 #define GL_INDEX_ARRAY_TYPE_EXT 0x8085 #define GL_INDEX_ARRAY_STRIDE_EXT 0x8086 #define GL_INDEX_ARRAY_COUNT_EXT 0x8087 #define GL_TEXTURE_COORD_ARRAY_SIZE_EXT 0x8088 #define GL_TEXTURE_COORD_ARRAY_TYPE_EXT 0x8089 #define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT 0x808A #define GL_TEXTURE_COORD_ARRAY_COUNT_EXT 0x808B #define GL_EDGE_FLAG_ARRAY_STRIDE_EXT 0x808C #define GL_EDGE_FLAG_ARRAY_COUNT_EXT 0x808D #define GL_VERTEX_ARRAY_POINTER_EXT 0x808E #define GL_NORMAL_ARRAY_POINTER_EXT 0x808F #define GL_COLOR_ARRAY_POINTER_EXT 0x8090 #define GL_INDEX_ARRAY_POINTER_EXT 0x8091 #define GL_TEXTURE_COORD_ARRAY_POINTER_EXT 0x8092 #define GL_EDGE_FLAG_ARRAY_POINTER_EXT 0x8093 /* GL_EXT_texture_object */ #define GL_TEXTURE_PRIORITY_EXT 0x8066 #define GL_TEXTURE_RESIDENT_EXT 0x8067 #define GL_TEXTURE_1D_BINDING_EXT 0x8068 #define GL_TEXTURE_2D_BINDING_EXT 0x8069 /* GL_EXT_texture3D */ #define GL_PACK_SKIP_IMAGES_EXT 0x806B #define GL_PACK_IMAGE_HEIGHT_EXT 0x806C #define GL_UNPACK_SKIP_IMAGES_EXT 0x806D #define GL_UNPACK_IMAGE_HEIGHT_EXT 0x806E #define GL_TEXTURE_3D_EXT 0x806F #define GL_PROXY_TEXTURE_3D_EXT 0x8070 #define GL_TEXTURE_DEPTH_EXT 0x8071 #define GL_TEXTURE_WRAP_R_EXT 0x8072 #define GL_MAX_3D_TEXTURE_SIZE_EXT 0x8073 #define GL_TEXTURE_3D_BINDING_EXT 0x806A /* GL_EXT_paletted_texture */ #define GL_TABLE_TOO_LARGE_EXT 0x8031 #define GL_COLOR_TABLE_FORMAT_EXT 0x80D8 #define GL_COLOR_TABLE_WIDTH_EXT 0x80D9 #define GL_COLOR_TABLE_RED_SIZE_EXT 0x80DA #define GL_COLOR_TABLE_GREEN_SIZE_EXT 0x80DB #define GL_COLOR_TABLE_BLUE_SIZE_EXT 0x80DC #define GL_COLOR_TABLE_ALPHA_SIZE_EXT 0x80DD #define GL_COLOR_TABLE_LUMINANCE_SIZE_EXT 0x80DE #define GL_COLOR_TABLE_INTENSITY_SIZE_EXT 0x80DF #define GL_TEXTURE_INDEX_SIZE_EXT 0x80ED #define GL_COLOR_INDEX1_EXT 0x80E2 #define GL_COLOR_INDEX2_EXT 0x80E3 #define GL_COLOR_INDEX4_EXT 0x80E4 #define GL_COLOR_INDEX8_EXT 0x80E5 #define GL_COLOR_INDEX12_EXT 0x80E6 #define GL_COLOR_INDEX16_EXT 0x80E7 /* GL_EXT_shared_texture_palette */ #define GL_SHARED_TEXTURE_PALETTE_EXT 0x81FB #if 0 /* GL_SGIS_texture_lod */ #define GL_TEXTURE_MIN_LOD_SGIS 0x813A #define GL_TEXTURE_MAX_LOD_SGIS 0x813B #define GL_TEXTURE_BASE_LEVEL_SGIS 0x813C #define GL_TEXTURE_MAX_LEVEL_SGIS 0x813D #endif /* GL_EXT_point_parameters */ #define GL_POINT_SIZE_MIN_EXT 0x8126 #define GL_POINT_SIZE_MAX_EXT 0x8127 #define GL_POINT_FADE_THRESHOLD_SIZE_EXT 0x8128 #define GL_DISTANCE_ATTENUATION_EXT 0x8129 #define GL_CURRENT_BIT 0x00000001L #define GL_POINT_BIT 0x00000002L #define GL_LINE_BIT 0x00000004L #define GL_POLYGON_BIT 0x00000008L #define GL_POLYGON_STIPPLE_BIT 0x00000010L #define GL_PIXEL_MODE_BIT 0x00000020L #define GL_LIGHTING_BIT 0x00000040L #define GL_FOG_BIT 0x00000080L #define GL_DEPTH_BUFFER_BIT 0x00000100L #define GL_ACCUM_BUFFER_BIT 0x00000200L #define GL_STENCIL_BUFFER_BIT 0x00000400L #define GL_VIEWPORT_BIT 0x00000800L #define GL_TRANSFORM_BIT 0x00001000L #define GL_ENABLE_BIT 0x00002000L #define GL_COLOR_BUFFER_BIT 0x00004000L #define GL_HINT_BIT 0x00008000L #define GL_EVAL_BIT 0x00010000L #define GL_LIST_BIT 0x00020000L #define GL_TEXTURE_BIT 0x00040000L #define GL_SCISSOR_BIT 0x00080000L #define GL_ALL_ATTRIB_BITS 0x000fffffL #define GL_CLIENT_PIXEL_STORE_BIT 0x00000001L #define GL_CLIENT_VERTEX_ARRAY_BIT 0x00000002L #define GL_CLIENT_ALL_ATTRIB_BITS 0x0000FFFFL GLAPI void GLAPIENTRY glEnable(GLenum cap); GLAPI void GLAPIENTRY glDisable(GLenum cap); GLAPI void GLAPIENTRY glShadeModel(GLenum mode); GLAPI void GLAPIENTRY glCullFace(GLenum mode); GLAPI void GLAPIENTRY glPolygonMode(GLenum face, GLenum mode); GLAPI void GLAPIENTRY glBegin(GLenum mode); GLAPI void GLAPIENTRY glEnd(void); GLAPI void GLAPIENTRY glVertex2f(GLfloat x, GLfloat y); GLAPI void GLAPIENTRY glVertex2d(GLdouble x, GLdouble y); GLAPI void GLAPIENTRY glVertex2fv(const GLfloat *v); GLAPI void GLAPIENTRY glVertex2dv(const GLdouble *v); GLAPI void GLAPIENTRY glVertex3f(GLfloat x, GLfloat y, GLfloat z); GLAPI void GLAPIENTRY glVertex3d(GLdouble x, GLdouble y, GLdouble z); GLAPI void GLAPIENTRY glVertex3fv(const GLfloat *v); GLAPI void GLAPIENTRY glVertex3dv(const GLdouble *v); GLAPI void GLAPIENTRY glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w); GLAPI void GLAPIENTRY glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w); GLAPI void GLAPIENTRY glVertex4fv(const GLfloat *v); GLAPI void GLAPIENTRY glVertex4dv(const GLdouble *v); GLAPI void GLAPIENTRY glColor3f(GLfloat red, GLfloat green, GLfloat blue); GLAPI void GLAPIENTRY glColor3d(GLdouble red, GLdouble green, GLdouble blue); GLAPI void GLAPIENTRY glColor3fv(const GLfloat *v); GLAPI void GLAPIENTRY glColor3dv(const GLdouble *v); GLAPI void GLAPIENTRY glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); GLAPI void GLAPIENTRY glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha); GLAPI void GLAPIENTRY glColor4fv(const GLfloat *v); GLAPI void GLAPIENTRY glColor4dv(const GLdouble *v); GLAPI void GLAPIENTRY glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz); GLAPI void GLAPIENTRY glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz); GLAPI void GLAPIENTRY glNormal3fv(const GLfloat *v); GLAPI void GLAPIENTRY glNormal3dv(const GLdouble *v); GLAPI void GLAPIENTRY glTexCoord1f(GLfloat s); GLAPI void GLAPIENTRY glTexCoord1d(GLdouble s); GLAPI void GLAPIENTRY glTexCoord1fv(const GLfloat *v); GLAPI void GLAPIENTRY glTexCoord1dv(const GLdouble *v); GLAPI void GLAPIENTRY glTexCoord2f(GLfloat s, GLfloat t); GLAPI void GLAPIENTRY glTexCoord2d(GLdouble s, GLdouble t); GLAPI void GLAPIENTRY glTexCoord2fv(const GLfloat *v); GLAPI void GLAPIENTRY glTexCoord2dv(const GLdouble *v); GLAPI void GLAPIENTRY glTexCoord3f(GLfloat s, GLfloat t, GLfloat r); GLAPI void GLAPIENTRY glTexCoord3d(GLdouble s, GLdouble t, GLdouble r); GLAPI void GLAPIENTRY glTexCoord3fv(const GLfloat *v); GLAPI void GLAPIENTRY glTexCoord3dv(const GLdouble *v); GLAPI void GLAPIENTRY glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q); GLAPI void GLAPIENTRY glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q); GLAPI void GLAPIENTRY glTexCoord4fv(const GLfloat *v); GLAPI void GLAPIENTRY glTexCoord4dv(const GLdouble *v); GLAPI void GLAPIENTRY glEdgeFlag(GLboolean flag); /* matrix */ GLAPI void GLAPIENTRY glMatrixMode(GLenum mode); GLAPI void GLAPIENTRY glLoadMatrixf(const GLfloat *m); GLAPI void GLAPIENTRY glLoadIdentity(void); GLAPI void GLAPIENTRY glMultMatrixf(const GLfloat *m); GLAPI void GLAPIENTRY glPushMatrix(void); GLAPI void GLAPIENTRY glPopMatrix(void); GLAPI void GLAPIENTRY glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z); GLAPI void GLAPIENTRY glTranslatef(GLfloat x, GLfloat y, GLfloat z); GLAPI void GLAPIENTRY glScalef(GLfloat x, GLfloat y, GLfloat z); GLAPI void GLAPIENTRY glViewport(GLint x, GLint y, GLint width, GLint height); GLAPI void GLAPIENTRY glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near_val, GLdouble far_val); GLAPI void GLAPIENTRY glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near_val, GLdouble far_val); /* lists */ GLAPI GLuint GLAPIENTRY glGenLists(GLsizei range); GLAPI GLboolean GLAPIENTRY glIsList(GLuint list); GLAPI void GLAPIENTRY glNewList(GLuint list, GLenum mode); GLAPI void GLAPIENTRY glEndList(void); GLAPI void GLAPIENTRY glCallList(GLuint list); GLAPI void GLAPIENTRY glDeleteLists(GLuint list, GLsizei range); /* clear */ GLAPI void GLAPIENTRY glClear(GLbitfield mask); GLAPI void GLAPIENTRY glClearColor(GLfloat r, GLfloat g, GLfloat b, GLfloat a); GLAPI void GLAPIENTRY glClearDepth(GLdouble depth); GLAPI void GLAPIENTRY glClearDepthf(GLfloat depth); /* selection */ GLAPI GLint GLAPIENTRY glRenderMode(GLenum mode); GLAPI void GLAPIENTRY glSelectBuffer(GLsizei size, GLuint *buf); GLAPI void GLAPIENTRY glInitNames(void); GLAPI void GLAPIENTRY glPushName(GLuint name); GLAPI void GLAPIENTRY glPopName(void); GLAPI void GLAPIENTRY glLoadName(GLuint name); /* textures */ GLAPI void GLAPIENTRY glGenTextures(GLsizei n, GLuint *textures); GLAPI void GLAPIENTRY glDeleteTextures(GLsizei n, const GLuint *textures); GLAPI void GLAPIENTRY glBindTexture(GLenum target, GLuint texture); GLAPI void GLAPIENTRY glTexImage2D(GLenum target, GLint level, GLint components, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels); GLAPI void GLAPIENTRY glTexEnvi(GLenum target, GLenum pname, GLint param); GLAPI void GLAPIENTRY glTexParameteri(GLenum target, GLenum pname, GLint param); GLAPI void GLAPIENTRY glPixelStorei(GLenum pname, GLint param); /* lighting */ GLAPI void GLAPIENTRY glMaterialfv(GLenum face, GLenum pname, const GLfloat *v); GLAPI void GLAPIENTRY glMaterialf(GLenum mode, GLenum pname, GLfloat v); GLAPI void GLAPIENTRY glColorMaterial(GLenum face, GLenum mode); GLAPI void GLAPIENTRY glLightfv(GLenum light, GLenum pname, const GLfloat *v); GLAPI void GLAPIENTRY glLightf(GLenum light, GLenum pname, GLfloat v); GLAPI void GLAPIENTRY glLightModeli(GLenum pname, GLint param); GLAPI void GLAPIENTRY glLightModelfv(GLenum pname, const GLfloat *param); /* misc */ GLAPI void GLAPIENTRY glFlush(void); GLAPI void GLAPIENTRY glHint(GLenum target, GLenum mode); GLAPI void GLAPIENTRY glGetIntegerv(GLenum pname, GLint *params); GLAPI void GLAPIENTRY glGetFloatv(GLenum pname, GLfloat *v); GLAPI void GLAPIENTRY glFrontFace(GLenum mode); /* opengl 1.2 arrays */ GLAPI void GLAPIENTRY glEnableClientState(GLenum array); GLAPI void GLAPIENTRY glDisableClientState(GLenum array); GLAPI void GLAPIENTRY glArrayElement(GLint i); GLAPI void GLAPIENTRY glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); GLAPI void GLAPIENTRY glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); GLAPI void GLAPIENTRY glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer); GLAPI void GLAPIENTRY glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); /* opengl 1.2 polygon offset */ GLAPI void GLAPIENTRY glPolygonOffset(GLfloat factor, GLfloat units); #endif /* GL_VERSION_1_1 */ #ifndef GL_VERSION_1_5 #define GL_VERSION_1_5 1 typedef ptrdiff_t GLintptr; typedef ptrdiff_t GLsizeiptr; #endif #ifndef GL_VERSION_2_0 #define GL_VERSION_2_0 1 typedef char GLchar; #endif #ifndef GL_ARB_vertex_buffer_object #define GL_ARB_vertex_buffer_object 1 typedef ptrdiff_t GLsizeiptrARB; typedef ptrdiff_t GLintptrARB; #endif #ifndef GL_NV_half_float #define GL_NV_half_float 1 typedef unsigned short GLhalfNV; #endif #ifndef GL_NV_vdpau_interop #define GL_NV_vdpau_interop 1 typedef GLintptr GLvdpauSurfaceNV; #endif #ifndef GL_ARB_cl_event #define GL_ARB_cl_event 1 #ifdef __PUREC__ struct _cl_context { int dummy; }; struct _cl_event { int dummy; }; #else struct _cl_context; struct _cl_event; #endif #endif #if !defined(GL_ARB_sync) && !defined(__TINY_GL_H__) #define GL_ARB_sync 1 #if defined(__GNUC__) || (defined(LLONG_MAX) && LLONG_MAX > 2147483647L) typedef int64_t GLint64; typedef uint64_t GLuint64; #else typedef struct { long hi; unsigned long lo; } GLint64; typedef struct { unsigned long hi; unsigned long lo; } GLuint64; #endif #ifdef __PUREC__ struct __GLsync { int dummy; }; #endif typedef struct __GLsync *GLsync; #endif #if !defined(GL_EXT_timer_query) && !defined(__TINY_GL_H__) #define GL_EXT_timer_query 1 typedef GLint64 GLint64EXT; typedef GLuint64 GLuint64EXT; #endif #ifndef GL_OES_fixed_point #define GL_OES_fixed_point 1 typedef GLint GLfixed; #endif #ifndef GL_ARB_shader_objects #define GL_ARB_shader_objects 1 typedef char GLcharARB; typedef GLuint GLhandleARB; #endif #ifndef GL_KHR_debug #define GL_KHR_debug 1 typedef void CALLBACK (*GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message, const void *userParam); #endif #ifndef GL_ARB_debug_output #define GL_ARB_debug_output 1 typedef void CALLBACK (*GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message, const void *userParam); #endif #ifndef GL_AMD_debug_output #define GL_AMD_debug_output typedef void CALLBACK (*GLDEBUGPROCAMD)(GLuint id,GLenum category, GLenum severity, GLsizei length, const GLchar *message, void *userParam); #endif #ifndef GL_MESA_program_debug #define GL_MESA_program_debug 1 typedef void CALLBACK (*GLprogramcallbackMESA)(GLenum target, GLvoid *data); #endif /* * Mesa Off-Screen rendering interface. * * Copyright (C) 1999-2005 Brian Paul All Rights Reserved. * */ #define OSMESA_VERSION_NUMBER(major, minor, patch) ((major) * 10000 + (minor) * 100 + patch) #define OSMESA_VERSION OSMESA_VERSION_NUMBER(OSMESA_MAJOR_VERSION, OSMESA_MINOR_VERSION, OSMESA_PATCH_VERSION) #if !defined(OSMESA_MAJOR_VERSION) #define OSMESA_MAJOR_VERSION 6 #define OSMESA_MINOR_VERSION 3 #define OSMESA_PATCH_VERSION 0 /* * Values for the format parameter of OSMesaCreateLDG() * Mesa_gl.ldg version 0.8 (Mesa 2.6) */ #define OSMESA_COLOR_INDEX GL_COLOR_INDEX #define OSMESA_RGBA GL_RGBA #define OSMESA_BGRA 0x1 #define OSMESA_ARGB 0x2 #define OSMESA_RGB GL_RGB #define OSMESA_BGR 0x4 #define OSMESA_RGB_565 0x5 #define VDI_ARGB 0x8 #define VDI_RGB 0xf #define DIRECT_VDI_ARGB 0x10 /* * OSMesaPixelStore() parameters: */ #define OSMESA_ROW_LENGTH 0x10 #define OSMESA_Y_UP 0x11 /* * Accepted by OSMesaGetIntegerv: */ #define OSMESA_WIDTH 0x20 #define OSMESA_HEIGHT 0x21 #define OSMESA_FORMAT 0x22 #define OSMESA_TYPE 0x23 #define OSMESA_MAX_WIDTH 0x24 /* new in 4.0 */ #define OSMESA_MAX_HEIGHT 0x25 /* new in 4.0 */ #ifdef __PUREC__ struct osmesa_context { int dummy; }; #endif typedef struct osmesa_context *OSMesaContext; typedef void (*OSMESAproc)(void); GLAPI OSMesaContext GLAPIENTRY OSMesaCreateContext( GLenum format, OSMesaContext sharelist ); GLAPI OSMesaContext GLAPIENTRY OSMesaCreateContextExt( GLenum format, GLint depthBits, GLint stencilBits, GLint accumBits, OSMesaContext sharelist); GLAPI void GLAPIENTRY OSMesaDestroyContext( OSMesaContext ctx ); GLAPI GLboolean GLAPIENTRY OSMesaMakeCurrent( OSMesaContext ctx, void *buffer, GLenum type, GLsizei width, GLsizei height ); GLAPI OSMesaContext GLAPIENTRY OSMesaGetCurrentContext( void ); GLAPI void GLAPIENTRY OSMesaPixelStore( GLint pname, GLint value ); GLAPI void GLAPIENTRY OSMesaGetIntegerv( GLint pname, GLint *value ); GLAPI GLboolean GLAPIENTRY OSMesaGetDepthBuffer( OSMesaContext c, GLint *width, GLint *height, GLint *bytesPerValue, void **buffer ); GLAPI GLboolean GLAPIENTRY OSMesaGetColorBuffer( OSMesaContext c, GLint *width, GLint *height, GLint *format, void **buffer ); GLAPI OSMESAproc GLAPIENTRY OSMesaGetProcAddress( const char *funcName ); GLAPI void GLAPIENTRY OSMesaColorClamp(GLboolean enable); GLAPI void GLAPIENTRY OSMesaPostprocess(OSMesaContext osmesa, const char *filter, GLuint enable_value); #elif OSMESA_VERSION < OSMESA_VERSION_NUMBER(6, 3, 0) typedef void (*OSMESAproc)(void); #endif /* * integral types that need to be promoted to * 32bit type when passed by value */ #ifndef GL_nfosmesa_short_promotions #define GL_nfosmesa_short_promotions 1 #ifdef __MSHORT__ typedef long GLshort32; typedef unsigned long GLushort32; typedef unsigned long GLboolean32; typedef long GLchar32; typedef unsigned long GLubyte32; typedef signed long GLbyte32; typedef unsigned long GLhalfNV32; #else typedef GLshort GLshort32; typedef GLushort GLushort32; typedef GLboolean GLboolean32; typedef GLchar GLchar32; typedef GLubyte GLubyte32; typedef GLbyte GLbyte32; typedef GLhalfNV GLhalfNV32; #endif #endif #ifdef __cplusplus } #endif struct _gl_osmesa { void APIENTRY (*OSMesaColorClamp)(GLboolean32 enable); OSMesaContext APIENTRY (*OSMesaCreateContext)(GLenum format, OSMesaContext sharelist); OSMesaContext APIENTRY (*OSMesaCreateContextExt)(GLenum format, GLint depthBits, GLint stencilBits, GLint accumBits, OSMesaContext sharelist); void * APIENTRY (*OSMesaCreateLDG)(GLenum format, GLenum type, GLint width, GLint height); void APIENTRY (*OSMesaDestroyContext)(OSMesaContext ctx); void APIENTRY (*OSMesaDestroyLDG)(void); GLboolean APIENTRY (*OSMesaGetColorBuffer)(OSMesaContext c, GLint *width, GLint *height, GLint *format, void * *buffer); OSMesaContext APIENTRY (*OSMesaGetCurrentContext)(void); GLboolean APIENTRY (*OSMesaGetDepthBuffer)(OSMesaContext c, GLint *width, GLint *height, GLint *bytesPerValue, void * *buffer); void APIENTRY (*OSMesaGetIntegerv)(GLint pname, GLint *value); OSMESAproc APIENTRY (*OSMesaGetProcAddress)(const char *funcName); GLboolean APIENTRY (*OSMesaMakeCurrent)(OSMesaContext ctx, void *buffer, GLenum type, GLsizei width, GLsizei height); void APIENTRY (*OSMesaPixelStore)(GLint pname, GLint value); void APIENTRY (*OSMesaPostprocess)(OSMesaContext osmesa, const char *filter, GLuint enable_value); void APIENTRY (*exception_error)(void (CALLBACK *exception)(GLenum param) ); void APIENTRY (*Accum)(GLenum op, GLfloat value); void APIENTRY (*AccumxOES)(GLenum op, GLfixed value); void APIENTRY (*ActiveProgramEXT)(GLuint program); void APIENTRY (*ActiveShaderProgram)(GLuint pipeline, GLuint program); void APIENTRY (*ActiveStencilFaceEXT)(GLenum face); void APIENTRY (*ActiveTexture)(GLenum texture); void APIENTRY (*ActiveTextureARB)(GLenum texture); void APIENTRY (*ActiveVaryingNV)(GLuint program, const GLchar *name); void APIENTRY (*AddSwapHintRectWIN)(GLint x, GLint y, GLsizei width, GLsizei height); void APIENTRY (*AlphaFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); void APIENTRY (*AlphaFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); void APIENTRY (*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); void APIENTRY (*AlphaFunc)(GLenum func, GLclampf ref); void APIENTRY (*AlphaFuncxOES)(GLenum func, GLfixed ref); void APIENTRY (*ApplyTextureEXT)(GLenum mode); GLboolean APIENTRY (*AreProgramsResidentNV)(GLsizei n, const GLuint *programs, GLboolean *residences); GLboolean APIENTRY (*AreTexturesResident)(GLsizei n, const GLuint *textures, GLboolean *residences); GLboolean APIENTRY (*AreTexturesResidentEXT)(GLsizei n, const GLuint *textures, GLboolean *residences); void APIENTRY (*ArrayElement)(GLint i); void APIENTRY (*ArrayElementEXT)(GLint i); void APIENTRY (*ArrayObjectATI)(GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset); void APIENTRY (*AsyncMarkerSGIX)(GLuint marker); void APIENTRY (*AttachObjectARB)(GLhandleARB containerObj, GLhandleARB obj); void APIENTRY (*AttachShader)(GLuint program, GLuint shader); void APIENTRY (*Begin)(GLenum mode); void APIENTRY (*BeginConditionalRender)(GLuint id, GLenum mode); void APIENTRY (*BeginConditionalRenderNV)(GLuint id, GLenum mode); void APIENTRY (*BeginConditionalRenderNVX)(GLuint id); void APIENTRY (*BeginFragmentShaderATI)(void); void APIENTRY (*BeginOcclusionQueryNV)(GLuint id); void APIENTRY (*BeginPerfMonitorAMD)(GLuint monitor); void APIENTRY (*BeginPerfQueryINTEL)(GLuint queryHandle); void APIENTRY (*BeginQuery)(GLenum target, GLuint id); void APIENTRY (*BeginQueryARB)(GLenum target, GLuint id); void APIENTRY (*BeginQueryIndexed)(GLenum target, GLuint index, GLuint id); void APIENTRY (*BeginTransformFeedback)(GLenum primitiveMode); void APIENTRY (*BeginTransformFeedbackEXT)(GLenum primitiveMode); void APIENTRY (*BeginTransformFeedbackNV)(GLenum primitiveMode); void APIENTRY (*BeginVertexShaderEXT)(void); void APIENTRY (*BeginVideoCaptureNV)(GLuint video_capture_slot); void APIENTRY (*BindAttribLocation)(GLuint program, GLuint index, const GLchar *name); void APIENTRY (*BindAttribLocationARB)(GLhandleARB programObj, GLuint index, const GLcharARB *name); void APIENTRY (*BindBuffer)(GLenum target, GLuint buffer); void APIENTRY (*BindBufferARB)(GLenum target, GLuint buffer); void APIENTRY (*BindBufferBase)(GLenum target, GLuint index, GLuint buffer); void APIENTRY (*BindBufferBaseEXT)(GLenum target, GLuint index, GLuint buffer); void APIENTRY (*BindBufferBaseNV)(GLenum target, GLuint index, GLuint buffer); void APIENTRY (*BindBufferOffsetEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset); void APIENTRY (*BindBufferOffsetNV)(GLenum target, GLuint index, GLuint buffer, GLintptr offset); void APIENTRY (*BindBufferRange)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); void APIENTRY (*BindBufferRangeEXT)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); void APIENTRY (*BindBufferRangeNV)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); void APIENTRY (*BindBuffersBase)(GLenum target, GLuint first, GLsizei count, const GLuint *buffers); void APIENTRY (*BindBuffersRange)(GLenum target, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizeiptr *sizes); void APIENTRY (*BindFragDataLocation)(GLuint program, GLuint color, const GLchar *name); void APIENTRY (*BindFragDataLocationEXT)(GLuint program, GLuint color, const GLchar *name); void APIENTRY (*BindFragDataLocationIndexed)(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name); void APIENTRY (*BindFragmentShaderATI)(GLuint id); void APIENTRY (*BindFramebuffer)(GLenum target, GLuint framebuffer); void APIENTRY (*BindFramebufferEXT)(GLenum target, GLuint framebuffer); void APIENTRY (*BindImageTexture)(GLuint unit, GLuint texture, GLint level, GLboolean32 layered, GLint layer, GLenum access, GLenum format); void APIENTRY (*BindImageTextureEXT)(GLuint index, GLuint texture, GLint level, GLboolean32 layered, GLint layer, GLenum access, GLint format); void APIENTRY (*BindImageTextures)(GLuint first, GLsizei count, const GLuint *textures); GLuint APIENTRY (*BindLightParameterEXT)(GLenum light, GLenum value); GLuint APIENTRY (*BindMaterialParameterEXT)(GLenum face, GLenum value); void APIENTRY (*BindMultiTextureEXT)(GLenum texunit, GLenum target, GLuint texture); GLuint APIENTRY (*BindParameterEXT)(GLenum value); void APIENTRY (*BindProgramARB)(GLenum target, GLuint program); void APIENTRY (*BindProgramNV)(GLenum target, GLuint id); void APIENTRY (*BindProgramPipeline)(GLuint pipeline); void APIENTRY (*BindRenderbuffer)(GLenum target, GLuint renderbuffer); void APIENTRY (*BindRenderbufferEXT)(GLenum target, GLuint renderbuffer); void APIENTRY (*BindSampler)(GLuint unit, GLuint sampler); void APIENTRY (*BindSamplers)(GLuint first, GLsizei count, const GLuint *samplers); GLuint APIENTRY (*BindTexGenParameterEXT)(GLenum unit, GLenum coord, GLenum value); void APIENTRY (*BindTexture)(GLenum target, GLuint texture); void APIENTRY (*BindTextureEXT)(GLenum target, GLuint texture); GLuint APIENTRY (*BindTextureUnitParameterEXT)(GLenum unit, GLenum value); void APIENTRY (*BindTextures)(GLuint first, GLsizei count, const GLuint *textures); void APIENTRY (*BindTransformFeedback)(GLenum target, GLuint id); void APIENTRY (*BindTransformFeedbackNV)(GLenum target, GLuint id); void APIENTRY (*BindVertexArray)(GLuint array); void APIENTRY (*BindVertexArrayAPPLE)(GLuint array); void APIENTRY (*BindVertexBuffer)(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride); void APIENTRY (*BindVertexBuffers)(GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides); void APIENTRY (*BindVertexShaderEXT)(GLuint id); void APIENTRY (*BindVideoCaptureStreamBufferNV)(GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLintptrARB offset); void APIENTRY (*BindVideoCaptureStreamTextureNV)(GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLenum target, GLuint texture); void APIENTRY (*Binormal3bEXT)(GLbyte32 bx, GLbyte32 by, GLbyte32 bz); void APIENTRY (*Binormal3bvEXT)(const GLbyte *v); void APIENTRY (*Binormal3dEXT)(GLdouble bx, GLdouble by, GLdouble bz); void APIENTRY (*Binormal3dvEXT)(const GLdouble *v); void APIENTRY (*Binormal3fEXT)(GLfloat bx, GLfloat by, GLfloat bz); void APIENTRY (*Binormal3fvEXT)(const GLfloat *v); void APIENTRY (*Binormal3iEXT)(GLint bx, GLint by, GLint bz); void APIENTRY (*Binormal3ivEXT)(const GLint *v); void APIENTRY (*Binormal3sEXT)(GLshort32 bx, GLshort32 by, GLshort32 bz); void APIENTRY (*Binormal3svEXT)(const GLshort *v); void APIENTRY (*BinormalPointerEXT)(GLenum type, GLsizei stride, const void *pointer); void APIENTRY (*Bitmap)(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap); void APIENTRY (*BitmapxOES)(GLsizei width, GLsizei height, GLfixed xorig, GLfixed yorig, GLfixed xmove, GLfixed ymove, const GLubyte *bitmap); void APIENTRY (*BlendBarrierNV)(void); void APIENTRY (*BlendColor)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); void APIENTRY (*BlendColorEXT)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); void APIENTRY (*BlendColorxOES)(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); void APIENTRY (*BlendEquation)(GLenum mode); void APIENTRY (*BlendEquationEXT)(GLenum mode); void APIENTRY (*BlendEquationIndexedAMD)(GLuint buf, GLenum mode); void APIENTRY (*BlendEquationSeparate)(GLenum modeRGB, GLenum modeAlpha); void APIENTRY (*BlendEquationSeparateATI)(GLenum equationRGB, GLenum equationAlpha); void APIENTRY (*BlendEquationSeparateEXT)(GLenum modeRGB, GLenum modeAlpha); void APIENTRY (*BlendEquationSeparateIndexedAMD)(GLuint buf, GLenum modeRGB, GLenum modeAlpha); void APIENTRY (*BlendEquationSeparatei)(GLuint buf, GLenum modeRGB, GLenum modeAlpha); void APIENTRY (*BlendEquationSeparateiARB)(GLuint buf, GLenum modeRGB, GLenum modeAlpha); void APIENTRY (*BlendEquationi)(GLuint buf, GLenum mode); void APIENTRY (*BlendEquationiARB)(GLuint buf, GLenum mode); void APIENTRY (*BlendFunc)(GLenum sfactor, GLenum dfactor); void APIENTRY (*BlendFuncIndexedAMD)(GLuint buf, GLenum src, GLenum dst); void APIENTRY (*BlendFuncSeparate)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); void APIENTRY (*BlendFuncSeparateEXT)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); void APIENTRY (*BlendFuncSeparateINGR)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); void APIENTRY (*BlendFuncSeparateIndexedAMD)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); void APIENTRY (*BlendFuncSeparatei)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); void APIENTRY (*BlendFuncSeparateiARB)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); void APIENTRY (*BlendFunci)(GLuint buf, GLenum src, GLenum dst); void APIENTRY (*BlendFunciARB)(GLuint buf, GLenum src, GLenum dst); void APIENTRY (*BlendParameteriNV)(GLenum pname, GLint value); void APIENTRY (*BlitFramebuffer)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); void APIENTRY (*BlitFramebufferEXT)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); void APIENTRY (*BufferAddressRangeNV)(GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length); void APIENTRY (*BufferData)(GLenum target, GLsizeiptr size, const void *data, GLenum usage); void APIENTRY (*BufferDataARB)(GLenum target, GLsizeiptrARB size, const void *data, GLenum usage); void APIENTRY (*BufferParameteriAPPLE)(GLenum target, GLenum pname, GLint param); void APIENTRY (*BufferStorage)(GLenum target, GLsizeiptr size, const void *data, GLbitfield flags); void APIENTRY (*BufferSubData)(GLenum target, GLintptr offset, GLsizeiptr size, const void *data); void APIENTRY (*BufferSubDataARB)(GLenum target, GLintptrARB offset, GLsizeiptrARB size, const void *data); void APIENTRY (*CallList)(GLuint list); void APIENTRY (*CallLists)(GLsizei n, GLenum type, const GLvoid *lists); GLenum APIENTRY (*CheckFramebufferStatus)(GLenum target); GLenum APIENTRY (*CheckFramebufferStatusEXT)(GLenum target); GLenum APIENTRY (*CheckNamedFramebufferStatusEXT)(GLuint framebuffer, GLenum target); void APIENTRY (*ClampColor)(GLenum target, GLenum clamp); void APIENTRY (*ClampColorARB)(GLenum target, GLenum clamp); void APIENTRY (*Clear)(GLbitfield mask); void APIENTRY (*ClearAccum)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); void APIENTRY (*ClearAccumxOES)(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); void APIENTRY (*ClearBufferData)(GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data); void APIENTRY (*ClearBufferSubData)(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data); void APIENTRY (*ClearBufferfi)(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); void APIENTRY (*ClearBufferfv)(GLenum buffer, GLint drawbuffer, const GLfloat *value); void APIENTRY (*ClearBufferiv)(GLenum buffer, GLint drawbuffer, const GLint *value); void APIENTRY (*ClearBufferuiv)(GLenum buffer, GLint drawbuffer, const GLuint *value); void APIENTRY (*ClearColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); void APIENTRY (*ClearColorIiEXT)(GLint red, GLint green, GLint blue, GLint alpha); void APIENTRY (*ClearColorIuiEXT)(GLuint red, GLuint green, GLuint blue, GLuint alpha); void APIENTRY (*ClearColorxOES)(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); void APIENTRY (*ClearDebugLogMESA)(GLhandleARB obj, GLenum logType, GLenum shaderType); void APIENTRY (*ClearDepth)(GLclampd depth); void APIENTRY (*ClearDepthdNV)(GLdouble depth); void APIENTRY (*ClearDepthf)(GLfloat d); void APIENTRY (*ClearDepthfOES)(GLclampf depth); void APIENTRY (*ClearDepthxOES)(GLfixed depth); void APIENTRY (*ClearIndex)(GLfloat c); void APIENTRY (*ClearNamedBufferDataEXT)(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data); void APIENTRY (*ClearNamedBufferSubDataEXT)(GLuint buffer, GLenum internalformat, GLsizeiptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data); void APIENTRY (*ClearStencil)(GLint s); void APIENTRY (*ClearTexImage)(GLuint texture, GLint level, GLenum format, GLenum type, const void *data); void APIENTRY (*ClearTexSubImage)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); void APIENTRY (*ClientActiveTexture)(GLenum texture); void APIENTRY (*ClientActiveTextureARB)(GLenum texture); void APIENTRY (*ClientActiveVertexStreamATI)(GLenum stream); void APIENTRY (*ClientAttribDefaultEXT)(GLbitfield mask); GLenum APIENTRY (*ClientWaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout); void APIENTRY (*ClipPlane)(GLenum plane, const GLdouble *equation); void APIENTRY (*ClipPlanefOES)(GLenum plane, const GLfloat *equation); void APIENTRY (*ClipPlanexOES)(GLenum plane, const GLfixed *equation); void APIENTRY (*Color3b)(GLbyte32 red, GLbyte32 green, GLbyte32 blue); void APIENTRY (*Color3bv)(const GLbyte *v); void APIENTRY (*Color3d)(GLdouble red, GLdouble green, GLdouble blue); void APIENTRY (*Color3dv)(const GLdouble *v); void APIENTRY (*Color3f)(GLfloat red, GLfloat green, GLfloat blue); void APIENTRY (*Color3fVertex3fSUN)(GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*Color3fVertex3fvSUN)(const GLfloat *c, const GLfloat *v); void APIENTRY (*Color3fv)(const GLfloat *v); void APIENTRY (*Color3hNV)(GLhalfNV32 red, GLhalfNV32 green, GLhalfNV32 blue); void APIENTRY (*Color3hvNV)(const GLhalfNV *v); void APIENTRY (*Color3i)(GLint red, GLint green, GLint blue); void APIENTRY (*Color3iv)(const GLint *v); void APIENTRY (*Color3s)(GLshort32 red, GLshort32 green, GLshort32 blue); void APIENTRY (*Color3sv)(const GLshort *v); void APIENTRY (*Color3ub)(GLubyte32 red, GLubyte32 green, GLubyte32 blue); void APIENTRY (*Color3ubv)(const GLubyte *v); void APIENTRY (*Color3ui)(GLuint red, GLuint green, GLuint blue); void APIENTRY (*Color3uiv)(const GLuint *v); void APIENTRY (*Color3us)(GLushort32 red, GLushort32 green, GLushort32 blue); void APIENTRY (*Color3usv)(const GLushort *v); void APIENTRY (*Color3xOES)(GLfixed red, GLfixed green, GLfixed blue); void APIENTRY (*Color3xvOES)(const GLfixed *components); void APIENTRY (*Color4b)(GLbyte32 red, GLbyte32 green, GLbyte32 blue, GLbyte32 alpha); void APIENTRY (*Color4bv)(const GLbyte *v); void APIENTRY (*Color4d)(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha); void APIENTRY (*Color4dv)(const GLdouble *v); void APIENTRY (*Color4f)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); void APIENTRY (*Color4fNormal3fVertex3fSUN)(GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*Color4fNormal3fVertex3fvSUN)(const GLfloat *c, const GLfloat *n, const GLfloat *v); void APIENTRY (*Color4fv)(const GLfloat *v); void APIENTRY (*Color4hNV)(GLhalfNV32 red, GLhalfNV32 green, GLhalfNV32 blue, GLhalfNV32 alpha); void APIENTRY (*Color4hvNV)(const GLhalfNV *v); void APIENTRY (*Color4i)(GLint red, GLint green, GLint blue, GLint alpha); void APIENTRY (*Color4iv)(const GLint *v); void APIENTRY (*Color4s)(GLshort32 red, GLshort32 green, GLshort32 blue, GLshort32 alpha); void APIENTRY (*Color4sv)(const GLshort *v); void APIENTRY (*Color4ub)(GLubyte32 red, GLubyte32 green, GLubyte32 blue, GLubyte32 alpha); void APIENTRY (*Color4ubVertex2fSUN)(GLubyte32 r, GLubyte32 g, GLubyte32 b, GLubyte32 a, GLfloat x, GLfloat y); void APIENTRY (*Color4ubVertex2fvSUN)(const GLubyte *c, const GLfloat *v); void APIENTRY (*Color4ubVertex3fSUN)(GLubyte32 r, GLubyte32 g, GLubyte32 b, GLubyte32 a, GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*Color4ubVertex3fvSUN)(const GLubyte *c, const GLfloat *v); void APIENTRY (*Color4ubv)(const GLubyte *v); void APIENTRY (*Color4ui)(GLuint red, GLuint green, GLuint blue, GLuint alpha); void APIENTRY (*Color4uiv)(const GLuint *v); void APIENTRY (*Color4us)(GLushort32 red, GLushort32 green, GLushort32 blue, GLushort32 alpha); void APIENTRY (*Color4usv)(const GLushort *v); void APIENTRY (*Color4xOES)(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); void APIENTRY (*Color4xvOES)(const GLfixed *components); void APIENTRY (*ColorFormatNV)(GLint size, GLenum type, GLsizei stride); void APIENTRY (*ColorFragmentOp1ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod); void APIENTRY (*ColorFragmentOp2ATI)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod); void APIENTRY (*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); void APIENTRY (*ColorMask)(GLboolean32 red, GLboolean32 green, GLboolean32 blue, GLboolean32 alpha); void APIENTRY (*ColorMaskIndexedEXT)(GLuint index, GLboolean32 r, GLboolean32 g, GLboolean32 b, GLboolean32 a); void APIENTRY (*ColorMaski)(GLuint index, GLboolean32 r, GLboolean32 g, GLboolean32 b, GLboolean32 a); void APIENTRY (*ColorMaterial)(GLenum face, GLenum mode); void APIENTRY (*ColorP3ui)(GLenum type, GLuint color); void APIENTRY (*ColorP3uiv)(GLenum type, const GLuint *color); void APIENTRY (*ColorP4ui)(GLenum type, GLuint color); void APIENTRY (*ColorP4uiv)(GLenum type, const GLuint *color); void APIENTRY (*ColorPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); void APIENTRY (*ColorPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const void *pointer); void APIENTRY (*ColorPointerListIBM)(GLint size, GLenum type, GLint stride, const void * *pointer, GLint ptrstride); void APIENTRY (*ColorPointervINTEL)(GLint size, GLenum type, const void * *pointer); void APIENTRY (*ColorSubTable)(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const void *data); void APIENTRY (*ColorSubTableEXT)(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const void *data); void APIENTRY (*ColorTable)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *table); void APIENTRY (*ColorTableEXT)(GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const void *table); void APIENTRY (*ColorTableParameterfv)(GLenum target, GLenum pname, const GLfloat *params); void APIENTRY (*ColorTableParameterfvSGI)(GLenum target, GLenum pname, const GLfloat *params); void APIENTRY (*ColorTableParameteriv)(GLenum target, GLenum pname, const GLint *params); void APIENTRY (*ColorTableParameterivSGI)(GLenum target, GLenum pname, const GLint *params); void APIENTRY (*ColorTableSGI)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *table); void APIENTRY (*CombinerInputNV)(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); void APIENTRY (*CombinerOutputNV)(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean32 abDotProduct, GLboolean32 cdDotProduct, GLboolean32 muxSum); void APIENTRY (*CombinerParameterfNV)(GLenum pname, GLfloat param); void APIENTRY (*CombinerParameterfvNV)(GLenum pname, const GLfloat *params); void APIENTRY (*CombinerParameteriNV)(GLenum pname, GLint param); void APIENTRY (*CombinerParameterivNV)(GLenum pname, const GLint *params); void APIENTRY (*CombinerStageParameterfvNV)(GLenum stage, GLenum pname, const GLfloat *params); void APIENTRY (*CompileShader)(GLuint shader); void APIENTRY (*CompileShaderARB)(GLhandleARB shaderObj); void APIENTRY (*CompileShaderIncludeARB)(GLuint shader, GLsizei count, const GLchar *const *path, const GLint *length); void APIENTRY (*CompressedMultiTexImage1DEXT)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *bits); void APIENTRY (*CompressedMultiTexImage2DEXT)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *bits); void APIENTRY (*CompressedMultiTexImage3DEXT)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *bits); void APIENTRY (*CompressedMultiTexSubImage1DEXT)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *bits); void APIENTRY (*CompressedMultiTexSubImage2DEXT)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *bits); void APIENTRY (*CompressedMultiTexSubImage3DEXT)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *bits); void APIENTRY (*CompressedTexImage1D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data); void APIENTRY (*CompressedTexImage1DARB)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data); void APIENTRY (*CompressedTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data); void APIENTRY (*CompressedTexImage2DARB)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data); void APIENTRY (*CompressedTexImage3D)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data); void APIENTRY (*CompressedTexImage3DARB)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data); void APIENTRY (*CompressedTexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data); void APIENTRY (*CompressedTexSubImage1DARB)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data); void APIENTRY (*CompressedTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data); void APIENTRY (*CompressedTexSubImage2DARB)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data); void APIENTRY (*CompressedTexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); void APIENTRY (*CompressedTexSubImage3DARB)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); void APIENTRY (*CompressedTextureImage1DEXT)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *bits); void APIENTRY (*CompressedTextureImage2DEXT)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *bits); void APIENTRY (*CompressedTextureImage3DEXT)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *bits); void APIENTRY (*CompressedTextureSubImage1DEXT)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *bits); void APIENTRY (*CompressedTextureSubImage2DEXT)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *bits); void APIENTRY (*CompressedTextureSubImage3DEXT)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *bits); void APIENTRY (*ConvolutionFilter1D)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *image); void APIENTRY (*ConvolutionFilter1DEXT)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *image); void APIENTRY (*ConvolutionFilter2D)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *image); void APIENTRY (*ConvolutionFilter2DEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *image); void APIENTRY (*ConvolutionParameterf)(GLenum target, GLenum pname, GLfloat params); void APIENTRY (*ConvolutionParameterfEXT)(GLenum target, GLenum pname, GLfloat params); void APIENTRY (*ConvolutionParameterfv)(GLenum target, GLenum pname, const GLfloat *params); void APIENTRY (*ConvolutionParameterfvEXT)(GLenum target, GLenum pname, const GLfloat *params); void APIENTRY (*ConvolutionParameteri)(GLenum target, GLenum pname, GLint params); void APIENTRY (*ConvolutionParameteriEXT)(GLenum target, GLenum pname, GLint params); void APIENTRY (*ConvolutionParameteriv)(GLenum target, GLenum pname, const GLint *params); void APIENTRY (*ConvolutionParameterivEXT)(GLenum target, GLenum pname, const GLint *params); void APIENTRY (*ConvolutionParameterxOES)(GLenum target, GLenum pname, GLfixed param); void APIENTRY (*ConvolutionParameterxvOES)(GLenum target, GLenum pname, const GLfixed *params); void APIENTRY (*CopyBufferSubData)(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); void APIENTRY (*CopyColorSubTable)(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width); void APIENTRY (*CopyColorSubTableEXT)(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width); void APIENTRY (*CopyColorTable)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); void APIENTRY (*CopyColorTableSGI)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); void APIENTRY (*CopyConvolutionFilter1D)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); void APIENTRY (*CopyConvolutionFilter1DEXT)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); void APIENTRY (*CopyConvolutionFilter2D)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height); void APIENTRY (*CopyConvolutionFilter2DEXT)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height); void APIENTRY (*CopyImageSubData)(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth); void APIENTRY (*CopyImageSubDataNV)(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth); void APIENTRY (*CopyMultiTexImage1DEXT)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); void APIENTRY (*CopyMultiTexImage2DEXT)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); void APIENTRY (*CopyMultiTexSubImage1DEXT)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); void APIENTRY (*CopyMultiTexSubImage2DEXT)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); void APIENTRY (*CopyMultiTexSubImage3DEXT)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); void APIENTRY (*CopyPathNV)(GLuint resultPath, GLuint srcPath); void APIENTRY (*CopyPixels)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type); void APIENTRY (*CopyTexImage1D)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); void APIENTRY (*CopyTexImage1DEXT)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); void APIENTRY (*CopyTexImage2D)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); void APIENTRY (*CopyTexImage2DEXT)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); void APIENTRY (*CopyTexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); void APIENTRY (*CopyTexSubImage1DEXT)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); void APIENTRY (*CopyTexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); void APIENTRY (*CopyTexSubImage2DEXT)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); void APIENTRY (*CopyTexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); void APIENTRY (*CopyTexSubImage3DEXT)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); void APIENTRY (*CopyTextureImage1DEXT)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); void APIENTRY (*CopyTextureImage2DEXT)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); void APIENTRY (*CopyTextureSubImage1DEXT)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); void APIENTRY (*CopyTextureSubImage2DEXT)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); void APIENTRY (*CopyTextureSubImage3DEXT)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); void APIENTRY (*CoverFillPathInstancedNV)(GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); void APIENTRY (*CoverFillPathNV)(GLuint path, GLenum coverMode); void APIENTRY (*CoverStrokePathInstancedNV)(GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); void APIENTRY (*CoverStrokePathNV)(GLuint path, GLenum coverMode); GLhandleARB APIENTRY (*CreateDebugObjectMESA)(void); void APIENTRY (*CreatePerfQueryINTEL)(GLuint queryId, GLuint *queryHandle); GLuint APIENTRY (*CreateProgram)(void); GLhandleARB APIENTRY (*CreateProgramObjectARB)(void); GLuint APIENTRY (*CreateShader)(GLenum type); GLhandleARB APIENTRY (*CreateShaderObjectARB)(GLenum shaderType); GLuint APIENTRY (*CreateShaderProgramEXT)(GLenum type, const GLchar *string); GLuint APIENTRY (*CreateShaderProgramv)(GLenum type, GLsizei count, const GLchar *const *strings); GLsync APIENTRY (*CreateSyncFromCLeventARB)(struct _cl_context *context, struct _cl_event *event, GLbitfield flags); void APIENTRY (*CullFace)(GLenum mode); void APIENTRY (*CullParameterdvEXT)(GLenum pname, GLdouble *params); void APIENTRY (*CullParameterfvEXT)(GLenum pname, GLfloat *params); void APIENTRY (*CurrentPaletteMatrixARB)(GLint index); void APIENTRY (*DebugMessageCallback)(GLDEBUGPROC callback, const void *userParam); void APIENTRY (*DebugMessageCallbackAMD)(GLDEBUGPROCAMD callback, void *userParam); void APIENTRY (*DebugMessageCallbackARB)(GLDEBUGPROCARB callback, const void *userParam); void APIENTRY (*DebugMessageControl)(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean32 enabled); void APIENTRY (*DebugMessageControlARB)(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean32 enabled); void APIENTRY (*DebugMessageEnableAMD)(GLenum category, GLenum severity, GLsizei count, const GLuint *ids, GLboolean32 enabled); void APIENTRY (*DebugMessageInsert)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf); void APIENTRY (*DebugMessageInsertAMD)(GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar *buf); void APIENTRY (*DebugMessageInsertARB)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf); void APIENTRY (*DeformSGIX)(GLbitfield mask); void APIENTRY (*DeformationMap3dSGIX)(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble w1, GLdouble w2, GLint wstride, GLint worder, const GLdouble *points); void APIENTRY (*DeformationMap3fSGIX)(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat w1, GLfloat w2, GLint wstride, GLint worder, const GLfloat *points); void APIENTRY (*DeleteAsyncMarkersSGIX)(GLuint marker, GLsizei range); void APIENTRY (*DeleteBuffers)(GLsizei n, const GLuint *buffers); void APIENTRY (*DeleteBuffersARB)(GLsizei n, const GLuint *buffers); void APIENTRY (*DeleteFencesAPPLE)(GLsizei n, const GLuint *fences); void APIENTRY (*DeleteFencesNV)(GLsizei n, const GLuint *fences); void APIENTRY (*DeleteFragmentShaderATI)(GLuint id); void APIENTRY (*DeleteFramebuffers)(GLsizei n, const GLuint *framebuffers); void APIENTRY (*DeleteFramebuffersEXT)(GLsizei n, const GLuint *framebuffers); void APIENTRY (*DeleteLists)(GLuint list, GLsizei range); void APIENTRY (*DeleteNamedStringARB)(GLint namelen, const GLchar *name); void APIENTRY (*DeleteNamesAMD)(GLenum identifier, GLuint num, const GLuint *names); void APIENTRY (*DeleteObjectARB)(GLhandleARB obj); void APIENTRY (*DeleteObjectBufferATI)(GLuint buffer); void APIENTRY (*DeleteOcclusionQueriesNV)(GLsizei n, const GLuint *ids); void APIENTRY (*DeletePathsNV)(GLuint path, GLsizei range); void APIENTRY (*DeletePerfMonitorsAMD)(GLsizei n, GLuint *monitors); void APIENTRY (*DeletePerfQueryINTEL)(GLuint queryHandle); void APIENTRY (*DeleteProgram)(GLuint program); void APIENTRY (*DeleteProgramPipelines)(GLsizei n, const GLuint *pipelines); void APIENTRY (*DeleteProgramsARB)(GLsizei n, const GLuint *programs); void APIENTRY (*DeleteProgramsNV)(GLsizei n, const GLuint *programs); void APIENTRY (*DeleteQueries)(GLsizei n, const GLuint *ids); void APIENTRY (*DeleteQueriesARB)(GLsizei n, const GLuint *ids); void APIENTRY (*DeleteRenderbuffers)(GLsizei n, const GLuint *renderbuffers); void APIENTRY (*DeleteRenderbuffersEXT)(GLsizei n, const GLuint *renderbuffers); void APIENTRY (*DeleteSamplers)(GLsizei count, const GLuint *samplers); void APIENTRY (*DeleteShader)(GLuint shader); void APIENTRY (*DeleteSync)(GLsync sync); void APIENTRY (*DeleteTextures)(GLsizei n, const GLuint *textures); void APIENTRY (*DeleteTexturesEXT)(GLsizei n, const GLuint *textures); void APIENTRY (*DeleteTransformFeedbacks)(GLsizei n, const GLuint *ids); void APIENTRY (*DeleteTransformFeedbacksNV)(GLsizei n, const GLuint *ids); void APIENTRY (*DeleteVertexArrays)(GLsizei n, const GLuint *arrays); void APIENTRY (*DeleteVertexArraysAPPLE)(GLsizei n, const GLuint *arrays); void APIENTRY (*DeleteVertexShaderEXT)(GLuint id); void APIENTRY (*DepthBoundsEXT)(GLclampd zmin, GLclampd zmax); void APIENTRY (*DepthBoundsdNV)(GLdouble zmin, GLdouble zmax); void APIENTRY (*DepthFunc)(GLenum func); void APIENTRY (*DepthMask)(GLboolean32 flag); void APIENTRY (*DepthRange)(GLclampd zNear, GLclampd zFar); void APIENTRY (*DepthRangeArrayv)(GLuint first, GLsizei count, const GLdouble *v); void APIENTRY (*DepthRangeIndexed)(GLuint index, GLdouble n, GLdouble f); void APIENTRY (*DepthRangedNV)(GLdouble zNear, GLdouble zFar); void APIENTRY (*DepthRangef)(GLfloat n, GLfloat f); void APIENTRY (*DepthRangefOES)(GLclampf n, GLclampf f); void APIENTRY (*DepthRangexOES)(GLfixed n, GLfixed f); void APIENTRY (*DetachObjectARB)(GLhandleARB containerObj, GLhandleARB attachedObj); void APIENTRY (*DetachShader)(GLuint program, GLuint shader); void APIENTRY (*DetailTexFuncSGIS)(GLenum target, GLsizei n, const GLfloat *points); void APIENTRY (*Disable)(GLenum cap); void APIENTRY (*DisableClientState)(GLenum array); void APIENTRY (*DisableClientStateIndexedEXT)(GLenum array, GLuint index); void APIENTRY (*DisableClientStateiEXT)(GLenum array, GLuint index); void APIENTRY (*DisableIndexedEXT)(GLenum target, GLuint index); void APIENTRY (*DisableTraceMESA)(GLbitfield mask); void APIENTRY (*DisableVariantClientStateEXT)(GLuint id); void APIENTRY (*DisableVertexArrayAttribEXT)(GLuint vaobj, GLuint index); void APIENTRY (*DisableVertexArrayEXT)(GLuint vaobj, GLenum array); void APIENTRY (*DisableVertexAttribAPPLE)(GLuint index, GLenum pname); void APIENTRY (*DisableVertexAttribArray)(GLuint index); void APIENTRY (*DisableVertexAttribArrayARB)(GLuint index); void APIENTRY (*Disablei)(GLenum target, GLuint index); void APIENTRY (*DispatchCompute)(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z); void APIENTRY (*DispatchComputeGroupSizeARB)(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z, GLuint group_size_x, GLuint group_size_y, GLuint group_size_z); void APIENTRY (*DispatchComputeIndirect)(GLintptr indirect); void APIENTRY (*DrawArrays)(GLenum mode, GLint first, GLsizei count); void APIENTRY (*DrawArraysEXT)(GLenum mode, GLint first, GLsizei count); void APIENTRY (*DrawArraysIndirect)(GLenum mode, const void *indirect); void APIENTRY (*DrawArraysInstanced)(GLenum mode, GLint first, GLsizei count, GLsizei instancecount); void APIENTRY (*DrawArraysInstancedARB)(GLenum mode, GLint first, GLsizei count, GLsizei primcount); void APIENTRY (*DrawArraysInstancedBaseInstance)(GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance); void APIENTRY (*DrawArraysInstancedEXT)(GLenum mode, GLint start, GLsizei count, GLsizei primcount); void APIENTRY (*DrawBuffer)(GLenum mode); void APIENTRY (*DrawBuffers)(GLsizei n, const GLenum *bufs); void APIENTRY (*DrawBuffersARB)(GLsizei n, const GLenum *bufs); void APIENTRY (*DrawBuffersATI)(GLsizei n, const GLenum *bufs); void APIENTRY (*DrawElementArrayAPPLE)(GLenum mode, GLint first, GLsizei count); void APIENTRY (*DrawElementArrayATI)(GLenum mode, GLsizei count); void APIENTRY (*DrawElements)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices); void APIENTRY (*DrawElementsBaseVertex)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex); void APIENTRY (*DrawElementsIndirect)(GLenum mode, GLenum type, const void *indirect); void APIENTRY (*DrawElementsInstanced)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount); void APIENTRY (*DrawElementsInstancedARB)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); void APIENTRY (*DrawElementsInstancedBaseInstance)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance); void APIENTRY (*DrawElementsInstancedBaseVertex)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex); void APIENTRY (*DrawElementsInstancedBaseVertexBaseInstance)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance); void APIENTRY (*DrawElementsInstancedEXT)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); void APIENTRY (*DrawMeshArraysSUN)(GLenum mode, GLint first, GLsizei count, GLsizei width); void APIENTRY (*DrawPixels)(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels); void APIENTRY (*DrawRangeElementArrayAPPLE)(GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count); void APIENTRY (*DrawRangeElementArrayATI)(GLenum mode, GLuint start, GLuint end, GLsizei count); void APIENTRY (*DrawRangeElements)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices); void APIENTRY (*DrawRangeElementsBaseVertex)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex); void APIENTRY (*DrawRangeElementsEXT)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices); void APIENTRY (*DrawTextureNV)(GLuint texture, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1); void APIENTRY (*DrawTransformFeedback)(GLenum mode, GLuint id); void APIENTRY (*DrawTransformFeedbackInstanced)(GLenum mode, GLuint id, GLsizei instancecount); void APIENTRY (*DrawTransformFeedbackNV)(GLenum mode, GLuint id); void APIENTRY (*DrawTransformFeedbackStream)(GLenum mode, GLuint id, GLuint stream); void APIENTRY (*DrawTransformFeedbackStreamInstanced)(GLenum mode, GLuint id, GLuint stream, GLsizei instancecount); void APIENTRY (*EdgeFlag)(GLboolean32 flag); void APIENTRY (*EdgeFlagFormatNV)(GLsizei stride); void APIENTRY (*EdgeFlagPointer)(GLsizei stride, const GLvoid *pointer); void APIENTRY (*EdgeFlagPointerEXT)(GLsizei stride, GLsizei count, const GLboolean *pointer); void APIENTRY (*EdgeFlagPointerListIBM)(GLint stride, const GLboolean * *pointer, GLint ptrstride); void APIENTRY (*EdgeFlagv)(const GLboolean *flag); void APIENTRY (*ElementPointerAPPLE)(GLenum type, const void *pointer); void APIENTRY (*ElementPointerATI)(GLenum type, const void *pointer); void APIENTRY (*Enable)(GLenum cap); void APIENTRY (*EnableClientState)(GLenum array); void APIENTRY (*EnableClientStateIndexedEXT)(GLenum array, GLuint index); void APIENTRY (*EnableClientStateiEXT)(GLenum array, GLuint index); void APIENTRY (*EnableIndexedEXT)(GLenum target, GLuint index); void APIENTRY (*EnableTraceMESA)(GLbitfield mask); void APIENTRY (*EnableVariantClientStateEXT)(GLuint id); void APIENTRY (*EnableVertexArrayAttribEXT)(GLuint vaobj, GLuint index); void APIENTRY (*EnableVertexArrayEXT)(GLuint vaobj, GLenum array); void APIENTRY (*EnableVertexAttribAPPLE)(GLuint index, GLenum pname); void APIENTRY (*EnableVertexAttribArray)(GLuint index); void APIENTRY (*EnableVertexAttribArrayARB)(GLuint index); void APIENTRY (*Enablei)(GLenum target, GLuint index); void APIENTRY (*End)(void); void APIENTRY (*EndConditionalRender)(void); void APIENTRY (*EndConditionalRenderNV)(void); void APIENTRY (*EndConditionalRenderNVX)(void); void APIENTRY (*EndFragmentShaderATI)(void); void APIENTRY (*EndList)(void); void APIENTRY (*EndOcclusionQueryNV)(void); void APIENTRY (*EndPerfMonitorAMD)(GLuint monitor); void APIENTRY (*EndPerfQueryINTEL)(GLuint queryHandle); void APIENTRY (*EndQuery)(GLenum target); void APIENTRY (*EndQueryARB)(GLenum target); void APIENTRY (*EndQueryIndexed)(GLenum target, GLuint index); void APIENTRY (*EndTraceMESA)(void); void APIENTRY (*EndTransformFeedback)(void); void APIENTRY (*EndTransformFeedbackEXT)(void); void APIENTRY (*EndTransformFeedbackNV)(void); void APIENTRY (*EndVertexShaderEXT)(void); void APIENTRY (*EndVideoCaptureNV)(GLuint video_capture_slot); void APIENTRY (*EvalCoord1d)(GLdouble u); void APIENTRY (*EvalCoord1dv)(const GLdouble *u); void APIENTRY (*EvalCoord1f)(GLfloat u); void APIENTRY (*EvalCoord1fv)(const GLfloat *u); void APIENTRY (*EvalCoord1xOES)(GLfixed u); void APIENTRY (*EvalCoord1xvOES)(const GLfixed *coords); void APIENTRY (*EvalCoord2d)(GLdouble u, GLdouble v); void APIENTRY (*EvalCoord2dv)(const GLdouble *u); void APIENTRY (*EvalCoord2f)(GLfloat u, GLfloat v); void APIENTRY (*EvalCoord2fv)(const GLfloat *u); void APIENTRY (*EvalCoord2xOES)(GLfixed u, GLfixed v); void APIENTRY (*EvalCoord2xvOES)(const GLfixed *coords); void APIENTRY (*EvalMapsNV)(GLenum target, GLenum mode); void APIENTRY (*EvalMesh1)(GLenum mode, GLint i1, GLint i2); void APIENTRY (*EvalMesh2)(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2); void APIENTRY (*EvalPoint1)(GLint i); void APIENTRY (*EvalPoint2)(GLint i, GLint j); void APIENTRY (*ExecuteProgramNV)(GLenum target, GLuint id, const GLfloat *params); void APIENTRY (*ExtractComponentEXT)(GLuint res, GLuint src, GLuint num); void APIENTRY (*FeedbackBuffer)(GLsizei size, GLenum type, GLfloat *buffer); void APIENTRY (*FeedbackBufferxOES)(GLsizei n, GLenum type, const GLfixed *buffer); GLsync APIENTRY (*FenceSync)(GLenum condition, GLbitfield flags); void APIENTRY (*FinalCombinerInputNV)(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage); void APIENTRY (*Finish)(void); GLint APIENTRY (*FinishAsyncSGIX)(GLuint *markerp); void APIENTRY (*FinishFenceAPPLE)(GLuint fence); void APIENTRY (*FinishFenceNV)(GLuint fence); void APIENTRY (*FinishObjectAPPLE)(GLenum object, GLuint name); void APIENTRY (*FinishRenderAPPLE)(void); void APIENTRY (*FinishTextureSUNX)(void); void APIENTRY (*Flush)(void); void APIENTRY (*FlushMappedBufferRange)(GLenum target, GLintptr offset, GLsizeiptr length); void APIENTRY (*FlushMappedBufferRangeAPPLE)(GLenum target, GLintptr offset, GLsizeiptr size); void APIENTRY (*FlushMappedNamedBufferRangeEXT)(GLuint buffer, GLintptr offset, GLsizeiptr length); void APIENTRY (*FlushPixelDataRangeNV)(GLenum target); void APIENTRY (*FlushRasterSGIX)(void); void APIENTRY (*FlushRenderAPPLE)(void); void APIENTRY (*FlushStaticDataIBM)(GLenum target); void APIENTRY (*FlushVertexArrayRangeAPPLE)(GLsizei length, void *pointer); void APIENTRY (*FlushVertexArrayRangeNV)(void); void APIENTRY (*FogCoordFormatNV)(GLenum type, GLsizei stride); void APIENTRY (*FogCoordPointer)(GLenum type, GLsizei stride, const void *pointer); void APIENTRY (*FogCoordPointerEXT)(GLenum type, GLsizei stride, const void *pointer); void APIENTRY (*FogCoordPointerListIBM)(GLenum type, GLint stride, const void * *pointer, GLint ptrstride); void APIENTRY (*FogCoordd)(GLdouble coord); void APIENTRY (*FogCoorddEXT)(GLdouble coord); void APIENTRY (*FogCoorddv)(const GLdouble *coord); void APIENTRY (*FogCoorddvEXT)(const GLdouble *coord); void APIENTRY (*FogCoordf)(GLfloat coord); void APIENTRY (*FogCoordfEXT)(GLfloat coord); void APIENTRY (*FogCoordfv)(const GLfloat *coord); void APIENTRY (*FogCoordfvEXT)(const GLfloat *coord); void APIENTRY (*FogCoordhNV)(GLhalfNV32 fog); void APIENTRY (*FogCoordhvNV)(const GLhalfNV *fog); void APIENTRY (*FogFuncSGIS)(GLsizei n, const GLfloat *points); void APIENTRY (*Fogf)(GLenum pname, GLfloat param); void APIENTRY (*Fogfv)(GLenum pname, const GLfloat *params); void APIENTRY (*Fogi)(GLenum pname, GLint param); void APIENTRY (*Fogiv)(GLenum pname, const GLint *params); void APIENTRY (*FogxOES)(GLenum pname, GLfixed param); void APIENTRY (*FogxvOES)(GLenum pname, const GLfixed *param); void APIENTRY (*FragmentColorMaterialSGIX)(GLenum face, GLenum mode); void APIENTRY (*FragmentLightModelfSGIX)(GLenum pname, GLfloat param); void APIENTRY (*FragmentLightModelfvSGIX)(GLenum pname, const GLfloat *params); void APIENTRY (*FragmentLightModeliSGIX)(GLenum pname, GLint param); void APIENTRY (*FragmentLightModelivSGIX)(GLenum pname, const GLint *params); void APIENTRY (*FragmentLightfSGIX)(GLenum light, GLenum pname, GLfloat param); void APIENTRY (*FragmentLightfvSGIX)(GLenum light, GLenum pname, const GLfloat *params); void APIENTRY (*FragmentLightiSGIX)(GLenum light, GLenum pname, GLint param); void APIENTRY (*FragmentLightivSGIX)(GLenum light, GLenum pname, const GLint *params); void APIENTRY (*FragmentMaterialfSGIX)(GLenum face, GLenum pname, GLfloat param); void APIENTRY (*FragmentMaterialfvSGIX)(GLenum face, GLenum pname, const GLfloat *params); void APIENTRY (*FragmentMaterialiSGIX)(GLenum face, GLenum pname, GLint param); void APIENTRY (*FragmentMaterialivSGIX)(GLenum face, GLenum pname, const GLint *params); void APIENTRY (*FrameTerminatorGREMEDY)(void); void APIENTRY (*FrameZoomSGIX)(GLint factor); void APIENTRY (*FramebufferDrawBufferEXT)(GLuint framebuffer, GLenum mode); void APIENTRY (*FramebufferDrawBuffersEXT)(GLuint framebuffer, GLsizei n, const GLenum *bufs); void APIENTRY (*FramebufferParameteri)(GLenum target, GLenum pname, GLint param); void APIENTRY (*FramebufferReadBufferEXT)(GLuint framebuffer, GLenum mode); void APIENTRY (*FramebufferRenderbuffer)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); void APIENTRY (*FramebufferRenderbufferEXT)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); void APIENTRY (*FramebufferTexture)(GLenum target, GLenum attachment, GLuint texture, GLint level); void APIENTRY (*FramebufferTexture1D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); void APIENTRY (*FramebufferTexture1DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); void APIENTRY (*FramebufferTexture2D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); void APIENTRY (*FramebufferTexture2DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); void APIENTRY (*FramebufferTexture3D)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); void APIENTRY (*FramebufferTexture3DEXT)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); void APIENTRY (*FramebufferTextureARB)(GLenum target, GLenum attachment, GLuint texture, GLint level); void APIENTRY (*FramebufferTextureEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level); void APIENTRY (*FramebufferTextureFaceARB)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face); void APIENTRY (*FramebufferTextureFaceEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face); void APIENTRY (*FramebufferTextureLayer)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); void APIENTRY (*FramebufferTextureLayerARB)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); void APIENTRY (*FramebufferTextureLayerEXT)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); void APIENTRY (*FreeObjectBufferATI)(GLuint buffer); void APIENTRY (*FrontFace)(GLenum mode); void APIENTRY (*Frustum)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); void APIENTRY (*Frustumf)(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat near_val, GLfloat far_val); void APIENTRY (*FrustumfOES)(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f); void APIENTRY (*FrustumxOES)(GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f); GLuint APIENTRY (*GenAsyncMarkersSGIX)(GLsizei range); void APIENTRY (*GenBuffers)(GLsizei n, GLuint *buffers); void APIENTRY (*GenBuffersARB)(GLsizei n, GLuint *buffers); void APIENTRY (*GenFencesAPPLE)(GLsizei n, GLuint *fences); void APIENTRY (*GenFencesNV)(GLsizei n, GLuint *fences); GLuint APIENTRY (*GenFragmentShadersATI)(GLuint range); void APIENTRY (*GenFramebuffers)(GLsizei n, GLuint *framebuffers); void APIENTRY (*GenFramebuffersEXT)(GLsizei n, GLuint *framebuffers); GLuint APIENTRY (*GenLists)(GLsizei range); void APIENTRY (*GenNamesAMD)(GLenum identifier, GLuint num, GLuint *names); void APIENTRY (*GenOcclusionQueriesNV)(GLsizei n, GLuint *ids); GLuint APIENTRY (*GenPathsNV)(GLsizei range); void APIENTRY (*GenPerfMonitorsAMD)(GLsizei n, GLuint *monitors); void APIENTRY (*GenProgramPipelines)(GLsizei n, GLuint *pipelines); void APIENTRY (*GenProgramsARB)(GLsizei n, GLuint *programs); void APIENTRY (*GenProgramsNV)(GLsizei n, GLuint *programs); void APIENTRY (*GenQueries)(GLsizei n, GLuint *ids); void APIENTRY (*GenQueriesARB)(GLsizei n, GLuint *ids); void APIENTRY (*GenRenderbuffers)(GLsizei n, GLuint *renderbuffers); void APIENTRY (*GenRenderbuffersEXT)(GLsizei n, GLuint *renderbuffers); void APIENTRY (*GenSamplers)(GLsizei count, GLuint *samplers); GLuint APIENTRY (*GenSymbolsEXT)(GLenum datatype, GLenum storagetype, GLenum range, GLuint components); void APIENTRY (*GenTextures)(GLsizei n, GLuint *textures); void APIENTRY (*GenTexturesEXT)(GLsizei n, GLuint *textures); void APIENTRY (*GenTransformFeedbacks)(GLsizei n, GLuint *ids); void APIENTRY (*GenTransformFeedbacksNV)(GLsizei n, GLuint *ids); void APIENTRY (*GenVertexArrays)(GLsizei n, GLuint *arrays); void APIENTRY (*GenVertexArraysAPPLE)(GLsizei n, GLuint *arrays); GLuint APIENTRY (*GenVertexShadersEXT)(GLuint range); void APIENTRY (*GenerateMipmap)(GLenum target); void APIENTRY (*GenerateMipmapEXT)(GLenum target); void APIENTRY (*GenerateMultiTexMipmapEXT)(GLenum texunit, GLenum target); void APIENTRY (*GenerateTextureMipmapEXT)(GLuint texture, GLenum target); void APIENTRY (*GetActiveAtomicCounterBufferiv)(GLuint program, GLuint bufferIndex, GLenum pname, GLint *params); void APIENTRY (*GetActiveAttrib)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); void APIENTRY (*GetActiveAttribARB)(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name); void APIENTRY (*GetActiveSubroutineName)(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name); void APIENTRY (*GetActiveSubroutineUniformName)(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name); void APIENTRY (*GetActiveSubroutineUniformiv)(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values); void APIENTRY (*GetActiveUniform)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); void APIENTRY (*GetActiveUniformARB)(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name); GLuint APIENTRY (*GetActiveUniformBlockIndex)(GLuint program, const GLchar *uniformBlockName); void APIENTRY (*GetActiveUniformBlockName)(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName); void APIENTRY (*GetActiveUniformBlockiv)(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params); void APIENTRY (*GetActiveUniformName)(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName); void APIENTRY (*GetActiveUniformsiv)(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params); void APIENTRY (*GetActiveVaryingNV)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name); void APIENTRY (*GetArrayObjectfvATI)(GLenum array, GLenum pname, GLfloat *params); void APIENTRY (*GetArrayObjectivATI)(GLenum array, GLenum pname, GLint *params); void APIENTRY (*GetAttachedObjectsARB)(GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj); void APIENTRY (*GetAttachedShaders)(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders); GLint APIENTRY (*GetAttribLocation)(GLuint program, const GLchar *name); GLint APIENTRY (*GetAttribLocationARB)(GLhandleARB programObj, const GLcharARB *name); void APIENTRY (*GetBooleanIndexedvEXT)(GLenum target, GLuint index, GLboolean *data); void APIENTRY (*GetBooleani_v)(GLenum target, GLuint index, GLboolean *data); void APIENTRY (*GetBooleanv)(GLenum pname, GLboolean *params); void APIENTRY (*GetBufferParameteri64v)(GLenum target, GLenum pname, GLint64 *params); void APIENTRY (*GetBufferParameteriv)(GLenum target, GLenum pname, GLint *params); void APIENTRY (*GetBufferParameterivARB)(GLenum target, GLenum pname, GLint *params); void APIENTRY (*GetBufferParameterui64vNV)(GLenum target, GLenum pname, GLuint64EXT *params); void APIENTRY (*GetBufferPointerv)(GLenum target, GLenum pname, void * *params); void APIENTRY (*GetBufferPointervARB)(GLenum target, GLenum pname, void * *params); void APIENTRY (*GetBufferSubData)(GLenum target, GLintptr offset, GLsizeiptr size, void *data); void APIENTRY (*GetBufferSubDataARB)(GLenum target, GLintptrARB offset, GLsizeiptrARB size, void *data); void APIENTRY (*GetClipPlane)(GLenum plane, GLdouble *equation); void APIENTRY (*GetClipPlanefOES)(GLenum plane, GLfloat *equation); void APIENTRY (*GetClipPlanexOES)(GLenum plane, GLfixed *equation); void APIENTRY (*GetColorTable)(GLenum target, GLenum format, GLenum type, void *table); void APIENTRY (*GetColorTableEXT)(GLenum target, GLenum format, GLenum type, void *data); void APIENTRY (*GetColorTableParameterfv)(GLenum target, GLenum pname, GLfloat *params); void APIENTRY (*GetColorTableParameterfvEXT)(GLenum target, GLenum pname, GLfloat *params); void APIENTRY (*GetColorTableParameterfvSGI)(GLenum target, GLenum pname, GLfloat *params); void APIENTRY (*GetColorTableParameteriv)(GLenum target, GLenum pname, GLint *params); void APIENTRY (*GetColorTableParameterivEXT)(GLenum target, GLenum pname, GLint *params); void APIENTRY (*GetColorTableParameterivSGI)(GLenum target, GLenum pname, GLint *params); void APIENTRY (*GetColorTableSGI)(GLenum target, GLenum format, GLenum type, void *table); void APIENTRY (*GetCombinerInputParameterfvNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params); void APIENTRY (*GetCombinerInputParameterivNV)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params); void APIENTRY (*GetCombinerOutputParameterfvNV)(GLenum stage, GLenum portion, GLenum pname, GLfloat *params); void APIENTRY (*GetCombinerOutputParameterivNV)(GLenum stage, GLenum portion, GLenum pname, GLint *params); void APIENTRY (*GetCombinerStageParameterfvNV)(GLenum stage, GLenum pname, GLfloat *params); void APIENTRY (*GetCompressedMultiTexImageEXT)(GLenum texunit, GLenum target, GLint lod, void *img); void APIENTRY (*GetCompressedTexImage)(GLenum target, GLint level, void *img); void APIENTRY (*GetCompressedTexImageARB)(GLenum target, GLint level, void *img); void APIENTRY (*GetCompressedTextureImageEXT)(GLuint texture, GLenum target, GLint lod, void *img); void APIENTRY (*GetConvolutionFilter)(GLenum target, GLenum format, GLenum type, void *image); void APIENTRY (*GetConvolutionFilterEXT)(GLenum target, GLenum format, GLenum type, void *image); void APIENTRY (*GetConvolutionParameterfv)(GLenum target, GLenum pname, GLfloat *params); void APIENTRY (*GetConvolutionParameterfvEXT)(GLenum target, GLenum pname, GLfloat *params); void APIENTRY (*GetConvolutionParameteriv)(GLenum target, GLenum pname, GLint *params); void APIENTRY (*GetConvolutionParameterivEXT)(GLenum target, GLenum pname, GLint *params); void APIENTRY (*GetConvolutionParameterxvOES)(GLenum target, GLenum pname, GLfixed *params); GLsizei APIENTRY (*GetDebugLogLengthMESA)(GLhandleARB obj, GLenum logType, GLenum shaderType); void APIENTRY (*GetDebugLogMESA)(GLhandleARB obj, GLenum logType, GLenum shaderType, GLsizei maxLength, GLsizei *length, GLcharARB *debugLog); GLuint APIENTRY (*GetDebugMessageLog)(GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog); GLuint APIENTRY (*GetDebugMessageLogAMD)(GLuint count, GLsizei bufsize, GLenum *categories, GLuint *severities, GLuint *ids, GLsizei *lengths, GLchar *message); GLuint APIENTRY (*GetDebugMessageLogARB)(GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog); void APIENTRY (*GetDetailTexFuncSGIS)(GLenum target, GLfloat *points); void APIENTRY (*GetDoubleIndexedvEXT)(GLenum target, GLuint index, GLdouble *data); void APIENTRY (*GetDoublei_v)(GLenum target, GLuint index, GLdouble *data); void APIENTRY (*GetDoublei_vEXT)(GLenum pname, GLuint index, GLdouble *params); void APIENTRY (*GetDoublev)(GLenum pname, GLdouble *params); GLenum APIENTRY (*GetError)(void); void APIENTRY (*GetFenceivNV)(GLuint fence, GLenum pname, GLint *params); void APIENTRY (*GetFinalCombinerInputParameterfvNV)(GLenum variable, GLenum pname, GLfloat *params); void APIENTRY (*GetFinalCombinerInputParameterivNV)(GLenum variable, GLenum pname, GLint *params); void APIENTRY (*GetFirstPerfQueryIdINTEL)(GLuint *queryId); void APIENTRY (*GetFixedvOES)(GLenum pname, GLfixed *params); void APIENTRY (*GetFloatIndexedvEXT)(GLenum target, GLuint index, GLfloat *data); void APIENTRY (*GetFloati_v)(GLenum target, GLuint index, GLfloat *data); void APIENTRY (*GetFloati_vEXT)(GLenum pname, GLuint index, GLfloat *params); void APIENTRY (*GetFloatv)(GLenum pname, GLfloat *params); void APIENTRY (*GetFogFuncSGIS)(GLfloat *points); GLint APIENTRY (*GetFragDataIndex)(GLuint program, const GLchar *name); GLint APIENTRY (*GetFragDataLocation)(GLuint program, const GLchar *name); GLint APIENTRY (*GetFragDataLocationEXT)(GLuint program, const GLchar *name); void APIENTRY (*GetFragmentLightfvSGIX)(GLenum light, GLenum pname, GLfloat *params); void APIENTRY (*GetFragmentLightivSGIX)(GLenum light, GLenum pname, GLint *params); void APIENTRY (*GetFragmentMaterialfvSGIX)(GLenum face, GLenum pname, GLfloat *params); void APIENTRY (*GetFragmentMaterialivSGIX)(GLenum face, GLenum pname, GLint *params); void APIENTRY (*GetFramebufferAttachmentParameteriv)(GLenum target, GLenum attachment, GLenum pname, GLint *params); void APIENTRY (*GetFramebufferAttachmentParameterivEXT)(GLenum target, GLenum attachment, GLenum pname, GLint *params); void APIENTRY (*GetFramebufferParameteriv)(GLenum target, GLenum pname, GLint *params); void APIENTRY (*GetFramebufferParameterivEXT)(GLuint framebuffer, GLenum pname, GLint *params); GLenum APIENTRY (*GetGraphicsResetStatusARB)(void); GLhandleARB APIENTRY (*GetHandleARB)(GLenum pname); void APIENTRY (*GetHistogram)(GLenum target, GLboolean32 reset, GLenum format, GLenum type, void *values); void APIENTRY (*GetHistogramEXT)(GLenum target, GLboolean32 reset, GLenum format, GLenum type, void *values); void APIENTRY (*GetHistogramParameterfv)(GLenum target, GLenum pname, GLfloat *params); void APIENTRY (*GetHistogramParameterfvEXT)(GLenum target, GLenum pname, GLfloat *params); void APIENTRY (*GetHistogramParameteriv)(GLenum target, GLenum pname, GLint *params); void APIENTRY (*GetHistogramParameterivEXT)(GLenum target, GLenum pname, GLint *params); void APIENTRY (*GetHistogramParameterxvOES)(GLenum target, GLenum pname, GLfixed *params); GLuint64 APIENTRY (*GetImageHandleARB)(GLuint texture, GLint level, GLboolean32 layered, GLint layer, GLenum format); GLuint64 APIENTRY (*GetImageHandleNV)(GLuint texture, GLint level, GLboolean32 layered, GLint layer, GLenum format); void APIENTRY (*GetImageTransformParameterfvHP)(GLenum target, GLenum pname, GLfloat *params); void APIENTRY (*GetImageTransformParameterivHP)(GLenum target, GLenum pname, GLint *params); void APIENTRY (*GetInfoLogARB)(GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog); GLint APIENTRY (*GetInstrumentsSGIX)(void); void APIENTRY (*GetInteger64i_v)(GLenum target, GLuint index, GLint64 *data); void APIENTRY (*GetInteger64v)(GLenum pname, GLint64 *data); void APIENTRY (*GetIntegerIndexedvEXT)(GLenum target, GLuint index, GLint *data); void APIENTRY (*GetIntegeri_v)(GLenum target, GLuint index, GLint *data); void APIENTRY (*GetIntegerui64i_vNV)(GLenum value, GLuint index, GLuint64EXT *result); void APIENTRY (*GetIntegerui64vNV)(GLenum value, GLuint64EXT *result); void APIENTRY (*GetIntegerv)(GLenum pname, GLint *params); void APIENTRY (*GetInternalformati64v)(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64 *params); void APIENTRY (*GetInternalformativ)(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params); void APIENTRY (*GetInvariantBooleanvEXT)(GLuint id, GLenum value, GLboolean *data); void APIENTRY (*GetInvariantFloatvEXT)(GLuint id, GLenum value, GLfloat *data); void APIENTRY (*GetInvariantIntegervEXT)(GLuint id, GLenum value, GLint *data); void APIENTRY (*GetLightfv)(GLenum light, GLenum pname, GLfloat *params); void APIENTRY (*GetLightiv)(GLenum light, GLenum pname, GLint *params); void APIENTRY (*GetLightxOES)(GLenum light, GLenum pname, GLfixed *params); void APIENTRY (*GetListParameterfvSGIX)(GLuint list, GLenum pname, GLfloat *params); void APIENTRY (*GetListParameterivSGIX)(GLuint list, GLenum pname, GLint *params); void APIENTRY (*GetLocalConstantBooleanvEXT)(GLuint id, GLenum value, GLboolean *data); void APIENTRY (*GetLocalConstantFloatvEXT)(GLuint id, GLenum value, GLfloat *data); void APIENTRY (*GetLocalConstantIntegervEXT)(GLuint id, GLenum value, GLint *data); void APIENTRY (*GetMapAttribParameterfvNV)(GLenum target, GLuint index, GLenum pname, GLfloat *params); void APIENTRY (*GetMapAttribParameterivNV)(GLenum target, GLuint index, GLenum pname, GLint *params); void APIENTRY (*GetMapControlPointsNV)(GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean32 packed, void *points); void APIENTRY (*GetMapParameterfvNV)(GLenum target, GLenum pname, GLfloat *params); void APIENTRY (*GetMapParameterivNV)(GLenum target, GLenum pname, GLint *params); void APIENTRY (*GetMapdv)(GLenum target, GLenum query, GLdouble *v); void APIENTRY (*GetMapfv)(GLenum target, GLenum query, GLfloat *v); void APIENTRY (*GetMapiv)(GLenum target, GLenum query, GLint *v); void APIENTRY (*GetMapxvOES)(GLenum target, GLenum query, GLfixed *v); void APIENTRY (*GetMaterialfv)(GLenum face, GLenum pname, GLfloat *params); void APIENTRY (*GetMaterialiv)(GLenum face, GLenum pname, GLint *params); void APIENTRY (*GetMaterialxOES)(GLenum face, GLenum pname, GLfixed param); void APIENTRY (*GetMinmax)(GLenum target, GLboolean32 reset, GLenum format, GLenum type, void *values); void APIENTRY (*GetMinmaxEXT)(GLenum target, GLboolean32 reset, GLenum format, GLenum type, void *values); void APIENTRY (*GetMinmaxParameterfv)(GLenum target, GLenum pname, GLfloat *params); void APIENTRY (*GetMinmaxParameterfvEXT)(GLenum target, GLenum pname, GLfloat *params); void APIENTRY (*GetMinmaxParameteriv)(GLenum target, GLenum pname, GLint *params); void APIENTRY (*GetMinmaxParameterivEXT)(GLenum target, GLenum pname, GLint *params); void APIENTRY (*GetMultiTexEnvfvEXT)(GLenum texunit, GLenum target, GLenum pname, GLfloat *params); void APIENTRY (*GetMultiTexEnvivEXT)(GLenum texunit, GLenum target, GLenum pname, GLint *params); void APIENTRY (*GetMultiTexGendvEXT)(GLenum texunit, GLenum coord, GLenum pname, GLdouble *params); void APIENTRY (*GetMultiTexGenfvEXT)(GLenum texunit, GLenum coord, GLenum pname, GLfloat *params); void APIENTRY (*GetMultiTexGenivEXT)(GLenum texunit, GLenum coord, GLenum pname, GLint *params); void APIENTRY (*GetMultiTexImageEXT)(GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, void *pixels); void APIENTRY (*GetMultiTexLevelParameterfvEXT)(GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat *params); void APIENTRY (*GetMultiTexLevelParameterivEXT)(GLenum texunit, GLenum target, GLint level, GLenum pname, GLint *params); void APIENTRY (*GetMultiTexParameterIivEXT)(GLenum texunit, GLenum target, GLenum pname, GLint *params); void APIENTRY (*GetMultiTexParameterIuivEXT)(GLenum texunit, GLenum target, GLenum pname, GLuint *params); void APIENTRY (*GetMultiTexParameterfvEXT)(GLenum texunit, GLenum target, GLenum pname, GLfloat *params); void APIENTRY (*GetMultiTexParameterivEXT)(GLenum texunit, GLenum target, GLenum pname, GLint *params); void APIENTRY (*GetMultisamplefv)(GLenum pname, GLuint index, GLfloat *val); void APIENTRY (*GetMultisamplefvNV)(GLenum pname, GLuint index, GLfloat *val); void APIENTRY (*GetNamedBufferParameterivEXT)(GLuint buffer, GLenum pname, GLint *params); void APIENTRY (*GetNamedBufferParameterui64vNV)(GLuint buffer, GLenum pname, GLuint64EXT *params); void APIENTRY (*GetNamedBufferPointervEXT)(GLuint buffer, GLenum pname, void * *params); void APIENTRY (*GetNamedBufferSubDataEXT)(GLuint buffer, GLintptr offset, GLsizeiptr size, void *data); void APIENTRY (*GetNamedFramebufferAttachmentParameterivEXT)(GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params); void APIENTRY (*GetNamedFramebufferParameterivEXT)(GLuint framebuffer, GLenum pname, GLint *params); void APIENTRY (*GetNamedProgramLocalParameterIivEXT)(GLuint program, GLenum target, GLuint index, GLint *params); void APIENTRY (*GetNamedProgramLocalParameterIuivEXT)(GLuint program, GLenum target, GLuint index, GLuint *params); void APIENTRY (*GetNamedProgramLocalParameterdvEXT)(GLuint program, GLenum target, GLuint index, GLdouble *params); void APIENTRY (*GetNamedProgramLocalParameterfvEXT)(GLuint program, GLenum target, GLuint index, GLfloat *params); void APIENTRY (*GetNamedProgramStringEXT)(GLuint program, GLenum target, GLenum pname, void *string); void APIENTRY (*GetNamedProgramivEXT)(GLuint program, GLenum target, GLenum pname, GLint *params); void APIENTRY (*GetNamedRenderbufferParameterivEXT)(GLuint renderbuffer, GLenum pname, GLint *params); void APIENTRY (*GetNamedStringARB)(GLint namelen, const GLchar *name, GLsizei bufSize, GLint *stringlen, GLchar *string); void APIENTRY (*GetNamedStringivARB)(GLint namelen, const GLchar *name, GLenum pname, GLint *params); void APIENTRY (*GetNextPerfQueryIdINTEL)(GLuint queryId, GLuint *nextQueryId); void APIENTRY (*GetObjectBufferfvATI)(GLuint buffer, GLenum pname, GLfloat *params); void APIENTRY (*GetObjectBufferivATI)(GLuint buffer, GLenum pname, GLint *params); void APIENTRY (*GetObjectLabel)(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label); void APIENTRY (*GetObjectLabelEXT)(GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label); void APIENTRY (*GetObjectParameterfvARB)(GLhandleARB obj, GLenum pname, GLfloat *params); void APIENTRY (*GetObjectParameterivAPPLE)(GLenum objectType, GLuint name, GLenum pname, GLint *params); void APIENTRY (*GetObjectParameterivARB)(GLhandleARB obj, GLenum pname, GLint *params); void APIENTRY (*GetObjectPtrLabel)(const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label); void APIENTRY (*GetOcclusionQueryivNV)(GLuint id, GLenum pname, GLint *params); void APIENTRY (*GetOcclusionQueryuivNV)(GLuint id, GLenum pname, GLuint *params); void APIENTRY (*GetPathColorGenfvNV)(GLenum color, GLenum pname, GLfloat *value); void APIENTRY (*GetPathColorGenivNV)(GLenum color, GLenum pname, GLint *value); void APIENTRY (*GetPathCommandsNV)(GLuint path, GLubyte *commands); void APIENTRY (*GetPathCoordsNV)(GLuint path, GLfloat *coords); void APIENTRY (*GetPathDashArrayNV)(GLuint path, GLfloat *dashArray); GLfloat APIENTRY (*GetPathLengthNV)(GLuint path, GLsizei startSegment, GLsizei numSegments); void APIENTRY (*GetPathMetricRangeNV)(GLbitfield metricQueryMask, GLuint firstPathName, GLsizei numPaths, GLsizei stride, GLfloat *metrics); void APIENTRY (*GetPathMetricsNV)(GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLsizei stride, GLfloat *metrics); void APIENTRY (*GetPathParameterfvNV)(GLuint path, GLenum pname, GLfloat *value); void APIENTRY (*GetPathParameterivNV)(GLuint path, GLenum pname, GLint *value); void APIENTRY (*GetPathSpacingNV)(GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat *returnedSpacing); void APIENTRY (*GetPathTexGenfvNV)(GLenum texCoordSet, GLenum pname, GLfloat *value); void APIENTRY (*GetPathTexGenivNV)(GLenum texCoordSet, GLenum pname, GLint *value); void APIENTRY (*GetPerfCounterInfoINTEL)(GLuint queryId, GLuint counterId, GLuint counterNameLength, GLchar *counterName, GLuint counterDescLength, GLchar *counterDesc, GLuint *counterOffset, GLuint *counterDataSize, GLuint *counterTypeEnum, GLuint *counterDataTypeEnum, GLuint64 *rawCounterMaxValue); void APIENTRY (*GetPerfMonitorCounterDataAMD)(GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten); void APIENTRY (*GetPerfMonitorCounterInfoAMD)(GLuint group, GLuint counter, GLenum pname, void *data); void APIENTRY (*GetPerfMonitorCounterStringAMD)(GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString); void APIENTRY (*GetPerfMonitorCountersAMD)(GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); void APIENTRY (*GetPerfMonitorGroupStringAMD)(GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString); void APIENTRY (*GetPerfMonitorGroupsAMD)(GLint *numGroups, GLsizei groupsSize, GLuint *groups); void APIENTRY (*GetPerfQueryDataINTEL)(GLuint queryHandle, GLuint flags, GLsizei dataSize, GLvoid *data, GLuint *bytesWritten); void APIENTRY (*GetPerfQueryIdByNameINTEL)(GLchar *queryName, GLuint *queryId); void APIENTRY (*GetPerfQueryInfoINTEL)(GLuint queryId, GLuint queryNameLength, GLchar *queryName, GLuint *dataSize, GLuint *noCounters, GLuint *noInstances, GLuint *capsMask); void APIENTRY (*GetPixelMapfv)(GLenum map, GLfloat *values); void APIENTRY (*GetPixelMapuiv)(GLenum map, GLuint *values); void APIENTRY (*GetPixelMapusv)(GLenum map, GLushort *values); void APIENTRY (*GetPixelMapxv)(GLenum map, GLint size, GLfixed *values); void APIENTRY (*GetPixelTexGenParameterfvSGIS)(GLenum pname, GLfloat *params); void APIENTRY (*GetPixelTexGenParameterivSGIS)(GLenum pname, GLint *params); void APIENTRY (*GetPixelTransformParameterfvEXT)(GLenum target, GLenum pname, GLfloat *params); void APIENTRY (*GetPixelTransformParameterivEXT)(GLenum target, GLenum pname, GLint *params); void APIENTRY (*GetPointerIndexedvEXT)(GLenum target, GLuint index, void * *data); void APIENTRY (*GetPointeri_vEXT)(GLenum pname, GLuint index, void * *params); void APIENTRY (*GetPointerv)(GLenum pname, GLvoid* *params); void APIENTRY (*GetPointervEXT)(GLenum pname, void * *params); void APIENTRY (*GetPolygonStipple)(GLubyte *mask); void APIENTRY (*GetProgramBinary)(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary); void APIENTRY (*GetProgramEnvParameterIivNV)(GLenum target, GLuint index, GLint *params); void APIENTRY (*GetProgramEnvParameterIuivNV)(GLenum target, GLuint index, GLuint *params); void APIENTRY (*GetProgramEnvParameterdvARB)(GLenum target, GLuint index, GLdouble *params); void APIENTRY (*GetProgramEnvParameterfvARB)(GLenum target, GLuint index, GLfloat *params); void APIENTRY (*GetProgramInfoLog)(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog); void APIENTRY (*GetProgramInterfaceiv)(GLuint program, GLenum programInterface, GLenum pname, GLint *params); void APIENTRY (*GetProgramLocalParameterIivNV)(GLenum target, GLuint index, GLint *params); void APIENTRY (*GetProgramLocalParameterIuivNV)(GLenum target, GLuint index, GLuint *params); void APIENTRY (*GetProgramLocalParameterdvARB)(GLenum target, GLuint index, GLdouble *params); void APIENTRY (*GetProgramLocalParameterfvARB)(GLenum target, GLuint index, GLfloat *params); void APIENTRY (*GetProgramNamedParameterdvNV)(GLuint id, GLsizei len, const GLubyte *name, GLdouble *params); void APIENTRY (*GetProgramNamedParameterfvNV)(GLuint id, GLsizei len, const GLubyte *name, GLfloat *params); void APIENTRY (*GetProgramParameterdvNV)(GLenum target, GLuint index, GLenum pname, GLdouble *params); void APIENTRY (*GetProgramParameterfvNV)(GLenum target, GLuint index, GLenum pname, GLfloat *params); void APIENTRY (*GetProgramPipelineInfoLog)(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); void APIENTRY (*GetProgramPipelineiv)(GLuint pipeline, GLenum pname, GLint *params); void APIENTRY (*GetProgramRegisterfvMESA)(GLenum target, GLsizei len, const GLubyte *name, GLfloat *v); GLuint APIENTRY (*GetProgramResourceIndex)(GLuint program, GLenum programInterface, const GLchar *name); GLint APIENTRY (*GetProgramResourceLocation)(GLuint program, GLenum programInterface, const GLchar *name); GLint APIENTRY (*GetProgramResourceLocationIndex)(GLuint program, GLenum programInterface, const GLchar *name); void APIENTRY (*GetProgramResourceName)(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name); void APIENTRY (*GetProgramResourceiv)(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params); void APIENTRY (*GetProgramStageiv)(GLuint program, GLenum shadertype, GLenum pname, GLint *values); void APIENTRY (*GetProgramStringARB)(GLenum target, GLenum pname, void *string); void APIENTRY (*GetProgramStringNV)(GLuint id, GLenum pname, GLubyte *program); void APIENTRY (*GetProgramSubroutineParameteruivNV)(GLenum target, GLuint index, GLuint *param); void APIENTRY (*GetProgramiv)(GLuint program, GLenum pname, GLint *params); void APIENTRY (*GetProgramivARB)(GLenum target, GLenum pname, GLint *params); void APIENTRY (*GetProgramivNV)(GLuint id, GLenum pname, GLint *params); void APIENTRY (*GetQueryIndexediv)(GLenum target, GLuint index, GLenum pname, GLint *params); void APIENTRY (*GetQueryObjecti64v)(GLuint id, GLenum pname, GLint64 *params); void APIENTRY (*GetQueryObjecti64vEXT)(GLuint id, GLenum pname, GLint64 *params); void APIENTRY (*GetQueryObjectiv)(GLuint id, GLenum pname, GLint *params); void APIENTRY (*GetQueryObjectivARB)(GLuint id, GLenum pname, GLint *params); void APIENTRY (*GetQueryObjectui64v)(GLuint id, GLenum pname, GLuint64 *params); void APIENTRY (*GetQueryObjectui64vEXT)(GLuint id, GLenum pname, GLuint64 *params); void APIENTRY (*GetQueryObjectuiv)(GLuint id, GLenum pname, GLuint *params); void APIENTRY (*GetQueryObjectuivARB)(GLuint id, GLenum pname, GLuint *params); void APIENTRY (*GetQueryiv)(GLenum target, GLenum pname, GLint *params); void APIENTRY (*GetQueryivARB)(GLenum target, GLenum pname, GLint *params); void APIENTRY (*GetRenderbufferParameteriv)(GLenum target, GLenum pname, GLint *params); void APIENTRY (*GetRenderbufferParameterivEXT)(GLenum target, GLenum pname, GLint *params); void APIENTRY (*GetSamplerParameterIiv)(GLuint sampler, GLenum pname, GLint *params); void APIENTRY (*GetSamplerParameterIuiv)(GLuint sampler, GLenum pname, GLuint *params); void APIENTRY (*GetSamplerParameterfv)(GLuint sampler, GLenum pname, GLfloat *params); void APIENTRY (*GetSamplerParameteriv)(GLuint sampler, GLenum pname, GLint *params); void APIENTRY (*GetSeparableFilter)(GLenum target, GLenum format, GLenum type, void *row, void *column, void *span); void APIENTRY (*GetSeparableFilterEXT)(GLenum target, GLenum format, GLenum type, void *row, void *column, void *span); void APIENTRY (*GetShaderInfoLog)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog); void APIENTRY (*GetShaderPrecisionFormat)(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision); void APIENTRY (*GetShaderSource)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source); void APIENTRY (*GetShaderSourceARB)(GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *source); void APIENTRY (*GetShaderiv)(GLuint shader, GLenum pname, GLint *params); void APIENTRY (*GetSharpenTexFuncSGIS)(GLenum target, GLfloat *points); const GLubyte * APIENTRY (*GetString)(GLenum name); const GLubyte * APIENTRY (*GetStringi)(GLenum name, GLuint index); GLuint APIENTRY (*GetSubroutineIndex)(GLuint program, GLenum shadertype, const GLchar *name); GLint APIENTRY (*GetSubroutineUniformLocation)(GLuint program, GLenum shadertype, const GLchar *name); void APIENTRY (*GetSynciv)(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); void APIENTRY (*GetTexBumpParameterfvATI)(GLenum pname, GLfloat *param); void APIENTRY (*GetTexBumpParameterivATI)(GLenum pname, GLint *param); void APIENTRY (*GetTexEnvfv)(GLenum target, GLenum pname, GLfloat *params); void APIENTRY (*GetTexEnviv)(GLenum target, GLenum pname, GLint *params); void APIENTRY (*GetTexEnvxvOES)(GLenum target, GLenum pname, GLfixed *params); void APIENTRY (*GetTexFilterFuncSGIS)(GLenum target, GLenum filter, GLfloat *weights); void APIENTRY (*GetTexGendv)(GLenum coord, GLenum pname, GLdouble *params); void APIENTRY (*GetTexGenfv)(GLenum coord, GLenum pname, GLfloat *params); void APIENTRY (*GetTexGeniv)(GLenum coord, GLenum pname, GLint *params); void APIENTRY (*GetTexGenxvOES)(GLenum coord, GLenum pname, GLfixed *params); void APIENTRY (*GetTexImage)(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels); void APIENTRY (*GetTexLevelParameterfv)(GLenum target, GLint level, GLenum pname, GLfloat *params); void APIENTRY (*GetTexLevelParameteriv)(GLenum target, GLint level, GLenum pname, GLint *params); void APIENTRY (*GetTexLevelParameterxvOES)(GLenum target, GLint level, GLenum pname, GLfixed *params); void APIENTRY (*GetTexParameterIiv)(GLenum target, GLenum pname, GLint *params); void APIENTRY (*GetTexParameterIivEXT)(GLenum target, GLenum pname, GLint *params); void APIENTRY (*GetTexParameterIuiv)(GLenum target, GLenum pname, GLuint *params); void APIENTRY (*GetTexParameterIuivEXT)(GLenum target, GLenum pname, GLuint *params); void APIENTRY (*GetTexParameterPointervAPPLE)(GLenum target, GLenum pname, void * *params); void APIENTRY (*GetTexParameterfv)(GLenum target, GLenum pname, GLfloat *params); void APIENTRY (*GetTexParameteriv)(GLenum target, GLenum pname, GLint *params); void APIENTRY (*GetTexParameterxvOES)(GLenum target, GLenum pname, GLfixed *params); GLuint64 APIENTRY (*GetTextureHandleARB)(GLuint texture); GLuint64 APIENTRY (*GetTextureHandleNV)(GLuint texture); void APIENTRY (*GetTextureImageEXT)(GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, void *pixels); void APIENTRY (*GetTextureLevelParameterfvEXT)(GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params); void APIENTRY (*GetTextureLevelParameterivEXT)(GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params); void APIENTRY (*GetTextureParameterIivEXT)(GLuint texture, GLenum target, GLenum pname, GLint *params); void APIENTRY (*GetTextureParameterIuivEXT)(GLuint texture, GLenum target, GLenum pname, GLuint *params); void APIENTRY (*GetTextureParameterfvEXT)(GLuint texture, GLenum target, GLenum pname, GLfloat *params); void APIENTRY (*GetTextureParameterivEXT)(GLuint texture, GLenum target, GLenum pname, GLint *params); GLuint64 APIENTRY (*GetTextureSamplerHandleARB)(GLuint texture, GLuint sampler); GLuint64 APIENTRY (*GetTextureSamplerHandleNV)(GLuint texture, GLuint sampler); void APIENTRY (*GetTrackMatrixivNV)(GLenum target, GLuint address, GLenum pname, GLint *params); void APIENTRY (*GetTransformFeedbackVarying)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name); void APIENTRY (*GetTransformFeedbackVaryingEXT)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name); void APIENTRY (*GetTransformFeedbackVaryingNV)(GLuint program, GLuint index, GLint *location); GLuint APIENTRY (*GetUniformBlockIndex)(GLuint program, const GLchar *uniformBlockName); GLint APIENTRY (*GetUniformBufferSizeEXT)(GLuint program, GLint location); void APIENTRY (*GetUniformIndices)(GLuint program, GLsizei uniformCount, const GLchar *const *uniformNames, GLuint *uniformIndices); GLint APIENTRY (*GetUniformLocation)(GLuint program, const GLchar *name); GLint APIENTRY (*GetUniformLocationARB)(GLhandleARB programObj, const GLcharARB *name); GLintptr APIENTRY (*GetUniformOffsetEXT)(GLuint program, GLint location); void APIENTRY (*GetUniformSubroutineuiv)(GLenum shadertype, GLint location, GLuint *params); void APIENTRY (*GetUniformdv)(GLuint program, GLint location, GLdouble *params); void APIENTRY (*GetUniformfv)(GLuint program, GLint location, GLfloat *params); void APIENTRY (*GetUniformfvARB)(GLhandleARB programObj, GLint location, GLfloat *params); void APIENTRY (*GetUniformi64vNV)(GLuint program, GLint location, GLint64EXT *params); void APIENTRY (*GetUniformiv)(GLuint program, GLint location, GLint *params); void APIENTRY (*GetUniformivARB)(GLhandleARB programObj, GLint location, GLint *params); void APIENTRY (*GetUniformui64vNV)(GLuint program, GLint location, GLuint64EXT *params); void APIENTRY (*GetUniformuiv)(GLuint program, GLint location, GLuint *params); void APIENTRY (*GetUniformuivEXT)(GLuint program, GLint location, GLuint *params); void APIENTRY (*GetVariantArrayObjectfvATI)(GLuint id, GLenum pname, GLfloat *params); void APIENTRY (*GetVariantArrayObjectivATI)(GLuint id, GLenum pname, GLint *params); void APIENTRY (*GetVariantBooleanvEXT)(GLuint id, GLenum value, GLboolean *data); void APIENTRY (*GetVariantFloatvEXT)(GLuint id, GLenum value, GLfloat *data); void APIENTRY (*GetVariantIntegervEXT)(GLuint id, GLenum value, GLint *data); void APIENTRY (*GetVariantPointervEXT)(GLuint id, GLenum value, void * *data); GLint APIENTRY (*GetVaryingLocationNV)(GLuint program, const GLchar *name); void APIENTRY (*GetVertexArrayIntegeri_vEXT)(GLuint vaobj, GLuint index, GLenum pname, GLint *param); void APIENTRY (*GetVertexArrayIntegervEXT)(GLuint vaobj, GLenum pname, GLint *param); void APIENTRY (*GetVertexArrayPointeri_vEXT)(GLuint vaobj, GLuint index, GLenum pname, void * *param); void APIENTRY (*GetVertexArrayPointervEXT)(GLuint vaobj, GLenum pname, void * *param); void APIENTRY (*GetVertexAttribArrayObjectfvATI)(GLuint index, GLenum pname, GLfloat *params); void APIENTRY (*GetVertexAttribArrayObjectivATI)(GLuint index, GLenum pname, GLint *params); void APIENTRY (*GetVertexAttribIiv)(GLuint index, GLenum pname, GLint *params); void APIENTRY (*GetVertexAttribIivEXT)(GLuint index, GLenum pname, GLint *params); void APIENTRY (*GetVertexAttribIuiv)(GLuint index, GLenum pname, GLuint *params); void APIENTRY (*GetVertexAttribIuivEXT)(GLuint index, GLenum pname, GLuint *params); void APIENTRY (*GetVertexAttribLdv)(GLuint index, GLenum pname, GLdouble *params); void APIENTRY (*GetVertexAttribLdvEXT)(GLuint index, GLenum pname, GLdouble *params); void APIENTRY (*GetVertexAttribLi64vNV)(GLuint index, GLenum pname, GLint64EXT *params); void APIENTRY (*GetVertexAttribLui64vARB)(GLuint index, GLenum pname, GLuint64EXT *params); void APIENTRY (*GetVertexAttribLui64vNV)(GLuint index, GLenum pname, GLuint64EXT *params); void APIENTRY (*GetVertexAttribPointerv)(GLuint index, GLenum pname, void * *pointer); void APIENTRY (*GetVertexAttribPointervARB)(GLuint index, GLenum pname, void * *pointer); void APIENTRY (*GetVertexAttribPointervNV)(GLuint index, GLenum pname, void * *pointer); void APIENTRY (*GetVertexAttribdv)(GLuint index, GLenum pname, GLdouble *params); void APIENTRY (*GetVertexAttribdvARB)(GLuint index, GLenum pname, GLdouble *params); void APIENTRY (*GetVertexAttribdvNV)(GLuint index, GLenum pname, GLdouble *params); void APIENTRY (*GetVertexAttribfv)(GLuint index, GLenum pname, GLfloat *params); void APIENTRY (*GetVertexAttribfvARB)(GLuint index, GLenum pname, GLfloat *params); void APIENTRY (*GetVertexAttribfvNV)(GLuint index, GLenum pname, GLfloat *params); void APIENTRY (*GetVertexAttribiv)(GLuint index, GLenum pname, GLint *params); void APIENTRY (*GetVertexAttribivARB)(GLuint index, GLenum pname, GLint *params); void APIENTRY (*GetVertexAttribivNV)(GLuint index, GLenum pname, GLint *params); void APIENTRY (*GetVideoCaptureStreamdvNV)(GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble *params); void APIENTRY (*GetVideoCaptureStreamfvNV)(GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat *params); void APIENTRY (*GetVideoCaptureStreamivNV)(GLuint video_capture_slot, GLuint stream, GLenum pname, GLint *params); void APIENTRY (*GetVideoCaptureivNV)(GLuint video_capture_slot, GLenum pname, GLint *params); void APIENTRY (*GetVideoi64vNV)(GLuint video_slot, GLenum pname, GLint64EXT *params); void APIENTRY (*GetVideoivNV)(GLuint video_slot, GLenum pname, GLint *params); void APIENTRY (*GetVideoui64vNV)(GLuint video_slot, GLenum pname, GLuint64EXT *params); void APIENTRY (*GetVideouivNV)(GLuint video_slot, GLenum pname, GLuint *params); void APIENTRY (*GetnColorTableARB)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *table); void APIENTRY (*GetnCompressedTexImageARB)(GLenum target, GLint lod, GLsizei bufSize, void *img); void APIENTRY (*GetnConvolutionFilterARB)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *image); void APIENTRY (*GetnHistogramARB)(GLenum target, GLboolean32 reset, GLenum format, GLenum type, GLsizei bufSize, void *values); void APIENTRY (*GetnMapdvARB)(GLenum target, GLenum query, GLsizei bufSize, GLdouble *v); void APIENTRY (*GetnMapfvARB)(GLenum target, GLenum query, GLsizei bufSize, GLfloat *v); void APIENTRY (*GetnMapivARB)(GLenum target, GLenum query, GLsizei bufSize, GLint *v); void APIENTRY (*GetnMinmaxARB)(GLenum target, GLboolean32 reset, GLenum format, GLenum type, GLsizei bufSize, void *values); void APIENTRY (*GetnPixelMapfvARB)(GLenum map, GLsizei bufSize, GLfloat *values); void APIENTRY (*GetnPixelMapuivARB)(GLenum map, GLsizei bufSize, GLuint *values); void APIENTRY (*GetnPixelMapusvARB)(GLenum map, GLsizei bufSize, GLushort *values); void APIENTRY (*GetnPolygonStippleARB)(GLsizei bufSize, GLubyte *pattern); void APIENTRY (*GetnSeparableFilterARB)(GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, void *row, GLsizei columnBufSize, void *column, void *span); void APIENTRY (*GetnTexImageARB)(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *img); void APIENTRY (*GetnUniformdvARB)(GLuint program, GLint location, GLsizei bufSize, GLdouble *params); void APIENTRY (*GetnUniformfvARB)(GLuint program, GLint location, GLsizei bufSize, GLfloat *params); void APIENTRY (*GetnUniformivARB)(GLuint program, GLint location, GLsizei bufSize, GLint *params); void APIENTRY (*GetnUniformuivARB)(GLuint program, GLint location, GLsizei bufSize, GLuint *params); void APIENTRY (*GlobalAlphaFactorbSUN)(GLbyte32 factor); void APIENTRY (*GlobalAlphaFactordSUN)(GLdouble factor); void APIENTRY (*GlobalAlphaFactorfSUN)(GLfloat factor); void APIENTRY (*GlobalAlphaFactoriSUN)(GLint factor); void APIENTRY (*GlobalAlphaFactorsSUN)(GLshort32 factor); void APIENTRY (*GlobalAlphaFactorubSUN)(GLubyte32 factor); void APIENTRY (*GlobalAlphaFactoruiSUN)(GLuint factor); void APIENTRY (*GlobalAlphaFactorusSUN)(GLushort32 factor); void APIENTRY (*Hint)(GLenum target, GLenum mode); void APIENTRY (*HintPGI)(GLenum target, GLint mode); void APIENTRY (*Histogram)(GLenum target, GLsizei width, GLenum internalformat, GLboolean32 sink); void APIENTRY (*HistogramEXT)(GLenum target, GLsizei width, GLenum internalformat, GLboolean32 sink); void APIENTRY (*IglooInterfaceSGIX)(GLenum pname, const void *params); void APIENTRY (*ImageTransformParameterfHP)(GLenum target, GLenum pname, GLfloat param); void APIENTRY (*ImageTransformParameterfvHP)(GLenum target, GLenum pname, const GLfloat *params); void APIENTRY (*ImageTransformParameteriHP)(GLenum target, GLenum pname, GLint param); void APIENTRY (*ImageTransformParameterivHP)(GLenum target, GLenum pname, const GLint *params); GLsync APIENTRY (*ImportSyncEXT)(GLenum external_sync_type, GLintptr external_sync, GLbitfield flags); void APIENTRY (*IndexFormatNV)(GLenum type, GLsizei stride); void APIENTRY (*IndexFuncEXT)(GLenum func, GLclampf ref); void APIENTRY (*IndexMask)(GLuint mask); void APIENTRY (*IndexMaterialEXT)(GLenum face, GLenum mode); void APIENTRY (*IndexPointer)(GLenum type, GLsizei stride, const GLvoid *pointer); void APIENTRY (*IndexPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const void *pointer); void APIENTRY (*IndexPointerListIBM)(GLenum type, GLint stride, const void * *pointer, GLint ptrstride); void APIENTRY (*Indexd)(GLdouble c); void APIENTRY (*Indexdv)(const GLdouble *c); void APIENTRY (*Indexf)(GLfloat c); void APIENTRY (*Indexfv)(const GLfloat *c); void APIENTRY (*Indexi)(GLint c); void APIENTRY (*Indexiv)(const GLint *c); void APIENTRY (*Indexs)(GLshort32 c); void APIENTRY (*Indexsv)(const GLshort *c); void APIENTRY (*Indexub)(GLubyte32 c); void APIENTRY (*Indexubv)(const GLubyte *c); void APIENTRY (*IndexxOES)(GLfixed component); void APIENTRY (*IndexxvOES)(const GLfixed *component); void APIENTRY (*InitNames)(void); void APIENTRY (*InsertComponentEXT)(GLuint res, GLuint src, GLuint num); void APIENTRY (*InsertEventMarkerEXT)(GLsizei length, const GLchar *marker); void APIENTRY (*InstrumentsBufferSGIX)(GLsizei size, GLint *buffer); void APIENTRY (*InterleavedArrays)(GLenum format, GLsizei stride, const GLvoid *pointer); void APIENTRY (*InterpolatePathsNV)(GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight); void APIENTRY (*InvalidateBufferData)(GLuint buffer); void APIENTRY (*InvalidateBufferSubData)(GLuint buffer, GLintptr offset, GLsizeiptr length); void APIENTRY (*InvalidateFramebuffer)(GLenum target, GLsizei numAttachments, const GLenum *attachments); void APIENTRY (*InvalidateSubFramebuffer)(GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height); void APIENTRY (*InvalidateTexImage)(GLuint texture, GLint level); void APIENTRY (*InvalidateTexSubImage)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth); GLboolean APIENTRY (*IsAsyncMarkerSGIX)(GLuint marker); GLboolean APIENTRY (*IsBuffer)(GLuint buffer); GLboolean APIENTRY (*IsBufferARB)(GLuint buffer); GLboolean APIENTRY (*IsBufferResidentNV)(GLenum target); GLboolean APIENTRY (*IsEnabled)(GLenum cap); GLboolean APIENTRY (*IsEnabledIndexedEXT)(GLenum target, GLuint index); GLboolean APIENTRY (*IsEnabledi)(GLenum target, GLuint index); GLboolean APIENTRY (*IsFenceAPPLE)(GLuint fence); GLboolean APIENTRY (*IsFenceNV)(GLuint fence); GLboolean APIENTRY (*IsFramebuffer)(GLuint framebuffer); GLboolean APIENTRY (*IsFramebufferEXT)(GLuint framebuffer); GLboolean APIENTRY (*IsImageHandleResidentARB)(GLuint64 handle); GLboolean APIENTRY (*IsImageHandleResidentNV)(GLuint64 handle); GLboolean APIENTRY (*IsList)(GLuint list); GLboolean APIENTRY (*IsNameAMD)(GLenum identifier, GLuint name); GLboolean APIENTRY (*IsNamedBufferResidentNV)(GLuint buffer); GLboolean APIENTRY (*IsNamedStringARB)(GLint namelen, const GLchar *name); GLboolean APIENTRY (*IsObjectBufferATI)(GLuint buffer); GLboolean APIENTRY (*IsOcclusionQueryNV)(GLuint id); GLboolean APIENTRY (*IsPathNV)(GLuint path); GLboolean APIENTRY (*IsPointInFillPathNV)(GLuint path, GLuint mask, GLfloat x, GLfloat y); GLboolean APIENTRY (*IsPointInStrokePathNV)(GLuint path, GLfloat x, GLfloat y); GLboolean APIENTRY (*IsProgram)(GLuint program); GLboolean APIENTRY (*IsProgramARB)(GLuint program); GLboolean APIENTRY (*IsProgramNV)(GLuint id); GLboolean APIENTRY (*IsProgramPipeline)(GLuint pipeline); GLboolean APIENTRY (*IsQuery)(GLuint id); GLboolean APIENTRY (*IsQueryARB)(GLuint id); GLboolean APIENTRY (*IsRenderbuffer)(GLuint renderbuffer); GLboolean APIENTRY (*IsRenderbufferEXT)(GLuint renderbuffer); GLboolean APIENTRY (*IsSampler)(GLuint sampler); GLboolean APIENTRY (*IsShader)(GLuint shader); GLboolean APIENTRY (*IsSync)(GLsync sync); GLboolean APIENTRY (*IsTexture)(GLuint texture); GLboolean APIENTRY (*IsTextureEXT)(GLuint texture); GLboolean APIENTRY (*IsTextureHandleResidentARB)(GLuint64 handle); GLboolean APIENTRY (*IsTextureHandleResidentNV)(GLuint64 handle); GLboolean APIENTRY (*IsTransformFeedback)(GLuint id); GLboolean APIENTRY (*IsTransformFeedbackNV)(GLuint id); GLboolean APIENTRY (*IsVariantEnabledEXT)(GLuint id, GLenum cap); GLboolean APIENTRY (*IsVertexArray)(GLuint array); GLboolean APIENTRY (*IsVertexArrayAPPLE)(GLuint array); GLboolean APIENTRY (*IsVertexAttribEnabledAPPLE)(GLuint index, GLenum pname); void APIENTRY (*LabelObjectEXT)(GLenum type, GLuint object, GLsizei length, const GLchar *label); void APIENTRY (*LightEnviSGIX)(GLenum pname, GLint param); void APIENTRY (*LightModelf)(GLenum pname, GLfloat param); void APIENTRY (*LightModelfv)(GLenum pname, const GLfloat *params); void APIENTRY (*LightModeli)(GLenum pname, GLint param); void APIENTRY (*LightModeliv)(GLenum pname, const GLint *params); void APIENTRY (*LightModelxOES)(GLenum pname, GLfixed param); void APIENTRY (*LightModelxvOES)(GLenum pname, const GLfixed *param); void APIENTRY (*Lightf)(GLenum light, GLenum pname, GLfloat param); void APIENTRY (*Lightfv)(GLenum light, GLenum pname, const GLfloat *params); void APIENTRY (*Lighti)(GLenum light, GLenum pname, GLint param); void APIENTRY (*Lightiv)(GLenum light, GLenum pname, const GLint *params); void APIENTRY (*LightxOES)(GLenum light, GLenum pname, GLfixed param); void APIENTRY (*LightxvOES)(GLenum light, GLenum pname, const GLfixed *params); void APIENTRY (*LineStipple)(GLint factor, GLushort32 pattern); void APIENTRY (*LineWidth)(GLfloat width); void APIENTRY (*LineWidthxOES)(GLfixed width); void APIENTRY (*LinkProgram)(GLuint program); void APIENTRY (*LinkProgramARB)(GLhandleARB programObj); void APIENTRY (*ListBase)(GLuint base); void APIENTRY (*ListParameterfSGIX)(GLuint list, GLenum pname, GLfloat param); void APIENTRY (*ListParameterfvSGIX)(GLuint list, GLenum pname, const GLfloat *params); void APIENTRY (*ListParameteriSGIX)(GLuint list, GLenum pname, GLint param); void APIENTRY (*ListParameterivSGIX)(GLuint list, GLenum pname, const GLint *params); void APIENTRY (*LoadIdentity)(void); void APIENTRY (*LoadIdentityDeformationMapSGIX)(GLbitfield mask); void APIENTRY (*LoadMatrixd)(const GLdouble *m); void APIENTRY (*LoadMatrixf)(const GLfloat *m); void APIENTRY (*LoadMatrixxOES)(const GLfixed *m); void APIENTRY (*LoadName)(GLuint name); void APIENTRY (*LoadProgramNV)(GLenum target, GLuint id, GLsizei len, const GLubyte *program); void APIENTRY (*LoadTransposeMatrixd)(const GLdouble *m); void APIENTRY (*LoadTransposeMatrixdARB)(const GLdouble *m); void APIENTRY (*LoadTransposeMatrixf)(const GLfloat *m); void APIENTRY (*LoadTransposeMatrixfARB)(const GLfloat *m); void APIENTRY (*LoadTransposeMatrixxOES)(const GLfixed *m); void APIENTRY (*LockArraysEXT)(GLint first, GLsizei count); void APIENTRY (*LogicOp)(GLenum opcode); void APIENTRY (*MakeBufferNonResidentNV)(GLenum target); void APIENTRY (*MakeBufferResidentNV)(GLenum target, GLenum access); void APIENTRY (*MakeImageHandleNonResidentARB)(GLuint64 handle); void APIENTRY (*MakeImageHandleNonResidentNV)(GLuint64 handle); void APIENTRY (*MakeImageHandleResidentARB)(GLuint64 handle, GLenum access); void APIENTRY (*MakeImageHandleResidentNV)(GLuint64 handle, GLenum access); void APIENTRY (*MakeNamedBufferNonResidentNV)(GLuint buffer); void APIENTRY (*MakeNamedBufferResidentNV)(GLuint buffer, GLenum access); void APIENTRY (*MakeTextureHandleNonResidentARB)(GLuint64 handle); void APIENTRY (*MakeTextureHandleNonResidentNV)(GLuint64 handle); void APIENTRY (*MakeTextureHandleResidentARB)(GLuint64 handle); void APIENTRY (*MakeTextureHandleResidentNV)(GLuint64 handle); void APIENTRY (*Map1d)(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points); void APIENTRY (*Map1f)(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points); void APIENTRY (*Map1xOES)(GLenum target, GLfixed u1, GLfixed u2, GLint stride, GLint order, GLfixed points); void APIENTRY (*Map2d)(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points); void APIENTRY (*Map2f)(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points); void APIENTRY (*Map2xOES)(GLenum target, GLfixed u1, GLfixed u2, GLint ustride, GLint uorder, GLfixed v1, GLfixed v2, GLint vstride, GLint vorder, GLfixed points); void * APIENTRY (*MapBuffer)(GLenum target, GLenum access); void * APIENTRY (*MapBufferARB)(GLenum target, GLenum access); void * APIENTRY (*MapBufferRange)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); void APIENTRY (*MapControlPointsNV)(GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean32 packed, const void *points); void APIENTRY (*MapGrid1d)(GLint un, GLdouble u1, GLdouble u2); void APIENTRY (*MapGrid1f)(GLint un, GLfloat u1, GLfloat u2); void APIENTRY (*MapGrid1xOES)(GLint n, GLfixed u1, GLfixed u2); void APIENTRY (*MapGrid2d)(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2); void APIENTRY (*MapGrid2f)(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2); void APIENTRY (*MapGrid2xOES)(GLint n, GLfixed u1, GLfixed u2, GLfixed v1, GLfixed v2); void * APIENTRY (*MapNamedBufferEXT)(GLuint buffer, GLenum access); void * APIENTRY (*MapNamedBufferRangeEXT)(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access); void * APIENTRY (*MapObjectBufferATI)(GLuint buffer); void APIENTRY (*MapParameterfvNV)(GLenum target, GLenum pname, const GLfloat *params); void APIENTRY (*MapParameterivNV)(GLenum target, GLenum pname, const GLint *params); void * APIENTRY (*MapTexture2DINTEL)(GLuint texture, GLint level, GLbitfield access, const GLint *stride, const GLenum *layout); void APIENTRY (*MapVertexAttrib1dAPPLE)(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points); void APIENTRY (*MapVertexAttrib1fAPPLE)(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points); void APIENTRY (*MapVertexAttrib2dAPPLE)(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points); void APIENTRY (*MapVertexAttrib2fAPPLE)(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points); void APIENTRY (*Materialf)(GLenum face, GLenum pname, GLfloat param); void APIENTRY (*Materialfv)(GLenum face, GLenum pname, const GLfloat *params); void APIENTRY (*Materiali)(GLenum face, GLenum pname, GLint param); void APIENTRY (*Materialiv)(GLenum face, GLenum pname, const GLint *params); void APIENTRY (*MaterialxOES)(GLenum face, GLenum pname, GLfixed param); void APIENTRY (*MaterialxvOES)(GLenum face, GLenum pname, const GLfixed *param); void APIENTRY (*MatrixFrustumEXT)(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); void APIENTRY (*MatrixIndexPointerARB)(GLint size, GLenum type, GLsizei stride, const void *pointer); void APIENTRY (*MatrixIndexubvARB)(GLint size, const GLubyte *indices); void APIENTRY (*MatrixIndexuivARB)(GLint size, const GLuint *indices); void APIENTRY (*MatrixIndexusvARB)(GLint size, const GLushort *indices); void APIENTRY (*MatrixLoadIdentityEXT)(GLenum mode); void APIENTRY (*MatrixLoadTransposedEXT)(GLenum mode, const GLdouble *m); void APIENTRY (*MatrixLoadTransposefEXT)(GLenum mode, const GLfloat *m); void APIENTRY (*MatrixLoaddEXT)(GLenum mode, const GLdouble *m); void APIENTRY (*MatrixLoadfEXT)(GLenum mode, const GLfloat *m); void APIENTRY (*MatrixMode)(GLenum mode); void APIENTRY (*MatrixMultTransposedEXT)(GLenum mode, const GLdouble *m); void APIENTRY (*MatrixMultTransposefEXT)(GLenum mode, const GLfloat *m); void APIENTRY (*MatrixMultdEXT)(GLenum mode, const GLdouble *m); void APIENTRY (*MatrixMultfEXT)(GLenum mode, const GLfloat *m); void APIENTRY (*MatrixOrthoEXT)(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); void APIENTRY (*MatrixPopEXT)(GLenum mode); void APIENTRY (*MatrixPushEXT)(GLenum mode); void APIENTRY (*MatrixRotatedEXT)(GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z); void APIENTRY (*MatrixRotatefEXT)(GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*MatrixScaledEXT)(GLenum mode, GLdouble x, GLdouble y, GLdouble z); void APIENTRY (*MatrixScalefEXT)(GLenum mode, GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*MatrixTranslatedEXT)(GLenum mode, GLdouble x, GLdouble y, GLdouble z); void APIENTRY (*MatrixTranslatefEXT)(GLenum mode, GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*MemoryBarrier)(GLbitfield barriers); void APIENTRY (*MemoryBarrierEXT)(GLbitfield barriers); void APIENTRY (*MinSampleShading)(GLfloat value); void APIENTRY (*MinSampleShadingARB)(GLfloat value); void APIENTRY (*Minmax)(GLenum target, GLenum internalformat, GLboolean32 sink); void APIENTRY (*MinmaxEXT)(GLenum target, GLenum internalformat, GLboolean32 sink); void APIENTRY (*MultMatrixd)(const GLdouble *m); void APIENTRY (*MultMatrixf)(const GLfloat *m); void APIENTRY (*MultMatrixxOES)(const GLfixed *m); void APIENTRY (*MultTransposeMatrixd)(const GLdouble *m); void APIENTRY (*MultTransposeMatrixdARB)(const GLdouble *m); void APIENTRY (*MultTransposeMatrixf)(const GLfloat *m); void APIENTRY (*MultTransposeMatrixfARB)(const GLfloat *m); void APIENTRY (*MultTransposeMatrixxOES)(const GLfixed *m); void APIENTRY (*MultiDrawArrays)(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount); void APIENTRY (*MultiDrawArraysEXT)(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount); void APIENTRY (*MultiDrawArraysIndirect)(GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride); void APIENTRY (*MultiDrawArraysIndirectAMD)(GLenum mode, const void *indirect, GLsizei primcount, GLsizei stride); void APIENTRY (*MultiDrawArraysIndirectBindlessNV)(GLenum mode, const void *indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount); void APIENTRY (*MultiDrawArraysIndirectCountARB)(GLenum mode, GLintptr indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); void APIENTRY (*MultiDrawElementArrayAPPLE)(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount); void APIENTRY (*MultiDrawElements)(GLenum mode, const GLsizei *count, GLenum type, const void *const *indices, GLsizei drawcount); void APIENTRY (*MultiDrawElementsBaseVertex)(GLenum mode, const GLsizei *count, GLenum type, const void *const *indices, GLsizei drawcount, const GLint *basevertex); void APIENTRY (*MultiDrawElementsEXT)(GLenum mode, const GLsizei *count, GLenum type, const void *const *indices, GLsizei primcount); void APIENTRY (*MultiDrawElementsIndirect)(GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride); void APIENTRY (*MultiDrawElementsIndirectAMD)(GLenum mode, GLenum type, const void *indirect, GLsizei primcount, GLsizei stride); void APIENTRY (*MultiDrawElementsIndirectBindlessNV)(GLenum mode, GLenum type, const void *indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount); void APIENTRY (*MultiDrawElementsIndirectCountARB)(GLenum mode, GLenum type, GLintptr indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); void APIENTRY (*MultiDrawRangeElementArrayAPPLE)(GLenum mode, GLuint start, GLuint end, const GLint *first, const GLsizei *count, GLsizei primcount); void APIENTRY (*MultiModeDrawArraysIBM)(const GLenum *mode, const GLint *first, const GLsizei *count, GLsizei primcount, GLint modestride); void APIENTRY (*MultiModeDrawElementsIBM)(const GLenum *mode, const GLsizei *count, GLenum type, const void *const *indices, GLsizei primcount, GLint modestride); void APIENTRY (*MultiTexBufferEXT)(GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer); void APIENTRY (*MultiTexCoord1bOES)(GLenum texture, GLbyte32 s); void APIENTRY (*MultiTexCoord1bvOES)(GLenum texture, const GLbyte *coords); void APIENTRY (*MultiTexCoord1d)(GLenum target, GLdouble s); void APIENTRY (*MultiTexCoord1dARB)(GLenum target, GLdouble s); void APIENTRY (*MultiTexCoord1dv)(GLenum target, const GLdouble *v); void APIENTRY (*MultiTexCoord1dvARB)(GLenum target, const GLdouble *v); void APIENTRY (*MultiTexCoord1f)(GLenum target, GLfloat s); void APIENTRY (*MultiTexCoord1fARB)(GLenum target, GLfloat s); void APIENTRY (*MultiTexCoord1fv)(GLenum target, const GLfloat *v); void APIENTRY (*MultiTexCoord1fvARB)(GLenum target, const GLfloat *v); void APIENTRY (*MultiTexCoord1hNV)(GLenum target, GLhalfNV32 s); void APIENTRY (*MultiTexCoord1hvNV)(GLenum target, const GLhalfNV *v); void APIENTRY (*MultiTexCoord1i)(GLenum target, GLint s); void APIENTRY (*MultiTexCoord1iARB)(GLenum target, GLint s); void APIENTRY (*MultiTexCoord1iv)(GLenum target, const GLint *v); void APIENTRY (*MultiTexCoord1ivARB)(GLenum target, const GLint *v); void APIENTRY (*MultiTexCoord1s)(GLenum target, GLshort32 s); void APIENTRY (*MultiTexCoord1sARB)(GLenum target, GLshort32 s); void APIENTRY (*MultiTexCoord1sv)(GLenum target, const GLshort *v); void APIENTRY (*MultiTexCoord1svARB)(GLenum target, const GLshort *v); void APIENTRY (*MultiTexCoord1xOES)(GLenum texture, GLfixed s); void APIENTRY (*MultiTexCoord1xvOES)(GLenum texture, const GLfixed *coords); void APIENTRY (*MultiTexCoord2bOES)(GLenum texture, GLbyte32 s, GLbyte32 t); void APIENTRY (*MultiTexCoord2bvOES)(GLenum texture, const GLbyte *coords); void APIENTRY (*MultiTexCoord2d)(GLenum target, GLdouble s, GLdouble t); void APIENTRY (*MultiTexCoord2dARB)(GLenum target, GLdouble s, GLdouble t); void APIENTRY (*MultiTexCoord2dv)(GLenum target, const GLdouble *v); void APIENTRY (*MultiTexCoord2dvARB)(GLenum target, const GLdouble *v); void APIENTRY (*MultiTexCoord2f)(GLenum target, GLfloat s, GLfloat t); void APIENTRY (*MultiTexCoord2fARB)(GLenum target, GLfloat s, GLfloat t); void APIENTRY (*MultiTexCoord2fv)(GLenum target, const GLfloat *v); void APIENTRY (*MultiTexCoord2fvARB)(GLenum target, const GLfloat *v); void APIENTRY (*MultiTexCoord2hNV)(GLenum target, GLhalfNV32 s, GLhalfNV32 t); void APIENTRY (*MultiTexCoord2hvNV)(GLenum target, const GLhalfNV *v); void APIENTRY (*MultiTexCoord2i)(GLenum target, GLint s, GLint t); void APIENTRY (*MultiTexCoord2iARB)(GLenum target, GLint s, GLint t); void APIENTRY (*MultiTexCoord2iv)(GLenum target, const GLint *v); void APIENTRY (*MultiTexCoord2ivARB)(GLenum target, const GLint *v); void APIENTRY (*MultiTexCoord2s)(GLenum target, GLshort32 s, GLshort32 t); void APIENTRY (*MultiTexCoord2sARB)(GLenum target, GLshort32 s, GLshort32 t); void APIENTRY (*MultiTexCoord2sv)(GLenum target, const GLshort *v); void APIENTRY (*MultiTexCoord2svARB)(GLenum target, const GLshort *v); void APIENTRY (*MultiTexCoord2xOES)(GLenum texture, GLfixed s, GLfixed t); void APIENTRY (*MultiTexCoord2xvOES)(GLenum texture, const GLfixed *coords); void APIENTRY (*MultiTexCoord3bOES)(GLenum texture, GLbyte32 s, GLbyte32 t, GLbyte32 r); void APIENTRY (*MultiTexCoord3bvOES)(GLenum texture, const GLbyte *coords); void APIENTRY (*MultiTexCoord3d)(GLenum target, GLdouble s, GLdouble t, GLdouble r); void APIENTRY (*MultiTexCoord3dARB)(GLenum target, GLdouble s, GLdouble t, GLdouble r); void APIENTRY (*MultiTexCoord3dv)(GLenum target, const GLdouble *v); void APIENTRY (*MultiTexCoord3dvARB)(GLenum target, const GLdouble *v); void APIENTRY (*MultiTexCoord3f)(GLenum target, GLfloat s, GLfloat t, GLfloat r); void APIENTRY (*MultiTexCoord3fARB)(GLenum target, GLfloat s, GLfloat t, GLfloat r); void APIENTRY (*MultiTexCoord3fv)(GLenum target, const GLfloat *v); void APIENTRY (*MultiTexCoord3fvARB)(GLenum target, const GLfloat *v); void APIENTRY (*MultiTexCoord3hNV)(GLenum target, GLhalfNV32 s, GLhalfNV32 t, GLhalfNV32 r); void APIENTRY (*MultiTexCoord3hvNV)(GLenum target, const GLhalfNV *v); void APIENTRY (*MultiTexCoord3i)(GLenum target, GLint s, GLint t, GLint r); void APIENTRY (*MultiTexCoord3iARB)(GLenum target, GLint s, GLint t, GLint r); void APIENTRY (*MultiTexCoord3iv)(GLenum target, const GLint *v); void APIENTRY (*MultiTexCoord3ivARB)(GLenum target, const GLint *v); void APIENTRY (*MultiTexCoord3s)(GLenum target, GLshort32 s, GLshort32 t, GLshort32 r); void APIENTRY (*MultiTexCoord3sARB)(GLenum target, GLshort32 s, GLshort32 t, GLshort32 r); void APIENTRY (*MultiTexCoord3sv)(GLenum target, const GLshort *v); void APIENTRY (*MultiTexCoord3svARB)(GLenum target, const GLshort *v); void APIENTRY (*MultiTexCoord3xOES)(GLenum texture, GLfixed s, GLfixed t, GLfixed r); void APIENTRY (*MultiTexCoord3xvOES)(GLenum texture, const GLfixed *coords); void APIENTRY (*MultiTexCoord4bOES)(GLenum texture, GLbyte32 s, GLbyte32 t, GLbyte32 r, GLbyte32 q); void APIENTRY (*MultiTexCoord4bvOES)(GLenum texture, const GLbyte *coords); void APIENTRY (*MultiTexCoord4d)(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q); void APIENTRY (*MultiTexCoord4dARB)(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q); void APIENTRY (*MultiTexCoord4dv)(GLenum target, const GLdouble *v); void APIENTRY (*MultiTexCoord4dvARB)(GLenum target, const GLdouble *v); void APIENTRY (*MultiTexCoord4f)(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); void APIENTRY (*MultiTexCoord4fARB)(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q); void APIENTRY (*MultiTexCoord4fv)(GLenum target, const GLfloat *v); void APIENTRY (*MultiTexCoord4fvARB)(GLenum target, const GLfloat *v); void APIENTRY (*MultiTexCoord4hNV)(GLenum target, GLhalfNV32 s, GLhalfNV32 t, GLhalfNV32 r, GLhalfNV32 q); void APIENTRY (*MultiTexCoord4hvNV)(GLenum target, const GLhalfNV *v); void APIENTRY (*MultiTexCoord4i)(GLenum target, GLint s, GLint t, GLint r, GLint q); void APIENTRY (*MultiTexCoord4iARB)(GLenum target, GLint s, GLint t, GLint r, GLint q); void APIENTRY (*MultiTexCoord4iv)(GLenum target, const GLint *v); void APIENTRY (*MultiTexCoord4ivARB)(GLenum target, const GLint *v); void APIENTRY (*MultiTexCoord4s)(GLenum target, GLshort32 s, GLshort32 t, GLshort32 r, GLshort32 q); void APIENTRY (*MultiTexCoord4sARB)(GLenum target, GLshort32 s, GLshort32 t, GLshort32 r, GLshort32 q); void APIENTRY (*MultiTexCoord4sv)(GLenum target, const GLshort *v); void APIENTRY (*MultiTexCoord4svARB)(GLenum target, const GLshort *v); void APIENTRY (*MultiTexCoord4xOES)(GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q); void APIENTRY (*MultiTexCoord4xvOES)(GLenum texture, const GLfixed *coords); void APIENTRY (*MultiTexCoordP1ui)(GLenum texture, GLenum type, GLuint coords); void APIENTRY (*MultiTexCoordP1uiv)(GLenum texture, GLenum type, const GLuint *coords); void APIENTRY (*MultiTexCoordP2ui)(GLenum texture, GLenum type, GLuint coords); void APIENTRY (*MultiTexCoordP2uiv)(GLenum texture, GLenum type, const GLuint *coords); void APIENTRY (*MultiTexCoordP3ui)(GLenum texture, GLenum type, GLuint coords); void APIENTRY (*MultiTexCoordP3uiv)(GLenum texture, GLenum type, const GLuint *coords); void APIENTRY (*MultiTexCoordP4ui)(GLenum texture, GLenum type, GLuint coords); void APIENTRY (*MultiTexCoordP4uiv)(GLenum texture, GLenum type, const GLuint *coords); void APIENTRY (*MultiTexCoordPointerEXT)(GLenum texunit, GLint size, GLenum type, GLsizei stride, const void *pointer); void APIENTRY (*MultiTexEnvfEXT)(GLenum texunit, GLenum target, GLenum pname, GLfloat param); void APIENTRY (*MultiTexEnvfvEXT)(GLenum texunit, GLenum target, GLenum pname, const GLfloat *params); void APIENTRY (*MultiTexEnviEXT)(GLenum texunit, GLenum target, GLenum pname, GLint param); void APIENTRY (*MultiTexEnvivEXT)(GLenum texunit, GLenum target, GLenum pname, const GLint *params); void APIENTRY (*MultiTexGendEXT)(GLenum texunit, GLenum coord, GLenum pname, GLdouble param); void APIENTRY (*MultiTexGendvEXT)(GLenum texunit, GLenum coord, GLenum pname, const GLdouble *params); void APIENTRY (*MultiTexGenfEXT)(GLenum texunit, GLenum coord, GLenum pname, GLfloat param); void APIENTRY (*MultiTexGenfvEXT)(GLenum texunit, GLenum coord, GLenum pname, const GLfloat *params); void APIENTRY (*MultiTexGeniEXT)(GLenum texunit, GLenum coord, GLenum pname, GLint param); void APIENTRY (*MultiTexGenivEXT)(GLenum texunit, GLenum coord, GLenum pname, const GLint *params); void APIENTRY (*MultiTexImage1DEXT)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels); void APIENTRY (*MultiTexImage2DEXT)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels); void APIENTRY (*MultiTexImage3DEXT)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); void APIENTRY (*MultiTexParameterIivEXT)(GLenum texunit, GLenum target, GLenum pname, const GLint *params); void APIENTRY (*MultiTexParameterIuivEXT)(GLenum texunit, GLenum target, GLenum pname, const GLuint *params); void APIENTRY (*MultiTexParameterfEXT)(GLenum texunit, GLenum target, GLenum pname, GLfloat param); void APIENTRY (*MultiTexParameterfvEXT)(GLenum texunit, GLenum target, GLenum pname, const GLfloat *params); void APIENTRY (*MultiTexParameteriEXT)(GLenum texunit, GLenum target, GLenum pname, GLint param); void APIENTRY (*MultiTexParameterivEXT)(GLenum texunit, GLenum target, GLenum pname, const GLint *params); void APIENTRY (*MultiTexRenderbufferEXT)(GLenum texunit, GLenum target, GLuint renderbuffer); void APIENTRY (*MultiTexSubImage1DEXT)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels); void APIENTRY (*MultiTexSubImage2DEXT)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); void APIENTRY (*MultiTexSubImage3DEXT)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); void APIENTRY (*NamedBufferDataEXT)(GLuint buffer, GLsizeiptr size, const void *data, GLenum usage); void APIENTRY (*NamedBufferStorageEXT)(GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags); void APIENTRY (*NamedBufferSubDataEXT)(GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data); void APIENTRY (*NamedCopyBufferSubDataEXT)(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); void APIENTRY (*NamedFramebufferParameteriEXT)(GLuint framebuffer, GLenum pname, GLint param); void APIENTRY (*NamedFramebufferRenderbufferEXT)(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); void APIENTRY (*NamedFramebufferTexture1DEXT)(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level); void APIENTRY (*NamedFramebufferTexture2DEXT)(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level); void APIENTRY (*NamedFramebufferTexture3DEXT)(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); void APIENTRY (*NamedFramebufferTextureEXT)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level); void APIENTRY (*NamedFramebufferTextureFaceEXT)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face); void APIENTRY (*NamedFramebufferTextureLayerEXT)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer); void APIENTRY (*NamedProgramLocalParameter4dEXT)(GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); void APIENTRY (*NamedProgramLocalParameter4dvEXT)(GLuint program, GLenum target, GLuint index, const GLdouble *params); void APIENTRY (*NamedProgramLocalParameter4fEXT)(GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); void APIENTRY (*NamedProgramLocalParameter4fvEXT)(GLuint program, GLenum target, GLuint index, const GLfloat *params); void APIENTRY (*NamedProgramLocalParameterI4iEXT)(GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w); void APIENTRY (*NamedProgramLocalParameterI4ivEXT)(GLuint program, GLenum target, GLuint index, const GLint *params); void APIENTRY (*NamedProgramLocalParameterI4uiEXT)(GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); void APIENTRY (*NamedProgramLocalParameterI4uivEXT)(GLuint program, GLenum target, GLuint index, const GLuint *params); void APIENTRY (*NamedProgramLocalParameters4fvEXT)(GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat *params); void APIENTRY (*NamedProgramLocalParametersI4ivEXT)(GLuint program, GLenum target, GLuint index, GLsizei count, const GLint *params); void APIENTRY (*NamedProgramLocalParametersI4uivEXT)(GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint *params); void APIENTRY (*NamedProgramStringEXT)(GLuint program, GLenum target, GLenum format, GLsizei len, const void *string); void APIENTRY (*NamedRenderbufferStorageEXT)(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height); void APIENTRY (*NamedRenderbufferStorageMultisampleCoverageEXT)(GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height); void APIENTRY (*NamedRenderbufferStorageMultisampleEXT)(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); void APIENTRY (*NamedStringARB)(GLenum type, GLint namelen, const GLchar *name, GLint stringlen, const GLchar *string); void APIENTRY (*NewList)(GLuint list, GLenum mode); GLuint APIENTRY (*NewObjectBufferATI)(GLsizei size, const void *pointer, GLenum usage); void APIENTRY (*NewTraceMESA)(GLbitfield mask, const GLubyte *traceName); void APIENTRY (*Normal3b)(GLbyte32 nx, GLbyte32 ny, GLbyte32 nz); void APIENTRY (*Normal3bv)(const GLbyte *v); void APIENTRY (*Normal3d)(GLdouble nx, GLdouble ny, GLdouble nz); void APIENTRY (*Normal3dv)(const GLdouble *v); void APIENTRY (*Normal3f)(GLfloat nx, GLfloat ny, GLfloat nz); void APIENTRY (*Normal3fVertex3fSUN)(GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*Normal3fVertex3fvSUN)(const GLfloat *n, const GLfloat *v); void APIENTRY (*Normal3fv)(const GLfloat *v); void APIENTRY (*Normal3hNV)(GLhalfNV32 nx, GLhalfNV32 ny, GLhalfNV32 nz); void APIENTRY (*Normal3hvNV)(const GLhalfNV *v); void APIENTRY (*Normal3i)(GLint nx, GLint ny, GLint nz); void APIENTRY (*Normal3iv)(const GLint *v); void APIENTRY (*Normal3s)(GLshort32 nx, GLshort32 ny, GLshort32 nz); void APIENTRY (*Normal3sv)(const GLshort *v); void APIENTRY (*Normal3xOES)(GLfixed nx, GLfixed ny, GLfixed nz); void APIENTRY (*Normal3xvOES)(const GLfixed *coords); void APIENTRY (*NormalFormatNV)(GLenum type, GLsizei stride); void APIENTRY (*NormalP3ui)(GLenum type, GLuint coords); void APIENTRY (*NormalP3uiv)(GLenum type, const GLuint *coords); void APIENTRY (*NormalPointer)(GLenum type, GLsizei stride, const GLvoid *pointer); void APIENTRY (*NormalPointerEXT)(GLenum type, GLsizei stride, GLsizei count, const void *pointer); void APIENTRY (*NormalPointerListIBM)(GLenum type, GLint stride, const void * *pointer, GLint ptrstride); void APIENTRY (*NormalPointervINTEL)(GLenum type, const void * *pointer); void APIENTRY (*NormalStream3bATI)(GLenum stream, GLbyte32 nx, GLbyte32 ny, GLbyte32 nz); void APIENTRY (*NormalStream3bvATI)(GLenum stream, const GLbyte *coords); void APIENTRY (*NormalStream3dATI)(GLenum stream, GLdouble nx, GLdouble ny, GLdouble nz); void APIENTRY (*NormalStream3dvATI)(GLenum stream, const GLdouble *coords); void APIENTRY (*NormalStream3fATI)(GLenum stream, GLfloat nx, GLfloat ny, GLfloat nz); void APIENTRY (*NormalStream3fvATI)(GLenum stream, const GLfloat *coords); void APIENTRY (*NormalStream3iATI)(GLenum stream, GLint nx, GLint ny, GLint nz); void APIENTRY (*NormalStream3ivATI)(GLenum stream, const GLint *coords); void APIENTRY (*NormalStream3sATI)(GLenum stream, GLshort32 nx, GLshort32 ny, GLshort32 nz); void APIENTRY (*NormalStream3svATI)(GLenum stream, const GLshort *coords); void APIENTRY (*ObjectLabel)(GLenum identifier, GLuint name, GLsizei length, const GLchar *label); void APIENTRY (*ObjectPtrLabel)(const void *ptr, GLsizei length, const GLchar *label); GLenum APIENTRY (*ObjectPurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option); GLenum APIENTRY (*ObjectUnpurgeableAPPLE)(GLenum objectType, GLuint name, GLenum option); void APIENTRY (*Ortho)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); void APIENTRY (*Orthof)(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat near_val, GLfloat far_val); void APIENTRY (*OrthofOES)(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f); void APIENTRY (*OrthoxOES)(GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f); void APIENTRY (*PNTrianglesfATI)(GLenum pname, GLfloat param); void APIENTRY (*PNTrianglesiATI)(GLenum pname, GLint param); void APIENTRY (*PassTexCoordATI)(GLuint dst, GLuint coord, GLenum swizzle); void APIENTRY (*PassThrough)(GLfloat token); void APIENTRY (*PassThroughxOES)(GLfixed token); void APIENTRY (*PatchParameterfv)(GLenum pname, const GLfloat *values); void APIENTRY (*PatchParameteri)(GLenum pname, GLint value); void APIENTRY (*PathColorGenNV)(GLenum color, GLenum genMode, GLenum colorFormat, const GLfloat *coeffs); void APIENTRY (*PathCommandsNV)(GLuint path, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords); void APIENTRY (*PathCoordsNV)(GLuint path, GLsizei numCoords, GLenum coordType, const void *coords); void APIENTRY (*PathCoverDepthFuncNV)(GLenum func); void APIENTRY (*PathDashArrayNV)(GLuint path, GLsizei dashCount, const GLfloat *dashArray); void APIENTRY (*PathFogGenNV)(GLenum genMode); void APIENTRY (*PathGlyphRangeNV)(GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale); void APIENTRY (*PathGlyphsNV)(GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const void *charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale); void APIENTRY (*PathParameterfNV)(GLuint path, GLenum pname, GLfloat value); void APIENTRY (*PathParameterfvNV)(GLuint path, GLenum pname, const GLfloat *value); void APIENTRY (*PathParameteriNV)(GLuint path, GLenum pname, GLint value); void APIENTRY (*PathParameterivNV)(GLuint path, GLenum pname, const GLint *value); void APIENTRY (*PathStencilDepthOffsetNV)(GLfloat factor, GLfloat units); void APIENTRY (*PathStencilFuncNV)(GLenum func, GLint ref, GLuint mask); void APIENTRY (*PathStringNV)(GLuint path, GLenum format, GLsizei length, const void *pathString); void APIENTRY (*PathSubCommandsNV)(GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords); void APIENTRY (*PathSubCoordsNV)(GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const void *coords); void APIENTRY (*PathTexGenNV)(GLenum texCoordSet, GLenum genMode, GLint components, const GLfloat *coeffs); void APIENTRY (*PauseTransformFeedback)(void); void APIENTRY (*PauseTransformFeedbackNV)(void); void APIENTRY (*PixelDataRangeNV)(GLenum target, GLsizei length, const void *pointer); void APIENTRY (*PixelMapfv)(GLenum map, GLsizei mapsize, const GLfloat *values); void APIENTRY (*PixelMapuiv)(GLenum map, GLsizei mapsize, const GLuint *values); void APIENTRY (*PixelMapusv)(GLenum map, GLsizei mapsize, const GLushort *values); void APIENTRY (*PixelMapx)(GLenum map, GLint size, const GLfixed *values); void APIENTRY (*PixelStoref)(GLenum pname, GLfloat param); void APIENTRY (*PixelStorei)(GLenum pname, GLint param); void APIENTRY (*PixelStorex)(GLenum pname, GLfixed param); void APIENTRY (*PixelTexGenParameterfSGIS)(GLenum pname, GLfloat param); void APIENTRY (*PixelTexGenParameterfvSGIS)(GLenum pname, const GLfloat *params); void APIENTRY (*PixelTexGenParameteriSGIS)(GLenum pname, GLint param); void APIENTRY (*PixelTexGenParameterivSGIS)(GLenum pname, const GLint *params); void APIENTRY (*PixelTexGenSGIX)(GLenum mode); void APIENTRY (*PixelTransferf)(GLenum pname, GLfloat param); void APIENTRY (*PixelTransferi)(GLenum pname, GLint param); void APIENTRY (*PixelTransferxOES)(GLenum pname, GLfixed param); void APIENTRY (*PixelTransformParameterfEXT)(GLenum target, GLenum pname, GLfloat param); void APIENTRY (*PixelTransformParameterfvEXT)(GLenum target, GLenum pname, const GLfloat *params); void APIENTRY (*PixelTransformParameteriEXT)(GLenum target, GLenum pname, GLint param); void APIENTRY (*PixelTransformParameterivEXT)(GLenum target, GLenum pname, const GLint *params); void APIENTRY (*PixelZoom)(GLfloat xfactor, GLfloat yfactor); void APIENTRY (*PixelZoomxOES)(GLfixed xfactor, GLfixed yfactor); GLboolean APIENTRY (*PointAlongPathNV)(GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat *x, GLfloat *y, GLfloat *tangentX, GLfloat *tangentY); void APIENTRY (*PointParameterf)(GLenum pname, GLfloat param); void APIENTRY (*PointParameterfARB)(GLenum pname, GLfloat param); void APIENTRY (*PointParameterfEXT)(GLenum pname, GLfloat param); void APIENTRY (*PointParameterfSGIS)(GLenum pname, GLfloat param); void APIENTRY (*PointParameterfv)(GLenum pname, const GLfloat *params); void APIENTRY (*PointParameterfvARB)(GLenum pname, const GLfloat *params); void APIENTRY (*PointParameterfvEXT)(GLenum pname, const GLfloat *params); void APIENTRY (*PointParameterfvSGIS)(GLenum pname, const GLfloat *params); void APIENTRY (*PointParameteri)(GLenum pname, GLint param); void APIENTRY (*PointParameteriNV)(GLenum pname, GLint param); void APIENTRY (*PointParameteriv)(GLenum pname, const GLint *params); void APIENTRY (*PointParameterivNV)(GLenum pname, const GLint *params); void APIENTRY (*PointParameterxvOES)(GLenum pname, const GLfixed *params); void APIENTRY (*PointSize)(GLfloat size); void APIENTRY (*PointSizePointerAPPLE)(GLenum type, GLsizei stride, const GLvoid *pointer); void APIENTRY (*PointSizexOES)(GLfixed size); GLint APIENTRY (*PollAsyncSGIX)(GLuint *markerp); GLint APIENTRY (*PollInstrumentsSGIX)(GLint *marker_p); void APIENTRY (*PolygonMode)(GLenum face, GLenum mode); void APIENTRY (*PolygonOffset)(GLfloat factor, GLfloat units); void APIENTRY (*PolygonOffsetEXT)(GLfloat factor, GLfloat bias); void APIENTRY (*PolygonOffsetxOES)(GLfixed factor, GLfixed units); void APIENTRY (*PolygonStipple)(const GLubyte *mask); void APIENTRY (*PopAttrib)(void); void APIENTRY (*PopClientAttrib)(void); void APIENTRY (*PopDebugGroup)(void); void APIENTRY (*PopGroupMarkerEXT)(void); void APIENTRY (*PopMatrix)(void); void APIENTRY (*PopName)(void); void APIENTRY (*PresentFrameDualFillNV)(GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3); void APIENTRY (*PresentFrameKeyedNV)(GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1); void APIENTRY (*PrimitiveRestartIndex)(GLuint index); void APIENTRY (*PrimitiveRestartIndexNV)(GLuint index); void APIENTRY (*PrimitiveRestartNV)(void); void APIENTRY (*PrioritizeTextures)(GLsizei n, const GLuint *textures, const GLclampf *priorities); void APIENTRY (*PrioritizeTexturesEXT)(GLsizei n, const GLuint *textures, const GLclampf *priorities); void APIENTRY (*PrioritizeTexturesxOES)(GLsizei n, const GLuint *textures, const GLfixed *priorities); void APIENTRY (*ProgramBinary)(GLuint program, GLenum binaryFormat, const void *binary, GLsizei length); void APIENTRY (*ProgramBufferParametersIivNV)(GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLint *params); void APIENTRY (*ProgramBufferParametersIuivNV)(GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLuint *params); void APIENTRY (*ProgramBufferParametersfvNV)(GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLfloat *params); void APIENTRY (*ProgramCallbackMESA)(GLenum target, GLprogramcallbackMESA callback, GLvoid *data); void APIENTRY (*ProgramEnvParameter4dARB)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); void APIENTRY (*ProgramEnvParameter4dvARB)(GLenum target, GLuint index, const GLdouble *params); void APIENTRY (*ProgramEnvParameter4fARB)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); void APIENTRY (*ProgramEnvParameter4fvARB)(GLenum target, GLuint index, const GLfloat *params); void APIENTRY (*ProgramEnvParameterI4iNV)(GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w); void APIENTRY (*ProgramEnvParameterI4ivNV)(GLenum target, GLuint index, const GLint *params); void APIENTRY (*ProgramEnvParameterI4uiNV)(GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); void APIENTRY (*ProgramEnvParameterI4uivNV)(GLenum target, GLuint index, const GLuint *params); void APIENTRY (*ProgramEnvParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat *params); void APIENTRY (*ProgramEnvParametersI4ivNV)(GLenum target, GLuint index, GLsizei count, const GLint *params); void APIENTRY (*ProgramEnvParametersI4uivNV)(GLenum target, GLuint index, GLsizei count, const GLuint *params); void APIENTRY (*ProgramLocalParameter4dARB)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); void APIENTRY (*ProgramLocalParameter4dvARB)(GLenum target, GLuint index, const GLdouble *params); void APIENTRY (*ProgramLocalParameter4fARB)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); void APIENTRY (*ProgramLocalParameter4fvARB)(GLenum target, GLuint index, const GLfloat *params); void APIENTRY (*ProgramLocalParameterI4iNV)(GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w); void APIENTRY (*ProgramLocalParameterI4ivNV)(GLenum target, GLuint index, const GLint *params); void APIENTRY (*ProgramLocalParameterI4uiNV)(GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); void APIENTRY (*ProgramLocalParameterI4uivNV)(GLenum target, GLuint index, const GLuint *params); void APIENTRY (*ProgramLocalParameters4fvEXT)(GLenum target, GLuint index, GLsizei count, const GLfloat *params); void APIENTRY (*ProgramLocalParametersI4ivNV)(GLenum target, GLuint index, GLsizei count, const GLint *params); void APIENTRY (*ProgramLocalParametersI4uivNV)(GLenum target, GLuint index, GLsizei count, const GLuint *params); void APIENTRY (*ProgramNamedParameter4dNV)(GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w); void APIENTRY (*ProgramNamedParameter4dvNV)(GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v); void APIENTRY (*ProgramNamedParameter4fNV)(GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w); void APIENTRY (*ProgramNamedParameter4fvNV)(GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v); void APIENTRY (*ProgramParameter4dNV)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); void APIENTRY (*ProgramParameter4dvNV)(GLenum target, GLuint index, const GLdouble *v); void APIENTRY (*ProgramParameter4fNV)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); void APIENTRY (*ProgramParameter4fvNV)(GLenum target, GLuint index, const GLfloat *v); void APIENTRY (*ProgramParameteri)(GLuint program, GLenum pname, GLint value); void APIENTRY (*ProgramParameteriARB)(GLuint program, GLenum pname, GLint value); void APIENTRY (*ProgramParameteriEXT)(GLuint program, GLenum pname, GLint value); void APIENTRY (*ProgramParameters4dvNV)(GLenum target, GLuint index, GLsizei count, const GLdouble *v); void APIENTRY (*ProgramParameters4fvNV)(GLenum target, GLuint index, GLsizei count, const GLfloat *v); void APIENTRY (*ProgramStringARB)(GLenum target, GLenum format, GLsizei len, const void *string); void APIENTRY (*ProgramSubroutineParametersuivNV)(GLenum target, GLsizei count, const GLuint *params); void APIENTRY (*ProgramUniform1d)(GLuint program, GLint location, GLdouble v0); void APIENTRY (*ProgramUniform1dEXT)(GLuint program, GLint location, GLdouble x); void APIENTRY (*ProgramUniform1dv)(GLuint program, GLint location, GLsizei count, const GLdouble *value); void APIENTRY (*ProgramUniform1dvEXT)(GLuint program, GLint location, GLsizei count, const GLdouble *value); void APIENTRY (*ProgramUniform1f)(GLuint program, GLint location, GLfloat v0); void APIENTRY (*ProgramUniform1fEXT)(GLuint program, GLint location, GLfloat v0); void APIENTRY (*ProgramUniform1fv)(GLuint program, GLint location, GLsizei count, const GLfloat *value); void APIENTRY (*ProgramUniform1fvEXT)(GLuint program, GLint location, GLsizei count, const GLfloat *value); void APIENTRY (*ProgramUniform1i)(GLuint program, GLint location, GLint v0); void APIENTRY (*ProgramUniform1i64NV)(GLuint program, GLint location, GLint64EXT x); void APIENTRY (*ProgramUniform1i64vNV)(GLuint program, GLint location, GLsizei count, const GLint64EXT *value); void APIENTRY (*ProgramUniform1iEXT)(GLuint program, GLint location, GLint v0); void APIENTRY (*ProgramUniform1iv)(GLuint program, GLint location, GLsizei count, const GLint *value); void APIENTRY (*ProgramUniform1ivEXT)(GLuint program, GLint location, GLsizei count, const GLint *value); void APIENTRY (*ProgramUniform1ui)(GLuint program, GLint location, GLuint v0); void APIENTRY (*ProgramUniform1ui64NV)(GLuint program, GLint location, GLuint64EXT x); void APIENTRY (*ProgramUniform1ui64vNV)(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); void APIENTRY (*ProgramUniform1uiEXT)(GLuint program, GLint location, GLuint v0); void APIENTRY (*ProgramUniform1uiv)(GLuint program, GLint location, GLsizei count, const GLuint *value); void APIENTRY (*ProgramUniform1uivEXT)(GLuint program, GLint location, GLsizei count, const GLuint *value); void APIENTRY (*ProgramUniform2d)(GLuint program, GLint location, GLdouble v0, GLdouble v1); void APIENTRY (*ProgramUniform2dEXT)(GLuint program, GLint location, GLdouble x, GLdouble y); void APIENTRY (*ProgramUniform2dv)(GLuint program, GLint location, GLsizei count, const GLdouble *value); void APIENTRY (*ProgramUniform2dvEXT)(GLuint program, GLint location, GLsizei count, const GLdouble *value); void APIENTRY (*ProgramUniform2f)(GLuint program, GLint location, GLfloat v0, GLfloat v1); void APIENTRY (*ProgramUniform2fEXT)(GLuint program, GLint location, GLfloat v0, GLfloat v1); void APIENTRY (*ProgramUniform2fv)(GLuint program, GLint location, GLsizei count, const GLfloat *value); void APIENTRY (*ProgramUniform2fvEXT)(GLuint program, GLint location, GLsizei count, const GLfloat *value); void APIENTRY (*ProgramUniform2i)(GLuint program, GLint location, GLint v0, GLint v1); void APIENTRY (*ProgramUniform2i64NV)(GLuint program, GLint location, GLint64EXT x, GLint64EXT y); void APIENTRY (*ProgramUniform2i64vNV)(GLuint program, GLint location, GLsizei count, const GLint64EXT *value); void APIENTRY (*ProgramUniform2iEXT)(GLuint program, GLint location, GLint v0, GLint v1); void APIENTRY (*ProgramUniform2iv)(GLuint program, GLint location, GLsizei count, const GLint *value); void APIENTRY (*ProgramUniform2ivEXT)(GLuint program, GLint location, GLsizei count, const GLint *value); void APIENTRY (*ProgramUniform2ui)(GLuint program, GLint location, GLuint v0, GLuint v1); void APIENTRY (*ProgramUniform2ui64NV)(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y); void APIENTRY (*ProgramUniform2ui64vNV)(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); void APIENTRY (*ProgramUniform2uiEXT)(GLuint program, GLint location, GLuint v0, GLuint v1); void APIENTRY (*ProgramUniform2uiv)(GLuint program, GLint location, GLsizei count, const GLuint *value); void APIENTRY (*ProgramUniform2uivEXT)(GLuint program, GLint location, GLsizei count, const GLuint *value); void APIENTRY (*ProgramUniform3d)(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2); void APIENTRY (*ProgramUniform3dEXT)(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z); void APIENTRY (*ProgramUniform3dv)(GLuint program, GLint location, GLsizei count, const GLdouble *value); void APIENTRY (*ProgramUniform3dvEXT)(GLuint program, GLint location, GLsizei count, const GLdouble *value); void APIENTRY (*ProgramUniform3f)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2); void APIENTRY (*ProgramUniform3fEXT)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2); void APIENTRY (*ProgramUniform3fv)(GLuint program, GLint location, GLsizei count, const GLfloat *value); void APIENTRY (*ProgramUniform3fvEXT)(GLuint program, GLint location, GLsizei count, const GLfloat *value); void APIENTRY (*ProgramUniform3i)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2); void APIENTRY (*ProgramUniform3i64NV)(GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z); void APIENTRY (*ProgramUniform3i64vNV)(GLuint program, GLint location, GLsizei count, const GLint64EXT *value); void APIENTRY (*ProgramUniform3iEXT)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2); void APIENTRY (*ProgramUniform3iv)(GLuint program, GLint location, GLsizei count, const GLint *value); void APIENTRY (*ProgramUniform3ivEXT)(GLuint program, GLint location, GLsizei count, const GLint *value); void APIENTRY (*ProgramUniform3ui)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2); void APIENTRY (*ProgramUniform3ui64NV)(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); void APIENTRY (*ProgramUniform3ui64vNV)(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); void APIENTRY (*ProgramUniform3uiEXT)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2); void APIENTRY (*ProgramUniform3uiv)(GLuint program, GLint location, GLsizei count, const GLuint *value); void APIENTRY (*ProgramUniform3uivEXT)(GLuint program, GLint location, GLsizei count, const GLuint *value); void APIENTRY (*ProgramUniform4d)(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3); void APIENTRY (*ProgramUniform4dEXT)(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w); void APIENTRY (*ProgramUniform4dv)(GLuint program, GLint location, GLsizei count, const GLdouble *value); void APIENTRY (*ProgramUniform4dvEXT)(GLuint program, GLint location, GLsizei count, const GLdouble *value); void APIENTRY (*ProgramUniform4f)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); void APIENTRY (*ProgramUniform4fEXT)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); void APIENTRY (*ProgramUniform4fv)(GLuint program, GLint location, GLsizei count, const GLfloat *value); void APIENTRY (*ProgramUniform4fvEXT)(GLuint program, GLint location, GLsizei count, const GLfloat *value); void APIENTRY (*ProgramUniform4i)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3); void APIENTRY (*ProgramUniform4i64NV)(GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); void APIENTRY (*ProgramUniform4i64vNV)(GLuint program, GLint location, GLsizei count, const GLint64EXT *value); void APIENTRY (*ProgramUniform4iEXT)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3); void APIENTRY (*ProgramUniform4iv)(GLuint program, GLint location, GLsizei count, const GLint *value); void APIENTRY (*ProgramUniform4ivEXT)(GLuint program, GLint location, GLsizei count, const GLint *value); void APIENTRY (*ProgramUniform4ui)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); void APIENTRY (*ProgramUniform4ui64NV)(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); void APIENTRY (*ProgramUniform4ui64vNV)(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); void APIENTRY (*ProgramUniform4uiEXT)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); void APIENTRY (*ProgramUniform4uiv)(GLuint program, GLint location, GLsizei count, const GLuint *value); void APIENTRY (*ProgramUniform4uivEXT)(GLuint program, GLint location, GLsizei count, const GLuint *value); void APIENTRY (*ProgramUniformHandleui64ARB)(GLuint program, GLint location, GLuint64 value); void APIENTRY (*ProgramUniformHandleui64NV)(GLuint program, GLint location, GLuint64 value); void APIENTRY (*ProgramUniformHandleui64vARB)(GLuint program, GLint location, GLsizei count, const GLuint64 *values); void APIENTRY (*ProgramUniformHandleui64vNV)(GLuint program, GLint location, GLsizei count, const GLuint64 *values); void APIENTRY (*ProgramUniformMatrix2dv)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value); void APIENTRY (*ProgramUniformMatrix2dvEXT)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value); void APIENTRY (*ProgramUniformMatrix2fv)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value); void APIENTRY (*ProgramUniformMatrix2fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value); void APIENTRY (*ProgramUniformMatrix2x3dv)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value); void APIENTRY (*ProgramUniformMatrix2x3dvEXT)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value); void APIENTRY (*ProgramUniformMatrix2x3fv)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value); void APIENTRY (*ProgramUniformMatrix2x3fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value); void APIENTRY (*ProgramUniformMatrix2x4dv)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value); void APIENTRY (*ProgramUniformMatrix2x4dvEXT)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value); void APIENTRY (*ProgramUniformMatrix2x4fv)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value); void APIENTRY (*ProgramUniformMatrix2x4fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value); void APIENTRY (*ProgramUniformMatrix3dv)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value); void APIENTRY (*ProgramUniformMatrix3dvEXT)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value); void APIENTRY (*ProgramUniformMatrix3fv)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value); void APIENTRY (*ProgramUniformMatrix3fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value); void APIENTRY (*ProgramUniformMatrix3x2dv)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value); void APIENTRY (*ProgramUniformMatrix3x2dvEXT)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value); void APIENTRY (*ProgramUniformMatrix3x2fv)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value); void APIENTRY (*ProgramUniformMatrix3x2fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value); void APIENTRY (*ProgramUniformMatrix3x4dv)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value); void APIENTRY (*ProgramUniformMatrix3x4dvEXT)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value); void APIENTRY (*ProgramUniformMatrix3x4fv)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value); void APIENTRY (*ProgramUniformMatrix3x4fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value); void APIENTRY (*ProgramUniformMatrix4dv)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value); void APIENTRY (*ProgramUniformMatrix4dvEXT)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value); void APIENTRY (*ProgramUniformMatrix4fv)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value); void APIENTRY (*ProgramUniformMatrix4fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value); void APIENTRY (*ProgramUniformMatrix4x2dv)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value); void APIENTRY (*ProgramUniformMatrix4x2dvEXT)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value); void APIENTRY (*ProgramUniformMatrix4x2fv)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value); void APIENTRY (*ProgramUniformMatrix4x2fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value); void APIENTRY (*ProgramUniformMatrix4x3dv)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value); void APIENTRY (*ProgramUniformMatrix4x3dvEXT)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value); void APIENTRY (*ProgramUniformMatrix4x3fv)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value); void APIENTRY (*ProgramUniformMatrix4x3fvEXT)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value); void APIENTRY (*ProgramUniformui64NV)(GLuint program, GLint location, GLuint64EXT value); void APIENTRY (*ProgramUniformui64vNV)(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); void APIENTRY (*ProgramVertexLimitNV)(GLenum target, GLint limit); void APIENTRY (*ProvokingVertex)(GLenum mode); void APIENTRY (*ProvokingVertexEXT)(GLenum mode); void APIENTRY (*PushAttrib)(GLbitfield mask); void APIENTRY (*PushClientAttrib)(GLbitfield mask); void APIENTRY (*PushClientAttribDefaultEXT)(GLbitfield mask); void APIENTRY (*PushDebugGroup)(GLenum source, GLuint id, GLsizei length, const GLchar *message); void APIENTRY (*PushGroupMarkerEXT)(GLsizei length, const GLchar *marker); void APIENTRY (*PushMatrix)(void); void APIENTRY (*PushName)(GLuint name); void APIENTRY (*QueryCounter)(GLuint id, GLenum target); GLbitfield APIENTRY (*QueryMatrixxOES)(GLfixed *mantissa, GLint *exponent); void APIENTRY (*QueryObjectParameteruiAMD)(GLenum target, GLuint id, GLenum pname, GLuint param); void APIENTRY (*RasterPos2d)(GLdouble x, GLdouble y); void APIENTRY (*RasterPos2dv)(const GLdouble *v); void APIENTRY (*RasterPos2f)(GLfloat x, GLfloat y); void APIENTRY (*RasterPos2fv)(const GLfloat *v); void APIENTRY (*RasterPos2i)(GLint x, GLint y); void APIENTRY (*RasterPos2iv)(const GLint *v); void APIENTRY (*RasterPos2s)(GLshort32 x, GLshort32 y); void APIENTRY (*RasterPos2sv)(const GLshort *v); void APIENTRY (*RasterPos2xOES)(GLfixed x, GLfixed y); void APIENTRY (*RasterPos2xvOES)(const GLfixed *coords); void APIENTRY (*RasterPos3d)(GLdouble x, GLdouble y, GLdouble z); void APIENTRY (*RasterPos3dv)(const GLdouble *v); void APIENTRY (*RasterPos3f)(GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*RasterPos3fv)(const GLfloat *v); void APIENTRY (*RasterPos3i)(GLint x, GLint y, GLint z); void APIENTRY (*RasterPos3iv)(const GLint *v); void APIENTRY (*RasterPos3s)(GLshort32 x, GLshort32 y, GLshort32 z); void APIENTRY (*RasterPos3sv)(const GLshort *v); void APIENTRY (*RasterPos3xOES)(GLfixed x, GLfixed y, GLfixed z); void APIENTRY (*RasterPos3xvOES)(const GLfixed *coords); void APIENTRY (*RasterPos4d)(GLdouble x, GLdouble y, GLdouble z, GLdouble w); void APIENTRY (*RasterPos4dv)(const GLdouble *v); void APIENTRY (*RasterPos4f)(GLfloat x, GLfloat y, GLfloat z, GLfloat w); void APIENTRY (*RasterPos4fv)(const GLfloat *v); void APIENTRY (*RasterPos4i)(GLint x, GLint y, GLint z, GLint w); void APIENTRY (*RasterPos4iv)(const GLint *v); void APIENTRY (*RasterPos4s)(GLshort32 x, GLshort32 y, GLshort32 z, GLshort32 w); void APIENTRY (*RasterPos4sv)(const GLshort *v); void APIENTRY (*RasterPos4xOES)(GLfixed x, GLfixed y, GLfixed z, GLfixed w); void APIENTRY (*RasterPos4xvOES)(const GLfixed *coords); void APIENTRY (*ReadBuffer)(GLenum mode); void APIENTRY (*ReadInstrumentsSGIX)(GLint marker); void APIENTRY (*ReadPixels)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels); void APIENTRY (*ReadnPixelsARB)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); void APIENTRY (*Rectd)(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2); void APIENTRY (*Rectdv)(const GLdouble *v1, const GLdouble *v2); void APIENTRY (*Rectf)(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2); void APIENTRY (*Rectfv)(const GLfloat *v1, const GLfloat *v2); void APIENTRY (*Recti)(GLint x1, GLint y1, GLint x2, GLint y2); void APIENTRY (*Rectiv)(const GLint *v1, const GLint *v2); void APIENTRY (*Rects)(GLshort32 x1, GLshort32 y1, GLshort32 x2, GLshort32 y2); void APIENTRY (*Rectsv)(const GLshort *v1, const GLshort *v2); void APIENTRY (*RectxOES)(GLfixed x1, GLfixed y1, GLfixed x2, GLfixed y2); void APIENTRY (*RectxvOES)(const GLfixed *v1, const GLfixed *v2); void APIENTRY (*ReferencePlaneSGIX)(const GLdouble *equation); void APIENTRY (*ReleaseShaderCompiler)(void); GLint APIENTRY (*RenderMode)(GLenum mode); void APIENTRY (*RenderbufferStorage)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); void APIENTRY (*RenderbufferStorageEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); void APIENTRY (*RenderbufferStorageMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); void APIENTRY (*RenderbufferStorageMultisampleCoverageNV)(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height); void APIENTRY (*RenderbufferStorageMultisampleEXT)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); void APIENTRY (*ReplacementCodePointerSUN)(GLenum type, GLsizei stride, const void * *pointer); void APIENTRY (*ReplacementCodeubSUN)(GLubyte32 code); void APIENTRY (*ReplacementCodeubvSUN)(const GLubyte *code); void APIENTRY (*ReplacementCodeuiColor3fVertex3fSUN)(GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*ReplacementCodeuiColor3fVertex3fvSUN)(const GLuint *rc, const GLfloat *c, const GLfloat *v); void APIENTRY (*ReplacementCodeuiColor4fNormal3fVertex3fSUN)(GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*ReplacementCodeuiColor4fNormal3fVertex3fvSUN)(const GLuint *rc, const GLfloat *c, const GLfloat *n, const GLfloat *v); void APIENTRY (*ReplacementCodeuiColor4ubVertex3fSUN)(GLuint rc, GLubyte32 r, GLubyte32 g, GLubyte32 b, GLubyte32 a, GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*ReplacementCodeuiColor4ubVertex3fvSUN)(const GLuint *rc, const GLubyte *c, const GLfloat *v); void APIENTRY (*ReplacementCodeuiNormal3fVertex3fSUN)(GLuint rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*ReplacementCodeuiNormal3fVertex3fvSUN)(const GLuint *rc, const GLfloat *n, const GLfloat *v); void APIENTRY (*ReplacementCodeuiSUN)(GLuint code); void APIENTRY (*ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN)(GLuint rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN)(const GLuint *rc, const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v); void APIENTRY (*ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN)(GLuint rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN)(const GLuint *rc, const GLfloat *tc, const GLfloat *n, const GLfloat *v); void APIENTRY (*ReplacementCodeuiTexCoord2fVertex3fSUN)(GLuint rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*ReplacementCodeuiTexCoord2fVertex3fvSUN)(const GLuint *rc, const GLfloat *tc, const GLfloat *v); void APIENTRY (*ReplacementCodeuiVertex3fSUN)(GLuint rc, GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*ReplacementCodeuiVertex3fvSUN)(const GLuint *rc, const GLfloat *v); void APIENTRY (*ReplacementCodeuivSUN)(const GLuint *code); void APIENTRY (*ReplacementCodeusSUN)(GLushort32 code); void APIENTRY (*ReplacementCodeusvSUN)(const GLushort *code); void APIENTRY (*RequestResidentProgramsNV)(GLsizei n, const GLuint *programs); void APIENTRY (*ResetHistogram)(GLenum target); void APIENTRY (*ResetHistogramEXT)(GLenum target); void APIENTRY (*ResetMinmax)(GLenum target); void APIENTRY (*ResetMinmaxEXT)(GLenum target); void APIENTRY (*ResizeBuffersMESA)(void); void APIENTRY (*ResumeTransformFeedback)(void); void APIENTRY (*ResumeTransformFeedbackNV)(void); void APIENTRY (*Rotated)(GLdouble angle, GLdouble x, GLdouble y, GLdouble z); void APIENTRY (*Rotatef)(GLfloat angle, GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*RotatexOES)(GLfixed angle, GLfixed x, GLfixed y, GLfixed z); void APIENTRY (*SampleCoverage)(GLfloat value, GLboolean32 invert); void APIENTRY (*SampleCoverageARB)(GLfloat value, GLboolean32 invert); void APIENTRY (*SampleCoverageOES)(GLfixed value, GLboolean32 invert); void APIENTRY (*SampleMapATI)(GLuint dst, GLuint interp, GLenum swizzle); void APIENTRY (*SampleMaskEXT)(GLclampf value, GLboolean32 invert); void APIENTRY (*SampleMaskIndexedNV)(GLuint index, GLbitfield mask); void APIENTRY (*SampleMaskSGIS)(GLclampf value, GLboolean32 invert); void APIENTRY (*SampleMaski)(GLuint maskNumber, GLbitfield mask); void APIENTRY (*SamplePass)(GLenum mode); void APIENTRY (*SamplePassARB)(GLenum mode); void APIENTRY (*SamplePatternEXT)(GLenum pattern); void APIENTRY (*SamplePatternSGIS)(GLenum pattern); void APIENTRY (*SamplerParameterIiv)(GLuint sampler, GLenum pname, const GLint *param); void APIENTRY (*SamplerParameterIuiv)(GLuint sampler, GLenum pname, const GLuint *param); void APIENTRY (*SamplerParameterf)(GLuint sampler, GLenum pname, GLfloat param); void APIENTRY (*SamplerParameterfv)(GLuint sampler, GLenum pname, const GLfloat *param); void APIENTRY (*SamplerParameteri)(GLuint sampler, GLenum pname, GLint param); void APIENTRY (*SamplerParameteriv)(GLuint sampler, GLenum pname, const GLint *param); void APIENTRY (*Scaled)(GLdouble x, GLdouble y, GLdouble z); void APIENTRY (*Scalef)(GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*ScalexOES)(GLfixed x, GLfixed y, GLfixed z); void APIENTRY (*Scissor)(GLint x, GLint y, GLsizei width, GLsizei height); void APIENTRY (*ScissorArrayv)(GLuint first, GLsizei count, const GLint *v); void APIENTRY (*ScissorIndexed)(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height); void APIENTRY (*ScissorIndexedv)(GLuint index, const GLint *v); void APIENTRY (*SecondaryColor3b)(GLbyte32 red, GLbyte32 green, GLbyte32 blue); void APIENTRY (*SecondaryColor3bEXT)(GLbyte32 red, GLbyte32 green, GLbyte32 blue); void APIENTRY (*SecondaryColor3bv)(const GLbyte *v); void APIENTRY (*SecondaryColor3bvEXT)(const GLbyte *v); void APIENTRY (*SecondaryColor3d)(GLdouble red, GLdouble green, GLdouble blue); void APIENTRY (*SecondaryColor3dEXT)(GLdouble red, GLdouble green, GLdouble blue); void APIENTRY (*SecondaryColor3dv)(const GLdouble *v); void APIENTRY (*SecondaryColor3dvEXT)(const GLdouble *v); void APIENTRY (*SecondaryColor3f)(GLfloat red, GLfloat green, GLfloat blue); void APIENTRY (*SecondaryColor3fEXT)(GLfloat red, GLfloat green, GLfloat blue); void APIENTRY (*SecondaryColor3fv)(const GLfloat *v); void APIENTRY (*SecondaryColor3fvEXT)(const GLfloat *v); void APIENTRY (*SecondaryColor3hNV)(GLhalfNV32 red, GLhalfNV32 green, GLhalfNV32 blue); void APIENTRY (*SecondaryColor3hvNV)(const GLhalfNV *v); void APIENTRY (*SecondaryColor3i)(GLint red, GLint green, GLint blue); void APIENTRY (*SecondaryColor3iEXT)(GLint red, GLint green, GLint blue); void APIENTRY (*SecondaryColor3iv)(const GLint *v); void APIENTRY (*SecondaryColor3ivEXT)(const GLint *v); void APIENTRY (*SecondaryColor3s)(GLshort32 red, GLshort32 green, GLshort32 blue); void APIENTRY (*SecondaryColor3sEXT)(GLshort32 red, GLshort32 green, GLshort32 blue); void APIENTRY (*SecondaryColor3sv)(const GLshort *v); void APIENTRY (*SecondaryColor3svEXT)(const GLshort *v); void APIENTRY (*SecondaryColor3ub)(GLubyte32 red, GLubyte32 green, GLubyte32 blue); void APIENTRY (*SecondaryColor3ubEXT)(GLubyte32 red, GLubyte32 green, GLubyte32 blue); void APIENTRY (*SecondaryColor3ubv)(const GLubyte *v); void APIENTRY (*SecondaryColor3ubvEXT)(const GLubyte *v); void APIENTRY (*SecondaryColor3ui)(GLuint red, GLuint green, GLuint blue); void APIENTRY (*SecondaryColor3uiEXT)(GLuint red, GLuint green, GLuint blue); void APIENTRY (*SecondaryColor3uiv)(const GLuint *v); void APIENTRY (*SecondaryColor3uivEXT)(const GLuint *v); void APIENTRY (*SecondaryColor3us)(GLushort32 red, GLushort32 green, GLushort32 blue); void APIENTRY (*SecondaryColor3usEXT)(GLushort32 red, GLushort32 green, GLushort32 blue); void APIENTRY (*SecondaryColor3usv)(const GLushort *v); void APIENTRY (*SecondaryColor3usvEXT)(const GLushort *v); void APIENTRY (*SecondaryColorFormatNV)(GLint size, GLenum type, GLsizei stride); void APIENTRY (*SecondaryColorP3ui)(GLenum type, GLuint color); void APIENTRY (*SecondaryColorP3uiv)(GLenum type, const GLuint *color); void APIENTRY (*SecondaryColorPointer)(GLint size, GLenum type, GLsizei stride, const void *pointer); void APIENTRY (*SecondaryColorPointerEXT)(GLint size, GLenum type, GLsizei stride, const void *pointer); void APIENTRY (*SecondaryColorPointerListIBM)(GLint size, GLenum type, GLint stride, const void * *pointer, GLint ptrstride); void APIENTRY (*SelectBuffer)(GLsizei size, GLuint *buffer); void APIENTRY (*SelectPerfMonitorCountersAMD)(GLuint monitor, GLboolean32 enable, GLuint group, GLint numCounters, GLuint *counterList); void APIENTRY (*SeparableFilter2D)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *row, const void *column); void APIENTRY (*SeparableFilter2DEXT)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *row, const void *column); void APIENTRY (*SetFenceAPPLE)(GLuint fence); void APIENTRY (*SetFenceNV)(GLuint fence, GLenum condition); void APIENTRY (*SetFragmentShaderConstantATI)(GLuint dst, const GLfloat *value); void APIENTRY (*SetInvariantEXT)(GLuint id, GLenum type, const void *addr); void APIENTRY (*SetLocalConstantEXT)(GLuint id, GLenum type, const void *addr); void APIENTRY (*SetMultisamplefvAMD)(GLenum pname, GLuint index, const GLfloat *val); void APIENTRY (*ShadeModel)(GLenum mode); void APIENTRY (*ShaderBinary)(GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length); void APIENTRY (*ShaderOp1EXT)(GLenum op, GLuint res, GLuint arg1); void APIENTRY (*ShaderOp2EXT)(GLenum op, GLuint res, GLuint arg1, GLuint arg2); void APIENTRY (*ShaderOp3EXT)(GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3); void APIENTRY (*ShaderSource)(GLuint shader, GLsizei count, const GLchar *const *string, const GLint *length); void APIENTRY (*ShaderSourceARB)(GLhandleARB shaderObj, GLsizei count, const GLcharARB * *string, const GLint *length); void APIENTRY (*ShaderStorageBlockBinding)(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding); void APIENTRY (*SharpenTexFuncSGIS)(GLenum target, GLsizei n, const GLfloat *points); void APIENTRY (*SpriteParameterfSGIX)(GLenum pname, GLfloat param); void APIENTRY (*SpriteParameterfvSGIX)(GLenum pname, const GLfloat *params); void APIENTRY (*SpriteParameteriSGIX)(GLenum pname, GLint param); void APIENTRY (*SpriteParameterivSGIX)(GLenum pname, const GLint *params); void APIENTRY (*StartInstrumentsSGIX)(void); void APIENTRY (*StencilClearTagEXT)(GLsizei stencilTagBits, GLuint stencilClearTag); void APIENTRY (*StencilFillPathInstancedNV)(GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues); void APIENTRY (*StencilFillPathNV)(GLuint path, GLenum fillMode, GLuint mask); void APIENTRY (*StencilFunc)(GLenum func, GLint ref, GLuint mask); void APIENTRY (*StencilFuncSeparate)(GLenum face, GLenum func, GLint ref, GLuint mask); void APIENTRY (*StencilFuncSeparateATI)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask); void APIENTRY (*StencilMask)(GLuint mask); void APIENTRY (*StencilMaskSeparate)(GLenum face, GLuint mask); void APIENTRY (*StencilOp)(GLenum fail, GLenum zfail, GLenum zpass); void APIENTRY (*StencilOpSeparate)(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); void APIENTRY (*StencilOpSeparateATI)(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); void APIENTRY (*StencilOpValueAMD)(GLenum face, GLuint value); void APIENTRY (*StencilStrokePathInstancedNV)(GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues); void APIENTRY (*StencilStrokePathNV)(GLuint path, GLint reference, GLuint mask); void APIENTRY (*StopInstrumentsSGIX)(GLint marker); void APIENTRY (*StringMarkerGREMEDY)(GLsizei len, const void *string); void APIENTRY (*SwapAPPLE)(void); void APIENTRY (*SwizzleEXT)(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW); void APIENTRY (*SyncTextureINTEL)(GLuint texture); void APIENTRY (*TagSampleBufferSGIX)(void); void APIENTRY (*Tangent3bEXT)(GLbyte32 tx, GLbyte32 ty, GLbyte32 tz); void APIENTRY (*Tangent3bvEXT)(const GLbyte *v); void APIENTRY (*Tangent3dEXT)(GLdouble tx, GLdouble ty, GLdouble tz); void APIENTRY (*Tangent3dvEXT)(const GLdouble *v); void APIENTRY (*Tangent3fEXT)(GLfloat tx, GLfloat ty, GLfloat tz); void APIENTRY (*Tangent3fvEXT)(const GLfloat *v); void APIENTRY (*Tangent3iEXT)(GLint tx, GLint ty, GLint tz); void APIENTRY (*Tangent3ivEXT)(const GLint *v); void APIENTRY (*Tangent3sEXT)(GLshort32 tx, GLshort32 ty, GLshort32 tz); void APIENTRY (*Tangent3svEXT)(const GLshort *v); void APIENTRY (*TangentPointerEXT)(GLenum type, GLsizei stride, const void *pointer); void APIENTRY (*TbufferMask3DFX)(GLuint mask); void APIENTRY (*TessellationFactorAMD)(GLfloat factor); void APIENTRY (*TessellationModeAMD)(GLenum mode); GLboolean APIENTRY (*TestFenceAPPLE)(GLuint fence); GLboolean APIENTRY (*TestFenceNV)(GLuint fence); GLboolean APIENTRY (*TestObjectAPPLE)(GLenum object, GLuint name); void APIENTRY (*TexBuffer)(GLenum target, GLenum internalformat, GLuint buffer); void APIENTRY (*TexBufferARB)(GLenum target, GLenum internalformat, GLuint buffer); void APIENTRY (*TexBufferEXT)(GLenum target, GLenum internalformat, GLuint buffer); void APIENTRY (*TexBufferRange)(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); void APIENTRY (*TexBumpParameterfvATI)(GLenum pname, const GLfloat *param); void APIENTRY (*TexBumpParameterivATI)(GLenum pname, const GLint *param); void APIENTRY (*TexCoord1bOES)(GLbyte32 s); void APIENTRY (*TexCoord1bvOES)(const GLbyte *coords); void APIENTRY (*TexCoord1d)(GLdouble s); void APIENTRY (*TexCoord1dv)(const GLdouble *v); void APIENTRY (*TexCoord1f)(GLfloat s); void APIENTRY (*TexCoord1fv)(const GLfloat *v); void APIENTRY (*TexCoord1hNV)(GLhalfNV32 s); void APIENTRY (*TexCoord1hvNV)(const GLhalfNV *v); void APIENTRY (*TexCoord1i)(GLint s); void APIENTRY (*TexCoord1iv)(const GLint *v); void APIENTRY (*TexCoord1s)(GLshort32 s); void APIENTRY (*TexCoord1sv)(const GLshort *v); void APIENTRY (*TexCoord1xOES)(GLfixed s); void APIENTRY (*TexCoord1xvOES)(const GLfixed *coords); void APIENTRY (*TexCoord2bOES)(GLbyte32 s, GLbyte32 t); void APIENTRY (*TexCoord2bvOES)(const GLbyte *coords); void APIENTRY (*TexCoord2d)(GLdouble s, GLdouble t); void APIENTRY (*TexCoord2dv)(const GLdouble *v); void APIENTRY (*TexCoord2f)(GLfloat s, GLfloat t); void APIENTRY (*TexCoord2fColor3fVertex3fSUN)(GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*TexCoord2fColor3fVertex3fvSUN)(const GLfloat *tc, const GLfloat *c, const GLfloat *v); void APIENTRY (*TexCoord2fColor4fNormal3fVertex3fSUN)(GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*TexCoord2fColor4fNormal3fVertex3fvSUN)(const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v); void APIENTRY (*TexCoord2fColor4ubVertex3fSUN)(GLfloat s, GLfloat t, GLubyte32 r, GLubyte32 g, GLubyte32 b, GLubyte32 a, GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*TexCoord2fColor4ubVertex3fvSUN)(const GLfloat *tc, const GLubyte *c, const GLfloat *v); void APIENTRY (*TexCoord2fNormal3fVertex3fSUN)(GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*TexCoord2fNormal3fVertex3fvSUN)(const GLfloat *tc, const GLfloat *n, const GLfloat *v); void APIENTRY (*TexCoord2fVertex3fSUN)(GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*TexCoord2fVertex3fvSUN)(const GLfloat *tc, const GLfloat *v); void APIENTRY (*TexCoord2fv)(const GLfloat *v); void APIENTRY (*TexCoord2hNV)(GLhalfNV32 s, GLhalfNV32 t); void APIENTRY (*TexCoord2hvNV)(const GLhalfNV *v); void APIENTRY (*TexCoord2i)(GLint s, GLint t); void APIENTRY (*TexCoord2iv)(const GLint *v); void APIENTRY (*TexCoord2s)(GLshort32 s, GLshort32 t); void APIENTRY (*TexCoord2sv)(const GLshort *v); void APIENTRY (*TexCoord2xOES)(GLfixed s, GLfixed t); void APIENTRY (*TexCoord2xvOES)(const GLfixed *coords); void APIENTRY (*TexCoord3bOES)(GLbyte32 s, GLbyte32 t, GLbyte32 r); void APIENTRY (*TexCoord3bvOES)(const GLbyte *coords); void APIENTRY (*TexCoord3d)(GLdouble s, GLdouble t, GLdouble r); void APIENTRY (*TexCoord3dv)(const GLdouble *v); void APIENTRY (*TexCoord3f)(GLfloat s, GLfloat t, GLfloat r); void APIENTRY (*TexCoord3fv)(const GLfloat *v); void APIENTRY (*TexCoord3hNV)(GLhalfNV32 s, GLhalfNV32 t, GLhalfNV32 r); void APIENTRY (*TexCoord3hvNV)(const GLhalfNV *v); void APIENTRY (*TexCoord3i)(GLint s, GLint t, GLint r); void APIENTRY (*TexCoord3iv)(const GLint *v); void APIENTRY (*TexCoord3s)(GLshort32 s, GLshort32 t, GLshort32 r); void APIENTRY (*TexCoord3sv)(const GLshort *v); void APIENTRY (*TexCoord3xOES)(GLfixed s, GLfixed t, GLfixed r); void APIENTRY (*TexCoord3xvOES)(const GLfixed *coords); void APIENTRY (*TexCoord4bOES)(GLbyte32 s, GLbyte32 t, GLbyte32 r, GLbyte32 q); void APIENTRY (*TexCoord4bvOES)(const GLbyte *coords); void APIENTRY (*TexCoord4d)(GLdouble s, GLdouble t, GLdouble r, GLdouble q); void APIENTRY (*TexCoord4dv)(const GLdouble *v); void APIENTRY (*TexCoord4f)(GLfloat s, GLfloat t, GLfloat r, GLfloat q); void APIENTRY (*TexCoord4fColor4fNormal3fVertex4fSUN)(GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w); void APIENTRY (*TexCoord4fColor4fNormal3fVertex4fvSUN)(const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v); void APIENTRY (*TexCoord4fVertex4fSUN)(GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w); void APIENTRY (*TexCoord4fVertex4fvSUN)(const GLfloat *tc, const GLfloat *v); void APIENTRY (*TexCoord4fv)(const GLfloat *v); void APIENTRY (*TexCoord4hNV)(GLhalfNV32 s, GLhalfNV32 t, GLhalfNV32 r, GLhalfNV32 q); void APIENTRY (*TexCoord4hvNV)(const GLhalfNV *v); void APIENTRY (*TexCoord4i)(GLint s, GLint t, GLint r, GLint q); void APIENTRY (*TexCoord4iv)(const GLint *v); void APIENTRY (*TexCoord4s)(GLshort32 s, GLshort32 t, GLshort32 r, GLshort32 q); void APIENTRY (*TexCoord4sv)(const GLshort *v); void APIENTRY (*TexCoord4xOES)(GLfixed s, GLfixed t, GLfixed r, GLfixed q); void APIENTRY (*TexCoord4xvOES)(const GLfixed *coords); void APIENTRY (*TexCoordFormatNV)(GLint size, GLenum type, GLsizei stride); void APIENTRY (*TexCoordP1ui)(GLenum type, GLuint coords); void APIENTRY (*TexCoordP1uiv)(GLenum type, const GLuint *coords); void APIENTRY (*TexCoordP2ui)(GLenum type, GLuint coords); void APIENTRY (*TexCoordP2uiv)(GLenum type, const GLuint *coords); void APIENTRY (*TexCoordP3ui)(GLenum type, GLuint coords); void APIENTRY (*TexCoordP3uiv)(GLenum type, const GLuint *coords); void APIENTRY (*TexCoordP4ui)(GLenum type, GLuint coords); void APIENTRY (*TexCoordP4uiv)(GLenum type, const GLuint *coords); void APIENTRY (*TexCoordPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); void APIENTRY (*TexCoordPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const void *pointer); void APIENTRY (*TexCoordPointerListIBM)(GLint size, GLenum type, GLint stride, const void * *pointer, GLint ptrstride); void APIENTRY (*TexCoordPointervINTEL)(GLint size, GLenum type, const void * *pointer); void APIENTRY (*TexEnvf)(GLenum target, GLenum pname, GLfloat param); void APIENTRY (*TexEnvfv)(GLenum target, GLenum pname, const GLfloat *params); void APIENTRY (*TexEnvi)(GLenum target, GLenum pname, GLint param); void APIENTRY (*TexEnviv)(GLenum target, GLenum pname, const GLint *params); void APIENTRY (*TexEnvxOES)(GLenum target, GLenum pname, GLfixed param); void APIENTRY (*TexEnvxvOES)(GLenum target, GLenum pname, const GLfixed *params); void APIENTRY (*TexFilterFuncSGIS)(GLenum target, GLenum filter, GLsizei n, const GLfloat *weights); void APIENTRY (*TexGend)(GLenum coord, GLenum pname, GLdouble param); void APIENTRY (*TexGendv)(GLenum coord, GLenum pname, const GLdouble *params); void APIENTRY (*TexGenf)(GLenum coord, GLenum pname, GLfloat param); void APIENTRY (*TexGenfv)(GLenum coord, GLenum pname, const GLfloat *params); void APIENTRY (*TexGeni)(GLenum coord, GLenum pname, GLint param); void APIENTRY (*TexGeniv)(GLenum coord, GLenum pname, const GLint *params); void APIENTRY (*TexGenxOES)(GLenum coord, GLenum pname, GLfixed param); void APIENTRY (*TexGenxvOES)(GLenum coord, GLenum pname, const GLfixed *params); void APIENTRY (*TexImage1D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels); void APIENTRY (*TexImage2D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels); void APIENTRY (*TexImage2DMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean32 fixedsamplelocations); void APIENTRY (*TexImage2DMultisampleCoverageNV)(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean32 fixedSampleLocations); void APIENTRY (*TexImage3D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); void APIENTRY (*TexImage3DEXT)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); void APIENTRY (*TexImage3DMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean32 fixedsamplelocations); void APIENTRY (*TexImage3DMultisampleCoverageNV)(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean32 fixedSampleLocations); void APIENTRY (*TexImage4DSGIS)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLint border, GLenum format, GLenum type, const void *pixels); void APIENTRY (*TexPageCommitmentARB)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean32 resident); void APIENTRY (*TexParameterIiv)(GLenum target, GLenum pname, const GLint *params); void APIENTRY (*TexParameterIivEXT)(GLenum target, GLenum pname, const GLint *params); void APIENTRY (*TexParameterIuiv)(GLenum target, GLenum pname, const GLuint *params); void APIENTRY (*TexParameterIuivEXT)(GLenum target, GLenum pname, const GLuint *params); void APIENTRY (*TexParameterf)(GLenum target, GLenum pname, GLfloat param); void APIENTRY (*TexParameterfv)(GLenum target, GLenum pname, const GLfloat *params); void APIENTRY (*TexParameteri)(GLenum target, GLenum pname, GLint param); void APIENTRY (*TexParameteriv)(GLenum target, GLenum pname, const GLint *params); void APIENTRY (*TexParameterxOES)(GLenum target, GLenum pname, GLfixed param); void APIENTRY (*TexParameterxvOES)(GLenum target, GLenum pname, const GLfixed *params); void APIENTRY (*TexRenderbufferNV)(GLenum target, GLuint renderbuffer); void APIENTRY (*TexScissorFuncINTEL)(GLenum target, GLenum lfunc, GLenum hfunc); void APIENTRY (*TexScissorINTEL)(GLenum target, GLclampf tlow, GLclampf thigh); void APIENTRY (*TexStorage1D)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); void APIENTRY (*TexStorage2D)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); void APIENTRY (*TexStorage2DMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean32 fixedsamplelocations); void APIENTRY (*TexStorage3D)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); void APIENTRY (*TexStorage3DMultisample)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean32 fixedsamplelocations); void APIENTRY (*TexStorageSparseAMD)(GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags); void APIENTRY (*TexSubImage1D)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels); void APIENTRY (*TexSubImage1DEXT)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels); void APIENTRY (*TexSubImage2D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels); void APIENTRY (*TexSubImage2DEXT)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); void APIENTRY (*TexSubImage3D)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); void APIENTRY (*TexSubImage3DEXT)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); void APIENTRY (*TexSubImage4DSGIS)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLenum format, GLenum type, const void *pixels); void APIENTRY (*TextureBarrierNV)(void); void APIENTRY (*TextureBufferEXT)(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer); void APIENTRY (*TextureBufferRangeEXT)(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); void APIENTRY (*TextureColorMaskSGIS)(GLboolean32 red, GLboolean32 green, GLboolean32 blue, GLboolean32 alpha); void APIENTRY (*TextureFogSGIX)(GLenum pname); void APIENTRY (*TextureImage1DEXT)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels); void APIENTRY (*TextureImage2DEXT)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels); void APIENTRY (*TextureImage2DMultisampleCoverageNV)(GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean32 fixedSampleLocations); void APIENTRY (*TextureImage2DMultisampleNV)(GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean32 fixedSampleLocations); void APIENTRY (*TextureImage3DEXT)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); void APIENTRY (*TextureImage3DMultisampleCoverageNV)(GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean32 fixedSampleLocations); void APIENTRY (*TextureImage3DMultisampleNV)(GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean32 fixedSampleLocations); void APIENTRY (*TextureLightEXT)(GLenum pname); void APIENTRY (*TextureMaterialEXT)(GLenum face, GLenum mode); void APIENTRY (*TextureNormalEXT)(GLenum mode); void APIENTRY (*TexturePageCommitmentEXT)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean32 resident); void APIENTRY (*TextureParameterIivEXT)(GLuint texture, GLenum target, GLenum pname, const GLint *params); void APIENTRY (*TextureParameterIuivEXT)(GLuint texture, GLenum target, GLenum pname, const GLuint *params); void APIENTRY (*TextureParameterfEXT)(GLuint texture, GLenum target, GLenum pname, GLfloat param); void APIENTRY (*TextureParameterfvEXT)(GLuint texture, GLenum target, GLenum pname, const GLfloat *params); void APIENTRY (*TextureParameteriEXT)(GLuint texture, GLenum target, GLenum pname, GLint param); void APIENTRY (*TextureParameterivEXT)(GLuint texture, GLenum target, GLenum pname, const GLint *params); void APIENTRY (*TextureRangeAPPLE)(GLenum target, GLsizei length, const void *pointer); void APIENTRY (*TextureRenderbufferEXT)(GLuint texture, GLenum target, GLuint renderbuffer); void APIENTRY (*TextureStorage1DEXT)(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); void APIENTRY (*TextureStorage2DEXT)(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); void APIENTRY (*TextureStorage2DMultisampleEXT)(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean32 fixedsamplelocations); void APIENTRY (*TextureStorage3DEXT)(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); void APIENTRY (*TextureStorage3DMultisampleEXT)(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean32 fixedsamplelocations); void APIENTRY (*TextureStorageSparseAMD)(GLuint texture, GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags); void APIENTRY (*TextureSubImage1DEXT)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels); void APIENTRY (*TextureSubImage2DEXT)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); void APIENTRY (*TextureSubImage3DEXT)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); void APIENTRY (*TextureView)(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers); void APIENTRY (*TraceAssertAttribMESA)(GLbitfield attribMask); void APIENTRY (*TraceCommentMESA)(const GLubyte *comment); void APIENTRY (*TraceListMESA)(GLuint name, const GLubyte *comment); void APIENTRY (*TracePointerMESA)(GLvoid *pointer, const GLubyte *comment); void APIENTRY (*TracePointerRangeMESA)(const GLvoid *first, const GLvoid *last, const GLubyte *comment); void APIENTRY (*TraceTextureMESA)(GLuint name, const GLubyte *comment); void APIENTRY (*TrackMatrixNV)(GLenum target, GLuint address, GLenum matrix, GLenum transform); void APIENTRY (*TransformFeedbackAttribsNV)(GLuint count, const GLint *attribs, GLenum bufferMode); void APIENTRY (*TransformFeedbackStreamAttribsNV)(GLsizei count, const GLint *attribs, GLsizei nbuffers, const GLint *bufstreams, GLenum bufferMode); void APIENTRY (*TransformFeedbackVaryings)(GLuint program, GLsizei count, const GLchar *const *varyings, GLenum bufferMode); void APIENTRY (*TransformFeedbackVaryingsEXT)(GLuint program, GLsizei count, const GLchar *const *varyings, GLenum bufferMode); void APIENTRY (*TransformFeedbackVaryingsNV)(GLuint program, GLsizei count, const GLint *locations, GLenum bufferMode); void APIENTRY (*TransformPathNV)(GLuint resultPath, GLuint srcPath, GLenum transformType, const GLfloat *transformValues); void APIENTRY (*Translated)(GLdouble x, GLdouble y, GLdouble z); void APIENTRY (*Translatef)(GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*TranslatexOES)(GLfixed x, GLfixed y, GLfixed z); void APIENTRY (*Uniform1d)(GLint location, GLdouble x); void APIENTRY (*Uniform1dv)(GLint location, GLsizei count, const GLdouble *value); void APIENTRY (*Uniform1f)(GLint location, GLfloat v0); void APIENTRY (*Uniform1fARB)(GLint location, GLfloat v0); void APIENTRY (*Uniform1fv)(GLint location, GLsizei count, const GLfloat *value); void APIENTRY (*Uniform1fvARB)(GLint location, GLsizei count, const GLfloat *value); void APIENTRY (*Uniform1i)(GLint location, GLint v0); void APIENTRY (*Uniform1i64NV)(GLint location, GLint64EXT x); void APIENTRY (*Uniform1i64vNV)(GLint location, GLsizei count, const GLint64EXT *value); void APIENTRY (*Uniform1iARB)(GLint location, GLint v0); void APIENTRY (*Uniform1iv)(GLint location, GLsizei count, const GLint *value); void APIENTRY (*Uniform1ivARB)(GLint location, GLsizei count, const GLint *value); void APIENTRY (*Uniform1ui)(GLint location, GLuint v0); void APIENTRY (*Uniform1ui64NV)(GLint location, GLuint64EXT x); void APIENTRY (*Uniform1ui64vNV)(GLint location, GLsizei count, const GLuint64EXT *value); void APIENTRY (*Uniform1uiEXT)(GLint location, GLuint v0); void APIENTRY (*Uniform1uiv)(GLint location, GLsizei count, const GLuint *value); void APIENTRY (*Uniform1uivEXT)(GLint location, GLsizei count, const GLuint *value); void APIENTRY (*Uniform2d)(GLint location, GLdouble x, GLdouble y); void APIENTRY (*Uniform2dv)(GLint location, GLsizei count, const GLdouble *value); void APIENTRY (*Uniform2f)(GLint location, GLfloat v0, GLfloat v1); void APIENTRY (*Uniform2fARB)(GLint location, GLfloat v0, GLfloat v1); void APIENTRY (*Uniform2fv)(GLint location, GLsizei count, const GLfloat *value); void APIENTRY (*Uniform2fvARB)(GLint location, GLsizei count, const GLfloat *value); void APIENTRY (*Uniform2i)(GLint location, GLint v0, GLint v1); void APIENTRY (*Uniform2i64NV)(GLint location, GLint64EXT x, GLint64EXT y); void APIENTRY (*Uniform2i64vNV)(GLint location, GLsizei count, const GLint64EXT *value); void APIENTRY (*Uniform2iARB)(GLint location, GLint v0, GLint v1); void APIENTRY (*Uniform2iv)(GLint location, GLsizei count, const GLint *value); void APIENTRY (*Uniform2ivARB)(GLint location, GLsizei count, const GLint *value); void APIENTRY (*Uniform2ui)(GLint location, GLuint v0, GLuint v1); void APIENTRY (*Uniform2ui64NV)(GLint location, GLuint64EXT x, GLuint64EXT y); void APIENTRY (*Uniform2ui64vNV)(GLint location, GLsizei count, const GLuint64EXT *value); void APIENTRY (*Uniform2uiEXT)(GLint location, GLuint v0, GLuint v1); void APIENTRY (*Uniform2uiv)(GLint location, GLsizei count, const GLuint *value); void APIENTRY (*Uniform2uivEXT)(GLint location, GLsizei count, const GLuint *value); void APIENTRY (*Uniform3d)(GLint location, GLdouble x, GLdouble y, GLdouble z); void APIENTRY (*Uniform3dv)(GLint location, GLsizei count, const GLdouble *value); void APIENTRY (*Uniform3f)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2); void APIENTRY (*Uniform3fARB)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2); void APIENTRY (*Uniform3fv)(GLint location, GLsizei count, const GLfloat *value); void APIENTRY (*Uniform3fvARB)(GLint location, GLsizei count, const GLfloat *value); void APIENTRY (*Uniform3i)(GLint location, GLint v0, GLint v1, GLint v2); void APIENTRY (*Uniform3i64NV)(GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z); void APIENTRY (*Uniform3i64vNV)(GLint location, GLsizei count, const GLint64EXT *value); void APIENTRY (*Uniform3iARB)(GLint location, GLint v0, GLint v1, GLint v2); void APIENTRY (*Uniform3iv)(GLint location, GLsizei count, const GLint *value); void APIENTRY (*Uniform3ivARB)(GLint location, GLsizei count, const GLint *value); void APIENTRY (*Uniform3ui)(GLint location, GLuint v0, GLuint v1, GLuint v2); void APIENTRY (*Uniform3ui64NV)(GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); void APIENTRY (*Uniform3ui64vNV)(GLint location, GLsizei count, const GLuint64EXT *value); void APIENTRY (*Uniform3uiEXT)(GLint location, GLuint v0, GLuint v1, GLuint v2); void APIENTRY (*Uniform3uiv)(GLint location, GLsizei count, const GLuint *value); void APIENTRY (*Uniform3uivEXT)(GLint location, GLsizei count, const GLuint *value); void APIENTRY (*Uniform4d)(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w); void APIENTRY (*Uniform4dv)(GLint location, GLsizei count, const GLdouble *value); void APIENTRY (*Uniform4f)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); void APIENTRY (*Uniform4fARB)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); void APIENTRY (*Uniform4fv)(GLint location, GLsizei count, const GLfloat *value); void APIENTRY (*Uniform4fvARB)(GLint location, GLsizei count, const GLfloat *value); void APIENTRY (*Uniform4i)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3); void APIENTRY (*Uniform4i64NV)(GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); void APIENTRY (*Uniform4i64vNV)(GLint location, GLsizei count, const GLint64EXT *value); void APIENTRY (*Uniform4iARB)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3); void APIENTRY (*Uniform4iv)(GLint location, GLsizei count, const GLint *value); void APIENTRY (*Uniform4ivARB)(GLint location, GLsizei count, const GLint *value); void APIENTRY (*Uniform4ui)(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); void APIENTRY (*Uniform4ui64NV)(GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); void APIENTRY (*Uniform4ui64vNV)(GLint location, GLsizei count, const GLuint64EXT *value); void APIENTRY (*Uniform4uiEXT)(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); void APIENTRY (*Uniform4uiv)(GLint location, GLsizei count, const GLuint *value); void APIENTRY (*Uniform4uivEXT)(GLint location, GLsizei count, const GLuint *value); void APIENTRY (*UniformBlockBinding)(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding); void APIENTRY (*UniformBufferEXT)(GLuint program, GLint location, GLuint buffer); void APIENTRY (*UniformHandleui64ARB)(GLint location, GLuint64 value); void APIENTRY (*UniformHandleui64NV)(GLint location, GLuint64 value); void APIENTRY (*UniformHandleui64vARB)(GLint location, GLsizei count, const GLuint64 *value); void APIENTRY (*UniformHandleui64vNV)(GLint location, GLsizei count, const GLuint64 *value); void APIENTRY (*UniformMatrix2dv)(GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value); void APIENTRY (*UniformMatrix2fv)(GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value); void APIENTRY (*UniformMatrix2fvARB)(GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value); void APIENTRY (*UniformMatrix2x3dv)(GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value); void APIENTRY (*UniformMatrix2x3fv)(GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value); void APIENTRY (*UniformMatrix2x4dv)(GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value); void APIENTRY (*UniformMatrix2x4fv)(GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value); void APIENTRY (*UniformMatrix3dv)(GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value); void APIENTRY (*UniformMatrix3fv)(GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value); void APIENTRY (*UniformMatrix3fvARB)(GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value); void APIENTRY (*UniformMatrix3x2dv)(GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value); void APIENTRY (*UniformMatrix3x2fv)(GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value); void APIENTRY (*UniformMatrix3x4dv)(GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value); void APIENTRY (*UniformMatrix3x4fv)(GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value); void APIENTRY (*UniformMatrix4dv)(GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value); void APIENTRY (*UniformMatrix4fv)(GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value); void APIENTRY (*UniformMatrix4fvARB)(GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value); void APIENTRY (*UniformMatrix4x2dv)(GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value); void APIENTRY (*UniformMatrix4x2fv)(GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value); void APIENTRY (*UniformMatrix4x3dv)(GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value); void APIENTRY (*UniformMatrix4x3fv)(GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value); void APIENTRY (*UniformSubroutinesuiv)(GLenum shadertype, GLsizei count, const GLuint *indices); void APIENTRY (*Uniformui64NV)(GLint location, GLuint64EXT value); void APIENTRY (*Uniformui64vNV)(GLint location, GLsizei count, const GLuint64EXT *value); void APIENTRY (*UnlockArraysEXT)(void); GLboolean APIENTRY (*UnmapBuffer)(GLenum target); GLboolean APIENTRY (*UnmapBufferARB)(GLenum target); GLboolean APIENTRY (*UnmapNamedBufferEXT)(GLuint buffer); void APIENTRY (*UnmapObjectBufferATI)(GLuint buffer); void APIENTRY (*UnmapTexture2DINTEL)(GLuint texture, GLint level); void APIENTRY (*UpdateObjectBufferATI)(GLuint buffer, GLuint offset, GLsizei size, const void *pointer, GLenum preserve); void APIENTRY (*UseProgram)(GLuint program); void APIENTRY (*UseProgramObjectARB)(GLhandleARB programObj); void APIENTRY (*UseProgramStages)(GLuint pipeline, GLbitfield stages, GLuint program); void APIENTRY (*UseShaderProgramEXT)(GLenum type, GLuint program); void APIENTRY (*VDPAUFiniNV)(void); void APIENTRY (*VDPAUGetSurfaceivNV)(GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); void APIENTRY (*VDPAUInitNV)(const void *vdpDevice, const void *getProcAddress); GLboolean APIENTRY (*VDPAUIsSurfaceNV)(GLvdpauSurfaceNV surface); void APIENTRY (*VDPAUMapSurfacesNV)(GLsizei numSurfaces, const GLvdpauSurfaceNV *surfaces); GLvdpauSurfaceNV APIENTRY (*VDPAURegisterOutputSurfaceNV)(const void *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames); GLvdpauSurfaceNV APIENTRY (*VDPAURegisterVideoSurfaceNV)(const void *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames); void APIENTRY (*VDPAUSurfaceAccessNV)(GLvdpauSurfaceNV surface, GLenum access); void APIENTRY (*VDPAUUnmapSurfacesNV)(GLsizei numSurface, const GLvdpauSurfaceNV *surfaces); void APIENTRY (*VDPAUUnregisterSurfaceNV)(GLvdpauSurfaceNV surface); void APIENTRY (*ValidateProgram)(GLuint program); void APIENTRY (*ValidateProgramARB)(GLhandleARB programObj); void APIENTRY (*ValidateProgramPipeline)(GLuint pipeline); void APIENTRY (*VariantArrayObjectATI)(GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset); void APIENTRY (*VariantPointerEXT)(GLuint id, GLenum type, GLuint stride, const void *addr); void APIENTRY (*VariantbvEXT)(GLuint id, const GLbyte *addr); void APIENTRY (*VariantdvEXT)(GLuint id, const GLdouble *addr); void APIENTRY (*VariantfvEXT)(GLuint id, const GLfloat *addr); void APIENTRY (*VariantivEXT)(GLuint id, const GLint *addr); void APIENTRY (*VariantsvEXT)(GLuint id, const GLshort *addr); void APIENTRY (*VariantubvEXT)(GLuint id, const GLubyte *addr); void APIENTRY (*VariantuivEXT)(GLuint id, const GLuint *addr); void APIENTRY (*VariantusvEXT)(GLuint id, const GLushort *addr); void APIENTRY (*Vertex2bOES)(GLbyte32 x); void APIENTRY (*Vertex2bvOES)(const GLbyte *coords); void APIENTRY (*Vertex2d)(GLdouble x, GLdouble y); void APIENTRY (*Vertex2dv)(const GLdouble *v); void APIENTRY (*Vertex2f)(GLfloat x, GLfloat y); void APIENTRY (*Vertex2fv)(const GLfloat *v); void APIENTRY (*Vertex2hNV)(GLhalfNV32 x, GLhalfNV32 y); void APIENTRY (*Vertex2hvNV)(const GLhalfNV *v); void APIENTRY (*Vertex2i)(GLint x, GLint y); void APIENTRY (*Vertex2iv)(const GLint *v); void APIENTRY (*Vertex2s)(GLshort32 x, GLshort32 y); void APIENTRY (*Vertex2sv)(const GLshort *v); void APIENTRY (*Vertex2xOES)(GLfixed x); void APIENTRY (*Vertex2xvOES)(const GLfixed *coords); void APIENTRY (*Vertex3bOES)(GLbyte32 x, GLbyte32 y); void APIENTRY (*Vertex3bvOES)(const GLbyte *coords); void APIENTRY (*Vertex3d)(GLdouble x, GLdouble y, GLdouble z); void APIENTRY (*Vertex3dv)(const GLdouble *v); void APIENTRY (*Vertex3f)(GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*Vertex3fv)(const GLfloat *v); void APIENTRY (*Vertex3hNV)(GLhalfNV32 x, GLhalfNV32 y, GLhalfNV32 z); void APIENTRY (*Vertex3hvNV)(const GLhalfNV *v); void APIENTRY (*Vertex3i)(GLint x, GLint y, GLint z); void APIENTRY (*Vertex3iv)(const GLint *v); void APIENTRY (*Vertex3s)(GLshort32 x, GLshort32 y, GLshort32 z); void APIENTRY (*Vertex3sv)(const GLshort *v); void APIENTRY (*Vertex3xOES)(GLfixed x, GLfixed y); void APIENTRY (*Vertex3xvOES)(const GLfixed *coords); void APIENTRY (*Vertex4bOES)(GLbyte32 x, GLbyte32 y, GLbyte32 z); void APIENTRY (*Vertex4bvOES)(const GLbyte *coords); void APIENTRY (*Vertex4d)(GLdouble x, GLdouble y, GLdouble z, GLdouble w); void APIENTRY (*Vertex4dv)(const GLdouble *v); void APIENTRY (*Vertex4f)(GLfloat x, GLfloat y, GLfloat z, GLfloat w); void APIENTRY (*Vertex4fv)(const GLfloat *v); void APIENTRY (*Vertex4hNV)(GLhalfNV32 x, GLhalfNV32 y, GLhalfNV32 z, GLhalfNV32 w); void APIENTRY (*Vertex4hvNV)(const GLhalfNV *v); void APIENTRY (*Vertex4i)(GLint x, GLint y, GLint z, GLint w); void APIENTRY (*Vertex4iv)(const GLint *v); void APIENTRY (*Vertex4s)(GLshort32 x, GLshort32 y, GLshort32 z, GLshort32 w); void APIENTRY (*Vertex4sv)(const GLshort *v); void APIENTRY (*Vertex4xOES)(GLfixed x, GLfixed y, GLfixed z); void APIENTRY (*Vertex4xvOES)(const GLfixed *coords); void APIENTRY (*VertexArrayBindVertexBufferEXT)(GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride); void APIENTRY (*VertexArrayColorOffsetEXT)(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset); void APIENTRY (*VertexArrayEdgeFlagOffsetEXT)(GLuint vaobj, GLuint buffer, GLsizei stride, GLintptr offset); void APIENTRY (*VertexArrayFogCoordOffsetEXT)(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset); void APIENTRY (*VertexArrayIndexOffsetEXT)(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset); void APIENTRY (*VertexArrayMultiTexCoordOffsetEXT)(GLuint vaobj, GLuint buffer, GLenum texunit, GLint size, GLenum type, GLsizei stride, GLintptr offset); void APIENTRY (*VertexArrayNormalOffsetEXT)(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset); void APIENTRY (*VertexArrayParameteriAPPLE)(GLenum pname, GLint param); void APIENTRY (*VertexArrayRangeAPPLE)(GLsizei length, void *pointer); void APIENTRY (*VertexArrayRangeNV)(GLsizei length, const void *pointer); void APIENTRY (*VertexArraySecondaryColorOffsetEXT)(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset); void APIENTRY (*VertexArrayTexCoordOffsetEXT)(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset); void APIENTRY (*VertexArrayVertexAttribBindingEXT)(GLuint vaobj, GLuint attribindex, GLuint bindingindex); void APIENTRY (*VertexArrayVertexAttribDivisorEXT)(GLuint vaobj, GLuint index, GLuint divisor); void APIENTRY (*VertexArrayVertexAttribFormatEXT)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean32 normalized, GLuint relativeoffset); void APIENTRY (*VertexArrayVertexAttribIFormatEXT)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); void APIENTRY (*VertexArrayVertexAttribIOffsetEXT)(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset); void APIENTRY (*VertexArrayVertexAttribLFormatEXT)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); void APIENTRY (*VertexArrayVertexAttribLOffsetEXT)(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset); void APIENTRY (*VertexArrayVertexAttribOffsetEXT)(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLboolean32 normalized, GLsizei stride, GLintptr offset); void APIENTRY (*VertexArrayVertexBindingDivisorEXT)(GLuint vaobj, GLuint bindingindex, GLuint divisor); void APIENTRY (*VertexArrayVertexOffsetEXT)(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset); void APIENTRY (*VertexAttrib1d)(GLuint index, GLdouble x); void APIENTRY (*VertexAttrib1dARB)(GLuint index, GLdouble x); void APIENTRY (*VertexAttrib1dNV)(GLuint index, GLdouble x); void APIENTRY (*VertexAttrib1dv)(GLuint index, const GLdouble *v); void APIENTRY (*VertexAttrib1dvARB)(GLuint index, const GLdouble *v); void APIENTRY (*VertexAttrib1dvNV)(GLuint index, const GLdouble *v); void APIENTRY (*VertexAttrib1f)(GLuint index, GLfloat x); void APIENTRY (*VertexAttrib1fARB)(GLuint index, GLfloat x); void APIENTRY (*VertexAttrib1fNV)(GLuint index, GLfloat x); void APIENTRY (*VertexAttrib1fv)(GLuint index, const GLfloat *v); void APIENTRY (*VertexAttrib1fvARB)(GLuint index, const GLfloat *v); void APIENTRY (*VertexAttrib1fvNV)(GLuint index, const GLfloat *v); void APIENTRY (*VertexAttrib1hNV)(GLuint index, GLhalfNV32 x); void APIENTRY (*VertexAttrib1hvNV)(GLuint index, const GLhalfNV *v); void APIENTRY (*VertexAttrib1s)(GLuint index, GLshort32 x); void APIENTRY (*VertexAttrib1sARB)(GLuint index, GLshort32 x); void APIENTRY (*VertexAttrib1sNV)(GLuint index, GLshort32 x); void APIENTRY (*VertexAttrib1sv)(GLuint index, const GLshort *v); void APIENTRY (*VertexAttrib1svARB)(GLuint index, const GLshort *v); void APIENTRY (*VertexAttrib1svNV)(GLuint index, const GLshort *v); void APIENTRY (*VertexAttrib2d)(GLuint index, GLdouble x, GLdouble y); void APIENTRY (*VertexAttrib2dARB)(GLuint index, GLdouble x, GLdouble y); void APIENTRY (*VertexAttrib2dNV)(GLuint index, GLdouble x, GLdouble y); void APIENTRY (*VertexAttrib2dv)(GLuint index, const GLdouble *v); void APIENTRY (*VertexAttrib2dvARB)(GLuint index, const GLdouble *v); void APIENTRY (*VertexAttrib2dvNV)(GLuint index, const GLdouble *v); void APIENTRY (*VertexAttrib2f)(GLuint index, GLfloat x, GLfloat y); void APIENTRY (*VertexAttrib2fARB)(GLuint index, GLfloat x, GLfloat y); void APIENTRY (*VertexAttrib2fNV)(GLuint index, GLfloat x, GLfloat y); void APIENTRY (*VertexAttrib2fv)(GLuint index, const GLfloat *v); void APIENTRY (*VertexAttrib2fvARB)(GLuint index, const GLfloat *v); void APIENTRY (*VertexAttrib2fvNV)(GLuint index, const GLfloat *v); void APIENTRY (*VertexAttrib2hNV)(GLuint index, GLhalfNV32 x, GLhalfNV32 y); void APIENTRY (*VertexAttrib2hvNV)(GLuint index, const GLhalfNV *v); void APIENTRY (*VertexAttrib2s)(GLuint index, GLshort32 x, GLshort32 y); void APIENTRY (*VertexAttrib2sARB)(GLuint index, GLshort32 x, GLshort32 y); void APIENTRY (*VertexAttrib2sNV)(GLuint index, GLshort32 x, GLshort32 y); void APIENTRY (*VertexAttrib2sv)(GLuint index, const GLshort *v); void APIENTRY (*VertexAttrib2svARB)(GLuint index, const GLshort *v); void APIENTRY (*VertexAttrib2svNV)(GLuint index, const GLshort *v); void APIENTRY (*VertexAttrib3d)(GLuint index, GLdouble x, GLdouble y, GLdouble z); void APIENTRY (*VertexAttrib3dARB)(GLuint index, GLdouble x, GLdouble y, GLdouble z); void APIENTRY (*VertexAttrib3dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z); void APIENTRY (*VertexAttrib3dv)(GLuint index, const GLdouble *v); void APIENTRY (*VertexAttrib3dvARB)(GLuint index, const GLdouble *v); void APIENTRY (*VertexAttrib3dvNV)(GLuint index, const GLdouble *v); void APIENTRY (*VertexAttrib3f)(GLuint index, GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*VertexAttrib3fARB)(GLuint index, GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*VertexAttrib3fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*VertexAttrib3fv)(GLuint index, const GLfloat *v); void APIENTRY (*VertexAttrib3fvARB)(GLuint index, const GLfloat *v); void APIENTRY (*VertexAttrib3fvNV)(GLuint index, const GLfloat *v); void APIENTRY (*VertexAttrib3hNV)(GLuint index, GLhalfNV32 x, GLhalfNV32 y, GLhalfNV32 z); void APIENTRY (*VertexAttrib3hvNV)(GLuint index, const GLhalfNV *v); void APIENTRY (*VertexAttrib3s)(GLuint index, GLshort32 x, GLshort32 y, GLshort32 z); void APIENTRY (*VertexAttrib3sARB)(GLuint index, GLshort32 x, GLshort32 y, GLshort32 z); void APIENTRY (*VertexAttrib3sNV)(GLuint index, GLshort32 x, GLshort32 y, GLshort32 z); void APIENTRY (*VertexAttrib3sv)(GLuint index, const GLshort *v); void APIENTRY (*VertexAttrib3svARB)(GLuint index, const GLshort *v); void APIENTRY (*VertexAttrib3svNV)(GLuint index, const GLshort *v); void APIENTRY (*VertexAttrib4Nbv)(GLuint index, const GLbyte *v); void APIENTRY (*VertexAttrib4NbvARB)(GLuint index, const GLbyte *v); void APIENTRY (*VertexAttrib4Niv)(GLuint index, const GLint *v); void APIENTRY (*VertexAttrib4NivARB)(GLuint index, const GLint *v); void APIENTRY (*VertexAttrib4Nsv)(GLuint index, const GLshort *v); void APIENTRY (*VertexAttrib4NsvARB)(GLuint index, const GLshort *v); void APIENTRY (*VertexAttrib4Nub)(GLuint index, GLubyte32 x, GLubyte32 y, GLubyte32 z, GLubyte32 w); void APIENTRY (*VertexAttrib4NubARB)(GLuint index, GLubyte32 x, GLubyte32 y, GLubyte32 z, GLubyte32 w); void APIENTRY (*VertexAttrib4Nubv)(GLuint index, const GLubyte *v); void APIENTRY (*VertexAttrib4NubvARB)(GLuint index, const GLubyte *v); void APIENTRY (*VertexAttrib4Nuiv)(GLuint index, const GLuint *v); void APIENTRY (*VertexAttrib4NuivARB)(GLuint index, const GLuint *v); void APIENTRY (*VertexAttrib4Nusv)(GLuint index, const GLushort *v); void APIENTRY (*VertexAttrib4NusvARB)(GLuint index, const GLushort *v); void APIENTRY (*VertexAttrib4bv)(GLuint index, const GLbyte *v); void APIENTRY (*VertexAttrib4bvARB)(GLuint index, const GLbyte *v); void APIENTRY (*VertexAttrib4d)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); void APIENTRY (*VertexAttrib4dARB)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); void APIENTRY (*VertexAttrib4dNV)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); void APIENTRY (*VertexAttrib4dv)(GLuint index, const GLdouble *v); void APIENTRY (*VertexAttrib4dvARB)(GLuint index, const GLdouble *v); void APIENTRY (*VertexAttrib4dvNV)(GLuint index, const GLdouble *v); void APIENTRY (*VertexAttrib4f)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); void APIENTRY (*VertexAttrib4fARB)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); void APIENTRY (*VertexAttrib4fNV)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); void APIENTRY (*VertexAttrib4fv)(GLuint index, const GLfloat *v); void APIENTRY (*VertexAttrib4fvARB)(GLuint index, const GLfloat *v); void APIENTRY (*VertexAttrib4fvNV)(GLuint index, const GLfloat *v); void APIENTRY (*VertexAttrib4hNV)(GLuint index, GLhalfNV32 x, GLhalfNV32 y, GLhalfNV32 z, GLhalfNV32 w); void APIENTRY (*VertexAttrib4hvNV)(GLuint index, const GLhalfNV *v); void APIENTRY (*VertexAttrib4iv)(GLuint index, const GLint *v); void APIENTRY (*VertexAttrib4ivARB)(GLuint index, const GLint *v); void APIENTRY (*VertexAttrib4s)(GLuint index, GLshort32 x, GLshort32 y, GLshort32 z, GLshort32 w); void APIENTRY (*VertexAttrib4sARB)(GLuint index, GLshort32 x, GLshort32 y, GLshort32 z, GLshort32 w); void APIENTRY (*VertexAttrib4sNV)(GLuint index, GLshort32 x, GLshort32 y, GLshort32 z, GLshort32 w); void APIENTRY (*VertexAttrib4sv)(GLuint index, const GLshort *v); void APIENTRY (*VertexAttrib4svARB)(GLuint index, const GLshort *v); void APIENTRY (*VertexAttrib4svNV)(GLuint index, const GLshort *v); void APIENTRY (*VertexAttrib4ubNV)(GLuint index, GLubyte32 x, GLubyte32 y, GLubyte32 z, GLubyte32 w); void APIENTRY (*VertexAttrib4ubv)(GLuint index, const GLubyte *v); void APIENTRY (*VertexAttrib4ubvARB)(GLuint index, const GLubyte *v); void APIENTRY (*VertexAttrib4ubvNV)(GLuint index, const GLubyte *v); void APIENTRY (*VertexAttrib4uiv)(GLuint index, const GLuint *v); void APIENTRY (*VertexAttrib4uivARB)(GLuint index, const GLuint *v); void APIENTRY (*VertexAttrib4usv)(GLuint index, const GLushort *v); void APIENTRY (*VertexAttrib4usvARB)(GLuint index, const GLushort *v); void APIENTRY (*VertexAttribArrayObjectATI)(GLuint index, GLint size, GLenum type, GLboolean32 normalized, GLsizei stride, GLuint buffer, GLuint offset); void APIENTRY (*VertexAttribBinding)(GLuint attribindex, GLuint bindingindex); void APIENTRY (*VertexAttribDivisor)(GLuint index, GLuint divisor); void APIENTRY (*VertexAttribDivisorARB)(GLuint index, GLuint divisor); void APIENTRY (*VertexAttribFormat)(GLuint attribindex, GLint size, GLenum type, GLboolean32 normalized, GLuint relativeoffset); void APIENTRY (*VertexAttribFormatNV)(GLuint index, GLint size, GLenum type, GLboolean32 normalized, GLsizei stride); void APIENTRY (*VertexAttribI1i)(GLuint index, GLint x); void APIENTRY (*VertexAttribI1iEXT)(GLuint index, GLint x); void APIENTRY (*VertexAttribI1iv)(GLuint index, const GLint *v); void APIENTRY (*VertexAttribI1ivEXT)(GLuint index, const GLint *v); void APIENTRY (*VertexAttribI1ui)(GLuint index, GLuint x); void APIENTRY (*VertexAttribI1uiEXT)(GLuint index, GLuint x); void APIENTRY (*VertexAttribI1uiv)(GLuint index, const GLuint *v); void APIENTRY (*VertexAttribI1uivEXT)(GLuint index, const GLuint *v); void APIENTRY (*VertexAttribI2i)(GLuint index, GLint x, GLint y); void APIENTRY (*VertexAttribI2iEXT)(GLuint index, GLint x, GLint y); void APIENTRY (*VertexAttribI2iv)(GLuint index, const GLint *v); void APIENTRY (*VertexAttribI2ivEXT)(GLuint index, const GLint *v); void APIENTRY (*VertexAttribI2ui)(GLuint index, GLuint x, GLuint y); void APIENTRY (*VertexAttribI2uiEXT)(GLuint index, GLuint x, GLuint y); void APIENTRY (*VertexAttribI2uiv)(GLuint index, const GLuint *v); void APIENTRY (*VertexAttribI2uivEXT)(GLuint index, const GLuint *v); void APIENTRY (*VertexAttribI3i)(GLuint index, GLint x, GLint y, GLint z); void APIENTRY (*VertexAttribI3iEXT)(GLuint index, GLint x, GLint y, GLint z); void APIENTRY (*VertexAttribI3iv)(GLuint index, const GLint *v); void APIENTRY (*VertexAttribI3ivEXT)(GLuint index, const GLint *v); void APIENTRY (*VertexAttribI3ui)(GLuint index, GLuint x, GLuint y, GLuint z); void APIENTRY (*VertexAttribI3uiEXT)(GLuint index, GLuint x, GLuint y, GLuint z); void APIENTRY (*VertexAttribI3uiv)(GLuint index, const GLuint *v); void APIENTRY (*VertexAttribI3uivEXT)(GLuint index, const GLuint *v); void APIENTRY (*VertexAttribI4bv)(GLuint index, const GLbyte *v); void APIENTRY (*VertexAttribI4bvEXT)(GLuint index, const GLbyte *v); void APIENTRY (*VertexAttribI4i)(GLuint index, GLint x, GLint y, GLint z, GLint w); void APIENTRY (*VertexAttribI4iEXT)(GLuint index, GLint x, GLint y, GLint z, GLint w); void APIENTRY (*VertexAttribI4iv)(GLuint index, const GLint *v); void APIENTRY (*VertexAttribI4ivEXT)(GLuint index, const GLint *v); void APIENTRY (*VertexAttribI4sv)(GLuint index, const GLshort *v); void APIENTRY (*VertexAttribI4svEXT)(GLuint index, const GLshort *v); void APIENTRY (*VertexAttribI4ubv)(GLuint index, const GLubyte *v); void APIENTRY (*VertexAttribI4ubvEXT)(GLuint index, const GLubyte *v); void APIENTRY (*VertexAttribI4ui)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); void APIENTRY (*VertexAttribI4uiEXT)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); void APIENTRY (*VertexAttribI4uiv)(GLuint index, const GLuint *v); void APIENTRY (*VertexAttribI4uivEXT)(GLuint index, const GLuint *v); void APIENTRY (*VertexAttribI4usv)(GLuint index, const GLushort *v); void APIENTRY (*VertexAttribI4usvEXT)(GLuint index, const GLushort *v); void APIENTRY (*VertexAttribIFormat)(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); void APIENTRY (*VertexAttribIFormatNV)(GLuint index, GLint size, GLenum type, GLsizei stride); void APIENTRY (*VertexAttribIPointer)(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer); void APIENTRY (*VertexAttribIPointerEXT)(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer); void APIENTRY (*VertexAttribL1d)(GLuint index, GLdouble x); void APIENTRY (*VertexAttribL1dEXT)(GLuint index, GLdouble x); void APIENTRY (*VertexAttribL1dv)(GLuint index, const GLdouble *v); void APIENTRY (*VertexAttribL1dvEXT)(GLuint index, const GLdouble *v); void APIENTRY (*VertexAttribL1i64NV)(GLuint index, GLint64EXT x); void APIENTRY (*VertexAttribL1i64vNV)(GLuint index, const GLint64EXT *v); void APIENTRY (*VertexAttribL1ui64ARB)(GLuint index, GLuint64EXT x); void APIENTRY (*VertexAttribL1ui64NV)(GLuint index, GLuint64EXT x); void APIENTRY (*VertexAttribL1ui64vARB)(GLuint index, const GLuint64EXT *v); void APIENTRY (*VertexAttribL1ui64vNV)(GLuint index, const GLuint64EXT *v); void APIENTRY (*VertexAttribL2d)(GLuint index, GLdouble x, GLdouble y); void APIENTRY (*VertexAttribL2dEXT)(GLuint index, GLdouble x, GLdouble y); void APIENTRY (*VertexAttribL2dv)(GLuint index, const GLdouble *v); void APIENTRY (*VertexAttribL2dvEXT)(GLuint index, const GLdouble *v); void APIENTRY (*VertexAttribL2i64NV)(GLuint index, GLint64EXT x, GLint64EXT y); void APIENTRY (*VertexAttribL2i64vNV)(GLuint index, const GLint64EXT *v); void APIENTRY (*VertexAttribL2ui64NV)(GLuint index, GLuint64EXT x, GLuint64EXT y); void APIENTRY (*VertexAttribL2ui64vNV)(GLuint index, const GLuint64EXT *v); void APIENTRY (*VertexAttribL3d)(GLuint index, GLdouble x, GLdouble y, GLdouble z); void APIENTRY (*VertexAttribL3dEXT)(GLuint index, GLdouble x, GLdouble y, GLdouble z); void APIENTRY (*VertexAttribL3dv)(GLuint index, const GLdouble *v); void APIENTRY (*VertexAttribL3dvEXT)(GLuint index, const GLdouble *v); void APIENTRY (*VertexAttribL3i64NV)(GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z); void APIENTRY (*VertexAttribL3i64vNV)(GLuint index, const GLint64EXT *v); void APIENTRY (*VertexAttribL3ui64NV)(GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); void APIENTRY (*VertexAttribL3ui64vNV)(GLuint index, const GLuint64EXT *v); void APIENTRY (*VertexAttribL4d)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); void APIENTRY (*VertexAttribL4dEXT)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); void APIENTRY (*VertexAttribL4dv)(GLuint index, const GLdouble *v); void APIENTRY (*VertexAttribL4dvEXT)(GLuint index, const GLdouble *v); void APIENTRY (*VertexAttribL4i64NV)(GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); void APIENTRY (*VertexAttribL4i64vNV)(GLuint index, const GLint64EXT *v); void APIENTRY (*VertexAttribL4ui64NV)(GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); void APIENTRY (*VertexAttribL4ui64vNV)(GLuint index, const GLuint64EXT *v); void APIENTRY (*VertexAttribLFormat)(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); void APIENTRY (*VertexAttribLFormatNV)(GLuint index, GLint size, GLenum type, GLsizei stride); void APIENTRY (*VertexAttribLPointer)(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer); void APIENTRY (*VertexAttribLPointerEXT)(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer); void APIENTRY (*VertexAttribP1ui)(GLuint index, GLenum type, GLboolean32 normalized, GLuint value); void APIENTRY (*VertexAttribP1uiv)(GLuint index, GLenum type, GLboolean32 normalized, const GLuint *value); void APIENTRY (*VertexAttribP2ui)(GLuint index, GLenum type, GLboolean32 normalized, GLuint value); void APIENTRY (*VertexAttribP2uiv)(GLuint index, GLenum type, GLboolean32 normalized, const GLuint *value); void APIENTRY (*VertexAttribP3ui)(GLuint index, GLenum type, GLboolean32 normalized, GLuint value); void APIENTRY (*VertexAttribP3uiv)(GLuint index, GLenum type, GLboolean32 normalized, const GLuint *value); void APIENTRY (*VertexAttribP4ui)(GLuint index, GLenum type, GLboolean32 normalized, GLuint value); void APIENTRY (*VertexAttribP4uiv)(GLuint index, GLenum type, GLboolean32 normalized, const GLuint *value); void APIENTRY (*VertexAttribParameteriAMD)(GLuint index, GLenum pname, GLint param); void APIENTRY (*VertexAttribPointer)(GLuint index, GLint size, GLenum type, GLboolean32 normalized, GLsizei stride, const void *pointer); void APIENTRY (*VertexAttribPointerARB)(GLuint index, GLint size, GLenum type, GLboolean32 normalized, GLsizei stride, const void *pointer); void APIENTRY (*VertexAttribPointerNV)(GLuint index, GLint fsize, GLenum type, GLsizei stride, const void *pointer); void APIENTRY (*VertexAttribs1dvNV)(GLuint index, GLsizei count, const GLdouble *v); void APIENTRY (*VertexAttribs1fvNV)(GLuint index, GLsizei count, const GLfloat *v); void APIENTRY (*VertexAttribs1hvNV)(GLuint index, GLsizei n, const GLhalfNV *v); void APIENTRY (*VertexAttribs1svNV)(GLuint index, GLsizei count, const GLshort *v); void APIENTRY (*VertexAttribs2dvNV)(GLuint index, GLsizei count, const GLdouble *v); void APIENTRY (*VertexAttribs2fvNV)(GLuint index, GLsizei count, const GLfloat *v); void APIENTRY (*VertexAttribs2hvNV)(GLuint index, GLsizei n, const GLhalfNV *v); void APIENTRY (*VertexAttribs2svNV)(GLuint index, GLsizei count, const GLshort *v); void APIENTRY (*VertexAttribs3dvNV)(GLuint index, GLsizei count, const GLdouble *v); void APIENTRY (*VertexAttribs3fvNV)(GLuint index, GLsizei count, const GLfloat *v); void APIENTRY (*VertexAttribs3hvNV)(GLuint index, GLsizei n, const GLhalfNV *v); void APIENTRY (*VertexAttribs3svNV)(GLuint index, GLsizei count, const GLshort *v); void APIENTRY (*VertexAttribs4dvNV)(GLuint index, GLsizei count, const GLdouble *v); void APIENTRY (*VertexAttribs4fvNV)(GLuint index, GLsizei count, const GLfloat *v); void APIENTRY (*VertexAttribs4hvNV)(GLuint index, GLsizei n, const GLhalfNV *v); void APIENTRY (*VertexAttribs4svNV)(GLuint index, GLsizei count, const GLshort *v); void APIENTRY (*VertexAttribs4ubvNV)(GLuint index, GLsizei count, const GLubyte *v); void APIENTRY (*VertexBindingDivisor)(GLuint bindingindex, GLuint divisor); void APIENTRY (*VertexBlendARB)(GLint count); void APIENTRY (*VertexBlendEnvfATI)(GLenum pname, GLfloat param); void APIENTRY (*VertexBlendEnviATI)(GLenum pname, GLint param); void APIENTRY (*VertexFormatNV)(GLint size, GLenum type, GLsizei stride); void APIENTRY (*VertexP2ui)(GLenum type, GLuint value); void APIENTRY (*VertexP2uiv)(GLenum type, const GLuint *value); void APIENTRY (*VertexP3ui)(GLenum type, GLuint value); void APIENTRY (*VertexP3uiv)(GLenum type, const GLuint *value); void APIENTRY (*VertexP4ui)(GLenum type, GLuint value); void APIENTRY (*VertexP4uiv)(GLenum type, const GLuint *value); void APIENTRY (*VertexPointSizefAPPLE)(GLfloat size); void APIENTRY (*VertexPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); void APIENTRY (*VertexPointerEXT)(GLint size, GLenum type, GLsizei stride, GLsizei count, const void *pointer); void APIENTRY (*VertexPointerListIBM)(GLint size, GLenum type, GLint stride, const void * *pointer, GLint ptrstride); void APIENTRY (*VertexPointervINTEL)(GLint size, GLenum type, const void * *pointer); void APIENTRY (*VertexStream1dATI)(GLenum stream, GLdouble x); void APIENTRY (*VertexStream1dvATI)(GLenum stream, const GLdouble *coords); void APIENTRY (*VertexStream1fATI)(GLenum stream, GLfloat x); void APIENTRY (*VertexStream1fvATI)(GLenum stream, const GLfloat *coords); void APIENTRY (*VertexStream1iATI)(GLenum stream, GLint x); void APIENTRY (*VertexStream1ivATI)(GLenum stream, const GLint *coords); void APIENTRY (*VertexStream1sATI)(GLenum stream, GLshort32 x); void APIENTRY (*VertexStream1svATI)(GLenum stream, const GLshort *coords); void APIENTRY (*VertexStream2dATI)(GLenum stream, GLdouble x, GLdouble y); void APIENTRY (*VertexStream2dvATI)(GLenum stream, const GLdouble *coords); void APIENTRY (*VertexStream2fATI)(GLenum stream, GLfloat x, GLfloat y); void APIENTRY (*VertexStream2fvATI)(GLenum stream, const GLfloat *coords); void APIENTRY (*VertexStream2iATI)(GLenum stream, GLint x, GLint y); void APIENTRY (*VertexStream2ivATI)(GLenum stream, const GLint *coords); void APIENTRY (*VertexStream2sATI)(GLenum stream, GLshort32 x, GLshort32 y); void APIENTRY (*VertexStream2svATI)(GLenum stream, const GLshort *coords); void APIENTRY (*VertexStream3dATI)(GLenum stream, GLdouble x, GLdouble y, GLdouble z); void APIENTRY (*VertexStream3dvATI)(GLenum stream, const GLdouble *coords); void APIENTRY (*VertexStream3fATI)(GLenum stream, GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*VertexStream3fvATI)(GLenum stream, const GLfloat *coords); void APIENTRY (*VertexStream3iATI)(GLenum stream, GLint x, GLint y, GLint z); void APIENTRY (*VertexStream3ivATI)(GLenum stream, const GLint *coords); void APIENTRY (*VertexStream3sATI)(GLenum stream, GLshort32 x, GLshort32 y, GLshort32 z); void APIENTRY (*VertexStream3svATI)(GLenum stream, const GLshort *coords); void APIENTRY (*VertexStream4dATI)(GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w); void APIENTRY (*VertexStream4dvATI)(GLenum stream, const GLdouble *coords); void APIENTRY (*VertexStream4fATI)(GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w); void APIENTRY (*VertexStream4fvATI)(GLenum stream, const GLfloat *coords); void APIENTRY (*VertexStream4iATI)(GLenum stream, GLint x, GLint y, GLint z, GLint w); void APIENTRY (*VertexStream4ivATI)(GLenum stream, const GLint *coords); void APIENTRY (*VertexStream4sATI)(GLenum stream, GLshort32 x, GLshort32 y, GLshort32 z, GLshort32 w); void APIENTRY (*VertexStream4svATI)(GLenum stream, const GLshort *coords); void APIENTRY (*VertexWeightPointerEXT)(GLint size, GLenum type, GLsizei stride, const void *pointer); void APIENTRY (*VertexWeightfEXT)(GLfloat weight); void APIENTRY (*VertexWeightfvEXT)(const GLfloat *weight); void APIENTRY (*VertexWeighthNV)(GLhalfNV32 weight); void APIENTRY (*VertexWeighthvNV)(const GLhalfNV *weight); GLenum APIENTRY (*VideoCaptureNV)(GLuint video_capture_slot, GLuint *sequence_num, GLuint64EXT *capture_time); void APIENTRY (*VideoCaptureStreamParameterdvNV)(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble *params); void APIENTRY (*VideoCaptureStreamParameterfvNV)(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat *params); void APIENTRY (*VideoCaptureStreamParameterivNV)(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint *params); void APIENTRY (*Viewport)(GLint x, GLint y, GLsizei width, GLsizei height); void APIENTRY (*ViewportArrayv)(GLuint first, GLsizei count, const GLfloat *v); void APIENTRY (*ViewportIndexedf)(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h); void APIENTRY (*ViewportIndexedfv)(GLuint index, const GLfloat *v); void APIENTRY (*WaitSync)(GLsync sync, GLbitfield flags, GLuint64 timeout); void APIENTRY (*WeightPathsNV)(GLuint resultPath, GLsizei numPaths, const GLuint *paths, const GLfloat *weights); void APIENTRY (*WeightPointerARB)(GLint size, GLenum type, GLsizei stride, const void *pointer); void APIENTRY (*WeightbvARB)(GLint size, const GLbyte *weights); void APIENTRY (*WeightdvARB)(GLint size, const GLdouble *weights); void APIENTRY (*WeightfvARB)(GLint size, const GLfloat *weights); void APIENTRY (*WeightivARB)(GLint size, const GLint *weights); void APIENTRY (*WeightsvARB)(GLint size, const GLshort *weights); void APIENTRY (*WeightubvARB)(GLint size, const GLubyte *weights); void APIENTRY (*WeightuivARB)(GLint size, const GLuint *weights); void APIENTRY (*WeightusvARB)(GLint size, const GLushort *weights); void APIENTRY (*WindowPos2d)(GLdouble x, GLdouble y); void APIENTRY (*WindowPos2dARB)(GLdouble x, GLdouble y); void APIENTRY (*WindowPos2dMESA)(GLdouble x, GLdouble y); void APIENTRY (*WindowPos2dv)(const GLdouble *v); void APIENTRY (*WindowPos2dvARB)(const GLdouble *v); void APIENTRY (*WindowPos2dvMESA)(const GLdouble *v); void APIENTRY (*WindowPos2f)(GLfloat x, GLfloat y); void APIENTRY (*WindowPos2fARB)(GLfloat x, GLfloat y); void APIENTRY (*WindowPos2fMESA)(GLfloat x, GLfloat y); void APIENTRY (*WindowPos2fv)(const GLfloat *v); void APIENTRY (*WindowPos2fvARB)(const GLfloat *v); void APIENTRY (*WindowPos2fvMESA)(const GLfloat *v); void APIENTRY (*WindowPos2i)(GLint x, GLint y); void APIENTRY (*WindowPos2iARB)(GLint x, GLint y); void APIENTRY (*WindowPos2iMESA)(GLint x, GLint y); void APIENTRY (*WindowPos2iv)(const GLint *v); void APIENTRY (*WindowPos2ivARB)(const GLint *v); void APIENTRY (*WindowPos2ivMESA)(const GLint *v); void APIENTRY (*WindowPos2s)(GLshort32 x, GLshort32 y); void APIENTRY (*WindowPos2sARB)(GLshort32 x, GLshort32 y); void APIENTRY (*WindowPos2sMESA)(GLshort32 x, GLshort32 y); void APIENTRY (*WindowPos2sv)(const GLshort *v); void APIENTRY (*WindowPos2svARB)(const GLshort *v); void APIENTRY (*WindowPos2svMESA)(const GLshort *v); void APIENTRY (*WindowPos3d)(GLdouble x, GLdouble y, GLdouble z); void APIENTRY (*WindowPos3dARB)(GLdouble x, GLdouble y, GLdouble z); void APIENTRY (*WindowPos3dMESA)(GLdouble x, GLdouble y, GLdouble z); void APIENTRY (*WindowPos3dv)(const GLdouble *v); void APIENTRY (*WindowPos3dvARB)(const GLdouble *v); void APIENTRY (*WindowPos3dvMESA)(const GLdouble *v); void APIENTRY (*WindowPos3f)(GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*WindowPos3fARB)(GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*WindowPos3fMESA)(GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*WindowPos3fv)(const GLfloat *v); void APIENTRY (*WindowPos3fvARB)(const GLfloat *v); void APIENTRY (*WindowPos3fvMESA)(const GLfloat *v); void APIENTRY (*WindowPos3i)(GLint x, GLint y, GLint z); void APIENTRY (*WindowPos3iARB)(GLint x, GLint y, GLint z); void APIENTRY (*WindowPos3iMESA)(GLint x, GLint y, GLint z); void APIENTRY (*WindowPos3iv)(const GLint *v); void APIENTRY (*WindowPos3ivARB)(const GLint *v); void APIENTRY (*WindowPos3ivMESA)(const GLint *v); void APIENTRY (*WindowPos3s)(GLshort32 x, GLshort32 y, GLshort32 z); void APIENTRY (*WindowPos3sARB)(GLshort32 x, GLshort32 y, GLshort32 z); void APIENTRY (*WindowPos3sMESA)(GLshort32 x, GLshort32 y, GLshort32 z); void APIENTRY (*WindowPos3sv)(const GLshort *v); void APIENTRY (*WindowPos3svARB)(const GLshort *v); void APIENTRY (*WindowPos3svMESA)(const GLshort *v); void APIENTRY (*WindowPos4dMESA)(GLdouble x, GLdouble y, GLdouble z, GLdouble w); void APIENTRY (*WindowPos4dvMESA)(const GLdouble *v); void APIENTRY (*WindowPos4fMESA)(GLfloat x, GLfloat y, GLfloat z, GLfloat w); void APIENTRY (*WindowPos4fvMESA)(const GLfloat *v); void APIENTRY (*WindowPos4iMESA)(GLint x, GLint y, GLint z, GLint w); void APIENTRY (*WindowPos4ivMESA)(const GLint *v); void APIENTRY (*WindowPos4sMESA)(GLshort32 x, GLshort32 y, GLshort32 z, GLshort32 w); void APIENTRY (*WindowPos4svMESA)(const GLshort *v); void APIENTRY (*WriteMaskEXT)(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW); void APIENTRY (*gluLookAt)(GLdouble eyeX, GLdouble eyeY, GLdouble eyeZ, GLdouble centerX, GLdouble centerY, GLdouble centerZ, GLdouble upX, GLdouble upY, GLdouble upZ); void APIENTRY (*gluLookAtf)(GLfloat eyeX, GLfloat eyeY, GLfloat eyeZ, GLfloat centerX, GLfloat centerY, GLfloat centerZ, GLfloat upX, GLfloat upY, GLfloat upZ); void APIENTRY (*information)(void); GLsizei APIENTRY (*max_height)(void); GLsizei APIENTRY (*max_width)(void); void APIENTRY (*swapbuffer)(void *buffer); }; extern struct _gl_osmesa gl; #ifndef NFOSMESA_NO_MANGLE #undef OSMesaColorClamp #define OSMesaColorClamp (gl.OSMesaColorClamp) #undef OSMesaCreateContext #define OSMesaCreateContext (gl.OSMesaCreateContext) #undef OSMesaCreateContextExt #define OSMesaCreateContextExt (gl.OSMesaCreateContextExt) #undef OSMesaCreateLDG #define OSMesaCreateLDG (gl.OSMesaCreateLDG) #undef OSMesaDestroyContext #define OSMesaDestroyContext (gl.OSMesaDestroyContext) #undef OSMesaDestroyLDG #define OSMesaDestroyLDG (gl.OSMesaDestroyLDG) #undef OSMesaGetColorBuffer #define OSMesaGetColorBuffer (gl.OSMesaGetColorBuffer) #undef OSMesaGetCurrentContext #define OSMesaGetCurrentContext (gl.OSMesaGetCurrentContext) #undef OSMesaGetDepthBuffer #define OSMesaGetDepthBuffer (gl.OSMesaGetDepthBuffer) #undef OSMesaGetIntegerv #define OSMesaGetIntegerv (gl.OSMesaGetIntegerv) #undef OSMesaGetProcAddress #define OSMesaGetProcAddress (gl.OSMesaGetProcAddress) #undef OSMesaMakeCurrent #define OSMesaMakeCurrent (gl.OSMesaMakeCurrent) #undef OSMesaPixelStore #define OSMesaPixelStore (gl.OSMesaPixelStore) #undef OSMesaPostprocess #define OSMesaPostprocess (gl.OSMesaPostprocess) #undef exception_error #define exception_error (gl.exception_error) #undef glAccum #define glAccum (gl.Accum) #undef glAccumxOES #define glAccumxOES (gl.AccumxOES) #undef glActiveProgramEXT #define glActiveProgramEXT (gl.ActiveProgramEXT) #undef glActiveShaderProgram #define glActiveShaderProgram (gl.ActiveShaderProgram) #undef glActiveStencilFaceEXT #define glActiveStencilFaceEXT (gl.ActiveStencilFaceEXT) #undef glActiveTexture #define glActiveTexture (gl.ActiveTexture) #undef glActiveTextureARB #define glActiveTextureARB (gl.ActiveTextureARB) #undef glActiveVaryingNV #define glActiveVaryingNV (gl.ActiveVaryingNV) #undef glAddSwapHintRectWIN #define glAddSwapHintRectWIN (gl.AddSwapHintRectWIN) #undef glAlphaFragmentOp1ATI #define glAlphaFragmentOp1ATI (gl.AlphaFragmentOp1ATI) #undef glAlphaFragmentOp2ATI #define glAlphaFragmentOp2ATI (gl.AlphaFragmentOp2ATI) #undef glAlphaFragmentOp3ATI #define glAlphaFragmentOp3ATI (gl.AlphaFragmentOp3ATI) #undef glAlphaFunc #define glAlphaFunc (gl.AlphaFunc) #undef glAlphaFuncxOES #define glAlphaFuncxOES (gl.AlphaFuncxOES) #undef glApplyTextureEXT #define glApplyTextureEXT (gl.ApplyTextureEXT) #undef glAreProgramsResidentNV #define glAreProgramsResidentNV (gl.AreProgramsResidentNV) #undef glAreTexturesResident #define glAreTexturesResident (gl.AreTexturesResident) #undef glAreTexturesResidentEXT #define glAreTexturesResidentEXT (gl.AreTexturesResidentEXT) #undef glArrayElement #define glArrayElement (gl.ArrayElement) #undef glArrayElementEXT #define glArrayElementEXT (gl.ArrayElementEXT) #undef glArrayObjectATI #define glArrayObjectATI (gl.ArrayObjectATI) #undef glAsyncMarkerSGIX #define glAsyncMarkerSGIX (gl.AsyncMarkerSGIX) #undef glAttachObjectARB #define glAttachObjectARB (gl.AttachObjectARB) #undef glAttachShader #define glAttachShader (gl.AttachShader) #undef glBegin #define glBegin (gl.Begin) #undef glBeginConditionalRender #define glBeginConditionalRender (gl.BeginConditionalRender) #undef glBeginConditionalRenderNV #define glBeginConditionalRenderNV (gl.BeginConditionalRenderNV) #undef glBeginConditionalRenderNVX #define glBeginConditionalRenderNVX (gl.BeginConditionalRenderNVX) #undef glBeginFragmentShaderATI #define glBeginFragmentShaderATI (gl.BeginFragmentShaderATI) #undef glBeginOcclusionQueryNV #define glBeginOcclusionQueryNV (gl.BeginOcclusionQueryNV) #undef glBeginPerfMonitorAMD #define glBeginPerfMonitorAMD (gl.BeginPerfMonitorAMD) #undef glBeginPerfQueryINTEL #define glBeginPerfQueryINTEL (gl.BeginPerfQueryINTEL) #undef glBeginQuery #define glBeginQuery (gl.BeginQuery) #undef glBeginQueryARB #define glBeginQueryARB (gl.BeginQueryARB) #undef glBeginQueryIndexed #define glBeginQueryIndexed (gl.BeginQueryIndexed) #undef glBeginTransformFeedback #define glBeginTransformFeedback (gl.BeginTransformFeedback) #undef glBeginTransformFeedbackEXT #define glBeginTransformFeedbackEXT (gl.BeginTransformFeedbackEXT) #undef glBeginTransformFeedbackNV #define glBeginTransformFeedbackNV (gl.BeginTransformFeedbackNV) #undef glBeginVertexShaderEXT #define glBeginVertexShaderEXT (gl.BeginVertexShaderEXT) #undef glBeginVideoCaptureNV #define glBeginVideoCaptureNV (gl.BeginVideoCaptureNV) #undef glBindAttribLocation #define glBindAttribLocation (gl.BindAttribLocation) #undef glBindAttribLocationARB #define glBindAttribLocationARB (gl.BindAttribLocationARB) #undef glBindBuffer #define glBindBuffer (gl.BindBuffer) #undef glBindBufferARB #define glBindBufferARB (gl.BindBufferARB) #undef glBindBufferBase #define glBindBufferBase (gl.BindBufferBase) #undef glBindBufferBaseEXT #define glBindBufferBaseEXT (gl.BindBufferBaseEXT) #undef glBindBufferBaseNV #define glBindBufferBaseNV (gl.BindBufferBaseNV) #undef glBindBufferOffsetEXT #define glBindBufferOffsetEXT (gl.BindBufferOffsetEXT) #undef glBindBufferOffsetNV #define glBindBufferOffsetNV (gl.BindBufferOffsetNV) #undef glBindBufferRange #define glBindBufferRange (gl.BindBufferRange) #undef glBindBufferRangeEXT #define glBindBufferRangeEXT (gl.BindBufferRangeEXT) #undef glBindBufferRangeNV #define glBindBufferRangeNV (gl.BindBufferRangeNV) #undef glBindBuffersBase #define glBindBuffersBase (gl.BindBuffersBase) #undef glBindBuffersRange #define glBindBuffersRange (gl.BindBuffersRange) #undef glBindFragDataLocation #define glBindFragDataLocation (gl.BindFragDataLocation) #undef glBindFragDataLocationEXT #define glBindFragDataLocationEXT (gl.BindFragDataLocationEXT) #undef glBindFragDataLocationIndexed #define glBindFragDataLocationIndexed (gl.BindFragDataLocationIndexed) #undef glBindFragmentShaderATI #define glBindFragmentShaderATI (gl.BindFragmentShaderATI) #undef glBindFramebuffer #define glBindFramebuffer (gl.BindFramebuffer) #undef glBindFramebufferEXT #define glBindFramebufferEXT (gl.BindFramebufferEXT) #undef glBindImageTexture #define glBindImageTexture (gl.BindImageTexture) #undef glBindImageTextureEXT #define glBindImageTextureEXT (gl.BindImageTextureEXT) #undef glBindImageTextures #define glBindImageTextures (gl.BindImageTextures) #undef glBindLightParameterEXT #define glBindLightParameterEXT (gl.BindLightParameterEXT) #undef glBindMaterialParameterEXT #define glBindMaterialParameterEXT (gl.BindMaterialParameterEXT) #undef glBindMultiTextureEXT #define glBindMultiTextureEXT (gl.BindMultiTextureEXT) #undef glBindParameterEXT #define glBindParameterEXT (gl.BindParameterEXT) #undef glBindProgramARB #define glBindProgramARB (gl.BindProgramARB) #undef glBindProgramNV #define glBindProgramNV (gl.BindProgramNV) #undef glBindProgramPipeline #define glBindProgramPipeline (gl.BindProgramPipeline) #undef glBindRenderbuffer #define glBindRenderbuffer (gl.BindRenderbuffer) #undef glBindRenderbufferEXT #define glBindRenderbufferEXT (gl.BindRenderbufferEXT) #undef glBindSampler #define glBindSampler (gl.BindSampler) #undef glBindSamplers #define glBindSamplers (gl.BindSamplers) #undef glBindTexGenParameterEXT #define glBindTexGenParameterEXT (gl.BindTexGenParameterEXT) #undef glBindTexture #define glBindTexture (gl.BindTexture) #undef glBindTextureEXT #define glBindTextureEXT (gl.BindTextureEXT) #undef glBindTextureUnitParameterEXT #define glBindTextureUnitParameterEXT (gl.BindTextureUnitParameterEXT) #undef glBindTextures #define glBindTextures (gl.BindTextures) #undef glBindTransformFeedback #define glBindTransformFeedback (gl.BindTransformFeedback) #undef glBindTransformFeedbackNV #define glBindTransformFeedbackNV (gl.BindTransformFeedbackNV) #undef glBindVertexArray #define glBindVertexArray (gl.BindVertexArray) #undef glBindVertexArrayAPPLE #define glBindVertexArrayAPPLE (gl.BindVertexArrayAPPLE) #undef glBindVertexBuffer #define glBindVertexBuffer (gl.BindVertexBuffer) #undef glBindVertexBuffers #define glBindVertexBuffers (gl.BindVertexBuffers) #undef glBindVertexShaderEXT #define glBindVertexShaderEXT (gl.BindVertexShaderEXT) #undef glBindVideoCaptureStreamBufferNV #define glBindVideoCaptureStreamBufferNV (gl.BindVideoCaptureStreamBufferNV) #undef glBindVideoCaptureStreamTextureNV #define glBindVideoCaptureStreamTextureNV (gl.BindVideoCaptureStreamTextureNV) #undef glBinormal3bEXT #define glBinormal3bEXT (gl.Binormal3bEXT) #undef glBinormal3bvEXT #define glBinormal3bvEXT (gl.Binormal3bvEXT) #undef glBinormal3dEXT #define glBinormal3dEXT (gl.Binormal3dEXT) #undef glBinormal3dvEXT #define glBinormal3dvEXT (gl.Binormal3dvEXT) #undef glBinormal3fEXT #define glBinormal3fEXT (gl.Binormal3fEXT) #undef glBinormal3fvEXT #define glBinormal3fvEXT (gl.Binormal3fvEXT) #undef glBinormal3iEXT #define glBinormal3iEXT (gl.Binormal3iEXT) #undef glBinormal3ivEXT #define glBinormal3ivEXT (gl.Binormal3ivEXT) #undef glBinormal3sEXT #define glBinormal3sEXT (gl.Binormal3sEXT) #undef glBinormal3svEXT #define glBinormal3svEXT (gl.Binormal3svEXT) #undef glBinormalPointerEXT #define glBinormalPointerEXT (gl.BinormalPointerEXT) #undef glBitmap #define glBitmap (gl.Bitmap) #undef glBitmapxOES #define glBitmapxOES (gl.BitmapxOES) #undef glBlendBarrierNV #define glBlendBarrierNV (gl.BlendBarrierNV) #undef glBlendColor #define glBlendColor (gl.BlendColor) #undef glBlendColorEXT #define glBlendColorEXT (gl.BlendColorEXT) #undef glBlendColorxOES #define glBlendColorxOES (gl.BlendColorxOES) #undef glBlendEquation #define glBlendEquation (gl.BlendEquation) #undef glBlendEquationEXT #define glBlendEquationEXT (gl.BlendEquationEXT) #undef glBlendEquationIndexedAMD #define glBlendEquationIndexedAMD (gl.BlendEquationIndexedAMD) #undef glBlendEquationSeparate #define glBlendEquationSeparate (gl.BlendEquationSeparate) #undef glBlendEquationSeparateATI #define glBlendEquationSeparateATI (gl.BlendEquationSeparateATI) #undef glBlendEquationSeparateEXT #define glBlendEquationSeparateEXT (gl.BlendEquationSeparateEXT) #undef glBlendEquationSeparateIndexedAMD #define glBlendEquationSeparateIndexedAMD (gl.BlendEquationSeparateIndexedAMD) #undef glBlendEquationSeparatei #define glBlendEquationSeparatei (gl.BlendEquationSeparatei) #undef glBlendEquationSeparateiARB #define glBlendEquationSeparateiARB (gl.BlendEquationSeparateiARB) #undef glBlendEquationi #define glBlendEquationi (gl.BlendEquationi) #undef glBlendEquationiARB #define glBlendEquationiARB (gl.BlendEquationiARB) #undef glBlendFunc #define glBlendFunc (gl.BlendFunc) #undef glBlendFuncIndexedAMD #define glBlendFuncIndexedAMD (gl.BlendFuncIndexedAMD) #undef glBlendFuncSeparate #define glBlendFuncSeparate (gl.BlendFuncSeparate) #undef glBlendFuncSeparateEXT #define glBlendFuncSeparateEXT (gl.BlendFuncSeparateEXT) #undef glBlendFuncSeparateINGR #define glBlendFuncSeparateINGR (gl.BlendFuncSeparateINGR) #undef glBlendFuncSeparateIndexedAMD #define glBlendFuncSeparateIndexedAMD (gl.BlendFuncSeparateIndexedAMD) #undef glBlendFuncSeparatei #define glBlendFuncSeparatei (gl.BlendFuncSeparatei) #undef glBlendFuncSeparateiARB #define glBlendFuncSeparateiARB (gl.BlendFuncSeparateiARB) #undef glBlendFunci #define glBlendFunci (gl.BlendFunci) #undef glBlendFunciARB #define glBlendFunciARB (gl.BlendFunciARB) #undef glBlendParameteriNV #define glBlendParameteriNV (gl.BlendParameteriNV) #undef glBlitFramebuffer #define glBlitFramebuffer (gl.BlitFramebuffer) #undef glBlitFramebufferEXT #define glBlitFramebufferEXT (gl.BlitFramebufferEXT) #undef glBufferAddressRangeNV #define glBufferAddressRangeNV (gl.BufferAddressRangeNV) #undef glBufferData #define glBufferData (gl.BufferData) #undef glBufferDataARB #define glBufferDataARB (gl.BufferDataARB) #undef glBufferParameteriAPPLE #define glBufferParameteriAPPLE (gl.BufferParameteriAPPLE) #undef glBufferStorage #define glBufferStorage (gl.BufferStorage) #undef glBufferSubData #define glBufferSubData (gl.BufferSubData) #undef glBufferSubDataARB #define glBufferSubDataARB (gl.BufferSubDataARB) #undef glCallList #define glCallList (gl.CallList) #undef glCallLists #define glCallLists (gl.CallLists) #undef glCheckFramebufferStatus #define glCheckFramebufferStatus (gl.CheckFramebufferStatus) #undef glCheckFramebufferStatusEXT #define glCheckFramebufferStatusEXT (gl.CheckFramebufferStatusEXT) #undef glCheckNamedFramebufferStatusEXT #define glCheckNamedFramebufferStatusEXT (gl.CheckNamedFramebufferStatusEXT) #undef glClampColor #define glClampColor (gl.ClampColor) #undef glClampColorARB #define glClampColorARB (gl.ClampColorARB) #undef glClear #define glClear (gl.Clear) #undef glClearAccum #define glClearAccum (gl.ClearAccum) #undef glClearAccumxOES #define glClearAccumxOES (gl.ClearAccumxOES) #undef glClearBufferData #define glClearBufferData (gl.ClearBufferData) #undef glClearBufferSubData #define glClearBufferSubData (gl.ClearBufferSubData) #undef glClearBufferfi #define glClearBufferfi (gl.ClearBufferfi) #undef glClearBufferfv #define glClearBufferfv (gl.ClearBufferfv) #undef glClearBufferiv #define glClearBufferiv (gl.ClearBufferiv) #undef glClearBufferuiv #define glClearBufferuiv (gl.ClearBufferuiv) #undef glClearColor #define glClearColor (gl.ClearColor) #undef glClearColorIiEXT #define glClearColorIiEXT (gl.ClearColorIiEXT) #undef glClearColorIuiEXT #define glClearColorIuiEXT (gl.ClearColorIuiEXT) #undef glClearColorxOES #define glClearColorxOES (gl.ClearColorxOES) #undef glClearDebugLogMESA #define glClearDebugLogMESA (gl.ClearDebugLogMESA) #undef glClearDepth #define glClearDepth (gl.ClearDepth) #undef glClearDepthdNV #define glClearDepthdNV (gl.ClearDepthdNV) #undef glClearDepthf #define glClearDepthf (gl.ClearDepthf) #undef glClearDepthfOES #define glClearDepthfOES (gl.ClearDepthfOES) #undef glClearDepthxOES #define glClearDepthxOES (gl.ClearDepthxOES) #undef glClearIndex #define glClearIndex (gl.ClearIndex) #undef glClearNamedBufferDataEXT #define glClearNamedBufferDataEXT (gl.ClearNamedBufferDataEXT) #undef glClearNamedBufferSubDataEXT #define glClearNamedBufferSubDataEXT (gl.ClearNamedBufferSubDataEXT) #undef glClearStencil #define glClearStencil (gl.ClearStencil) #undef glClearTexImage #define glClearTexImage (gl.ClearTexImage) #undef glClearTexSubImage #define glClearTexSubImage (gl.ClearTexSubImage) #undef glClientActiveTexture #define glClientActiveTexture (gl.ClientActiveTexture) #undef glClientActiveTextureARB #define glClientActiveTextureARB (gl.ClientActiveTextureARB) #undef glClientActiveVertexStreamATI #define glClientActiveVertexStreamATI (gl.ClientActiveVertexStreamATI) #undef glClientAttribDefaultEXT #define glClientAttribDefaultEXT (gl.ClientAttribDefaultEXT) #undef glClientWaitSync #define glClientWaitSync (gl.ClientWaitSync) #undef glClipPlane #define glClipPlane (gl.ClipPlane) #undef glClipPlanefOES #define glClipPlanefOES (gl.ClipPlanefOES) #undef glClipPlanexOES #define glClipPlanexOES (gl.ClipPlanexOES) #undef glColor3b #define glColor3b (gl.Color3b) #undef glColor3bv #define glColor3bv (gl.Color3bv) #undef glColor3d #define glColor3d (gl.Color3d) #undef glColor3dv #define glColor3dv (gl.Color3dv) #undef glColor3f #define glColor3f (gl.Color3f) #undef glColor3fVertex3fSUN #define glColor3fVertex3fSUN (gl.Color3fVertex3fSUN) #undef glColor3fVertex3fvSUN #define glColor3fVertex3fvSUN (gl.Color3fVertex3fvSUN) #undef glColor3fv #define glColor3fv (gl.Color3fv) #undef glColor3hNV #define glColor3hNV (gl.Color3hNV) #undef glColor3hvNV #define glColor3hvNV (gl.Color3hvNV) #undef glColor3i #define glColor3i (gl.Color3i) #undef glColor3iv #define glColor3iv (gl.Color3iv) #undef glColor3s #define glColor3s (gl.Color3s) #undef glColor3sv #define glColor3sv (gl.Color3sv) #undef glColor3ub #define glColor3ub (gl.Color3ub) #undef glColor3ubv #define glColor3ubv (gl.Color3ubv) #undef glColor3ui #define glColor3ui (gl.Color3ui) #undef glColor3uiv #define glColor3uiv (gl.Color3uiv) #undef glColor3us #define glColor3us (gl.Color3us) #undef glColor3usv #define glColor3usv (gl.Color3usv) #undef glColor3xOES #define glColor3xOES (gl.Color3xOES) #undef glColor3xvOES #define glColor3xvOES (gl.Color3xvOES) #undef glColor4b #define glColor4b (gl.Color4b) #undef glColor4bv #define glColor4bv (gl.Color4bv) #undef glColor4d #define glColor4d (gl.Color4d) #undef glColor4dv #define glColor4dv (gl.Color4dv) #undef glColor4f #define glColor4f (gl.Color4f) #undef glColor4fNormal3fVertex3fSUN #define glColor4fNormal3fVertex3fSUN (gl.Color4fNormal3fVertex3fSUN) #undef glColor4fNormal3fVertex3fvSUN #define glColor4fNormal3fVertex3fvSUN (gl.Color4fNormal3fVertex3fvSUN) #undef glColor4fv #define glColor4fv (gl.Color4fv) #undef glColor4hNV #define glColor4hNV (gl.Color4hNV) #undef glColor4hvNV #define glColor4hvNV (gl.Color4hvNV) #undef glColor4i #define glColor4i (gl.Color4i) #undef glColor4iv #define glColor4iv (gl.Color4iv) #undef glColor4s #define glColor4s (gl.Color4s) #undef glColor4sv #define glColor4sv (gl.Color4sv) #undef glColor4ub #define glColor4ub (gl.Color4ub) #undef glColor4ubVertex2fSUN #define glColor4ubVertex2fSUN (gl.Color4ubVertex2fSUN) #undef glColor4ubVertex2fvSUN #define glColor4ubVertex2fvSUN (gl.Color4ubVertex2fvSUN) #undef glColor4ubVertex3fSUN #define glColor4ubVertex3fSUN (gl.Color4ubVertex3fSUN) #undef glColor4ubVertex3fvSUN #define glColor4ubVertex3fvSUN (gl.Color4ubVertex3fvSUN) #undef glColor4ubv #define glColor4ubv (gl.Color4ubv) #undef glColor4ui #define glColor4ui (gl.Color4ui) #undef glColor4uiv #define glColor4uiv (gl.Color4uiv) #undef glColor4us #define glColor4us (gl.Color4us) #undef glColor4usv #define glColor4usv (gl.Color4usv) #undef glColor4xOES #define glColor4xOES (gl.Color4xOES) #undef glColor4xvOES #define glColor4xvOES (gl.Color4xvOES) #undef glColorFormatNV #define glColorFormatNV (gl.ColorFormatNV) #undef glColorFragmentOp1ATI #define glColorFragmentOp1ATI (gl.ColorFragmentOp1ATI) #undef glColorFragmentOp2ATI #define glColorFragmentOp2ATI (gl.ColorFragmentOp2ATI) #undef glColorFragmentOp3ATI #define glColorFragmentOp3ATI (gl.ColorFragmentOp3ATI) #undef glColorMask #define glColorMask (gl.ColorMask) #undef glColorMaskIndexedEXT #define glColorMaskIndexedEXT (gl.ColorMaskIndexedEXT) #undef glColorMaski #define glColorMaski (gl.ColorMaski) #undef glColorMaterial #define glColorMaterial (gl.ColorMaterial) #undef glColorP3ui #define glColorP3ui (gl.ColorP3ui) #undef glColorP3uiv #define glColorP3uiv (gl.ColorP3uiv) #undef glColorP4ui #define glColorP4ui (gl.ColorP4ui) #undef glColorP4uiv #define glColorP4uiv (gl.ColorP4uiv) #undef glColorPointer #define glColorPointer (gl.ColorPointer) #undef glColorPointerEXT #define glColorPointerEXT (gl.ColorPointerEXT) #undef glColorPointerListIBM #define glColorPointerListIBM (gl.ColorPointerListIBM) #undef glColorPointervINTEL #define glColorPointervINTEL (gl.ColorPointervINTEL) #undef glColorSubTable #define glColorSubTable (gl.ColorSubTable) #undef glColorSubTableEXT #define glColorSubTableEXT (gl.ColorSubTableEXT) #undef glColorTable #define glColorTable (gl.ColorTable) #undef glColorTableEXT #define glColorTableEXT (gl.ColorTableEXT) #undef glColorTableParameterfv #define glColorTableParameterfv (gl.ColorTableParameterfv) #undef glColorTableParameterfvSGI #define glColorTableParameterfvSGI (gl.ColorTableParameterfvSGI) #undef glColorTableParameteriv #define glColorTableParameteriv (gl.ColorTableParameteriv) #undef glColorTableParameterivSGI #define glColorTableParameterivSGI (gl.ColorTableParameterivSGI) #undef glColorTableSGI #define glColorTableSGI (gl.ColorTableSGI) #undef glCombinerInputNV #define glCombinerInputNV (gl.CombinerInputNV) #undef glCombinerOutputNV #define glCombinerOutputNV (gl.CombinerOutputNV) #undef glCombinerParameterfNV #define glCombinerParameterfNV (gl.CombinerParameterfNV) #undef glCombinerParameterfvNV #define glCombinerParameterfvNV (gl.CombinerParameterfvNV) #undef glCombinerParameteriNV #define glCombinerParameteriNV (gl.CombinerParameteriNV) #undef glCombinerParameterivNV #define glCombinerParameterivNV (gl.CombinerParameterivNV) #undef glCombinerStageParameterfvNV #define glCombinerStageParameterfvNV (gl.CombinerStageParameterfvNV) #undef glCompileShader #define glCompileShader (gl.CompileShader) #undef glCompileShaderARB #define glCompileShaderARB (gl.CompileShaderARB) #undef glCompileShaderIncludeARB #define glCompileShaderIncludeARB (gl.CompileShaderIncludeARB) #undef glCompressedMultiTexImage1DEXT #define glCompressedMultiTexImage1DEXT (gl.CompressedMultiTexImage1DEXT) #undef glCompressedMultiTexImage2DEXT #define glCompressedMultiTexImage2DEXT (gl.CompressedMultiTexImage2DEXT) #undef glCompressedMultiTexImage3DEXT #define glCompressedMultiTexImage3DEXT (gl.CompressedMultiTexImage3DEXT) #undef glCompressedMultiTexSubImage1DEXT #define glCompressedMultiTexSubImage1DEXT (gl.CompressedMultiTexSubImage1DEXT) #undef glCompressedMultiTexSubImage2DEXT #define glCompressedMultiTexSubImage2DEXT (gl.CompressedMultiTexSubImage2DEXT) #undef glCompressedMultiTexSubImage3DEXT #define glCompressedMultiTexSubImage3DEXT (gl.CompressedMultiTexSubImage3DEXT) #undef glCompressedTexImage1D #define glCompressedTexImage1D (gl.CompressedTexImage1D) #undef glCompressedTexImage1DARB #define glCompressedTexImage1DARB (gl.CompressedTexImage1DARB) #undef glCompressedTexImage2D #define glCompressedTexImage2D (gl.CompressedTexImage2D) #undef glCompressedTexImage2DARB #define glCompressedTexImage2DARB (gl.CompressedTexImage2DARB) #undef glCompressedTexImage3D #define glCompressedTexImage3D (gl.CompressedTexImage3D) #undef glCompressedTexImage3DARB #define glCompressedTexImage3DARB (gl.CompressedTexImage3DARB) #undef glCompressedTexSubImage1D #define glCompressedTexSubImage1D (gl.CompressedTexSubImage1D) #undef glCompressedTexSubImage1DARB #define glCompressedTexSubImage1DARB (gl.CompressedTexSubImage1DARB) #undef glCompressedTexSubImage2D #define glCompressedTexSubImage2D (gl.CompressedTexSubImage2D) #undef glCompressedTexSubImage2DARB #define glCompressedTexSubImage2DARB (gl.CompressedTexSubImage2DARB) #undef glCompressedTexSubImage3D #define glCompressedTexSubImage3D (gl.CompressedTexSubImage3D) #undef glCompressedTexSubImage3DARB #define glCompressedTexSubImage3DARB (gl.CompressedTexSubImage3DARB) #undef glCompressedTextureImage1DEXT #define glCompressedTextureImage1DEXT (gl.CompressedTextureImage1DEXT) #undef glCompressedTextureImage2DEXT #define glCompressedTextureImage2DEXT (gl.CompressedTextureImage2DEXT) #undef glCompressedTextureImage3DEXT #define glCompressedTextureImage3DEXT (gl.CompressedTextureImage3DEXT) #undef glCompressedTextureSubImage1DEXT #define glCompressedTextureSubImage1DEXT (gl.CompressedTextureSubImage1DEXT) #undef glCompressedTextureSubImage2DEXT #define glCompressedTextureSubImage2DEXT (gl.CompressedTextureSubImage2DEXT) #undef glCompressedTextureSubImage3DEXT #define glCompressedTextureSubImage3DEXT (gl.CompressedTextureSubImage3DEXT) #undef glConvolutionFilter1D #define glConvolutionFilter1D (gl.ConvolutionFilter1D) #undef glConvolutionFilter1DEXT #define glConvolutionFilter1DEXT (gl.ConvolutionFilter1DEXT) #undef glConvolutionFilter2D #define glConvolutionFilter2D (gl.ConvolutionFilter2D) #undef glConvolutionFilter2DEXT #define glConvolutionFilter2DEXT (gl.ConvolutionFilter2DEXT) #undef glConvolutionParameterf #define glConvolutionParameterf (gl.ConvolutionParameterf) #undef glConvolutionParameterfEXT #define glConvolutionParameterfEXT (gl.ConvolutionParameterfEXT) #undef glConvolutionParameterfv #define glConvolutionParameterfv (gl.ConvolutionParameterfv) #undef glConvolutionParameterfvEXT #define glConvolutionParameterfvEXT (gl.ConvolutionParameterfvEXT) #undef glConvolutionParameteri #define glConvolutionParameteri (gl.ConvolutionParameteri) #undef glConvolutionParameteriEXT #define glConvolutionParameteriEXT (gl.ConvolutionParameteriEXT) #undef glConvolutionParameteriv #define glConvolutionParameteriv (gl.ConvolutionParameteriv) #undef glConvolutionParameterivEXT #define glConvolutionParameterivEXT (gl.ConvolutionParameterivEXT) #undef glConvolutionParameterxOES #define glConvolutionParameterxOES (gl.ConvolutionParameterxOES) #undef glConvolutionParameterxvOES #define glConvolutionParameterxvOES (gl.ConvolutionParameterxvOES) #undef glCopyBufferSubData #define glCopyBufferSubData (gl.CopyBufferSubData) #undef glCopyColorSubTable #define glCopyColorSubTable (gl.CopyColorSubTable) #undef glCopyColorSubTableEXT #define glCopyColorSubTableEXT (gl.CopyColorSubTableEXT) #undef glCopyColorTable #define glCopyColorTable (gl.CopyColorTable) #undef glCopyColorTableSGI #define glCopyColorTableSGI (gl.CopyColorTableSGI) #undef glCopyConvolutionFilter1D #define glCopyConvolutionFilter1D (gl.CopyConvolutionFilter1D) #undef glCopyConvolutionFilter1DEXT #define glCopyConvolutionFilter1DEXT (gl.CopyConvolutionFilter1DEXT) #undef glCopyConvolutionFilter2D #define glCopyConvolutionFilter2D (gl.CopyConvolutionFilter2D) #undef glCopyConvolutionFilter2DEXT #define glCopyConvolutionFilter2DEXT (gl.CopyConvolutionFilter2DEXT) #undef glCopyImageSubData #define glCopyImageSubData (gl.CopyImageSubData) #undef glCopyImageSubDataNV #define glCopyImageSubDataNV (gl.CopyImageSubDataNV) #undef glCopyMultiTexImage1DEXT #define glCopyMultiTexImage1DEXT (gl.CopyMultiTexImage1DEXT) #undef glCopyMultiTexImage2DEXT #define glCopyMultiTexImage2DEXT (gl.CopyMultiTexImage2DEXT) #undef glCopyMultiTexSubImage1DEXT #define glCopyMultiTexSubImage1DEXT (gl.CopyMultiTexSubImage1DEXT) #undef glCopyMultiTexSubImage2DEXT #define glCopyMultiTexSubImage2DEXT (gl.CopyMultiTexSubImage2DEXT) #undef glCopyMultiTexSubImage3DEXT #define glCopyMultiTexSubImage3DEXT (gl.CopyMultiTexSubImage3DEXT) #undef glCopyPathNV #define glCopyPathNV (gl.CopyPathNV) #undef glCopyPixels #define glCopyPixels (gl.CopyPixels) #undef glCopyTexImage1D #define glCopyTexImage1D (gl.CopyTexImage1D) #undef glCopyTexImage1DEXT #define glCopyTexImage1DEXT (gl.CopyTexImage1DEXT) #undef glCopyTexImage2D #define glCopyTexImage2D (gl.CopyTexImage2D) #undef glCopyTexImage2DEXT #define glCopyTexImage2DEXT (gl.CopyTexImage2DEXT) #undef glCopyTexSubImage1D #define glCopyTexSubImage1D (gl.CopyTexSubImage1D) #undef glCopyTexSubImage1DEXT #define glCopyTexSubImage1DEXT (gl.CopyTexSubImage1DEXT) #undef glCopyTexSubImage2D #define glCopyTexSubImage2D (gl.CopyTexSubImage2D) #undef glCopyTexSubImage2DEXT #define glCopyTexSubImage2DEXT (gl.CopyTexSubImage2DEXT) #undef glCopyTexSubImage3D #define glCopyTexSubImage3D (gl.CopyTexSubImage3D) #undef glCopyTexSubImage3DEXT #define glCopyTexSubImage3DEXT (gl.CopyTexSubImage3DEXT) #undef glCopyTextureImage1DEXT #define glCopyTextureImage1DEXT (gl.CopyTextureImage1DEXT) #undef glCopyTextureImage2DEXT #define glCopyTextureImage2DEXT (gl.CopyTextureImage2DEXT) #undef glCopyTextureSubImage1DEXT #define glCopyTextureSubImage1DEXT (gl.CopyTextureSubImage1DEXT) #undef glCopyTextureSubImage2DEXT #define glCopyTextureSubImage2DEXT (gl.CopyTextureSubImage2DEXT) #undef glCopyTextureSubImage3DEXT #define glCopyTextureSubImage3DEXT (gl.CopyTextureSubImage3DEXT) #undef glCoverFillPathInstancedNV #define glCoverFillPathInstancedNV (gl.CoverFillPathInstancedNV) #undef glCoverFillPathNV #define glCoverFillPathNV (gl.CoverFillPathNV) #undef glCoverStrokePathInstancedNV #define glCoverStrokePathInstancedNV (gl.CoverStrokePathInstancedNV) #undef glCoverStrokePathNV #define glCoverStrokePathNV (gl.CoverStrokePathNV) #undef glCreateDebugObjectMESA #define glCreateDebugObjectMESA (gl.CreateDebugObjectMESA) #undef glCreatePerfQueryINTEL #define glCreatePerfQueryINTEL (gl.CreatePerfQueryINTEL) #undef glCreateProgram #define glCreateProgram (gl.CreateProgram) #undef glCreateProgramObjectARB #define glCreateProgramObjectARB (gl.CreateProgramObjectARB) #undef glCreateShader #define glCreateShader (gl.CreateShader) #undef glCreateShaderObjectARB #define glCreateShaderObjectARB (gl.CreateShaderObjectARB) #undef glCreateShaderProgramEXT #define glCreateShaderProgramEXT (gl.CreateShaderProgramEXT) #undef glCreateShaderProgramv #define glCreateShaderProgramv (gl.CreateShaderProgramv) #undef glCreateSyncFromCLeventARB #define glCreateSyncFromCLeventARB (gl.CreateSyncFromCLeventARB) #undef glCullFace #define glCullFace (gl.CullFace) #undef glCullParameterdvEXT #define glCullParameterdvEXT (gl.CullParameterdvEXT) #undef glCullParameterfvEXT #define glCullParameterfvEXT (gl.CullParameterfvEXT) #undef glCurrentPaletteMatrixARB #define glCurrentPaletteMatrixARB (gl.CurrentPaletteMatrixARB) #undef glDebugMessageCallback #define glDebugMessageCallback (gl.DebugMessageCallback) #undef glDebugMessageCallbackAMD #define glDebugMessageCallbackAMD (gl.DebugMessageCallbackAMD) #undef glDebugMessageCallbackARB #define glDebugMessageCallbackARB (gl.DebugMessageCallbackARB) #undef glDebugMessageControl #define glDebugMessageControl (gl.DebugMessageControl) #undef glDebugMessageControlARB #define glDebugMessageControlARB (gl.DebugMessageControlARB) #undef glDebugMessageEnableAMD #define glDebugMessageEnableAMD (gl.DebugMessageEnableAMD) #undef glDebugMessageInsert #define glDebugMessageInsert (gl.DebugMessageInsert) #undef glDebugMessageInsertAMD #define glDebugMessageInsertAMD (gl.DebugMessageInsertAMD) #undef glDebugMessageInsertARB #define glDebugMessageInsertARB (gl.DebugMessageInsertARB) #undef glDeformSGIX #define glDeformSGIX (gl.DeformSGIX) #undef glDeformationMap3dSGIX #define glDeformationMap3dSGIX (gl.DeformationMap3dSGIX) #undef glDeformationMap3fSGIX #define glDeformationMap3fSGIX (gl.DeformationMap3fSGIX) #undef glDeleteAsyncMarkersSGIX #define glDeleteAsyncMarkersSGIX (gl.DeleteAsyncMarkersSGIX) #undef glDeleteBuffers #define glDeleteBuffers (gl.DeleteBuffers) #undef glDeleteBuffersARB #define glDeleteBuffersARB (gl.DeleteBuffersARB) #undef glDeleteFencesAPPLE #define glDeleteFencesAPPLE (gl.DeleteFencesAPPLE) #undef glDeleteFencesNV #define glDeleteFencesNV (gl.DeleteFencesNV) #undef glDeleteFragmentShaderATI #define glDeleteFragmentShaderATI (gl.DeleteFragmentShaderATI) #undef glDeleteFramebuffers #define glDeleteFramebuffers (gl.DeleteFramebuffers) #undef glDeleteFramebuffersEXT #define glDeleteFramebuffersEXT (gl.DeleteFramebuffersEXT) #undef glDeleteLists #define glDeleteLists (gl.DeleteLists) #undef glDeleteNamedStringARB #define glDeleteNamedStringARB (gl.DeleteNamedStringARB) #undef glDeleteNamesAMD #define glDeleteNamesAMD (gl.DeleteNamesAMD) #undef glDeleteObjectARB #define glDeleteObjectARB (gl.DeleteObjectARB) #undef glDeleteObjectBufferATI #define glDeleteObjectBufferATI (gl.DeleteObjectBufferATI) #undef glDeleteOcclusionQueriesNV #define glDeleteOcclusionQueriesNV (gl.DeleteOcclusionQueriesNV) #undef glDeletePathsNV #define glDeletePathsNV (gl.DeletePathsNV) #undef glDeletePerfMonitorsAMD #define glDeletePerfMonitorsAMD (gl.DeletePerfMonitorsAMD) #undef glDeletePerfQueryINTEL #define glDeletePerfQueryINTEL (gl.DeletePerfQueryINTEL) #undef glDeleteProgram #define glDeleteProgram (gl.DeleteProgram) #undef glDeleteProgramPipelines #define glDeleteProgramPipelines (gl.DeleteProgramPipelines) #undef glDeleteProgramsARB #define glDeleteProgramsARB (gl.DeleteProgramsARB) #undef glDeleteProgramsNV #define glDeleteProgramsNV (gl.DeleteProgramsNV) #undef glDeleteQueries #define glDeleteQueries (gl.DeleteQueries) #undef glDeleteQueriesARB #define glDeleteQueriesARB (gl.DeleteQueriesARB) #undef glDeleteRenderbuffers #define glDeleteRenderbuffers (gl.DeleteRenderbuffers) #undef glDeleteRenderbuffersEXT #define glDeleteRenderbuffersEXT (gl.DeleteRenderbuffersEXT) #undef glDeleteSamplers #define glDeleteSamplers (gl.DeleteSamplers) #undef glDeleteShader #define glDeleteShader (gl.DeleteShader) #undef glDeleteSync #define glDeleteSync (gl.DeleteSync) #undef glDeleteTextures #define glDeleteTextures (gl.DeleteTextures) #undef glDeleteTexturesEXT #define glDeleteTexturesEXT (gl.DeleteTexturesEXT) #undef glDeleteTransformFeedbacks #define glDeleteTransformFeedbacks (gl.DeleteTransformFeedbacks) #undef glDeleteTransformFeedbacksNV #define glDeleteTransformFeedbacksNV (gl.DeleteTransformFeedbacksNV) #undef glDeleteVertexArrays #define glDeleteVertexArrays (gl.DeleteVertexArrays) #undef glDeleteVertexArraysAPPLE #define glDeleteVertexArraysAPPLE (gl.DeleteVertexArraysAPPLE) #undef glDeleteVertexShaderEXT #define glDeleteVertexShaderEXT (gl.DeleteVertexShaderEXT) #undef glDepthBoundsEXT #define glDepthBoundsEXT (gl.DepthBoundsEXT) #undef glDepthBoundsdNV #define glDepthBoundsdNV (gl.DepthBoundsdNV) #undef glDepthFunc #define glDepthFunc (gl.DepthFunc) #undef glDepthMask #define glDepthMask (gl.DepthMask) #undef glDepthRange #define glDepthRange (gl.DepthRange) #undef glDepthRangeArrayv #define glDepthRangeArrayv (gl.DepthRangeArrayv) #undef glDepthRangeIndexed #define glDepthRangeIndexed (gl.DepthRangeIndexed) #undef glDepthRangedNV #define glDepthRangedNV (gl.DepthRangedNV) #undef glDepthRangef #define glDepthRangef (gl.DepthRangef) #undef glDepthRangefOES #define glDepthRangefOES (gl.DepthRangefOES) #undef glDepthRangexOES #define glDepthRangexOES (gl.DepthRangexOES) #undef glDetachObjectARB #define glDetachObjectARB (gl.DetachObjectARB) #undef glDetachShader #define glDetachShader (gl.DetachShader) #undef glDetailTexFuncSGIS #define glDetailTexFuncSGIS (gl.DetailTexFuncSGIS) #undef glDisable #define glDisable (gl.Disable) #undef glDisableClientState #define glDisableClientState (gl.DisableClientState) #undef glDisableClientStateIndexedEXT #define glDisableClientStateIndexedEXT (gl.DisableClientStateIndexedEXT) #undef glDisableClientStateiEXT #define glDisableClientStateiEXT (gl.DisableClientStateiEXT) #undef glDisableIndexedEXT #define glDisableIndexedEXT (gl.DisableIndexedEXT) #undef glDisableTraceMESA #define glDisableTraceMESA (gl.DisableTraceMESA) #undef glDisableVariantClientStateEXT #define glDisableVariantClientStateEXT (gl.DisableVariantClientStateEXT) #undef glDisableVertexArrayAttribEXT #define glDisableVertexArrayAttribEXT (gl.DisableVertexArrayAttribEXT) #undef glDisableVertexArrayEXT #define glDisableVertexArrayEXT (gl.DisableVertexArrayEXT) #undef glDisableVertexAttribAPPLE #define glDisableVertexAttribAPPLE (gl.DisableVertexAttribAPPLE) #undef glDisableVertexAttribArray #define glDisableVertexAttribArray (gl.DisableVertexAttribArray) #undef glDisableVertexAttribArrayARB #define glDisableVertexAttribArrayARB (gl.DisableVertexAttribArrayARB) #undef glDisablei #define glDisablei (gl.Disablei) #undef glDispatchCompute #define glDispatchCompute (gl.DispatchCompute) #undef glDispatchComputeGroupSizeARB #define glDispatchComputeGroupSizeARB (gl.DispatchComputeGroupSizeARB) #undef glDispatchComputeIndirect #define glDispatchComputeIndirect (gl.DispatchComputeIndirect) #undef glDrawArrays #define glDrawArrays (gl.DrawArrays) #undef glDrawArraysEXT #define glDrawArraysEXT (gl.DrawArraysEXT) #undef glDrawArraysIndirect #define glDrawArraysIndirect (gl.DrawArraysIndirect) #undef glDrawArraysInstanced #define glDrawArraysInstanced (gl.DrawArraysInstanced) #undef glDrawArraysInstancedARB #define glDrawArraysInstancedARB (gl.DrawArraysInstancedARB) #undef glDrawArraysInstancedBaseInstance #define glDrawArraysInstancedBaseInstance (gl.DrawArraysInstancedBaseInstance) #undef glDrawArraysInstancedEXT #define glDrawArraysInstancedEXT (gl.DrawArraysInstancedEXT) #undef glDrawBuffer #define glDrawBuffer (gl.DrawBuffer) #undef glDrawBuffers #define glDrawBuffers (gl.DrawBuffers) #undef glDrawBuffersARB #define glDrawBuffersARB (gl.DrawBuffersARB) #undef glDrawBuffersATI #define glDrawBuffersATI (gl.DrawBuffersATI) #undef glDrawElementArrayAPPLE #define glDrawElementArrayAPPLE (gl.DrawElementArrayAPPLE) #undef glDrawElementArrayATI #define glDrawElementArrayATI (gl.DrawElementArrayATI) #undef glDrawElements #define glDrawElements (gl.DrawElements) #undef glDrawElementsBaseVertex #define glDrawElementsBaseVertex (gl.DrawElementsBaseVertex) #undef glDrawElementsIndirect #define glDrawElementsIndirect (gl.DrawElementsIndirect) #undef glDrawElementsInstanced #define glDrawElementsInstanced (gl.DrawElementsInstanced) #undef glDrawElementsInstancedARB #define glDrawElementsInstancedARB (gl.DrawElementsInstancedARB) #undef glDrawElementsInstancedBaseInstance #define glDrawElementsInstancedBaseInstance (gl.DrawElementsInstancedBaseInstance) #undef glDrawElementsInstancedBaseVertex #define glDrawElementsInstancedBaseVertex (gl.DrawElementsInstancedBaseVertex) #undef glDrawElementsInstancedBaseVertexBaseInstance #define glDrawElementsInstancedBaseVertexBaseInstance (gl.DrawElementsInstancedBaseVertexBaseInstance) #undef glDrawElementsInstancedEXT #define glDrawElementsInstancedEXT (gl.DrawElementsInstancedEXT) #undef glDrawMeshArraysSUN #define glDrawMeshArraysSUN (gl.DrawMeshArraysSUN) #undef glDrawPixels #define glDrawPixels (gl.DrawPixels) #undef glDrawRangeElementArrayAPPLE #define glDrawRangeElementArrayAPPLE (gl.DrawRangeElementArrayAPPLE) #undef glDrawRangeElementArrayATI #define glDrawRangeElementArrayATI (gl.DrawRangeElementArrayATI) #undef glDrawRangeElements #define glDrawRangeElements (gl.DrawRangeElements) #undef glDrawRangeElementsBaseVertex #define glDrawRangeElementsBaseVertex (gl.DrawRangeElementsBaseVertex) #undef glDrawRangeElementsEXT #define glDrawRangeElementsEXT (gl.DrawRangeElementsEXT) #undef glDrawTextureNV #define glDrawTextureNV (gl.DrawTextureNV) #undef glDrawTransformFeedback #define glDrawTransformFeedback (gl.DrawTransformFeedback) #undef glDrawTransformFeedbackInstanced #define glDrawTransformFeedbackInstanced (gl.DrawTransformFeedbackInstanced) #undef glDrawTransformFeedbackNV #define glDrawTransformFeedbackNV (gl.DrawTransformFeedbackNV) #undef glDrawTransformFeedbackStream #define glDrawTransformFeedbackStream (gl.DrawTransformFeedbackStream) #undef glDrawTransformFeedbackStreamInstanced #define glDrawTransformFeedbackStreamInstanced (gl.DrawTransformFeedbackStreamInstanced) #undef glEdgeFlag #define glEdgeFlag (gl.EdgeFlag) #undef glEdgeFlagFormatNV #define glEdgeFlagFormatNV (gl.EdgeFlagFormatNV) #undef glEdgeFlagPointer #define glEdgeFlagPointer (gl.EdgeFlagPointer) #undef glEdgeFlagPointerEXT #define glEdgeFlagPointerEXT (gl.EdgeFlagPointerEXT) #undef glEdgeFlagPointerListIBM #define glEdgeFlagPointerListIBM (gl.EdgeFlagPointerListIBM) #undef glEdgeFlagv #define glEdgeFlagv (gl.EdgeFlagv) #undef glElementPointerAPPLE #define glElementPointerAPPLE (gl.ElementPointerAPPLE) #undef glElementPointerATI #define glElementPointerATI (gl.ElementPointerATI) #undef glEnable #define glEnable (gl.Enable) #undef glEnableClientState #define glEnableClientState (gl.EnableClientState) #undef glEnableClientStateIndexedEXT #define glEnableClientStateIndexedEXT (gl.EnableClientStateIndexedEXT) #undef glEnableClientStateiEXT #define glEnableClientStateiEXT (gl.EnableClientStateiEXT) #undef glEnableIndexedEXT #define glEnableIndexedEXT (gl.EnableIndexedEXT) #undef glEnableTraceMESA #define glEnableTraceMESA (gl.EnableTraceMESA) #undef glEnableVariantClientStateEXT #define glEnableVariantClientStateEXT (gl.EnableVariantClientStateEXT) #undef glEnableVertexArrayAttribEXT #define glEnableVertexArrayAttribEXT (gl.EnableVertexArrayAttribEXT) #undef glEnableVertexArrayEXT #define glEnableVertexArrayEXT (gl.EnableVertexArrayEXT) #undef glEnableVertexAttribAPPLE #define glEnableVertexAttribAPPLE (gl.EnableVertexAttribAPPLE) #undef glEnableVertexAttribArray #define glEnableVertexAttribArray (gl.EnableVertexAttribArray) #undef glEnableVertexAttribArrayARB #define glEnableVertexAttribArrayARB (gl.EnableVertexAttribArrayARB) #undef glEnablei #define glEnablei (gl.Enablei) #undef glEnd #define glEnd (gl.End) #undef glEndConditionalRender #define glEndConditionalRender (gl.EndConditionalRender) #undef glEndConditionalRenderNV #define glEndConditionalRenderNV (gl.EndConditionalRenderNV) #undef glEndConditionalRenderNVX #define glEndConditionalRenderNVX (gl.EndConditionalRenderNVX) #undef glEndFragmentShaderATI #define glEndFragmentShaderATI (gl.EndFragmentShaderATI) #undef glEndList #define glEndList (gl.EndList) #undef glEndOcclusionQueryNV #define glEndOcclusionQueryNV (gl.EndOcclusionQueryNV) #undef glEndPerfMonitorAMD #define glEndPerfMonitorAMD (gl.EndPerfMonitorAMD) #undef glEndPerfQueryINTEL #define glEndPerfQueryINTEL (gl.EndPerfQueryINTEL) #undef glEndQuery #define glEndQuery (gl.EndQuery) #undef glEndQueryARB #define glEndQueryARB (gl.EndQueryARB) #undef glEndQueryIndexed #define glEndQueryIndexed (gl.EndQueryIndexed) #undef glEndTraceMESA #define glEndTraceMESA (gl.EndTraceMESA) #undef glEndTransformFeedback #define glEndTransformFeedback (gl.EndTransformFeedback) #undef glEndTransformFeedbackEXT #define glEndTransformFeedbackEXT (gl.EndTransformFeedbackEXT) #undef glEndTransformFeedbackNV #define glEndTransformFeedbackNV (gl.EndTransformFeedbackNV) #undef glEndVertexShaderEXT #define glEndVertexShaderEXT (gl.EndVertexShaderEXT) #undef glEndVideoCaptureNV #define glEndVideoCaptureNV (gl.EndVideoCaptureNV) #undef glEvalCoord1d #define glEvalCoord1d (gl.EvalCoord1d) #undef glEvalCoord1dv #define glEvalCoord1dv (gl.EvalCoord1dv) #undef glEvalCoord1f #define glEvalCoord1f (gl.EvalCoord1f) #undef glEvalCoord1fv #define glEvalCoord1fv (gl.EvalCoord1fv) #undef glEvalCoord1xOES #define glEvalCoord1xOES (gl.EvalCoord1xOES) #undef glEvalCoord1xvOES #define glEvalCoord1xvOES (gl.EvalCoord1xvOES) #undef glEvalCoord2d #define glEvalCoord2d (gl.EvalCoord2d) #undef glEvalCoord2dv #define glEvalCoord2dv (gl.EvalCoord2dv) #undef glEvalCoord2f #define glEvalCoord2f (gl.EvalCoord2f) #undef glEvalCoord2fv #define glEvalCoord2fv (gl.EvalCoord2fv) #undef glEvalCoord2xOES #define glEvalCoord2xOES (gl.EvalCoord2xOES) #undef glEvalCoord2xvOES #define glEvalCoord2xvOES (gl.EvalCoord2xvOES) #undef glEvalMapsNV #define glEvalMapsNV (gl.EvalMapsNV) #undef glEvalMesh1 #define glEvalMesh1 (gl.EvalMesh1) #undef glEvalMesh2 #define glEvalMesh2 (gl.EvalMesh2) #undef glEvalPoint1 #define glEvalPoint1 (gl.EvalPoint1) #undef glEvalPoint2 #define glEvalPoint2 (gl.EvalPoint2) #undef glExecuteProgramNV #define glExecuteProgramNV (gl.ExecuteProgramNV) #undef glExtractComponentEXT #define glExtractComponentEXT (gl.ExtractComponentEXT) #undef glFeedbackBuffer #define glFeedbackBuffer (gl.FeedbackBuffer) #undef glFeedbackBufferxOES #define glFeedbackBufferxOES (gl.FeedbackBufferxOES) #undef glFenceSync #define glFenceSync (gl.FenceSync) #undef glFinalCombinerInputNV #define glFinalCombinerInputNV (gl.FinalCombinerInputNV) #undef glFinish #define glFinish (gl.Finish) #undef glFinishAsyncSGIX #define glFinishAsyncSGIX (gl.FinishAsyncSGIX) #undef glFinishFenceAPPLE #define glFinishFenceAPPLE (gl.FinishFenceAPPLE) #undef glFinishFenceNV #define glFinishFenceNV (gl.FinishFenceNV) #undef glFinishObjectAPPLE #define glFinishObjectAPPLE (gl.FinishObjectAPPLE) #undef glFinishRenderAPPLE #define glFinishRenderAPPLE (gl.FinishRenderAPPLE) #undef glFinishTextureSUNX #define glFinishTextureSUNX (gl.FinishTextureSUNX) #undef glFlush #define glFlush (gl.Flush) #undef glFlushMappedBufferRange #define glFlushMappedBufferRange (gl.FlushMappedBufferRange) #undef glFlushMappedBufferRangeAPPLE #define glFlushMappedBufferRangeAPPLE (gl.FlushMappedBufferRangeAPPLE) #undef glFlushMappedNamedBufferRangeEXT #define glFlushMappedNamedBufferRangeEXT (gl.FlushMappedNamedBufferRangeEXT) #undef glFlushPixelDataRangeNV #define glFlushPixelDataRangeNV (gl.FlushPixelDataRangeNV) #undef glFlushRasterSGIX #define glFlushRasterSGIX (gl.FlushRasterSGIX) #undef glFlushRenderAPPLE #define glFlushRenderAPPLE (gl.FlushRenderAPPLE) #undef glFlushStaticDataIBM #define glFlushStaticDataIBM (gl.FlushStaticDataIBM) #undef glFlushVertexArrayRangeAPPLE #define glFlushVertexArrayRangeAPPLE (gl.FlushVertexArrayRangeAPPLE) #undef glFlushVertexArrayRangeNV #define glFlushVertexArrayRangeNV (gl.FlushVertexArrayRangeNV) #undef glFogCoordFormatNV #define glFogCoordFormatNV (gl.FogCoordFormatNV) #undef glFogCoordPointer #define glFogCoordPointer (gl.FogCoordPointer) #undef glFogCoordPointerEXT #define glFogCoordPointerEXT (gl.FogCoordPointerEXT) #undef glFogCoordPointerListIBM #define glFogCoordPointerListIBM (gl.FogCoordPointerListIBM) #undef glFogCoordd #define glFogCoordd (gl.FogCoordd) #undef glFogCoorddEXT #define glFogCoorddEXT (gl.FogCoorddEXT) #undef glFogCoorddv #define glFogCoorddv (gl.FogCoorddv) #undef glFogCoorddvEXT #define glFogCoorddvEXT (gl.FogCoorddvEXT) #undef glFogCoordf #define glFogCoordf (gl.FogCoordf) #undef glFogCoordfEXT #define glFogCoordfEXT (gl.FogCoordfEXT) #undef glFogCoordfv #define glFogCoordfv (gl.FogCoordfv) #undef glFogCoordfvEXT #define glFogCoordfvEXT (gl.FogCoordfvEXT) #undef glFogCoordhNV #define glFogCoordhNV (gl.FogCoordhNV) #undef glFogCoordhvNV #define glFogCoordhvNV (gl.FogCoordhvNV) #undef glFogFuncSGIS #define glFogFuncSGIS (gl.FogFuncSGIS) #undef glFogf #define glFogf (gl.Fogf) #undef glFogfv #define glFogfv (gl.Fogfv) #undef glFogi #define glFogi (gl.Fogi) #undef glFogiv #define glFogiv (gl.Fogiv) #undef glFogxOES #define glFogxOES (gl.FogxOES) #undef glFogxvOES #define glFogxvOES (gl.FogxvOES) #undef glFragmentColorMaterialSGIX #define glFragmentColorMaterialSGIX (gl.FragmentColorMaterialSGIX) #undef glFragmentLightModelfSGIX #define glFragmentLightModelfSGIX (gl.FragmentLightModelfSGIX) #undef glFragmentLightModelfvSGIX #define glFragmentLightModelfvSGIX (gl.FragmentLightModelfvSGIX) #undef glFragmentLightModeliSGIX #define glFragmentLightModeliSGIX (gl.FragmentLightModeliSGIX) #undef glFragmentLightModelivSGIX #define glFragmentLightModelivSGIX (gl.FragmentLightModelivSGIX) #undef glFragmentLightfSGIX #define glFragmentLightfSGIX (gl.FragmentLightfSGIX) #undef glFragmentLightfvSGIX #define glFragmentLightfvSGIX (gl.FragmentLightfvSGIX) #undef glFragmentLightiSGIX #define glFragmentLightiSGIX (gl.FragmentLightiSGIX) #undef glFragmentLightivSGIX #define glFragmentLightivSGIX (gl.FragmentLightivSGIX) #undef glFragmentMaterialfSGIX #define glFragmentMaterialfSGIX (gl.FragmentMaterialfSGIX) #undef glFragmentMaterialfvSGIX #define glFragmentMaterialfvSGIX (gl.FragmentMaterialfvSGIX) #undef glFragmentMaterialiSGIX #define glFragmentMaterialiSGIX (gl.FragmentMaterialiSGIX) #undef glFragmentMaterialivSGIX #define glFragmentMaterialivSGIX (gl.FragmentMaterialivSGIX) #undef glFrameTerminatorGREMEDY #define glFrameTerminatorGREMEDY (gl.FrameTerminatorGREMEDY) #undef glFrameZoomSGIX #define glFrameZoomSGIX (gl.FrameZoomSGIX) #undef glFramebufferDrawBufferEXT #define glFramebufferDrawBufferEXT (gl.FramebufferDrawBufferEXT) #undef glFramebufferDrawBuffersEXT #define glFramebufferDrawBuffersEXT (gl.FramebufferDrawBuffersEXT) #undef glFramebufferParameteri #define glFramebufferParameteri (gl.FramebufferParameteri) #undef glFramebufferReadBufferEXT #define glFramebufferReadBufferEXT (gl.FramebufferReadBufferEXT) #undef glFramebufferRenderbuffer #define glFramebufferRenderbuffer (gl.FramebufferRenderbuffer) #undef glFramebufferRenderbufferEXT #define glFramebufferRenderbufferEXT (gl.FramebufferRenderbufferEXT) #undef glFramebufferTexture #define glFramebufferTexture (gl.FramebufferTexture) #undef glFramebufferTexture1D #define glFramebufferTexture1D (gl.FramebufferTexture1D) #undef glFramebufferTexture1DEXT #define glFramebufferTexture1DEXT (gl.FramebufferTexture1DEXT) #undef glFramebufferTexture2D #define glFramebufferTexture2D (gl.FramebufferTexture2D) #undef glFramebufferTexture2DEXT #define glFramebufferTexture2DEXT (gl.FramebufferTexture2DEXT) #undef glFramebufferTexture3D #define glFramebufferTexture3D (gl.FramebufferTexture3D) #undef glFramebufferTexture3DEXT #define glFramebufferTexture3DEXT (gl.FramebufferTexture3DEXT) #undef glFramebufferTextureARB #define glFramebufferTextureARB (gl.FramebufferTextureARB) #undef glFramebufferTextureEXT #define glFramebufferTextureEXT (gl.FramebufferTextureEXT) #undef glFramebufferTextureFaceARB #define glFramebufferTextureFaceARB (gl.FramebufferTextureFaceARB) #undef glFramebufferTextureFaceEXT #define glFramebufferTextureFaceEXT (gl.FramebufferTextureFaceEXT) #undef glFramebufferTextureLayer #define glFramebufferTextureLayer (gl.FramebufferTextureLayer) #undef glFramebufferTextureLayerARB #define glFramebufferTextureLayerARB (gl.FramebufferTextureLayerARB) #undef glFramebufferTextureLayerEXT #define glFramebufferTextureLayerEXT (gl.FramebufferTextureLayerEXT) #undef glFreeObjectBufferATI #define glFreeObjectBufferATI (gl.FreeObjectBufferATI) #undef glFrontFace #define glFrontFace (gl.FrontFace) #undef glFrustum #define glFrustum (gl.Frustum) #undef glFrustumf #define glFrustumf (gl.Frustumf) #undef glFrustumfOES #define glFrustumfOES (gl.FrustumfOES) #undef glFrustumxOES #define glFrustumxOES (gl.FrustumxOES) #undef glGenAsyncMarkersSGIX #define glGenAsyncMarkersSGIX (gl.GenAsyncMarkersSGIX) #undef glGenBuffers #define glGenBuffers (gl.GenBuffers) #undef glGenBuffersARB #define glGenBuffersARB (gl.GenBuffersARB) #undef glGenFencesAPPLE #define glGenFencesAPPLE (gl.GenFencesAPPLE) #undef glGenFencesNV #define glGenFencesNV (gl.GenFencesNV) #undef glGenFragmentShadersATI #define glGenFragmentShadersATI (gl.GenFragmentShadersATI) #undef glGenFramebuffers #define glGenFramebuffers (gl.GenFramebuffers) #undef glGenFramebuffersEXT #define glGenFramebuffersEXT (gl.GenFramebuffersEXT) #undef glGenLists #define glGenLists (gl.GenLists) #undef glGenNamesAMD #define glGenNamesAMD (gl.GenNamesAMD) #undef glGenOcclusionQueriesNV #define glGenOcclusionQueriesNV (gl.GenOcclusionQueriesNV) #undef glGenPathsNV #define glGenPathsNV (gl.GenPathsNV) #undef glGenPerfMonitorsAMD #define glGenPerfMonitorsAMD (gl.GenPerfMonitorsAMD) #undef glGenProgramPipelines #define glGenProgramPipelines (gl.GenProgramPipelines) #undef glGenProgramsARB #define glGenProgramsARB (gl.GenProgramsARB) #undef glGenProgramsNV #define glGenProgramsNV (gl.GenProgramsNV) #undef glGenQueries #define glGenQueries (gl.GenQueries) #undef glGenQueriesARB #define glGenQueriesARB (gl.GenQueriesARB) #undef glGenRenderbuffers #define glGenRenderbuffers (gl.GenRenderbuffers) #undef glGenRenderbuffersEXT #define glGenRenderbuffersEXT (gl.GenRenderbuffersEXT) #undef glGenSamplers #define glGenSamplers (gl.GenSamplers) #undef glGenSymbolsEXT #define glGenSymbolsEXT (gl.GenSymbolsEXT) #undef glGenTextures #define glGenTextures (gl.GenTextures) #undef glGenTexturesEXT #define glGenTexturesEXT (gl.GenTexturesEXT) #undef glGenTransformFeedbacks #define glGenTransformFeedbacks (gl.GenTransformFeedbacks) #undef glGenTransformFeedbacksNV #define glGenTransformFeedbacksNV (gl.GenTransformFeedbacksNV) #undef glGenVertexArrays #define glGenVertexArrays (gl.GenVertexArrays) #undef glGenVertexArraysAPPLE #define glGenVertexArraysAPPLE (gl.GenVertexArraysAPPLE) #undef glGenVertexShadersEXT #define glGenVertexShadersEXT (gl.GenVertexShadersEXT) #undef glGenerateMipmap #define glGenerateMipmap (gl.GenerateMipmap) #undef glGenerateMipmapEXT #define glGenerateMipmapEXT (gl.GenerateMipmapEXT) #undef glGenerateMultiTexMipmapEXT #define glGenerateMultiTexMipmapEXT (gl.GenerateMultiTexMipmapEXT) #undef glGenerateTextureMipmapEXT #define glGenerateTextureMipmapEXT (gl.GenerateTextureMipmapEXT) #undef glGetActiveAtomicCounterBufferiv #define glGetActiveAtomicCounterBufferiv (gl.GetActiveAtomicCounterBufferiv) #undef glGetActiveAttrib #define glGetActiveAttrib (gl.GetActiveAttrib) #undef glGetActiveAttribARB #define glGetActiveAttribARB (gl.GetActiveAttribARB) #undef glGetActiveSubroutineName #define glGetActiveSubroutineName (gl.GetActiveSubroutineName) #undef glGetActiveSubroutineUniformName #define glGetActiveSubroutineUniformName (gl.GetActiveSubroutineUniformName) #undef glGetActiveSubroutineUniformiv #define glGetActiveSubroutineUniformiv (gl.GetActiveSubroutineUniformiv) #undef glGetActiveUniform #define glGetActiveUniform (gl.GetActiveUniform) #undef glGetActiveUniformARB #define glGetActiveUniformARB (gl.GetActiveUniformARB) #undef glGetActiveUniformBlockIndex #define glGetActiveUniformBlockIndex (gl.GetActiveUniformBlockIndex) #undef glGetActiveUniformBlockName #define glGetActiveUniformBlockName (gl.GetActiveUniformBlockName) #undef glGetActiveUniformBlockiv #define glGetActiveUniformBlockiv (gl.GetActiveUniformBlockiv) #undef glGetActiveUniformName #define glGetActiveUniformName (gl.GetActiveUniformName) #undef glGetActiveUniformsiv #define glGetActiveUniformsiv (gl.GetActiveUniformsiv) #undef glGetActiveVaryingNV #define glGetActiveVaryingNV (gl.GetActiveVaryingNV) #undef glGetArrayObjectfvATI #define glGetArrayObjectfvATI (gl.GetArrayObjectfvATI) #undef glGetArrayObjectivATI #define glGetArrayObjectivATI (gl.GetArrayObjectivATI) #undef glGetAttachedObjectsARB #define glGetAttachedObjectsARB (gl.GetAttachedObjectsARB) #undef glGetAttachedShaders #define glGetAttachedShaders (gl.GetAttachedShaders) #undef glGetAttribLocation #define glGetAttribLocation (gl.GetAttribLocation) #undef glGetAttribLocationARB #define glGetAttribLocationARB (gl.GetAttribLocationARB) #undef glGetBooleanIndexedvEXT #define glGetBooleanIndexedvEXT (gl.GetBooleanIndexedvEXT) #undef glGetBooleani_v #define glGetBooleani_v (gl.GetBooleani_v) #undef glGetBooleanv #define glGetBooleanv (gl.GetBooleanv) #undef glGetBufferParameteri64v #define glGetBufferParameteri64v (gl.GetBufferParameteri64v) #undef glGetBufferParameteriv #define glGetBufferParameteriv (gl.GetBufferParameteriv) #undef glGetBufferParameterivARB #define glGetBufferParameterivARB (gl.GetBufferParameterivARB) #undef glGetBufferParameterui64vNV #define glGetBufferParameterui64vNV (gl.GetBufferParameterui64vNV) #undef glGetBufferPointerv #define glGetBufferPointerv (gl.GetBufferPointerv) #undef glGetBufferPointervARB #define glGetBufferPointervARB (gl.GetBufferPointervARB) #undef glGetBufferSubData #define glGetBufferSubData (gl.GetBufferSubData) #undef glGetBufferSubDataARB #define glGetBufferSubDataARB (gl.GetBufferSubDataARB) #undef glGetClipPlane #define glGetClipPlane (gl.GetClipPlane) #undef glGetClipPlanefOES #define glGetClipPlanefOES (gl.GetClipPlanefOES) #undef glGetClipPlanexOES #define glGetClipPlanexOES (gl.GetClipPlanexOES) #undef glGetColorTable #define glGetColorTable (gl.GetColorTable) #undef glGetColorTableEXT #define glGetColorTableEXT (gl.GetColorTableEXT) #undef glGetColorTableParameterfv #define glGetColorTableParameterfv (gl.GetColorTableParameterfv) #undef glGetColorTableParameterfvEXT #define glGetColorTableParameterfvEXT (gl.GetColorTableParameterfvEXT) #undef glGetColorTableParameterfvSGI #define glGetColorTableParameterfvSGI (gl.GetColorTableParameterfvSGI) #undef glGetColorTableParameteriv #define glGetColorTableParameteriv (gl.GetColorTableParameteriv) #undef glGetColorTableParameterivEXT #define glGetColorTableParameterivEXT (gl.GetColorTableParameterivEXT) #undef glGetColorTableParameterivSGI #define glGetColorTableParameterivSGI (gl.GetColorTableParameterivSGI) #undef glGetColorTableSGI #define glGetColorTableSGI (gl.GetColorTableSGI) #undef glGetCombinerInputParameterfvNV #define glGetCombinerInputParameterfvNV (gl.GetCombinerInputParameterfvNV) #undef glGetCombinerInputParameterivNV #define glGetCombinerInputParameterivNV (gl.GetCombinerInputParameterivNV) #undef glGetCombinerOutputParameterfvNV #define glGetCombinerOutputParameterfvNV (gl.GetCombinerOutputParameterfvNV) #undef glGetCombinerOutputParameterivNV #define glGetCombinerOutputParameterivNV (gl.GetCombinerOutputParameterivNV) #undef glGetCombinerStageParameterfvNV #define glGetCombinerStageParameterfvNV (gl.GetCombinerStageParameterfvNV) #undef glGetCompressedMultiTexImageEXT #define glGetCompressedMultiTexImageEXT (gl.GetCompressedMultiTexImageEXT) #undef glGetCompressedTexImage #define glGetCompressedTexImage (gl.GetCompressedTexImage) #undef glGetCompressedTexImageARB #define glGetCompressedTexImageARB (gl.GetCompressedTexImageARB) #undef glGetCompressedTextureImageEXT #define glGetCompressedTextureImageEXT (gl.GetCompressedTextureImageEXT) #undef glGetConvolutionFilter #define glGetConvolutionFilter (gl.GetConvolutionFilter) #undef glGetConvolutionFilterEXT #define glGetConvolutionFilterEXT (gl.GetConvolutionFilterEXT) #undef glGetConvolutionParameterfv #define glGetConvolutionParameterfv (gl.GetConvolutionParameterfv) #undef glGetConvolutionParameterfvEXT #define glGetConvolutionParameterfvEXT (gl.GetConvolutionParameterfvEXT) #undef glGetConvolutionParameteriv #define glGetConvolutionParameteriv (gl.GetConvolutionParameteriv) #undef glGetConvolutionParameterivEXT #define glGetConvolutionParameterivEXT (gl.GetConvolutionParameterivEXT) #undef glGetConvolutionParameterxvOES #define glGetConvolutionParameterxvOES (gl.GetConvolutionParameterxvOES) #undef glGetDebugLogLengthMESA #define glGetDebugLogLengthMESA (gl.GetDebugLogLengthMESA) #undef glGetDebugLogMESA #define glGetDebugLogMESA (gl.GetDebugLogMESA) #undef glGetDebugMessageLog #define glGetDebugMessageLog (gl.GetDebugMessageLog) #undef glGetDebugMessageLogAMD #define glGetDebugMessageLogAMD (gl.GetDebugMessageLogAMD) #undef glGetDebugMessageLogARB #define glGetDebugMessageLogARB (gl.GetDebugMessageLogARB) #undef glGetDetailTexFuncSGIS #define glGetDetailTexFuncSGIS (gl.GetDetailTexFuncSGIS) #undef glGetDoubleIndexedvEXT #define glGetDoubleIndexedvEXT (gl.GetDoubleIndexedvEXT) #undef glGetDoublei_v #define glGetDoublei_v (gl.GetDoublei_v) #undef glGetDoublei_vEXT #define glGetDoublei_vEXT (gl.GetDoublei_vEXT) #undef glGetDoublev #define glGetDoublev (gl.GetDoublev) #undef glGetError #define glGetError (gl.GetError) #undef glGetFenceivNV #define glGetFenceivNV (gl.GetFenceivNV) #undef glGetFinalCombinerInputParameterfvNV #define glGetFinalCombinerInputParameterfvNV (gl.GetFinalCombinerInputParameterfvNV) #undef glGetFinalCombinerInputParameterivNV #define glGetFinalCombinerInputParameterivNV (gl.GetFinalCombinerInputParameterivNV) #undef glGetFirstPerfQueryIdINTEL #define glGetFirstPerfQueryIdINTEL (gl.GetFirstPerfQueryIdINTEL) #undef glGetFixedvOES #define glGetFixedvOES (gl.GetFixedvOES) #undef glGetFloatIndexedvEXT #define glGetFloatIndexedvEXT (gl.GetFloatIndexedvEXT) #undef glGetFloati_v #define glGetFloati_v (gl.GetFloati_v) #undef glGetFloati_vEXT #define glGetFloati_vEXT (gl.GetFloati_vEXT) #undef glGetFloatv #define glGetFloatv (gl.GetFloatv) #undef glGetFogFuncSGIS #define glGetFogFuncSGIS (gl.GetFogFuncSGIS) #undef glGetFragDataIndex #define glGetFragDataIndex (gl.GetFragDataIndex) #undef glGetFragDataLocation #define glGetFragDataLocation (gl.GetFragDataLocation) #undef glGetFragDataLocationEXT #define glGetFragDataLocationEXT (gl.GetFragDataLocationEXT) #undef glGetFragmentLightfvSGIX #define glGetFragmentLightfvSGIX (gl.GetFragmentLightfvSGIX) #undef glGetFragmentLightivSGIX #define glGetFragmentLightivSGIX (gl.GetFragmentLightivSGIX) #undef glGetFragmentMaterialfvSGIX #define glGetFragmentMaterialfvSGIX (gl.GetFragmentMaterialfvSGIX) #undef glGetFragmentMaterialivSGIX #define glGetFragmentMaterialivSGIX (gl.GetFragmentMaterialivSGIX) #undef glGetFramebufferAttachmentParameteriv #define glGetFramebufferAttachmentParameteriv (gl.GetFramebufferAttachmentParameteriv) #undef glGetFramebufferAttachmentParameterivEXT #define glGetFramebufferAttachmentParameterivEXT (gl.GetFramebufferAttachmentParameterivEXT) #undef glGetFramebufferParameteriv #define glGetFramebufferParameteriv (gl.GetFramebufferParameteriv) #undef glGetFramebufferParameterivEXT #define glGetFramebufferParameterivEXT (gl.GetFramebufferParameterivEXT) #undef glGetGraphicsResetStatusARB #define glGetGraphicsResetStatusARB (gl.GetGraphicsResetStatusARB) #undef glGetHandleARB #define glGetHandleARB (gl.GetHandleARB) #undef glGetHistogram #define glGetHistogram (gl.GetHistogram) #undef glGetHistogramEXT #define glGetHistogramEXT (gl.GetHistogramEXT) #undef glGetHistogramParameterfv #define glGetHistogramParameterfv (gl.GetHistogramParameterfv) #undef glGetHistogramParameterfvEXT #define glGetHistogramParameterfvEXT (gl.GetHistogramParameterfvEXT) #undef glGetHistogramParameteriv #define glGetHistogramParameteriv (gl.GetHistogramParameteriv) #undef glGetHistogramParameterivEXT #define glGetHistogramParameterivEXT (gl.GetHistogramParameterivEXT) #undef glGetHistogramParameterxvOES #define glGetHistogramParameterxvOES (gl.GetHistogramParameterxvOES) #undef glGetImageHandleARB #define glGetImageHandleARB (gl.GetImageHandleARB) #undef glGetImageHandleNV #define glGetImageHandleNV (gl.GetImageHandleNV) #undef glGetImageTransformParameterfvHP #define glGetImageTransformParameterfvHP (gl.GetImageTransformParameterfvHP) #undef glGetImageTransformParameterivHP #define glGetImageTransformParameterivHP (gl.GetImageTransformParameterivHP) #undef glGetInfoLogARB #define glGetInfoLogARB (gl.GetInfoLogARB) #undef glGetInstrumentsSGIX #define glGetInstrumentsSGIX (gl.GetInstrumentsSGIX) #undef glGetInteger64i_v #define glGetInteger64i_v (gl.GetInteger64i_v) #undef glGetInteger64v #define glGetInteger64v (gl.GetInteger64v) #undef glGetIntegerIndexedvEXT #define glGetIntegerIndexedvEXT (gl.GetIntegerIndexedvEXT) #undef glGetIntegeri_v #define glGetIntegeri_v (gl.GetIntegeri_v) #undef glGetIntegerui64i_vNV #define glGetIntegerui64i_vNV (gl.GetIntegerui64i_vNV) #undef glGetIntegerui64vNV #define glGetIntegerui64vNV (gl.GetIntegerui64vNV) #undef glGetIntegerv #define glGetIntegerv (gl.GetIntegerv) #undef glGetInternalformati64v #define glGetInternalformati64v (gl.GetInternalformati64v) #undef glGetInternalformativ #define glGetInternalformativ (gl.GetInternalformativ) #undef glGetInvariantBooleanvEXT #define glGetInvariantBooleanvEXT (gl.GetInvariantBooleanvEXT) #undef glGetInvariantFloatvEXT #define glGetInvariantFloatvEXT (gl.GetInvariantFloatvEXT) #undef glGetInvariantIntegervEXT #define glGetInvariantIntegervEXT (gl.GetInvariantIntegervEXT) #undef glGetLightfv #define glGetLightfv (gl.GetLightfv) #undef glGetLightiv #define glGetLightiv (gl.GetLightiv) #undef glGetLightxOES #define glGetLightxOES (gl.GetLightxOES) #undef glGetListParameterfvSGIX #define glGetListParameterfvSGIX (gl.GetListParameterfvSGIX) #undef glGetListParameterivSGIX #define glGetListParameterivSGIX (gl.GetListParameterivSGIX) #undef glGetLocalConstantBooleanvEXT #define glGetLocalConstantBooleanvEXT (gl.GetLocalConstantBooleanvEXT) #undef glGetLocalConstantFloatvEXT #define glGetLocalConstantFloatvEXT (gl.GetLocalConstantFloatvEXT) #undef glGetLocalConstantIntegervEXT #define glGetLocalConstantIntegervEXT (gl.GetLocalConstantIntegervEXT) #undef glGetMapAttribParameterfvNV #define glGetMapAttribParameterfvNV (gl.GetMapAttribParameterfvNV) #undef glGetMapAttribParameterivNV #define glGetMapAttribParameterivNV (gl.GetMapAttribParameterivNV) #undef glGetMapControlPointsNV #define glGetMapControlPointsNV (gl.GetMapControlPointsNV) #undef glGetMapParameterfvNV #define glGetMapParameterfvNV (gl.GetMapParameterfvNV) #undef glGetMapParameterivNV #define glGetMapParameterivNV (gl.GetMapParameterivNV) #undef glGetMapdv #define glGetMapdv (gl.GetMapdv) #undef glGetMapfv #define glGetMapfv (gl.GetMapfv) #undef glGetMapiv #define glGetMapiv (gl.GetMapiv) #undef glGetMapxvOES #define glGetMapxvOES (gl.GetMapxvOES) #undef glGetMaterialfv #define glGetMaterialfv (gl.GetMaterialfv) #undef glGetMaterialiv #define glGetMaterialiv (gl.GetMaterialiv) #undef glGetMaterialxOES #define glGetMaterialxOES (gl.GetMaterialxOES) #undef glGetMinmax #define glGetMinmax (gl.GetMinmax) #undef glGetMinmaxEXT #define glGetMinmaxEXT (gl.GetMinmaxEXT) #undef glGetMinmaxParameterfv #define glGetMinmaxParameterfv (gl.GetMinmaxParameterfv) #undef glGetMinmaxParameterfvEXT #define glGetMinmaxParameterfvEXT (gl.GetMinmaxParameterfvEXT) #undef glGetMinmaxParameteriv #define glGetMinmaxParameteriv (gl.GetMinmaxParameteriv) #undef glGetMinmaxParameterivEXT #define glGetMinmaxParameterivEXT (gl.GetMinmaxParameterivEXT) #undef glGetMultiTexEnvfvEXT #define glGetMultiTexEnvfvEXT (gl.GetMultiTexEnvfvEXT) #undef glGetMultiTexEnvivEXT #define glGetMultiTexEnvivEXT (gl.GetMultiTexEnvivEXT) #undef glGetMultiTexGendvEXT #define glGetMultiTexGendvEXT (gl.GetMultiTexGendvEXT) #undef glGetMultiTexGenfvEXT #define glGetMultiTexGenfvEXT (gl.GetMultiTexGenfvEXT) #undef glGetMultiTexGenivEXT #define glGetMultiTexGenivEXT (gl.GetMultiTexGenivEXT) #undef glGetMultiTexImageEXT #define glGetMultiTexImageEXT (gl.GetMultiTexImageEXT) #undef glGetMultiTexLevelParameterfvEXT #define glGetMultiTexLevelParameterfvEXT (gl.GetMultiTexLevelParameterfvEXT) #undef glGetMultiTexLevelParameterivEXT #define glGetMultiTexLevelParameterivEXT (gl.GetMultiTexLevelParameterivEXT) #undef glGetMultiTexParameterIivEXT #define glGetMultiTexParameterIivEXT (gl.GetMultiTexParameterIivEXT) #undef glGetMultiTexParameterIuivEXT #define glGetMultiTexParameterIuivEXT (gl.GetMultiTexParameterIuivEXT) #undef glGetMultiTexParameterfvEXT #define glGetMultiTexParameterfvEXT (gl.GetMultiTexParameterfvEXT) #undef glGetMultiTexParameterivEXT #define glGetMultiTexParameterivEXT (gl.GetMultiTexParameterivEXT) #undef glGetMultisamplefv #define glGetMultisamplefv (gl.GetMultisamplefv) #undef glGetMultisamplefvNV #define glGetMultisamplefvNV (gl.GetMultisamplefvNV) #undef glGetNamedBufferParameterivEXT #define glGetNamedBufferParameterivEXT (gl.GetNamedBufferParameterivEXT) #undef glGetNamedBufferParameterui64vNV #define glGetNamedBufferParameterui64vNV (gl.GetNamedBufferParameterui64vNV) #undef glGetNamedBufferPointervEXT #define glGetNamedBufferPointervEXT (gl.GetNamedBufferPointervEXT) #undef glGetNamedBufferSubDataEXT #define glGetNamedBufferSubDataEXT (gl.GetNamedBufferSubDataEXT) #undef glGetNamedFramebufferAttachmentParameterivEXT #define glGetNamedFramebufferAttachmentParameterivEXT (gl.GetNamedFramebufferAttachmentParameterivEXT) #undef glGetNamedFramebufferParameterivEXT #define glGetNamedFramebufferParameterivEXT (gl.GetNamedFramebufferParameterivEXT) #undef glGetNamedProgramLocalParameterIivEXT #define glGetNamedProgramLocalParameterIivEXT (gl.GetNamedProgramLocalParameterIivEXT) #undef glGetNamedProgramLocalParameterIuivEXT #define glGetNamedProgramLocalParameterIuivEXT (gl.GetNamedProgramLocalParameterIuivEXT) #undef glGetNamedProgramLocalParameterdvEXT #define glGetNamedProgramLocalParameterdvEXT (gl.GetNamedProgramLocalParameterdvEXT) #undef glGetNamedProgramLocalParameterfvEXT #define glGetNamedProgramLocalParameterfvEXT (gl.GetNamedProgramLocalParameterfvEXT) #undef glGetNamedProgramStringEXT #define glGetNamedProgramStringEXT (gl.GetNamedProgramStringEXT) #undef glGetNamedProgramivEXT #define glGetNamedProgramivEXT (gl.GetNamedProgramivEXT) #undef glGetNamedRenderbufferParameterivEXT #define glGetNamedRenderbufferParameterivEXT (gl.GetNamedRenderbufferParameterivEXT) #undef glGetNamedStringARB #define glGetNamedStringARB (gl.GetNamedStringARB) #undef glGetNamedStringivARB #define glGetNamedStringivARB (gl.GetNamedStringivARB) #undef glGetNextPerfQueryIdINTEL #define glGetNextPerfQueryIdINTEL (gl.GetNextPerfQueryIdINTEL) #undef glGetObjectBufferfvATI #define glGetObjectBufferfvATI (gl.GetObjectBufferfvATI) #undef glGetObjectBufferivATI #define glGetObjectBufferivATI (gl.GetObjectBufferivATI) #undef glGetObjectLabel #define glGetObjectLabel (gl.GetObjectLabel) #undef glGetObjectLabelEXT #define glGetObjectLabelEXT (gl.GetObjectLabelEXT) #undef glGetObjectParameterfvARB #define glGetObjectParameterfvARB (gl.GetObjectParameterfvARB) #undef glGetObjectParameterivAPPLE #define glGetObjectParameterivAPPLE (gl.GetObjectParameterivAPPLE) #undef glGetObjectParameterivARB #define glGetObjectParameterivARB (gl.GetObjectParameterivARB) #undef glGetObjectPtrLabel #define glGetObjectPtrLabel (gl.GetObjectPtrLabel) #undef glGetOcclusionQueryivNV #define glGetOcclusionQueryivNV (gl.GetOcclusionQueryivNV) #undef glGetOcclusionQueryuivNV #define glGetOcclusionQueryuivNV (gl.GetOcclusionQueryuivNV) #undef glGetPathColorGenfvNV #define glGetPathColorGenfvNV (gl.GetPathColorGenfvNV) #undef glGetPathColorGenivNV #define glGetPathColorGenivNV (gl.GetPathColorGenivNV) #undef glGetPathCommandsNV #define glGetPathCommandsNV (gl.GetPathCommandsNV) #undef glGetPathCoordsNV #define glGetPathCoordsNV (gl.GetPathCoordsNV) #undef glGetPathDashArrayNV #define glGetPathDashArrayNV (gl.GetPathDashArrayNV) #undef glGetPathLengthNV #define glGetPathLengthNV (gl.GetPathLengthNV) #undef glGetPathMetricRangeNV #define glGetPathMetricRangeNV (gl.GetPathMetricRangeNV) #undef glGetPathMetricsNV #define glGetPathMetricsNV (gl.GetPathMetricsNV) #undef glGetPathParameterfvNV #define glGetPathParameterfvNV (gl.GetPathParameterfvNV) #undef glGetPathParameterivNV #define glGetPathParameterivNV (gl.GetPathParameterivNV) #undef glGetPathSpacingNV #define glGetPathSpacingNV (gl.GetPathSpacingNV) #undef glGetPathTexGenfvNV #define glGetPathTexGenfvNV (gl.GetPathTexGenfvNV) #undef glGetPathTexGenivNV #define glGetPathTexGenivNV (gl.GetPathTexGenivNV) #undef glGetPerfCounterInfoINTEL #define glGetPerfCounterInfoINTEL (gl.GetPerfCounterInfoINTEL) #undef glGetPerfMonitorCounterDataAMD #define glGetPerfMonitorCounterDataAMD (gl.GetPerfMonitorCounterDataAMD) #undef glGetPerfMonitorCounterInfoAMD #define glGetPerfMonitorCounterInfoAMD (gl.GetPerfMonitorCounterInfoAMD) #undef glGetPerfMonitorCounterStringAMD #define glGetPerfMonitorCounterStringAMD (gl.GetPerfMonitorCounterStringAMD) #undef glGetPerfMonitorCountersAMD #define glGetPerfMonitorCountersAMD (gl.GetPerfMonitorCountersAMD) #undef glGetPerfMonitorGroupStringAMD #define glGetPerfMonitorGroupStringAMD (gl.GetPerfMonitorGroupStringAMD) #undef glGetPerfMonitorGroupsAMD #define glGetPerfMonitorGroupsAMD (gl.GetPerfMonitorGroupsAMD) #undef glGetPerfQueryDataINTEL #define glGetPerfQueryDataINTEL (gl.GetPerfQueryDataINTEL) #undef glGetPerfQueryIdByNameINTEL #define glGetPerfQueryIdByNameINTEL (gl.GetPerfQueryIdByNameINTEL) #undef glGetPerfQueryInfoINTEL #define glGetPerfQueryInfoINTEL (gl.GetPerfQueryInfoINTEL) #undef glGetPixelMapfv #define glGetPixelMapfv (gl.GetPixelMapfv) #undef glGetPixelMapuiv #define glGetPixelMapuiv (gl.GetPixelMapuiv) #undef glGetPixelMapusv #define glGetPixelMapusv (gl.GetPixelMapusv) #undef glGetPixelMapxv #define glGetPixelMapxv (gl.GetPixelMapxv) #undef glGetPixelTexGenParameterfvSGIS #define glGetPixelTexGenParameterfvSGIS (gl.GetPixelTexGenParameterfvSGIS) #undef glGetPixelTexGenParameterivSGIS #define glGetPixelTexGenParameterivSGIS (gl.GetPixelTexGenParameterivSGIS) #undef glGetPixelTransformParameterfvEXT #define glGetPixelTransformParameterfvEXT (gl.GetPixelTransformParameterfvEXT) #undef glGetPixelTransformParameterivEXT #define glGetPixelTransformParameterivEXT (gl.GetPixelTransformParameterivEXT) #undef glGetPointerIndexedvEXT #define glGetPointerIndexedvEXT (gl.GetPointerIndexedvEXT) #undef glGetPointeri_vEXT #define glGetPointeri_vEXT (gl.GetPointeri_vEXT) #undef glGetPointerv #define glGetPointerv (gl.GetPointerv) #undef glGetPointervEXT #define glGetPointervEXT (gl.GetPointervEXT) #undef glGetPolygonStipple #define glGetPolygonStipple (gl.GetPolygonStipple) #undef glGetProgramBinary #define glGetProgramBinary (gl.GetProgramBinary) #undef glGetProgramEnvParameterIivNV #define glGetProgramEnvParameterIivNV (gl.GetProgramEnvParameterIivNV) #undef glGetProgramEnvParameterIuivNV #define glGetProgramEnvParameterIuivNV (gl.GetProgramEnvParameterIuivNV) #undef glGetProgramEnvParameterdvARB #define glGetProgramEnvParameterdvARB (gl.GetProgramEnvParameterdvARB) #undef glGetProgramEnvParameterfvARB #define glGetProgramEnvParameterfvARB (gl.GetProgramEnvParameterfvARB) #undef glGetProgramInfoLog #define glGetProgramInfoLog (gl.GetProgramInfoLog) #undef glGetProgramInterfaceiv #define glGetProgramInterfaceiv (gl.GetProgramInterfaceiv) #undef glGetProgramLocalParameterIivNV #define glGetProgramLocalParameterIivNV (gl.GetProgramLocalParameterIivNV) #undef glGetProgramLocalParameterIuivNV #define glGetProgramLocalParameterIuivNV (gl.GetProgramLocalParameterIuivNV) #undef glGetProgramLocalParameterdvARB #define glGetProgramLocalParameterdvARB (gl.GetProgramLocalParameterdvARB) #undef glGetProgramLocalParameterfvARB #define glGetProgramLocalParameterfvARB (gl.GetProgramLocalParameterfvARB) #undef glGetProgramNamedParameterdvNV #define glGetProgramNamedParameterdvNV (gl.GetProgramNamedParameterdvNV) #undef glGetProgramNamedParameterfvNV #define glGetProgramNamedParameterfvNV (gl.GetProgramNamedParameterfvNV) #undef glGetProgramParameterdvNV #define glGetProgramParameterdvNV (gl.GetProgramParameterdvNV) #undef glGetProgramParameterfvNV #define glGetProgramParameterfvNV (gl.GetProgramParameterfvNV) #undef glGetProgramPipelineInfoLog #define glGetProgramPipelineInfoLog (gl.GetProgramPipelineInfoLog) #undef glGetProgramPipelineiv #define glGetProgramPipelineiv (gl.GetProgramPipelineiv) #undef glGetProgramRegisterfvMESA #define glGetProgramRegisterfvMESA (gl.GetProgramRegisterfvMESA) #undef glGetProgramResourceIndex #define glGetProgramResourceIndex (gl.GetProgramResourceIndex) #undef glGetProgramResourceLocation #define glGetProgramResourceLocation (gl.GetProgramResourceLocation) #undef glGetProgramResourceLocationIndex #define glGetProgramResourceLocationIndex (gl.GetProgramResourceLocationIndex) #undef glGetProgramResourceName #define glGetProgramResourceName (gl.GetProgramResourceName) #undef glGetProgramResourceiv #define glGetProgramResourceiv (gl.GetProgramResourceiv) #undef glGetProgramStageiv #define glGetProgramStageiv (gl.GetProgramStageiv) #undef glGetProgramStringARB #define glGetProgramStringARB (gl.GetProgramStringARB) #undef glGetProgramStringNV #define glGetProgramStringNV (gl.GetProgramStringNV) #undef glGetProgramSubroutineParameteruivNV #define glGetProgramSubroutineParameteruivNV (gl.GetProgramSubroutineParameteruivNV) #undef glGetProgramiv #define glGetProgramiv (gl.GetProgramiv) #undef glGetProgramivARB #define glGetProgramivARB (gl.GetProgramivARB) #undef glGetProgramivNV #define glGetProgramivNV (gl.GetProgramivNV) #undef glGetQueryIndexediv #define glGetQueryIndexediv (gl.GetQueryIndexediv) #undef glGetQueryObjecti64v #define glGetQueryObjecti64v (gl.GetQueryObjecti64v) #undef glGetQueryObjecti64vEXT #define glGetQueryObjecti64vEXT (gl.GetQueryObjecti64vEXT) #undef glGetQueryObjectiv #define glGetQueryObjectiv (gl.GetQueryObjectiv) #undef glGetQueryObjectivARB #define glGetQueryObjectivARB (gl.GetQueryObjectivARB) #undef glGetQueryObjectui64v #define glGetQueryObjectui64v (gl.GetQueryObjectui64v) #undef glGetQueryObjectui64vEXT #define glGetQueryObjectui64vEXT (gl.GetQueryObjectui64vEXT) #undef glGetQueryObjectuiv #define glGetQueryObjectuiv (gl.GetQueryObjectuiv) #undef glGetQueryObjectuivARB #define glGetQueryObjectuivARB (gl.GetQueryObjectuivARB) #undef glGetQueryiv #define glGetQueryiv (gl.GetQueryiv) #undef glGetQueryivARB #define glGetQueryivARB (gl.GetQueryivARB) #undef glGetRenderbufferParameteriv #define glGetRenderbufferParameteriv (gl.GetRenderbufferParameteriv) #undef glGetRenderbufferParameterivEXT #define glGetRenderbufferParameterivEXT (gl.GetRenderbufferParameterivEXT) #undef glGetSamplerParameterIiv #define glGetSamplerParameterIiv (gl.GetSamplerParameterIiv) #undef glGetSamplerParameterIuiv #define glGetSamplerParameterIuiv (gl.GetSamplerParameterIuiv) #undef glGetSamplerParameterfv #define glGetSamplerParameterfv (gl.GetSamplerParameterfv) #undef glGetSamplerParameteriv #define glGetSamplerParameteriv (gl.GetSamplerParameteriv) #undef glGetSeparableFilter #define glGetSeparableFilter (gl.GetSeparableFilter) #undef glGetSeparableFilterEXT #define glGetSeparableFilterEXT (gl.GetSeparableFilterEXT) #undef glGetShaderInfoLog #define glGetShaderInfoLog (gl.GetShaderInfoLog) #undef glGetShaderPrecisionFormat #define glGetShaderPrecisionFormat (gl.GetShaderPrecisionFormat) #undef glGetShaderSource #define glGetShaderSource (gl.GetShaderSource) #undef glGetShaderSourceARB #define glGetShaderSourceARB (gl.GetShaderSourceARB) #undef glGetShaderiv #define glGetShaderiv (gl.GetShaderiv) #undef glGetSharpenTexFuncSGIS #define glGetSharpenTexFuncSGIS (gl.GetSharpenTexFuncSGIS) #undef glGetString #define glGetString (gl.GetString) #undef glGetStringi #define glGetStringi (gl.GetStringi) #undef glGetSubroutineIndex #define glGetSubroutineIndex (gl.GetSubroutineIndex) #undef glGetSubroutineUniformLocation #define glGetSubroutineUniformLocation (gl.GetSubroutineUniformLocation) #undef glGetSynciv #define glGetSynciv (gl.GetSynciv) #undef glGetTexBumpParameterfvATI #define glGetTexBumpParameterfvATI (gl.GetTexBumpParameterfvATI) #undef glGetTexBumpParameterivATI #define glGetTexBumpParameterivATI (gl.GetTexBumpParameterivATI) #undef glGetTexEnvfv #define glGetTexEnvfv (gl.GetTexEnvfv) #undef glGetTexEnviv #define glGetTexEnviv (gl.GetTexEnviv) #undef glGetTexEnvxvOES #define glGetTexEnvxvOES (gl.GetTexEnvxvOES) #undef glGetTexFilterFuncSGIS #define glGetTexFilterFuncSGIS (gl.GetTexFilterFuncSGIS) #undef glGetTexGendv #define glGetTexGendv (gl.GetTexGendv) #undef glGetTexGenfv #define glGetTexGenfv (gl.GetTexGenfv) #undef glGetTexGeniv #define glGetTexGeniv (gl.GetTexGeniv) #undef glGetTexGenxvOES #define glGetTexGenxvOES (gl.GetTexGenxvOES) #undef glGetTexImage #define glGetTexImage (gl.GetTexImage) #undef glGetTexLevelParameterfv #define glGetTexLevelParameterfv (gl.GetTexLevelParameterfv) #undef glGetTexLevelParameteriv #define glGetTexLevelParameteriv (gl.GetTexLevelParameteriv) #undef glGetTexLevelParameterxvOES #define glGetTexLevelParameterxvOES (gl.GetTexLevelParameterxvOES) #undef glGetTexParameterIiv #define glGetTexParameterIiv (gl.GetTexParameterIiv) #undef glGetTexParameterIivEXT #define glGetTexParameterIivEXT (gl.GetTexParameterIivEXT) #undef glGetTexParameterIuiv #define glGetTexParameterIuiv (gl.GetTexParameterIuiv) #undef glGetTexParameterIuivEXT #define glGetTexParameterIuivEXT (gl.GetTexParameterIuivEXT) #undef glGetTexParameterPointervAPPLE #define glGetTexParameterPointervAPPLE (gl.GetTexParameterPointervAPPLE) #undef glGetTexParameterfv #define glGetTexParameterfv (gl.GetTexParameterfv) #undef glGetTexParameteriv #define glGetTexParameteriv (gl.GetTexParameteriv) #undef glGetTexParameterxvOES #define glGetTexParameterxvOES (gl.GetTexParameterxvOES) #undef glGetTextureHandleARB #define glGetTextureHandleARB (gl.GetTextureHandleARB) #undef glGetTextureHandleNV #define glGetTextureHandleNV (gl.GetTextureHandleNV) #undef glGetTextureImageEXT #define glGetTextureImageEXT (gl.GetTextureImageEXT) #undef glGetTextureLevelParameterfvEXT #define glGetTextureLevelParameterfvEXT (gl.GetTextureLevelParameterfvEXT) #undef glGetTextureLevelParameterivEXT #define glGetTextureLevelParameterivEXT (gl.GetTextureLevelParameterivEXT) #undef glGetTextureParameterIivEXT #define glGetTextureParameterIivEXT (gl.GetTextureParameterIivEXT) #undef glGetTextureParameterIuivEXT #define glGetTextureParameterIuivEXT (gl.GetTextureParameterIuivEXT) #undef glGetTextureParameterfvEXT #define glGetTextureParameterfvEXT (gl.GetTextureParameterfvEXT) #undef glGetTextureParameterivEXT #define glGetTextureParameterivEXT (gl.GetTextureParameterivEXT) #undef glGetTextureSamplerHandleARB #define glGetTextureSamplerHandleARB (gl.GetTextureSamplerHandleARB) #undef glGetTextureSamplerHandleNV #define glGetTextureSamplerHandleNV (gl.GetTextureSamplerHandleNV) #undef glGetTrackMatrixivNV #define glGetTrackMatrixivNV (gl.GetTrackMatrixivNV) #undef glGetTransformFeedbackVarying #define glGetTransformFeedbackVarying (gl.GetTransformFeedbackVarying) #undef glGetTransformFeedbackVaryingEXT #define glGetTransformFeedbackVaryingEXT (gl.GetTransformFeedbackVaryingEXT) #undef glGetTransformFeedbackVaryingNV #define glGetTransformFeedbackVaryingNV (gl.GetTransformFeedbackVaryingNV) #undef glGetUniformBlockIndex #define glGetUniformBlockIndex (gl.GetUniformBlockIndex) #undef glGetUniformBufferSizeEXT #define glGetUniformBufferSizeEXT (gl.GetUniformBufferSizeEXT) #undef glGetUniformIndices #define glGetUniformIndices (gl.GetUniformIndices) #undef glGetUniformLocation #define glGetUniformLocation (gl.GetUniformLocation) #undef glGetUniformLocationARB #define glGetUniformLocationARB (gl.GetUniformLocationARB) #undef glGetUniformOffsetEXT #define glGetUniformOffsetEXT (gl.GetUniformOffsetEXT) #undef glGetUniformSubroutineuiv #define glGetUniformSubroutineuiv (gl.GetUniformSubroutineuiv) #undef glGetUniformdv #define glGetUniformdv (gl.GetUniformdv) #undef glGetUniformfv #define glGetUniformfv (gl.GetUniformfv) #undef glGetUniformfvARB #define glGetUniformfvARB (gl.GetUniformfvARB) #undef glGetUniformi64vNV #define glGetUniformi64vNV (gl.GetUniformi64vNV) #undef glGetUniformiv #define glGetUniformiv (gl.GetUniformiv) #undef glGetUniformivARB #define glGetUniformivARB (gl.GetUniformivARB) #undef glGetUniformui64vNV #define glGetUniformui64vNV (gl.GetUniformui64vNV) #undef glGetUniformuiv #define glGetUniformuiv (gl.GetUniformuiv) #undef glGetUniformuivEXT #define glGetUniformuivEXT (gl.GetUniformuivEXT) #undef glGetVariantArrayObjectfvATI #define glGetVariantArrayObjectfvATI (gl.GetVariantArrayObjectfvATI) #undef glGetVariantArrayObjectivATI #define glGetVariantArrayObjectivATI (gl.GetVariantArrayObjectivATI) #undef glGetVariantBooleanvEXT #define glGetVariantBooleanvEXT (gl.GetVariantBooleanvEXT) #undef glGetVariantFloatvEXT #define glGetVariantFloatvEXT (gl.GetVariantFloatvEXT) #undef glGetVariantIntegervEXT #define glGetVariantIntegervEXT (gl.GetVariantIntegervEXT) #undef glGetVariantPointervEXT #define glGetVariantPointervEXT (gl.GetVariantPointervEXT) #undef glGetVaryingLocationNV #define glGetVaryingLocationNV (gl.GetVaryingLocationNV) #undef glGetVertexArrayIntegeri_vEXT #define glGetVertexArrayIntegeri_vEXT (gl.GetVertexArrayIntegeri_vEXT) #undef glGetVertexArrayIntegervEXT #define glGetVertexArrayIntegervEXT (gl.GetVertexArrayIntegervEXT) #undef glGetVertexArrayPointeri_vEXT #define glGetVertexArrayPointeri_vEXT (gl.GetVertexArrayPointeri_vEXT) #undef glGetVertexArrayPointervEXT #define glGetVertexArrayPointervEXT (gl.GetVertexArrayPointervEXT) #undef glGetVertexAttribArrayObjectfvATI #define glGetVertexAttribArrayObjectfvATI (gl.GetVertexAttribArrayObjectfvATI) #undef glGetVertexAttribArrayObjectivATI #define glGetVertexAttribArrayObjectivATI (gl.GetVertexAttribArrayObjectivATI) #undef glGetVertexAttribIiv #define glGetVertexAttribIiv (gl.GetVertexAttribIiv) #undef glGetVertexAttribIivEXT #define glGetVertexAttribIivEXT (gl.GetVertexAttribIivEXT) #undef glGetVertexAttribIuiv #define glGetVertexAttribIuiv (gl.GetVertexAttribIuiv) #undef glGetVertexAttribIuivEXT #define glGetVertexAttribIuivEXT (gl.GetVertexAttribIuivEXT) #undef glGetVertexAttribLdv #define glGetVertexAttribLdv (gl.GetVertexAttribLdv) #undef glGetVertexAttribLdvEXT #define glGetVertexAttribLdvEXT (gl.GetVertexAttribLdvEXT) #undef glGetVertexAttribLi64vNV #define glGetVertexAttribLi64vNV (gl.GetVertexAttribLi64vNV) #undef glGetVertexAttribLui64vARB #define glGetVertexAttribLui64vARB (gl.GetVertexAttribLui64vARB) #undef glGetVertexAttribLui64vNV #define glGetVertexAttribLui64vNV (gl.GetVertexAttribLui64vNV) #undef glGetVertexAttribPointerv #define glGetVertexAttribPointerv (gl.GetVertexAttribPointerv) #undef glGetVertexAttribPointervARB #define glGetVertexAttribPointervARB (gl.GetVertexAttribPointervARB) #undef glGetVertexAttribPointervNV #define glGetVertexAttribPointervNV (gl.GetVertexAttribPointervNV) #undef glGetVertexAttribdv #define glGetVertexAttribdv (gl.GetVertexAttribdv) #undef glGetVertexAttribdvARB #define glGetVertexAttribdvARB (gl.GetVertexAttribdvARB) #undef glGetVertexAttribdvNV #define glGetVertexAttribdvNV (gl.GetVertexAttribdvNV) #undef glGetVertexAttribfv #define glGetVertexAttribfv (gl.GetVertexAttribfv) #undef glGetVertexAttribfvARB #define glGetVertexAttribfvARB (gl.GetVertexAttribfvARB) #undef glGetVertexAttribfvNV #define glGetVertexAttribfvNV (gl.GetVertexAttribfvNV) #undef glGetVertexAttribiv #define glGetVertexAttribiv (gl.GetVertexAttribiv) #undef glGetVertexAttribivARB #define glGetVertexAttribivARB (gl.GetVertexAttribivARB) #undef glGetVertexAttribivNV #define glGetVertexAttribivNV (gl.GetVertexAttribivNV) #undef glGetVideoCaptureStreamdvNV #define glGetVideoCaptureStreamdvNV (gl.GetVideoCaptureStreamdvNV) #undef glGetVideoCaptureStreamfvNV #define glGetVideoCaptureStreamfvNV (gl.GetVideoCaptureStreamfvNV) #undef glGetVideoCaptureStreamivNV #define glGetVideoCaptureStreamivNV (gl.GetVideoCaptureStreamivNV) #undef glGetVideoCaptureivNV #define glGetVideoCaptureivNV (gl.GetVideoCaptureivNV) #undef glGetVideoi64vNV #define glGetVideoi64vNV (gl.GetVideoi64vNV) #undef glGetVideoivNV #define glGetVideoivNV (gl.GetVideoivNV) #undef glGetVideoui64vNV #define glGetVideoui64vNV (gl.GetVideoui64vNV) #undef glGetVideouivNV #define glGetVideouivNV (gl.GetVideouivNV) #undef glGetnColorTableARB #define glGetnColorTableARB (gl.GetnColorTableARB) #undef glGetnCompressedTexImageARB #define glGetnCompressedTexImageARB (gl.GetnCompressedTexImageARB) #undef glGetnConvolutionFilterARB #define glGetnConvolutionFilterARB (gl.GetnConvolutionFilterARB) #undef glGetnHistogramARB #define glGetnHistogramARB (gl.GetnHistogramARB) #undef glGetnMapdvARB #define glGetnMapdvARB (gl.GetnMapdvARB) #undef glGetnMapfvARB #define glGetnMapfvARB (gl.GetnMapfvARB) #undef glGetnMapivARB #define glGetnMapivARB (gl.GetnMapivARB) #undef glGetnMinmaxARB #define glGetnMinmaxARB (gl.GetnMinmaxARB) #undef glGetnPixelMapfvARB #define glGetnPixelMapfvARB (gl.GetnPixelMapfvARB) #undef glGetnPixelMapuivARB #define glGetnPixelMapuivARB (gl.GetnPixelMapuivARB) #undef glGetnPixelMapusvARB #define glGetnPixelMapusvARB (gl.GetnPixelMapusvARB) #undef glGetnPolygonStippleARB #define glGetnPolygonStippleARB (gl.GetnPolygonStippleARB) #undef glGetnSeparableFilterARB #define glGetnSeparableFilterARB (gl.GetnSeparableFilterARB) #undef glGetnTexImageARB #define glGetnTexImageARB (gl.GetnTexImageARB) #undef glGetnUniformdvARB #define glGetnUniformdvARB (gl.GetnUniformdvARB) #undef glGetnUniformfvARB #define glGetnUniformfvARB (gl.GetnUniformfvARB) #undef glGetnUniformivARB #define glGetnUniformivARB (gl.GetnUniformivARB) #undef glGetnUniformuivARB #define glGetnUniformuivARB (gl.GetnUniformuivARB) #undef glGlobalAlphaFactorbSUN #define glGlobalAlphaFactorbSUN (gl.GlobalAlphaFactorbSUN) #undef glGlobalAlphaFactordSUN #define glGlobalAlphaFactordSUN (gl.GlobalAlphaFactordSUN) #undef glGlobalAlphaFactorfSUN #define glGlobalAlphaFactorfSUN (gl.GlobalAlphaFactorfSUN) #undef glGlobalAlphaFactoriSUN #define glGlobalAlphaFactoriSUN (gl.GlobalAlphaFactoriSUN) #undef glGlobalAlphaFactorsSUN #define glGlobalAlphaFactorsSUN (gl.GlobalAlphaFactorsSUN) #undef glGlobalAlphaFactorubSUN #define glGlobalAlphaFactorubSUN (gl.GlobalAlphaFactorubSUN) #undef glGlobalAlphaFactoruiSUN #define glGlobalAlphaFactoruiSUN (gl.GlobalAlphaFactoruiSUN) #undef glGlobalAlphaFactorusSUN #define glGlobalAlphaFactorusSUN (gl.GlobalAlphaFactorusSUN) #undef glHint #define glHint (gl.Hint) #undef glHintPGI #define glHintPGI (gl.HintPGI) #undef glHistogram #define glHistogram (gl.Histogram) #undef glHistogramEXT #define glHistogramEXT (gl.HistogramEXT) #undef glIglooInterfaceSGIX #define glIglooInterfaceSGIX (gl.IglooInterfaceSGIX) #undef glImageTransformParameterfHP #define glImageTransformParameterfHP (gl.ImageTransformParameterfHP) #undef glImageTransformParameterfvHP #define glImageTransformParameterfvHP (gl.ImageTransformParameterfvHP) #undef glImageTransformParameteriHP #define glImageTransformParameteriHP (gl.ImageTransformParameteriHP) #undef glImageTransformParameterivHP #define glImageTransformParameterivHP (gl.ImageTransformParameterivHP) #undef glImportSyncEXT #define glImportSyncEXT (gl.ImportSyncEXT) #undef glIndexFormatNV #define glIndexFormatNV (gl.IndexFormatNV) #undef glIndexFuncEXT #define glIndexFuncEXT (gl.IndexFuncEXT) #undef glIndexMask #define glIndexMask (gl.IndexMask) #undef glIndexMaterialEXT #define glIndexMaterialEXT (gl.IndexMaterialEXT) #undef glIndexPointer #define glIndexPointer (gl.IndexPointer) #undef glIndexPointerEXT #define glIndexPointerEXT (gl.IndexPointerEXT) #undef glIndexPointerListIBM #define glIndexPointerListIBM (gl.IndexPointerListIBM) #undef glIndexd #define glIndexd (gl.Indexd) #undef glIndexdv #define glIndexdv (gl.Indexdv) #undef glIndexf #define glIndexf (gl.Indexf) #undef glIndexfv #define glIndexfv (gl.Indexfv) #undef glIndexi #define glIndexi (gl.Indexi) #undef glIndexiv #define glIndexiv (gl.Indexiv) #undef glIndexs #define glIndexs (gl.Indexs) #undef glIndexsv #define glIndexsv (gl.Indexsv) #undef glIndexub #define glIndexub (gl.Indexub) #undef glIndexubv #define glIndexubv (gl.Indexubv) #undef glIndexxOES #define glIndexxOES (gl.IndexxOES) #undef glIndexxvOES #define glIndexxvOES (gl.IndexxvOES) #undef glInitNames #define glInitNames (gl.InitNames) #undef glInsertComponentEXT #define glInsertComponentEXT (gl.InsertComponentEXT) #undef glInsertEventMarkerEXT #define glInsertEventMarkerEXT (gl.InsertEventMarkerEXT) #undef glInstrumentsBufferSGIX #define glInstrumentsBufferSGIX (gl.InstrumentsBufferSGIX) #undef glInterleavedArrays #define glInterleavedArrays (gl.InterleavedArrays) #undef glInterpolatePathsNV #define glInterpolatePathsNV (gl.InterpolatePathsNV) #undef glInvalidateBufferData #define glInvalidateBufferData (gl.InvalidateBufferData) #undef glInvalidateBufferSubData #define glInvalidateBufferSubData (gl.InvalidateBufferSubData) #undef glInvalidateFramebuffer #define glInvalidateFramebuffer (gl.InvalidateFramebuffer) #undef glInvalidateSubFramebuffer #define glInvalidateSubFramebuffer (gl.InvalidateSubFramebuffer) #undef glInvalidateTexImage #define glInvalidateTexImage (gl.InvalidateTexImage) #undef glInvalidateTexSubImage #define glInvalidateTexSubImage (gl.InvalidateTexSubImage) #undef glIsAsyncMarkerSGIX #define glIsAsyncMarkerSGIX (gl.IsAsyncMarkerSGIX) #undef glIsBuffer #define glIsBuffer (gl.IsBuffer) #undef glIsBufferARB #define glIsBufferARB (gl.IsBufferARB) #undef glIsBufferResidentNV #define glIsBufferResidentNV (gl.IsBufferResidentNV) #undef glIsEnabled #define glIsEnabled (gl.IsEnabled) #undef glIsEnabledIndexedEXT #define glIsEnabledIndexedEXT (gl.IsEnabledIndexedEXT) #undef glIsEnabledi #define glIsEnabledi (gl.IsEnabledi) #undef glIsFenceAPPLE #define glIsFenceAPPLE (gl.IsFenceAPPLE) #undef glIsFenceNV #define glIsFenceNV (gl.IsFenceNV) #undef glIsFramebuffer #define glIsFramebuffer (gl.IsFramebuffer) #undef glIsFramebufferEXT #define glIsFramebufferEXT (gl.IsFramebufferEXT) #undef glIsImageHandleResidentARB #define glIsImageHandleResidentARB (gl.IsImageHandleResidentARB) #undef glIsImageHandleResidentNV #define glIsImageHandleResidentNV (gl.IsImageHandleResidentNV) #undef glIsList #define glIsList (gl.IsList) #undef glIsNameAMD #define glIsNameAMD (gl.IsNameAMD) #undef glIsNamedBufferResidentNV #define glIsNamedBufferResidentNV (gl.IsNamedBufferResidentNV) #undef glIsNamedStringARB #define glIsNamedStringARB (gl.IsNamedStringARB) #undef glIsObjectBufferATI #define glIsObjectBufferATI (gl.IsObjectBufferATI) #undef glIsOcclusionQueryNV #define glIsOcclusionQueryNV (gl.IsOcclusionQueryNV) #undef glIsPathNV #define glIsPathNV (gl.IsPathNV) #undef glIsPointInFillPathNV #define glIsPointInFillPathNV (gl.IsPointInFillPathNV) #undef glIsPointInStrokePathNV #define glIsPointInStrokePathNV (gl.IsPointInStrokePathNV) #undef glIsProgram #define glIsProgram (gl.IsProgram) #undef glIsProgramARB #define glIsProgramARB (gl.IsProgramARB) #undef glIsProgramNV #define glIsProgramNV (gl.IsProgramNV) #undef glIsProgramPipeline #define glIsProgramPipeline (gl.IsProgramPipeline) #undef glIsQuery #define glIsQuery (gl.IsQuery) #undef glIsQueryARB #define glIsQueryARB (gl.IsQueryARB) #undef glIsRenderbuffer #define glIsRenderbuffer (gl.IsRenderbuffer) #undef glIsRenderbufferEXT #define glIsRenderbufferEXT (gl.IsRenderbufferEXT) #undef glIsSampler #define glIsSampler (gl.IsSampler) #undef glIsShader #define glIsShader (gl.IsShader) #undef glIsSync #define glIsSync (gl.IsSync) #undef glIsTexture #define glIsTexture (gl.IsTexture) #undef glIsTextureEXT #define glIsTextureEXT (gl.IsTextureEXT) #undef glIsTextureHandleResidentARB #define glIsTextureHandleResidentARB (gl.IsTextureHandleResidentARB) #undef glIsTextureHandleResidentNV #define glIsTextureHandleResidentNV (gl.IsTextureHandleResidentNV) #undef glIsTransformFeedback #define glIsTransformFeedback (gl.IsTransformFeedback) #undef glIsTransformFeedbackNV #define glIsTransformFeedbackNV (gl.IsTransformFeedbackNV) #undef glIsVariantEnabledEXT #define glIsVariantEnabledEXT (gl.IsVariantEnabledEXT) #undef glIsVertexArray #define glIsVertexArray (gl.IsVertexArray) #undef glIsVertexArrayAPPLE #define glIsVertexArrayAPPLE (gl.IsVertexArrayAPPLE) #undef glIsVertexAttribEnabledAPPLE #define glIsVertexAttribEnabledAPPLE (gl.IsVertexAttribEnabledAPPLE) #undef glLabelObjectEXT #define glLabelObjectEXT (gl.LabelObjectEXT) #undef glLightEnviSGIX #define glLightEnviSGIX (gl.LightEnviSGIX) #undef glLightModelf #define glLightModelf (gl.LightModelf) #undef glLightModelfv #define glLightModelfv (gl.LightModelfv) #undef glLightModeli #define glLightModeli (gl.LightModeli) #undef glLightModeliv #define glLightModeliv (gl.LightModeliv) #undef glLightModelxOES #define glLightModelxOES (gl.LightModelxOES) #undef glLightModelxvOES #define glLightModelxvOES (gl.LightModelxvOES) #undef glLightf #define glLightf (gl.Lightf) #undef glLightfv #define glLightfv (gl.Lightfv) #undef glLighti #define glLighti (gl.Lighti) #undef glLightiv #define glLightiv (gl.Lightiv) #undef glLightxOES #define glLightxOES (gl.LightxOES) #undef glLightxvOES #define glLightxvOES (gl.LightxvOES) #undef glLineStipple #define glLineStipple (gl.LineStipple) #undef glLineWidth #define glLineWidth (gl.LineWidth) #undef glLineWidthxOES #define glLineWidthxOES (gl.LineWidthxOES) #undef glLinkProgram #define glLinkProgram (gl.LinkProgram) #undef glLinkProgramARB #define glLinkProgramARB (gl.LinkProgramARB) #undef glListBase #define glListBase (gl.ListBase) #undef glListParameterfSGIX #define glListParameterfSGIX (gl.ListParameterfSGIX) #undef glListParameterfvSGIX #define glListParameterfvSGIX (gl.ListParameterfvSGIX) #undef glListParameteriSGIX #define glListParameteriSGIX (gl.ListParameteriSGIX) #undef glListParameterivSGIX #define glListParameterivSGIX (gl.ListParameterivSGIX) #undef glLoadIdentity #define glLoadIdentity (gl.LoadIdentity) #undef glLoadIdentityDeformationMapSGIX #define glLoadIdentityDeformationMapSGIX (gl.LoadIdentityDeformationMapSGIX) #undef glLoadMatrixd #define glLoadMatrixd (gl.LoadMatrixd) #undef glLoadMatrixf #define glLoadMatrixf (gl.LoadMatrixf) #undef glLoadMatrixxOES #define glLoadMatrixxOES (gl.LoadMatrixxOES) #undef glLoadName #define glLoadName (gl.LoadName) #undef glLoadProgramNV #define glLoadProgramNV (gl.LoadProgramNV) #undef glLoadTransposeMatrixd #define glLoadTransposeMatrixd (gl.LoadTransposeMatrixd) #undef glLoadTransposeMatrixdARB #define glLoadTransposeMatrixdARB (gl.LoadTransposeMatrixdARB) #undef glLoadTransposeMatrixf #define glLoadTransposeMatrixf (gl.LoadTransposeMatrixf) #undef glLoadTransposeMatrixfARB #define glLoadTransposeMatrixfARB (gl.LoadTransposeMatrixfARB) #undef glLoadTransposeMatrixxOES #define glLoadTransposeMatrixxOES (gl.LoadTransposeMatrixxOES) #undef glLockArraysEXT #define glLockArraysEXT (gl.LockArraysEXT) #undef glLogicOp #define glLogicOp (gl.LogicOp) #undef glMakeBufferNonResidentNV #define glMakeBufferNonResidentNV (gl.MakeBufferNonResidentNV) #undef glMakeBufferResidentNV #define glMakeBufferResidentNV (gl.MakeBufferResidentNV) #undef glMakeImageHandleNonResidentARB #define glMakeImageHandleNonResidentARB (gl.MakeImageHandleNonResidentARB) #undef glMakeImageHandleNonResidentNV #define glMakeImageHandleNonResidentNV (gl.MakeImageHandleNonResidentNV) #undef glMakeImageHandleResidentARB #define glMakeImageHandleResidentARB (gl.MakeImageHandleResidentARB) #undef glMakeImageHandleResidentNV #define glMakeImageHandleResidentNV (gl.MakeImageHandleResidentNV) #undef glMakeNamedBufferNonResidentNV #define glMakeNamedBufferNonResidentNV (gl.MakeNamedBufferNonResidentNV) #undef glMakeNamedBufferResidentNV #define glMakeNamedBufferResidentNV (gl.MakeNamedBufferResidentNV) #undef glMakeTextureHandleNonResidentARB #define glMakeTextureHandleNonResidentARB (gl.MakeTextureHandleNonResidentARB) #undef glMakeTextureHandleNonResidentNV #define glMakeTextureHandleNonResidentNV (gl.MakeTextureHandleNonResidentNV) #undef glMakeTextureHandleResidentARB #define glMakeTextureHandleResidentARB (gl.MakeTextureHandleResidentARB) #undef glMakeTextureHandleResidentNV #define glMakeTextureHandleResidentNV (gl.MakeTextureHandleResidentNV) #undef glMap1d #define glMap1d (gl.Map1d) #undef glMap1f #define glMap1f (gl.Map1f) #undef glMap1xOES #define glMap1xOES (gl.Map1xOES) #undef glMap2d #define glMap2d (gl.Map2d) #undef glMap2f #define glMap2f (gl.Map2f) #undef glMap2xOES #define glMap2xOES (gl.Map2xOES) #undef glMapBuffer #define glMapBuffer (gl.MapBuffer) #undef glMapBufferARB #define glMapBufferARB (gl.MapBufferARB) #undef glMapBufferRange #define glMapBufferRange (gl.MapBufferRange) #undef glMapControlPointsNV #define glMapControlPointsNV (gl.MapControlPointsNV) #undef glMapGrid1d #define glMapGrid1d (gl.MapGrid1d) #undef glMapGrid1f #define glMapGrid1f (gl.MapGrid1f) #undef glMapGrid1xOES #define glMapGrid1xOES (gl.MapGrid1xOES) #undef glMapGrid2d #define glMapGrid2d (gl.MapGrid2d) #undef glMapGrid2f #define glMapGrid2f (gl.MapGrid2f) #undef glMapGrid2xOES #define glMapGrid2xOES (gl.MapGrid2xOES) #undef glMapNamedBufferEXT #define glMapNamedBufferEXT (gl.MapNamedBufferEXT) #undef glMapNamedBufferRangeEXT #define glMapNamedBufferRangeEXT (gl.MapNamedBufferRangeEXT) #undef glMapObjectBufferATI #define glMapObjectBufferATI (gl.MapObjectBufferATI) #undef glMapParameterfvNV #define glMapParameterfvNV (gl.MapParameterfvNV) #undef glMapParameterivNV #define glMapParameterivNV (gl.MapParameterivNV) #undef glMapTexture2DINTEL #define glMapTexture2DINTEL (gl.MapTexture2DINTEL) #undef glMapVertexAttrib1dAPPLE #define glMapVertexAttrib1dAPPLE (gl.MapVertexAttrib1dAPPLE) #undef glMapVertexAttrib1fAPPLE #define glMapVertexAttrib1fAPPLE (gl.MapVertexAttrib1fAPPLE) #undef glMapVertexAttrib2dAPPLE #define glMapVertexAttrib2dAPPLE (gl.MapVertexAttrib2dAPPLE) #undef glMapVertexAttrib2fAPPLE #define glMapVertexAttrib2fAPPLE (gl.MapVertexAttrib2fAPPLE) #undef glMaterialf #define glMaterialf (gl.Materialf) #undef glMaterialfv #define glMaterialfv (gl.Materialfv) #undef glMateriali #define glMateriali (gl.Materiali) #undef glMaterialiv #define glMaterialiv (gl.Materialiv) #undef glMaterialxOES #define glMaterialxOES (gl.MaterialxOES) #undef glMaterialxvOES #define glMaterialxvOES (gl.MaterialxvOES) #undef glMatrixFrustumEXT #define glMatrixFrustumEXT (gl.MatrixFrustumEXT) #undef glMatrixIndexPointerARB #define glMatrixIndexPointerARB (gl.MatrixIndexPointerARB) #undef glMatrixIndexubvARB #define glMatrixIndexubvARB (gl.MatrixIndexubvARB) #undef glMatrixIndexuivARB #define glMatrixIndexuivARB (gl.MatrixIndexuivARB) #undef glMatrixIndexusvARB #define glMatrixIndexusvARB (gl.MatrixIndexusvARB) #undef glMatrixLoadIdentityEXT #define glMatrixLoadIdentityEXT (gl.MatrixLoadIdentityEXT) #undef glMatrixLoadTransposedEXT #define glMatrixLoadTransposedEXT (gl.MatrixLoadTransposedEXT) #undef glMatrixLoadTransposefEXT #define glMatrixLoadTransposefEXT (gl.MatrixLoadTransposefEXT) #undef glMatrixLoaddEXT #define glMatrixLoaddEXT (gl.MatrixLoaddEXT) #undef glMatrixLoadfEXT #define glMatrixLoadfEXT (gl.MatrixLoadfEXT) #undef glMatrixMode #define glMatrixMode (gl.MatrixMode) #undef glMatrixMultTransposedEXT #define glMatrixMultTransposedEXT (gl.MatrixMultTransposedEXT) #undef glMatrixMultTransposefEXT #define glMatrixMultTransposefEXT (gl.MatrixMultTransposefEXT) #undef glMatrixMultdEXT #define glMatrixMultdEXT (gl.MatrixMultdEXT) #undef glMatrixMultfEXT #define glMatrixMultfEXT (gl.MatrixMultfEXT) #undef glMatrixOrthoEXT #define glMatrixOrthoEXT (gl.MatrixOrthoEXT) #undef glMatrixPopEXT #define glMatrixPopEXT (gl.MatrixPopEXT) #undef glMatrixPushEXT #define glMatrixPushEXT (gl.MatrixPushEXT) #undef glMatrixRotatedEXT #define glMatrixRotatedEXT (gl.MatrixRotatedEXT) #undef glMatrixRotatefEXT #define glMatrixRotatefEXT (gl.MatrixRotatefEXT) #undef glMatrixScaledEXT #define glMatrixScaledEXT (gl.MatrixScaledEXT) #undef glMatrixScalefEXT #define glMatrixScalefEXT (gl.MatrixScalefEXT) #undef glMatrixTranslatedEXT #define glMatrixTranslatedEXT (gl.MatrixTranslatedEXT) #undef glMatrixTranslatefEXT #define glMatrixTranslatefEXT (gl.MatrixTranslatefEXT) #undef glMemoryBarrier #define glMemoryBarrier (gl.MemoryBarrier) #undef glMemoryBarrierEXT #define glMemoryBarrierEXT (gl.MemoryBarrierEXT) #undef glMinSampleShading #define glMinSampleShading (gl.MinSampleShading) #undef glMinSampleShadingARB #define glMinSampleShadingARB (gl.MinSampleShadingARB) #undef glMinmax #define glMinmax (gl.Minmax) #undef glMinmaxEXT #define glMinmaxEXT (gl.MinmaxEXT) #undef glMultMatrixd #define glMultMatrixd (gl.MultMatrixd) #undef glMultMatrixf #define glMultMatrixf (gl.MultMatrixf) #undef glMultMatrixxOES #define glMultMatrixxOES (gl.MultMatrixxOES) #undef glMultTransposeMatrixd #define glMultTransposeMatrixd (gl.MultTransposeMatrixd) #undef glMultTransposeMatrixdARB #define glMultTransposeMatrixdARB (gl.MultTransposeMatrixdARB) #undef glMultTransposeMatrixf #define glMultTransposeMatrixf (gl.MultTransposeMatrixf) #undef glMultTransposeMatrixfARB #define glMultTransposeMatrixfARB (gl.MultTransposeMatrixfARB) #undef glMultTransposeMatrixxOES #define glMultTransposeMatrixxOES (gl.MultTransposeMatrixxOES) #undef glMultiDrawArrays #define glMultiDrawArrays (gl.MultiDrawArrays) #undef glMultiDrawArraysEXT #define glMultiDrawArraysEXT (gl.MultiDrawArraysEXT) #undef glMultiDrawArraysIndirect #define glMultiDrawArraysIndirect (gl.MultiDrawArraysIndirect) #undef glMultiDrawArraysIndirectAMD #define glMultiDrawArraysIndirectAMD (gl.MultiDrawArraysIndirectAMD) #undef glMultiDrawArraysIndirectBindlessNV #define glMultiDrawArraysIndirectBindlessNV (gl.MultiDrawArraysIndirectBindlessNV) #undef glMultiDrawArraysIndirectCountARB #define glMultiDrawArraysIndirectCountARB (gl.MultiDrawArraysIndirectCountARB) #undef glMultiDrawElementArrayAPPLE #define glMultiDrawElementArrayAPPLE (gl.MultiDrawElementArrayAPPLE) #undef glMultiDrawElements #define glMultiDrawElements (gl.MultiDrawElements) #undef glMultiDrawElementsBaseVertex #define glMultiDrawElementsBaseVertex (gl.MultiDrawElementsBaseVertex) #undef glMultiDrawElementsEXT #define glMultiDrawElementsEXT (gl.MultiDrawElementsEXT) #undef glMultiDrawElementsIndirect #define glMultiDrawElementsIndirect (gl.MultiDrawElementsIndirect) #undef glMultiDrawElementsIndirectAMD #define glMultiDrawElementsIndirectAMD (gl.MultiDrawElementsIndirectAMD) #undef glMultiDrawElementsIndirectBindlessNV #define glMultiDrawElementsIndirectBindlessNV (gl.MultiDrawElementsIndirectBindlessNV) #undef glMultiDrawElementsIndirectCountARB #define glMultiDrawElementsIndirectCountARB (gl.MultiDrawElementsIndirectCountARB) #undef glMultiDrawRangeElementArrayAPPLE #define glMultiDrawRangeElementArrayAPPLE (gl.MultiDrawRangeElementArrayAPPLE) #undef glMultiModeDrawArraysIBM #define glMultiModeDrawArraysIBM (gl.MultiModeDrawArraysIBM) #undef glMultiModeDrawElementsIBM #define glMultiModeDrawElementsIBM (gl.MultiModeDrawElementsIBM) #undef glMultiTexBufferEXT #define glMultiTexBufferEXT (gl.MultiTexBufferEXT) #undef glMultiTexCoord1bOES #define glMultiTexCoord1bOES (gl.MultiTexCoord1bOES) #undef glMultiTexCoord1bvOES #define glMultiTexCoord1bvOES (gl.MultiTexCoord1bvOES) #undef glMultiTexCoord1d #define glMultiTexCoord1d (gl.MultiTexCoord1d) #undef glMultiTexCoord1dARB #define glMultiTexCoord1dARB (gl.MultiTexCoord1dARB) #undef glMultiTexCoord1dv #define glMultiTexCoord1dv (gl.MultiTexCoord1dv) #undef glMultiTexCoord1dvARB #define glMultiTexCoord1dvARB (gl.MultiTexCoord1dvARB) #undef glMultiTexCoord1f #define glMultiTexCoord1f (gl.MultiTexCoord1f) #undef glMultiTexCoord1fARB #define glMultiTexCoord1fARB (gl.MultiTexCoord1fARB) #undef glMultiTexCoord1fv #define glMultiTexCoord1fv (gl.MultiTexCoord1fv) #undef glMultiTexCoord1fvARB #define glMultiTexCoord1fvARB (gl.MultiTexCoord1fvARB) #undef glMultiTexCoord1hNV #define glMultiTexCoord1hNV (gl.MultiTexCoord1hNV) #undef glMultiTexCoord1hvNV #define glMultiTexCoord1hvNV (gl.MultiTexCoord1hvNV) #undef glMultiTexCoord1i #define glMultiTexCoord1i (gl.MultiTexCoord1i) #undef glMultiTexCoord1iARB #define glMultiTexCoord1iARB (gl.MultiTexCoord1iARB) #undef glMultiTexCoord1iv #define glMultiTexCoord1iv (gl.MultiTexCoord1iv) #undef glMultiTexCoord1ivARB #define glMultiTexCoord1ivARB (gl.MultiTexCoord1ivARB) #undef glMultiTexCoord1s #define glMultiTexCoord1s (gl.MultiTexCoord1s) #undef glMultiTexCoord1sARB #define glMultiTexCoord1sARB (gl.MultiTexCoord1sARB) #undef glMultiTexCoord1sv #define glMultiTexCoord1sv (gl.MultiTexCoord1sv) #undef glMultiTexCoord1svARB #define glMultiTexCoord1svARB (gl.MultiTexCoord1svARB) #undef glMultiTexCoord1xOES #define glMultiTexCoord1xOES (gl.MultiTexCoord1xOES) #undef glMultiTexCoord1xvOES #define glMultiTexCoord1xvOES (gl.MultiTexCoord1xvOES) #undef glMultiTexCoord2bOES #define glMultiTexCoord2bOES (gl.MultiTexCoord2bOES) #undef glMultiTexCoord2bvOES #define glMultiTexCoord2bvOES (gl.MultiTexCoord2bvOES) #undef glMultiTexCoord2d #define glMultiTexCoord2d (gl.MultiTexCoord2d) #undef glMultiTexCoord2dARB #define glMultiTexCoord2dARB (gl.MultiTexCoord2dARB) #undef glMultiTexCoord2dv #define glMultiTexCoord2dv (gl.MultiTexCoord2dv) #undef glMultiTexCoord2dvARB #define glMultiTexCoord2dvARB (gl.MultiTexCoord2dvARB) #undef glMultiTexCoord2f #define glMultiTexCoord2f (gl.MultiTexCoord2f) #undef glMultiTexCoord2fARB #define glMultiTexCoord2fARB (gl.MultiTexCoord2fARB) #undef glMultiTexCoord2fv #define glMultiTexCoord2fv (gl.MultiTexCoord2fv) #undef glMultiTexCoord2fvARB #define glMultiTexCoord2fvARB (gl.MultiTexCoord2fvARB) #undef glMultiTexCoord2hNV #define glMultiTexCoord2hNV (gl.MultiTexCoord2hNV) #undef glMultiTexCoord2hvNV #define glMultiTexCoord2hvNV (gl.MultiTexCoord2hvNV) #undef glMultiTexCoord2i #define glMultiTexCoord2i (gl.MultiTexCoord2i) #undef glMultiTexCoord2iARB #define glMultiTexCoord2iARB (gl.MultiTexCoord2iARB) #undef glMultiTexCoord2iv #define glMultiTexCoord2iv (gl.MultiTexCoord2iv) #undef glMultiTexCoord2ivARB #define glMultiTexCoord2ivARB (gl.MultiTexCoord2ivARB) #undef glMultiTexCoord2s #define glMultiTexCoord2s (gl.MultiTexCoord2s) #undef glMultiTexCoord2sARB #define glMultiTexCoord2sARB (gl.MultiTexCoord2sARB) #undef glMultiTexCoord2sv #define glMultiTexCoord2sv (gl.MultiTexCoord2sv) #undef glMultiTexCoord2svARB #define glMultiTexCoord2svARB (gl.MultiTexCoord2svARB) #undef glMultiTexCoord2xOES #define glMultiTexCoord2xOES (gl.MultiTexCoord2xOES) #undef glMultiTexCoord2xvOES #define glMultiTexCoord2xvOES (gl.MultiTexCoord2xvOES) #undef glMultiTexCoord3bOES #define glMultiTexCoord3bOES (gl.MultiTexCoord3bOES) #undef glMultiTexCoord3bvOES #define glMultiTexCoord3bvOES (gl.MultiTexCoord3bvOES) #undef glMultiTexCoord3d #define glMultiTexCoord3d (gl.MultiTexCoord3d) #undef glMultiTexCoord3dARB #define glMultiTexCoord3dARB (gl.MultiTexCoord3dARB) #undef glMultiTexCoord3dv #define glMultiTexCoord3dv (gl.MultiTexCoord3dv) #undef glMultiTexCoord3dvARB #define glMultiTexCoord3dvARB (gl.MultiTexCoord3dvARB) #undef glMultiTexCoord3f #define glMultiTexCoord3f (gl.MultiTexCoord3f) #undef glMultiTexCoord3fARB #define glMultiTexCoord3fARB (gl.MultiTexCoord3fARB) #undef glMultiTexCoord3fv #define glMultiTexCoord3fv (gl.MultiTexCoord3fv) #undef glMultiTexCoord3fvARB #define glMultiTexCoord3fvARB (gl.MultiTexCoord3fvARB) #undef glMultiTexCoord3hNV #define glMultiTexCoord3hNV (gl.MultiTexCoord3hNV) #undef glMultiTexCoord3hvNV #define glMultiTexCoord3hvNV (gl.MultiTexCoord3hvNV) #undef glMultiTexCoord3i #define glMultiTexCoord3i (gl.MultiTexCoord3i) #undef glMultiTexCoord3iARB #define glMultiTexCoord3iARB (gl.MultiTexCoord3iARB) #undef glMultiTexCoord3iv #define glMultiTexCoord3iv (gl.MultiTexCoord3iv) #undef glMultiTexCoord3ivARB #define glMultiTexCoord3ivARB (gl.MultiTexCoord3ivARB) #undef glMultiTexCoord3s #define glMultiTexCoord3s (gl.MultiTexCoord3s) #undef glMultiTexCoord3sARB #define glMultiTexCoord3sARB (gl.MultiTexCoord3sARB) #undef glMultiTexCoord3sv #define glMultiTexCoord3sv (gl.MultiTexCoord3sv) #undef glMultiTexCoord3svARB #define glMultiTexCoord3svARB (gl.MultiTexCoord3svARB) #undef glMultiTexCoord3xOES #define glMultiTexCoord3xOES (gl.MultiTexCoord3xOES) #undef glMultiTexCoord3xvOES #define glMultiTexCoord3xvOES (gl.MultiTexCoord3xvOES) #undef glMultiTexCoord4bOES #define glMultiTexCoord4bOES (gl.MultiTexCoord4bOES) #undef glMultiTexCoord4bvOES #define glMultiTexCoord4bvOES (gl.MultiTexCoord4bvOES) #undef glMultiTexCoord4d #define glMultiTexCoord4d (gl.MultiTexCoord4d) #undef glMultiTexCoord4dARB #define glMultiTexCoord4dARB (gl.MultiTexCoord4dARB) #undef glMultiTexCoord4dv #define glMultiTexCoord4dv (gl.MultiTexCoord4dv) #undef glMultiTexCoord4dvARB #define glMultiTexCoord4dvARB (gl.MultiTexCoord4dvARB) #undef glMultiTexCoord4f #define glMultiTexCoord4f (gl.MultiTexCoord4f) #undef glMultiTexCoord4fARB #define glMultiTexCoord4fARB (gl.MultiTexCoord4fARB) #undef glMultiTexCoord4fv #define glMultiTexCoord4fv (gl.MultiTexCoord4fv) #undef glMultiTexCoord4fvARB #define glMultiTexCoord4fvARB (gl.MultiTexCoord4fvARB) #undef glMultiTexCoord4hNV #define glMultiTexCoord4hNV (gl.MultiTexCoord4hNV) #undef glMultiTexCoord4hvNV #define glMultiTexCoord4hvNV (gl.MultiTexCoord4hvNV) #undef glMultiTexCoord4i #define glMultiTexCoord4i (gl.MultiTexCoord4i) #undef glMultiTexCoord4iARB #define glMultiTexCoord4iARB (gl.MultiTexCoord4iARB) #undef glMultiTexCoord4iv #define glMultiTexCoord4iv (gl.MultiTexCoord4iv) #undef glMultiTexCoord4ivARB #define glMultiTexCoord4ivARB (gl.MultiTexCoord4ivARB) #undef glMultiTexCoord4s #define glMultiTexCoord4s (gl.MultiTexCoord4s) #undef glMultiTexCoord4sARB #define glMultiTexCoord4sARB (gl.MultiTexCoord4sARB) #undef glMultiTexCoord4sv #define glMultiTexCoord4sv (gl.MultiTexCoord4sv) #undef glMultiTexCoord4svARB #define glMultiTexCoord4svARB (gl.MultiTexCoord4svARB) #undef glMultiTexCoord4xOES #define glMultiTexCoord4xOES (gl.MultiTexCoord4xOES) #undef glMultiTexCoord4xvOES #define glMultiTexCoord4xvOES (gl.MultiTexCoord4xvOES) #undef glMultiTexCoordP1ui #define glMultiTexCoordP1ui (gl.MultiTexCoordP1ui) #undef glMultiTexCoordP1uiv #define glMultiTexCoordP1uiv (gl.MultiTexCoordP1uiv) #undef glMultiTexCoordP2ui #define glMultiTexCoordP2ui (gl.MultiTexCoordP2ui) #undef glMultiTexCoordP2uiv #define glMultiTexCoordP2uiv (gl.MultiTexCoordP2uiv) #undef glMultiTexCoordP3ui #define glMultiTexCoordP3ui (gl.MultiTexCoordP3ui) #undef glMultiTexCoordP3uiv #define glMultiTexCoordP3uiv (gl.MultiTexCoordP3uiv) #undef glMultiTexCoordP4ui #define glMultiTexCoordP4ui (gl.MultiTexCoordP4ui) #undef glMultiTexCoordP4uiv #define glMultiTexCoordP4uiv (gl.MultiTexCoordP4uiv) #undef glMultiTexCoordPointerEXT #define glMultiTexCoordPointerEXT (gl.MultiTexCoordPointerEXT) #undef glMultiTexEnvfEXT #define glMultiTexEnvfEXT (gl.MultiTexEnvfEXT) #undef glMultiTexEnvfvEXT #define glMultiTexEnvfvEXT (gl.MultiTexEnvfvEXT) #undef glMultiTexEnviEXT #define glMultiTexEnviEXT (gl.MultiTexEnviEXT) #undef glMultiTexEnvivEXT #define glMultiTexEnvivEXT (gl.MultiTexEnvivEXT) #undef glMultiTexGendEXT #define glMultiTexGendEXT (gl.MultiTexGendEXT) #undef glMultiTexGendvEXT #define glMultiTexGendvEXT (gl.MultiTexGendvEXT) #undef glMultiTexGenfEXT #define glMultiTexGenfEXT (gl.MultiTexGenfEXT) #undef glMultiTexGenfvEXT #define glMultiTexGenfvEXT (gl.MultiTexGenfvEXT) #undef glMultiTexGeniEXT #define glMultiTexGeniEXT (gl.MultiTexGeniEXT) #undef glMultiTexGenivEXT #define glMultiTexGenivEXT (gl.MultiTexGenivEXT) #undef glMultiTexImage1DEXT #define glMultiTexImage1DEXT (gl.MultiTexImage1DEXT) #undef glMultiTexImage2DEXT #define glMultiTexImage2DEXT (gl.MultiTexImage2DEXT) #undef glMultiTexImage3DEXT #define glMultiTexImage3DEXT (gl.MultiTexImage3DEXT) #undef glMultiTexParameterIivEXT #define glMultiTexParameterIivEXT (gl.MultiTexParameterIivEXT) #undef glMultiTexParameterIuivEXT #define glMultiTexParameterIuivEXT (gl.MultiTexParameterIuivEXT) #undef glMultiTexParameterfEXT #define glMultiTexParameterfEXT (gl.MultiTexParameterfEXT) #undef glMultiTexParameterfvEXT #define glMultiTexParameterfvEXT (gl.MultiTexParameterfvEXT) #undef glMultiTexParameteriEXT #define glMultiTexParameteriEXT (gl.MultiTexParameteriEXT) #undef glMultiTexParameterivEXT #define glMultiTexParameterivEXT (gl.MultiTexParameterivEXT) #undef glMultiTexRenderbufferEXT #define glMultiTexRenderbufferEXT (gl.MultiTexRenderbufferEXT) #undef glMultiTexSubImage1DEXT #define glMultiTexSubImage1DEXT (gl.MultiTexSubImage1DEXT) #undef glMultiTexSubImage2DEXT #define glMultiTexSubImage2DEXT (gl.MultiTexSubImage2DEXT) #undef glMultiTexSubImage3DEXT #define glMultiTexSubImage3DEXT (gl.MultiTexSubImage3DEXT) #undef glNamedBufferDataEXT #define glNamedBufferDataEXT (gl.NamedBufferDataEXT) #undef glNamedBufferStorageEXT #define glNamedBufferStorageEXT (gl.NamedBufferStorageEXT) #undef glNamedBufferSubDataEXT #define glNamedBufferSubDataEXT (gl.NamedBufferSubDataEXT) #undef glNamedCopyBufferSubDataEXT #define glNamedCopyBufferSubDataEXT (gl.NamedCopyBufferSubDataEXT) #undef glNamedFramebufferParameteriEXT #define glNamedFramebufferParameteriEXT (gl.NamedFramebufferParameteriEXT) #undef glNamedFramebufferRenderbufferEXT #define glNamedFramebufferRenderbufferEXT (gl.NamedFramebufferRenderbufferEXT) #undef glNamedFramebufferTexture1DEXT #define glNamedFramebufferTexture1DEXT (gl.NamedFramebufferTexture1DEXT) #undef glNamedFramebufferTexture2DEXT #define glNamedFramebufferTexture2DEXT (gl.NamedFramebufferTexture2DEXT) #undef glNamedFramebufferTexture3DEXT #define glNamedFramebufferTexture3DEXT (gl.NamedFramebufferTexture3DEXT) #undef glNamedFramebufferTextureEXT #define glNamedFramebufferTextureEXT (gl.NamedFramebufferTextureEXT) #undef glNamedFramebufferTextureFaceEXT #define glNamedFramebufferTextureFaceEXT (gl.NamedFramebufferTextureFaceEXT) #undef glNamedFramebufferTextureLayerEXT #define glNamedFramebufferTextureLayerEXT (gl.NamedFramebufferTextureLayerEXT) #undef glNamedProgramLocalParameter4dEXT #define glNamedProgramLocalParameter4dEXT (gl.NamedProgramLocalParameter4dEXT) #undef glNamedProgramLocalParameter4dvEXT #define glNamedProgramLocalParameter4dvEXT (gl.NamedProgramLocalParameter4dvEXT) #undef glNamedProgramLocalParameter4fEXT #define glNamedProgramLocalParameter4fEXT (gl.NamedProgramLocalParameter4fEXT) #undef glNamedProgramLocalParameter4fvEXT #define glNamedProgramLocalParameter4fvEXT (gl.NamedProgramLocalParameter4fvEXT) #undef glNamedProgramLocalParameterI4iEXT #define glNamedProgramLocalParameterI4iEXT (gl.NamedProgramLocalParameterI4iEXT) #undef glNamedProgramLocalParameterI4ivEXT #define glNamedProgramLocalParameterI4ivEXT (gl.NamedProgramLocalParameterI4ivEXT) #undef glNamedProgramLocalParameterI4uiEXT #define glNamedProgramLocalParameterI4uiEXT (gl.NamedProgramLocalParameterI4uiEXT) #undef glNamedProgramLocalParameterI4uivEXT #define glNamedProgramLocalParameterI4uivEXT (gl.NamedProgramLocalParameterI4uivEXT) #undef glNamedProgramLocalParameters4fvEXT #define glNamedProgramLocalParameters4fvEXT (gl.NamedProgramLocalParameters4fvEXT) #undef glNamedProgramLocalParametersI4ivEXT #define glNamedProgramLocalParametersI4ivEXT (gl.NamedProgramLocalParametersI4ivEXT) #undef glNamedProgramLocalParametersI4uivEXT #define glNamedProgramLocalParametersI4uivEXT (gl.NamedProgramLocalParametersI4uivEXT) #undef glNamedProgramStringEXT #define glNamedProgramStringEXT (gl.NamedProgramStringEXT) #undef glNamedRenderbufferStorageEXT #define glNamedRenderbufferStorageEXT (gl.NamedRenderbufferStorageEXT) #undef glNamedRenderbufferStorageMultisampleCoverageEXT #define glNamedRenderbufferStorageMultisampleCoverageEXT (gl.NamedRenderbufferStorageMultisampleCoverageEXT) #undef glNamedRenderbufferStorageMultisampleEXT #define glNamedRenderbufferStorageMultisampleEXT (gl.NamedRenderbufferStorageMultisampleEXT) #undef glNamedStringARB #define glNamedStringARB (gl.NamedStringARB) #undef glNewList #define glNewList (gl.NewList) #undef glNewObjectBufferATI #define glNewObjectBufferATI (gl.NewObjectBufferATI) #undef glNewTraceMESA #define glNewTraceMESA (gl.NewTraceMESA) #undef glNormal3b #define glNormal3b (gl.Normal3b) #undef glNormal3bv #define glNormal3bv (gl.Normal3bv) #undef glNormal3d #define glNormal3d (gl.Normal3d) #undef glNormal3dv #define glNormal3dv (gl.Normal3dv) #undef glNormal3f #define glNormal3f (gl.Normal3f) #undef glNormal3fVertex3fSUN #define glNormal3fVertex3fSUN (gl.Normal3fVertex3fSUN) #undef glNormal3fVertex3fvSUN #define glNormal3fVertex3fvSUN (gl.Normal3fVertex3fvSUN) #undef glNormal3fv #define glNormal3fv (gl.Normal3fv) #undef glNormal3hNV #define glNormal3hNV (gl.Normal3hNV) #undef glNormal3hvNV #define glNormal3hvNV (gl.Normal3hvNV) #undef glNormal3i #define glNormal3i (gl.Normal3i) #undef glNormal3iv #define glNormal3iv (gl.Normal3iv) #undef glNormal3s #define glNormal3s (gl.Normal3s) #undef glNormal3sv #define glNormal3sv (gl.Normal3sv) #undef glNormal3xOES #define glNormal3xOES (gl.Normal3xOES) #undef glNormal3xvOES #define glNormal3xvOES (gl.Normal3xvOES) #undef glNormalFormatNV #define glNormalFormatNV (gl.NormalFormatNV) #undef glNormalP3ui #define glNormalP3ui (gl.NormalP3ui) #undef glNormalP3uiv #define glNormalP3uiv (gl.NormalP3uiv) #undef glNormalPointer #define glNormalPointer (gl.NormalPointer) #undef glNormalPointerEXT #define glNormalPointerEXT (gl.NormalPointerEXT) #undef glNormalPointerListIBM #define glNormalPointerListIBM (gl.NormalPointerListIBM) #undef glNormalPointervINTEL #define glNormalPointervINTEL (gl.NormalPointervINTEL) #undef glNormalStream3bATI #define glNormalStream3bATI (gl.NormalStream3bATI) #undef glNormalStream3bvATI #define glNormalStream3bvATI (gl.NormalStream3bvATI) #undef glNormalStream3dATI #define glNormalStream3dATI (gl.NormalStream3dATI) #undef glNormalStream3dvATI #define glNormalStream3dvATI (gl.NormalStream3dvATI) #undef glNormalStream3fATI #define glNormalStream3fATI (gl.NormalStream3fATI) #undef glNormalStream3fvATI #define glNormalStream3fvATI (gl.NormalStream3fvATI) #undef glNormalStream3iATI #define glNormalStream3iATI (gl.NormalStream3iATI) #undef glNormalStream3ivATI #define glNormalStream3ivATI (gl.NormalStream3ivATI) #undef glNormalStream3sATI #define glNormalStream3sATI (gl.NormalStream3sATI) #undef glNormalStream3svATI #define glNormalStream3svATI (gl.NormalStream3svATI) #undef glObjectLabel #define glObjectLabel (gl.ObjectLabel) #undef glObjectPtrLabel #define glObjectPtrLabel (gl.ObjectPtrLabel) #undef glObjectPurgeableAPPLE #define glObjectPurgeableAPPLE (gl.ObjectPurgeableAPPLE) #undef glObjectUnpurgeableAPPLE #define glObjectUnpurgeableAPPLE (gl.ObjectUnpurgeableAPPLE) #undef glOrtho #define glOrtho (gl.Ortho) #undef glOrthof #define glOrthof (gl.Orthof) #undef glOrthofOES #define glOrthofOES (gl.OrthofOES) #undef glOrthoxOES #define glOrthoxOES (gl.OrthoxOES) #undef glPNTrianglesfATI #define glPNTrianglesfATI (gl.PNTrianglesfATI) #undef glPNTrianglesiATI #define glPNTrianglesiATI (gl.PNTrianglesiATI) #undef glPassTexCoordATI #define glPassTexCoordATI (gl.PassTexCoordATI) #undef glPassThrough #define glPassThrough (gl.PassThrough) #undef glPassThroughxOES #define glPassThroughxOES (gl.PassThroughxOES) #undef glPatchParameterfv #define glPatchParameterfv (gl.PatchParameterfv) #undef glPatchParameteri #define glPatchParameteri (gl.PatchParameteri) #undef glPathColorGenNV #define glPathColorGenNV (gl.PathColorGenNV) #undef glPathCommandsNV #define glPathCommandsNV (gl.PathCommandsNV) #undef glPathCoordsNV #define glPathCoordsNV (gl.PathCoordsNV) #undef glPathCoverDepthFuncNV #define glPathCoverDepthFuncNV (gl.PathCoverDepthFuncNV) #undef glPathDashArrayNV #define glPathDashArrayNV (gl.PathDashArrayNV) #undef glPathFogGenNV #define glPathFogGenNV (gl.PathFogGenNV) #undef glPathGlyphRangeNV #define glPathGlyphRangeNV (gl.PathGlyphRangeNV) #undef glPathGlyphsNV #define glPathGlyphsNV (gl.PathGlyphsNV) #undef glPathParameterfNV #define glPathParameterfNV (gl.PathParameterfNV) #undef glPathParameterfvNV #define glPathParameterfvNV (gl.PathParameterfvNV) #undef glPathParameteriNV #define glPathParameteriNV (gl.PathParameteriNV) #undef glPathParameterivNV #define glPathParameterivNV (gl.PathParameterivNV) #undef glPathStencilDepthOffsetNV #define glPathStencilDepthOffsetNV (gl.PathStencilDepthOffsetNV) #undef glPathStencilFuncNV #define glPathStencilFuncNV (gl.PathStencilFuncNV) #undef glPathStringNV #define glPathStringNV (gl.PathStringNV) #undef glPathSubCommandsNV #define glPathSubCommandsNV (gl.PathSubCommandsNV) #undef glPathSubCoordsNV #define glPathSubCoordsNV (gl.PathSubCoordsNV) #undef glPathTexGenNV #define glPathTexGenNV (gl.PathTexGenNV) #undef glPauseTransformFeedback #define glPauseTransformFeedback (gl.PauseTransformFeedback) #undef glPauseTransformFeedbackNV #define glPauseTransformFeedbackNV (gl.PauseTransformFeedbackNV) #undef glPixelDataRangeNV #define glPixelDataRangeNV (gl.PixelDataRangeNV) #undef glPixelMapfv #define glPixelMapfv (gl.PixelMapfv) #undef glPixelMapuiv #define glPixelMapuiv (gl.PixelMapuiv) #undef glPixelMapusv #define glPixelMapusv (gl.PixelMapusv) #undef glPixelMapx #define glPixelMapx (gl.PixelMapx) #undef glPixelStoref #define glPixelStoref (gl.PixelStoref) #undef glPixelStorei #define glPixelStorei (gl.PixelStorei) #undef glPixelStorex #define glPixelStorex (gl.PixelStorex) #undef glPixelTexGenParameterfSGIS #define glPixelTexGenParameterfSGIS (gl.PixelTexGenParameterfSGIS) #undef glPixelTexGenParameterfvSGIS #define glPixelTexGenParameterfvSGIS (gl.PixelTexGenParameterfvSGIS) #undef glPixelTexGenParameteriSGIS #define glPixelTexGenParameteriSGIS (gl.PixelTexGenParameteriSGIS) #undef glPixelTexGenParameterivSGIS #define glPixelTexGenParameterivSGIS (gl.PixelTexGenParameterivSGIS) #undef glPixelTexGenSGIX #define glPixelTexGenSGIX (gl.PixelTexGenSGIX) #undef glPixelTransferf #define glPixelTransferf (gl.PixelTransferf) #undef glPixelTransferi #define glPixelTransferi (gl.PixelTransferi) #undef glPixelTransferxOES #define glPixelTransferxOES (gl.PixelTransferxOES) #undef glPixelTransformParameterfEXT #define glPixelTransformParameterfEXT (gl.PixelTransformParameterfEXT) #undef glPixelTransformParameterfvEXT #define glPixelTransformParameterfvEXT (gl.PixelTransformParameterfvEXT) #undef glPixelTransformParameteriEXT #define glPixelTransformParameteriEXT (gl.PixelTransformParameteriEXT) #undef glPixelTransformParameterivEXT #define glPixelTransformParameterivEXT (gl.PixelTransformParameterivEXT) #undef glPixelZoom #define glPixelZoom (gl.PixelZoom) #undef glPixelZoomxOES #define glPixelZoomxOES (gl.PixelZoomxOES) #undef glPointAlongPathNV #define glPointAlongPathNV (gl.PointAlongPathNV) #undef glPointParameterf #define glPointParameterf (gl.PointParameterf) #undef glPointParameterfARB #define glPointParameterfARB (gl.PointParameterfARB) #undef glPointParameterfEXT #define glPointParameterfEXT (gl.PointParameterfEXT) #undef glPointParameterfSGIS #define glPointParameterfSGIS (gl.PointParameterfSGIS) #undef glPointParameterfv #define glPointParameterfv (gl.PointParameterfv) #undef glPointParameterfvARB #define glPointParameterfvARB (gl.PointParameterfvARB) #undef glPointParameterfvEXT #define glPointParameterfvEXT (gl.PointParameterfvEXT) #undef glPointParameterfvSGIS #define glPointParameterfvSGIS (gl.PointParameterfvSGIS) #undef glPointParameteri #define glPointParameteri (gl.PointParameteri) #undef glPointParameteriNV #define glPointParameteriNV (gl.PointParameteriNV) #undef glPointParameteriv #define glPointParameteriv (gl.PointParameteriv) #undef glPointParameterivNV #define glPointParameterivNV (gl.PointParameterivNV) #undef glPointParameterxvOES #define glPointParameterxvOES (gl.PointParameterxvOES) #undef glPointSize #define glPointSize (gl.PointSize) #undef glPointSizePointerAPPLE #define glPointSizePointerAPPLE (gl.PointSizePointerAPPLE) #undef glPointSizexOES #define glPointSizexOES (gl.PointSizexOES) #undef glPollAsyncSGIX #define glPollAsyncSGIX (gl.PollAsyncSGIX) #undef glPollInstrumentsSGIX #define glPollInstrumentsSGIX (gl.PollInstrumentsSGIX) #undef glPolygonMode #define glPolygonMode (gl.PolygonMode) #undef glPolygonOffset #define glPolygonOffset (gl.PolygonOffset) #undef glPolygonOffsetEXT #define glPolygonOffsetEXT (gl.PolygonOffsetEXT) #undef glPolygonOffsetxOES #define glPolygonOffsetxOES (gl.PolygonOffsetxOES) #undef glPolygonStipple #define glPolygonStipple (gl.PolygonStipple) #undef glPopAttrib #define glPopAttrib (gl.PopAttrib) #undef glPopClientAttrib #define glPopClientAttrib (gl.PopClientAttrib) #undef glPopDebugGroup #define glPopDebugGroup (gl.PopDebugGroup) #undef glPopGroupMarkerEXT #define glPopGroupMarkerEXT (gl.PopGroupMarkerEXT) #undef glPopMatrix #define glPopMatrix (gl.PopMatrix) #undef glPopName #define glPopName (gl.PopName) #undef glPresentFrameDualFillNV #define glPresentFrameDualFillNV (gl.PresentFrameDualFillNV) #undef glPresentFrameKeyedNV #define glPresentFrameKeyedNV (gl.PresentFrameKeyedNV) #undef glPrimitiveRestartIndex #define glPrimitiveRestartIndex (gl.PrimitiveRestartIndex) #undef glPrimitiveRestartIndexNV #define glPrimitiveRestartIndexNV (gl.PrimitiveRestartIndexNV) #undef glPrimitiveRestartNV #define glPrimitiveRestartNV (gl.PrimitiveRestartNV) #undef glPrioritizeTextures #define glPrioritizeTextures (gl.PrioritizeTextures) #undef glPrioritizeTexturesEXT #define glPrioritizeTexturesEXT (gl.PrioritizeTexturesEXT) #undef glPrioritizeTexturesxOES #define glPrioritizeTexturesxOES (gl.PrioritizeTexturesxOES) #undef glProgramBinary #define glProgramBinary (gl.ProgramBinary) #undef glProgramBufferParametersIivNV #define glProgramBufferParametersIivNV (gl.ProgramBufferParametersIivNV) #undef glProgramBufferParametersIuivNV #define glProgramBufferParametersIuivNV (gl.ProgramBufferParametersIuivNV) #undef glProgramBufferParametersfvNV #define glProgramBufferParametersfvNV (gl.ProgramBufferParametersfvNV) #undef glProgramCallbackMESA #define glProgramCallbackMESA (gl.ProgramCallbackMESA) #undef glProgramEnvParameter4dARB #define glProgramEnvParameter4dARB (gl.ProgramEnvParameter4dARB) #undef glProgramEnvParameter4dvARB #define glProgramEnvParameter4dvARB (gl.ProgramEnvParameter4dvARB) #undef glProgramEnvParameter4fARB #define glProgramEnvParameter4fARB (gl.ProgramEnvParameter4fARB) #undef glProgramEnvParameter4fvARB #define glProgramEnvParameter4fvARB (gl.ProgramEnvParameter4fvARB) #undef glProgramEnvParameterI4iNV #define glProgramEnvParameterI4iNV (gl.ProgramEnvParameterI4iNV) #undef glProgramEnvParameterI4ivNV #define glProgramEnvParameterI4ivNV (gl.ProgramEnvParameterI4ivNV) #undef glProgramEnvParameterI4uiNV #define glProgramEnvParameterI4uiNV (gl.ProgramEnvParameterI4uiNV) #undef glProgramEnvParameterI4uivNV #define glProgramEnvParameterI4uivNV (gl.ProgramEnvParameterI4uivNV) #undef glProgramEnvParameters4fvEXT #define glProgramEnvParameters4fvEXT (gl.ProgramEnvParameters4fvEXT) #undef glProgramEnvParametersI4ivNV #define glProgramEnvParametersI4ivNV (gl.ProgramEnvParametersI4ivNV) #undef glProgramEnvParametersI4uivNV #define glProgramEnvParametersI4uivNV (gl.ProgramEnvParametersI4uivNV) #undef glProgramLocalParameter4dARB #define glProgramLocalParameter4dARB (gl.ProgramLocalParameter4dARB) #undef glProgramLocalParameter4dvARB #define glProgramLocalParameter4dvARB (gl.ProgramLocalParameter4dvARB) #undef glProgramLocalParameter4fARB #define glProgramLocalParameter4fARB (gl.ProgramLocalParameter4fARB) #undef glProgramLocalParameter4fvARB #define glProgramLocalParameter4fvARB (gl.ProgramLocalParameter4fvARB) #undef glProgramLocalParameterI4iNV #define glProgramLocalParameterI4iNV (gl.ProgramLocalParameterI4iNV) #undef glProgramLocalParameterI4ivNV #define glProgramLocalParameterI4ivNV (gl.ProgramLocalParameterI4ivNV) #undef glProgramLocalParameterI4uiNV #define glProgramLocalParameterI4uiNV (gl.ProgramLocalParameterI4uiNV) #undef glProgramLocalParameterI4uivNV #define glProgramLocalParameterI4uivNV (gl.ProgramLocalParameterI4uivNV) #undef glProgramLocalParameters4fvEXT #define glProgramLocalParameters4fvEXT (gl.ProgramLocalParameters4fvEXT) #undef glProgramLocalParametersI4ivNV #define glProgramLocalParametersI4ivNV (gl.ProgramLocalParametersI4ivNV) #undef glProgramLocalParametersI4uivNV #define glProgramLocalParametersI4uivNV (gl.ProgramLocalParametersI4uivNV) #undef glProgramNamedParameter4dNV #define glProgramNamedParameter4dNV (gl.ProgramNamedParameter4dNV) #undef glProgramNamedParameter4dvNV #define glProgramNamedParameter4dvNV (gl.ProgramNamedParameter4dvNV) #undef glProgramNamedParameter4fNV #define glProgramNamedParameter4fNV (gl.ProgramNamedParameter4fNV) #undef glProgramNamedParameter4fvNV #define glProgramNamedParameter4fvNV (gl.ProgramNamedParameter4fvNV) #undef glProgramParameter4dNV #define glProgramParameter4dNV (gl.ProgramParameter4dNV) #undef glProgramParameter4dvNV #define glProgramParameter4dvNV (gl.ProgramParameter4dvNV) #undef glProgramParameter4fNV #define glProgramParameter4fNV (gl.ProgramParameter4fNV) #undef glProgramParameter4fvNV #define glProgramParameter4fvNV (gl.ProgramParameter4fvNV) #undef glProgramParameteri #define glProgramParameteri (gl.ProgramParameteri) #undef glProgramParameteriARB #define glProgramParameteriARB (gl.ProgramParameteriARB) #undef glProgramParameteriEXT #define glProgramParameteriEXT (gl.ProgramParameteriEXT) #undef glProgramParameters4dvNV #define glProgramParameters4dvNV (gl.ProgramParameters4dvNV) #undef glProgramParameters4fvNV #define glProgramParameters4fvNV (gl.ProgramParameters4fvNV) #undef glProgramStringARB #define glProgramStringARB (gl.ProgramStringARB) #undef glProgramSubroutineParametersuivNV #define glProgramSubroutineParametersuivNV (gl.ProgramSubroutineParametersuivNV) #undef glProgramUniform1d #define glProgramUniform1d (gl.ProgramUniform1d) #undef glProgramUniform1dEXT #define glProgramUniform1dEXT (gl.ProgramUniform1dEXT) #undef glProgramUniform1dv #define glProgramUniform1dv (gl.ProgramUniform1dv) #undef glProgramUniform1dvEXT #define glProgramUniform1dvEXT (gl.ProgramUniform1dvEXT) #undef glProgramUniform1f #define glProgramUniform1f (gl.ProgramUniform1f) #undef glProgramUniform1fEXT #define glProgramUniform1fEXT (gl.ProgramUniform1fEXT) #undef glProgramUniform1fv #define glProgramUniform1fv (gl.ProgramUniform1fv) #undef glProgramUniform1fvEXT #define glProgramUniform1fvEXT (gl.ProgramUniform1fvEXT) #undef glProgramUniform1i #define glProgramUniform1i (gl.ProgramUniform1i) #undef glProgramUniform1i64NV #define glProgramUniform1i64NV (gl.ProgramUniform1i64NV) #undef glProgramUniform1i64vNV #define glProgramUniform1i64vNV (gl.ProgramUniform1i64vNV) #undef glProgramUniform1iEXT #define glProgramUniform1iEXT (gl.ProgramUniform1iEXT) #undef glProgramUniform1iv #define glProgramUniform1iv (gl.ProgramUniform1iv) #undef glProgramUniform1ivEXT #define glProgramUniform1ivEXT (gl.ProgramUniform1ivEXT) #undef glProgramUniform1ui #define glProgramUniform1ui (gl.ProgramUniform1ui) #undef glProgramUniform1ui64NV #define glProgramUniform1ui64NV (gl.ProgramUniform1ui64NV) #undef glProgramUniform1ui64vNV #define glProgramUniform1ui64vNV (gl.ProgramUniform1ui64vNV) #undef glProgramUniform1uiEXT #define glProgramUniform1uiEXT (gl.ProgramUniform1uiEXT) #undef glProgramUniform1uiv #define glProgramUniform1uiv (gl.ProgramUniform1uiv) #undef glProgramUniform1uivEXT #define glProgramUniform1uivEXT (gl.ProgramUniform1uivEXT) #undef glProgramUniform2d #define glProgramUniform2d (gl.ProgramUniform2d) #undef glProgramUniform2dEXT #define glProgramUniform2dEXT (gl.ProgramUniform2dEXT) #undef glProgramUniform2dv #define glProgramUniform2dv (gl.ProgramUniform2dv) #undef glProgramUniform2dvEXT #define glProgramUniform2dvEXT (gl.ProgramUniform2dvEXT) #undef glProgramUniform2f #define glProgramUniform2f (gl.ProgramUniform2f) #undef glProgramUniform2fEXT #define glProgramUniform2fEXT (gl.ProgramUniform2fEXT) #undef glProgramUniform2fv #define glProgramUniform2fv (gl.ProgramUniform2fv) #undef glProgramUniform2fvEXT #define glProgramUniform2fvEXT (gl.ProgramUniform2fvEXT) #undef glProgramUniform2i #define glProgramUniform2i (gl.ProgramUniform2i) #undef glProgramUniform2i64NV #define glProgramUniform2i64NV (gl.ProgramUniform2i64NV) #undef glProgramUniform2i64vNV #define glProgramUniform2i64vNV (gl.ProgramUniform2i64vNV) #undef glProgramUniform2iEXT #define glProgramUniform2iEXT (gl.ProgramUniform2iEXT) #undef glProgramUniform2iv #define glProgramUniform2iv (gl.ProgramUniform2iv) #undef glProgramUniform2ivEXT #define glProgramUniform2ivEXT (gl.ProgramUniform2ivEXT) #undef glProgramUniform2ui #define glProgramUniform2ui (gl.ProgramUniform2ui) #undef glProgramUniform2ui64NV #define glProgramUniform2ui64NV (gl.ProgramUniform2ui64NV) #undef glProgramUniform2ui64vNV #define glProgramUniform2ui64vNV (gl.ProgramUniform2ui64vNV) #undef glProgramUniform2uiEXT #define glProgramUniform2uiEXT (gl.ProgramUniform2uiEXT) #undef glProgramUniform2uiv #define glProgramUniform2uiv (gl.ProgramUniform2uiv) #undef glProgramUniform2uivEXT #define glProgramUniform2uivEXT (gl.ProgramUniform2uivEXT) #undef glProgramUniform3d #define glProgramUniform3d (gl.ProgramUniform3d) #undef glProgramUniform3dEXT #define glProgramUniform3dEXT (gl.ProgramUniform3dEXT) #undef glProgramUniform3dv #define glProgramUniform3dv (gl.ProgramUniform3dv) #undef glProgramUniform3dvEXT #define glProgramUniform3dvEXT (gl.ProgramUniform3dvEXT) #undef glProgramUniform3f #define glProgramUniform3f (gl.ProgramUniform3f) #undef glProgramUniform3fEXT #define glProgramUniform3fEXT (gl.ProgramUniform3fEXT) #undef glProgramUniform3fv #define glProgramUniform3fv (gl.ProgramUniform3fv) #undef glProgramUniform3fvEXT #define glProgramUniform3fvEXT (gl.ProgramUniform3fvEXT) #undef glProgramUniform3i #define glProgramUniform3i (gl.ProgramUniform3i) #undef glProgramUniform3i64NV #define glProgramUniform3i64NV (gl.ProgramUniform3i64NV) #undef glProgramUniform3i64vNV #define glProgramUniform3i64vNV (gl.ProgramUniform3i64vNV) #undef glProgramUniform3iEXT #define glProgramUniform3iEXT (gl.ProgramUniform3iEXT) #undef glProgramUniform3iv #define glProgramUniform3iv (gl.ProgramUniform3iv) #undef glProgramUniform3ivEXT #define glProgramUniform3ivEXT (gl.ProgramUniform3ivEXT) #undef glProgramUniform3ui #define glProgramUniform3ui (gl.ProgramUniform3ui) #undef glProgramUniform3ui64NV #define glProgramUniform3ui64NV (gl.ProgramUniform3ui64NV) #undef glProgramUniform3ui64vNV #define glProgramUniform3ui64vNV (gl.ProgramUniform3ui64vNV) #undef glProgramUniform3uiEXT #define glProgramUniform3uiEXT (gl.ProgramUniform3uiEXT) #undef glProgramUniform3uiv #define glProgramUniform3uiv (gl.ProgramUniform3uiv) #undef glProgramUniform3uivEXT #define glProgramUniform3uivEXT (gl.ProgramUniform3uivEXT) #undef glProgramUniform4d #define glProgramUniform4d (gl.ProgramUniform4d) #undef glProgramUniform4dEXT #define glProgramUniform4dEXT (gl.ProgramUniform4dEXT) #undef glProgramUniform4dv #define glProgramUniform4dv (gl.ProgramUniform4dv) #undef glProgramUniform4dvEXT #define glProgramUniform4dvEXT (gl.ProgramUniform4dvEXT) #undef glProgramUniform4f #define glProgramUniform4f (gl.ProgramUniform4f) #undef glProgramUniform4fEXT #define glProgramUniform4fEXT (gl.ProgramUniform4fEXT) #undef glProgramUniform4fv #define glProgramUniform4fv (gl.ProgramUniform4fv) #undef glProgramUniform4fvEXT #define glProgramUniform4fvEXT (gl.ProgramUniform4fvEXT) #undef glProgramUniform4i #define glProgramUniform4i (gl.ProgramUniform4i) #undef glProgramUniform4i64NV #define glProgramUniform4i64NV (gl.ProgramUniform4i64NV) #undef glProgramUniform4i64vNV #define glProgramUniform4i64vNV (gl.ProgramUniform4i64vNV) #undef glProgramUniform4iEXT #define glProgramUniform4iEXT (gl.ProgramUniform4iEXT) #undef glProgramUniform4iv #define glProgramUniform4iv (gl.ProgramUniform4iv) #undef glProgramUniform4ivEXT #define glProgramUniform4ivEXT (gl.ProgramUniform4ivEXT) #undef glProgramUniform4ui #define glProgramUniform4ui (gl.ProgramUniform4ui) #undef glProgramUniform4ui64NV #define glProgramUniform4ui64NV (gl.ProgramUniform4ui64NV) #undef glProgramUniform4ui64vNV #define glProgramUniform4ui64vNV (gl.ProgramUniform4ui64vNV) #undef glProgramUniform4uiEXT #define glProgramUniform4uiEXT (gl.ProgramUniform4uiEXT) #undef glProgramUniform4uiv #define glProgramUniform4uiv (gl.ProgramUniform4uiv) #undef glProgramUniform4uivEXT #define glProgramUniform4uivEXT (gl.ProgramUniform4uivEXT) #undef glProgramUniformHandleui64ARB #define glProgramUniformHandleui64ARB (gl.ProgramUniformHandleui64ARB) #undef glProgramUniformHandleui64NV #define glProgramUniformHandleui64NV (gl.ProgramUniformHandleui64NV) #undef glProgramUniformHandleui64vARB #define glProgramUniformHandleui64vARB (gl.ProgramUniformHandleui64vARB) #undef glProgramUniformHandleui64vNV #define glProgramUniformHandleui64vNV (gl.ProgramUniformHandleui64vNV) #undef glProgramUniformMatrix2dv #define glProgramUniformMatrix2dv (gl.ProgramUniformMatrix2dv) #undef glProgramUniformMatrix2dvEXT #define glProgramUniformMatrix2dvEXT (gl.ProgramUniformMatrix2dvEXT) #undef glProgramUniformMatrix2fv #define glProgramUniformMatrix2fv (gl.ProgramUniformMatrix2fv) #undef glProgramUniformMatrix2fvEXT #define glProgramUniformMatrix2fvEXT (gl.ProgramUniformMatrix2fvEXT) #undef glProgramUniformMatrix2x3dv #define glProgramUniformMatrix2x3dv (gl.ProgramUniformMatrix2x3dv) #undef glProgramUniformMatrix2x3dvEXT #define glProgramUniformMatrix2x3dvEXT (gl.ProgramUniformMatrix2x3dvEXT) #undef glProgramUniformMatrix2x3fv #define glProgramUniformMatrix2x3fv (gl.ProgramUniformMatrix2x3fv) #undef glProgramUniformMatrix2x3fvEXT #define glProgramUniformMatrix2x3fvEXT (gl.ProgramUniformMatrix2x3fvEXT) #undef glProgramUniformMatrix2x4dv #define glProgramUniformMatrix2x4dv (gl.ProgramUniformMatrix2x4dv) #undef glProgramUniformMatrix2x4dvEXT #define glProgramUniformMatrix2x4dvEXT (gl.ProgramUniformMatrix2x4dvEXT) #undef glProgramUniformMatrix2x4fv #define glProgramUniformMatrix2x4fv (gl.ProgramUniformMatrix2x4fv) #undef glProgramUniformMatrix2x4fvEXT #define glProgramUniformMatrix2x4fvEXT (gl.ProgramUniformMatrix2x4fvEXT) #undef glProgramUniformMatrix3dv #define glProgramUniformMatrix3dv (gl.ProgramUniformMatrix3dv) #undef glProgramUniformMatrix3dvEXT #define glProgramUniformMatrix3dvEXT (gl.ProgramUniformMatrix3dvEXT) #undef glProgramUniformMatrix3fv #define glProgramUniformMatrix3fv (gl.ProgramUniformMatrix3fv) #undef glProgramUniformMatrix3fvEXT #define glProgramUniformMatrix3fvEXT (gl.ProgramUniformMatrix3fvEXT) #undef glProgramUniformMatrix3x2dv #define glProgramUniformMatrix3x2dv (gl.ProgramUniformMatrix3x2dv) #undef glProgramUniformMatrix3x2dvEXT #define glProgramUniformMatrix3x2dvEXT (gl.ProgramUniformMatrix3x2dvEXT) #undef glProgramUniformMatrix3x2fv #define glProgramUniformMatrix3x2fv (gl.ProgramUniformMatrix3x2fv) #undef glProgramUniformMatrix3x2fvEXT #define glProgramUniformMatrix3x2fvEXT (gl.ProgramUniformMatrix3x2fvEXT) #undef glProgramUniformMatrix3x4dv #define glProgramUniformMatrix3x4dv (gl.ProgramUniformMatrix3x4dv) #undef glProgramUniformMatrix3x4dvEXT #define glProgramUniformMatrix3x4dvEXT (gl.ProgramUniformMatrix3x4dvEXT) #undef glProgramUniformMatrix3x4fv #define glProgramUniformMatrix3x4fv (gl.ProgramUniformMatrix3x4fv) #undef glProgramUniformMatrix3x4fvEXT #define glProgramUniformMatrix3x4fvEXT (gl.ProgramUniformMatrix3x4fvEXT) #undef glProgramUniformMatrix4dv #define glProgramUniformMatrix4dv (gl.ProgramUniformMatrix4dv) #undef glProgramUniformMatrix4dvEXT #define glProgramUniformMatrix4dvEXT (gl.ProgramUniformMatrix4dvEXT) #undef glProgramUniformMatrix4fv #define glProgramUniformMatrix4fv (gl.ProgramUniformMatrix4fv) #undef glProgramUniformMatrix4fvEXT #define glProgramUniformMatrix4fvEXT (gl.ProgramUniformMatrix4fvEXT) #undef glProgramUniformMatrix4x2dv #define glProgramUniformMatrix4x2dv (gl.ProgramUniformMatrix4x2dv) #undef glProgramUniformMatrix4x2dvEXT #define glProgramUniformMatrix4x2dvEXT (gl.ProgramUniformMatrix4x2dvEXT) #undef glProgramUniformMatrix4x2fv #define glProgramUniformMatrix4x2fv (gl.ProgramUniformMatrix4x2fv) #undef glProgramUniformMatrix4x2fvEXT #define glProgramUniformMatrix4x2fvEXT (gl.ProgramUniformMatrix4x2fvEXT) #undef glProgramUniformMatrix4x3dv #define glProgramUniformMatrix4x3dv (gl.ProgramUniformMatrix4x3dv) #undef glProgramUniformMatrix4x3dvEXT #define glProgramUniformMatrix4x3dvEXT (gl.ProgramUniformMatrix4x3dvEXT) #undef glProgramUniformMatrix4x3fv #define glProgramUniformMatrix4x3fv (gl.ProgramUniformMatrix4x3fv) #undef glProgramUniformMatrix4x3fvEXT #define glProgramUniformMatrix4x3fvEXT (gl.ProgramUniformMatrix4x3fvEXT) #undef glProgramUniformui64NV #define glProgramUniformui64NV (gl.ProgramUniformui64NV) #undef glProgramUniformui64vNV #define glProgramUniformui64vNV (gl.ProgramUniformui64vNV) #undef glProgramVertexLimitNV #define glProgramVertexLimitNV (gl.ProgramVertexLimitNV) #undef glProvokingVertex #define glProvokingVertex (gl.ProvokingVertex) #undef glProvokingVertexEXT #define glProvokingVertexEXT (gl.ProvokingVertexEXT) #undef glPushAttrib #define glPushAttrib (gl.PushAttrib) #undef glPushClientAttrib #define glPushClientAttrib (gl.PushClientAttrib) #undef glPushClientAttribDefaultEXT #define glPushClientAttribDefaultEXT (gl.PushClientAttribDefaultEXT) #undef glPushDebugGroup #define glPushDebugGroup (gl.PushDebugGroup) #undef glPushGroupMarkerEXT #define glPushGroupMarkerEXT (gl.PushGroupMarkerEXT) #undef glPushMatrix #define glPushMatrix (gl.PushMatrix) #undef glPushName #define glPushName (gl.PushName) #undef glQueryCounter #define glQueryCounter (gl.QueryCounter) #undef glQueryMatrixxOES #define glQueryMatrixxOES (gl.QueryMatrixxOES) #undef glQueryObjectParameteruiAMD #define glQueryObjectParameteruiAMD (gl.QueryObjectParameteruiAMD) #undef glRasterPos2d #define glRasterPos2d (gl.RasterPos2d) #undef glRasterPos2dv #define glRasterPos2dv (gl.RasterPos2dv) #undef glRasterPos2f #define glRasterPos2f (gl.RasterPos2f) #undef glRasterPos2fv #define glRasterPos2fv (gl.RasterPos2fv) #undef glRasterPos2i #define glRasterPos2i (gl.RasterPos2i) #undef glRasterPos2iv #define glRasterPos2iv (gl.RasterPos2iv) #undef glRasterPos2s #define glRasterPos2s (gl.RasterPos2s) #undef glRasterPos2sv #define glRasterPos2sv (gl.RasterPos2sv) #undef glRasterPos2xOES #define glRasterPos2xOES (gl.RasterPos2xOES) #undef glRasterPos2xvOES #define glRasterPos2xvOES (gl.RasterPos2xvOES) #undef glRasterPos3d #define glRasterPos3d (gl.RasterPos3d) #undef glRasterPos3dv #define glRasterPos3dv (gl.RasterPos3dv) #undef glRasterPos3f #define glRasterPos3f (gl.RasterPos3f) #undef glRasterPos3fv #define glRasterPos3fv (gl.RasterPos3fv) #undef glRasterPos3i #define glRasterPos3i (gl.RasterPos3i) #undef glRasterPos3iv #define glRasterPos3iv (gl.RasterPos3iv) #undef glRasterPos3s #define glRasterPos3s (gl.RasterPos3s) #undef glRasterPos3sv #define glRasterPos3sv (gl.RasterPos3sv) #undef glRasterPos3xOES #define glRasterPos3xOES (gl.RasterPos3xOES) #undef glRasterPos3xvOES #define glRasterPos3xvOES (gl.RasterPos3xvOES) #undef glRasterPos4d #define glRasterPos4d (gl.RasterPos4d) #undef glRasterPos4dv #define glRasterPos4dv (gl.RasterPos4dv) #undef glRasterPos4f #define glRasterPos4f (gl.RasterPos4f) #undef glRasterPos4fv #define glRasterPos4fv (gl.RasterPos4fv) #undef glRasterPos4i #define glRasterPos4i (gl.RasterPos4i) #undef glRasterPos4iv #define glRasterPos4iv (gl.RasterPos4iv) #undef glRasterPos4s #define glRasterPos4s (gl.RasterPos4s) #undef glRasterPos4sv #define glRasterPos4sv (gl.RasterPos4sv) #undef glRasterPos4xOES #define glRasterPos4xOES (gl.RasterPos4xOES) #undef glRasterPos4xvOES #define glRasterPos4xvOES (gl.RasterPos4xvOES) #undef glReadBuffer #define glReadBuffer (gl.ReadBuffer) #undef glReadInstrumentsSGIX #define glReadInstrumentsSGIX (gl.ReadInstrumentsSGIX) #undef glReadPixels #define glReadPixels (gl.ReadPixels) #undef glReadnPixelsARB #define glReadnPixelsARB (gl.ReadnPixelsARB) #undef glRectd #define glRectd (gl.Rectd) #undef glRectdv #define glRectdv (gl.Rectdv) #undef glRectf #define glRectf (gl.Rectf) #undef glRectfv #define glRectfv (gl.Rectfv) #undef glRecti #define glRecti (gl.Recti) #undef glRectiv #define glRectiv (gl.Rectiv) #undef glRects #define glRects (gl.Rects) #undef glRectsv #define glRectsv (gl.Rectsv) #undef glRectxOES #define glRectxOES (gl.RectxOES) #undef glRectxvOES #define glRectxvOES (gl.RectxvOES) #undef glReferencePlaneSGIX #define glReferencePlaneSGIX (gl.ReferencePlaneSGIX) #undef glReleaseShaderCompiler #define glReleaseShaderCompiler (gl.ReleaseShaderCompiler) #undef glRenderMode #define glRenderMode (gl.RenderMode) #undef glRenderbufferStorage #define glRenderbufferStorage (gl.RenderbufferStorage) #undef glRenderbufferStorageEXT #define glRenderbufferStorageEXT (gl.RenderbufferStorageEXT) #undef glRenderbufferStorageMultisample #define glRenderbufferStorageMultisample (gl.RenderbufferStorageMultisample) #undef glRenderbufferStorageMultisampleCoverageNV #define glRenderbufferStorageMultisampleCoverageNV (gl.RenderbufferStorageMultisampleCoverageNV) #undef glRenderbufferStorageMultisampleEXT #define glRenderbufferStorageMultisampleEXT (gl.RenderbufferStorageMultisampleEXT) #undef glReplacementCodePointerSUN #define glReplacementCodePointerSUN (gl.ReplacementCodePointerSUN) #undef glReplacementCodeubSUN #define glReplacementCodeubSUN (gl.ReplacementCodeubSUN) #undef glReplacementCodeubvSUN #define glReplacementCodeubvSUN (gl.ReplacementCodeubvSUN) #undef glReplacementCodeuiColor3fVertex3fSUN #define glReplacementCodeuiColor3fVertex3fSUN (gl.ReplacementCodeuiColor3fVertex3fSUN) #undef glReplacementCodeuiColor3fVertex3fvSUN #define glReplacementCodeuiColor3fVertex3fvSUN (gl.ReplacementCodeuiColor3fVertex3fvSUN) #undef glReplacementCodeuiColor4fNormal3fVertex3fSUN #define glReplacementCodeuiColor4fNormal3fVertex3fSUN (gl.ReplacementCodeuiColor4fNormal3fVertex3fSUN) #undef glReplacementCodeuiColor4fNormal3fVertex3fvSUN #define glReplacementCodeuiColor4fNormal3fVertex3fvSUN (gl.ReplacementCodeuiColor4fNormal3fVertex3fvSUN) #undef glReplacementCodeuiColor4ubVertex3fSUN #define glReplacementCodeuiColor4ubVertex3fSUN (gl.ReplacementCodeuiColor4ubVertex3fSUN) #undef glReplacementCodeuiColor4ubVertex3fvSUN #define glReplacementCodeuiColor4ubVertex3fvSUN (gl.ReplacementCodeuiColor4ubVertex3fvSUN) #undef glReplacementCodeuiNormal3fVertex3fSUN #define glReplacementCodeuiNormal3fVertex3fSUN (gl.ReplacementCodeuiNormal3fVertex3fSUN) #undef glReplacementCodeuiNormal3fVertex3fvSUN #define glReplacementCodeuiNormal3fVertex3fvSUN (gl.ReplacementCodeuiNormal3fVertex3fvSUN) #undef glReplacementCodeuiSUN #define glReplacementCodeuiSUN (gl.ReplacementCodeuiSUN) #undef glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN #define glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN (gl.ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN) #undef glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN #define glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN (gl.ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN) #undef glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN #define glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN (gl.ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN) #undef glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN #define glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN (gl.ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN) #undef glReplacementCodeuiTexCoord2fVertex3fSUN #define glReplacementCodeuiTexCoord2fVertex3fSUN (gl.ReplacementCodeuiTexCoord2fVertex3fSUN) #undef glReplacementCodeuiTexCoord2fVertex3fvSUN #define glReplacementCodeuiTexCoord2fVertex3fvSUN (gl.ReplacementCodeuiTexCoord2fVertex3fvSUN) #undef glReplacementCodeuiVertex3fSUN #define glReplacementCodeuiVertex3fSUN (gl.ReplacementCodeuiVertex3fSUN) #undef glReplacementCodeuiVertex3fvSUN #define glReplacementCodeuiVertex3fvSUN (gl.ReplacementCodeuiVertex3fvSUN) #undef glReplacementCodeuivSUN #define glReplacementCodeuivSUN (gl.ReplacementCodeuivSUN) #undef glReplacementCodeusSUN #define glReplacementCodeusSUN (gl.ReplacementCodeusSUN) #undef glReplacementCodeusvSUN #define glReplacementCodeusvSUN (gl.ReplacementCodeusvSUN) #undef glRequestResidentProgramsNV #define glRequestResidentProgramsNV (gl.RequestResidentProgramsNV) #undef glResetHistogram #define glResetHistogram (gl.ResetHistogram) #undef glResetHistogramEXT #define glResetHistogramEXT (gl.ResetHistogramEXT) #undef glResetMinmax #define glResetMinmax (gl.ResetMinmax) #undef glResetMinmaxEXT #define glResetMinmaxEXT (gl.ResetMinmaxEXT) #undef glResizeBuffersMESA #define glResizeBuffersMESA (gl.ResizeBuffersMESA) #undef glResumeTransformFeedback #define glResumeTransformFeedback (gl.ResumeTransformFeedback) #undef glResumeTransformFeedbackNV #define glResumeTransformFeedbackNV (gl.ResumeTransformFeedbackNV) #undef glRotated #define glRotated (gl.Rotated) #undef glRotatef #define glRotatef (gl.Rotatef) #undef glRotatexOES #define glRotatexOES (gl.RotatexOES) #undef glSampleCoverage #define glSampleCoverage (gl.SampleCoverage) #undef glSampleCoverageARB #define glSampleCoverageARB (gl.SampleCoverageARB) #undef glSampleCoverageOES #define glSampleCoverageOES (gl.SampleCoverageOES) #undef glSampleMapATI #define glSampleMapATI (gl.SampleMapATI) #undef glSampleMaskEXT #define glSampleMaskEXT (gl.SampleMaskEXT) #undef glSampleMaskIndexedNV #define glSampleMaskIndexedNV (gl.SampleMaskIndexedNV) #undef glSampleMaskSGIS #define glSampleMaskSGIS (gl.SampleMaskSGIS) #undef glSampleMaski #define glSampleMaski (gl.SampleMaski) #undef glSamplePass #define glSamplePass (gl.SamplePass) #undef glSamplePassARB #define glSamplePassARB (gl.SamplePassARB) #undef glSamplePatternEXT #define glSamplePatternEXT (gl.SamplePatternEXT) #undef glSamplePatternSGIS #define glSamplePatternSGIS (gl.SamplePatternSGIS) #undef glSamplerParameterIiv #define glSamplerParameterIiv (gl.SamplerParameterIiv) #undef glSamplerParameterIuiv #define glSamplerParameterIuiv (gl.SamplerParameterIuiv) #undef glSamplerParameterf #define glSamplerParameterf (gl.SamplerParameterf) #undef glSamplerParameterfv #define glSamplerParameterfv (gl.SamplerParameterfv) #undef glSamplerParameteri #define glSamplerParameteri (gl.SamplerParameteri) #undef glSamplerParameteriv #define glSamplerParameteriv (gl.SamplerParameteriv) #undef glScaled #define glScaled (gl.Scaled) #undef glScalef #define glScalef (gl.Scalef) #undef glScalexOES #define glScalexOES (gl.ScalexOES) #undef glScissor #define glScissor (gl.Scissor) #undef glScissorArrayv #define glScissorArrayv (gl.ScissorArrayv) #undef glScissorIndexed #define glScissorIndexed (gl.ScissorIndexed) #undef glScissorIndexedv #define glScissorIndexedv (gl.ScissorIndexedv) #undef glSecondaryColor3b #define glSecondaryColor3b (gl.SecondaryColor3b) #undef glSecondaryColor3bEXT #define glSecondaryColor3bEXT (gl.SecondaryColor3bEXT) #undef glSecondaryColor3bv #define glSecondaryColor3bv (gl.SecondaryColor3bv) #undef glSecondaryColor3bvEXT #define glSecondaryColor3bvEXT (gl.SecondaryColor3bvEXT) #undef glSecondaryColor3d #define glSecondaryColor3d (gl.SecondaryColor3d) #undef glSecondaryColor3dEXT #define glSecondaryColor3dEXT (gl.SecondaryColor3dEXT) #undef glSecondaryColor3dv #define glSecondaryColor3dv (gl.SecondaryColor3dv) #undef glSecondaryColor3dvEXT #define glSecondaryColor3dvEXT (gl.SecondaryColor3dvEXT) #undef glSecondaryColor3f #define glSecondaryColor3f (gl.SecondaryColor3f) #undef glSecondaryColor3fEXT #define glSecondaryColor3fEXT (gl.SecondaryColor3fEXT) #undef glSecondaryColor3fv #define glSecondaryColor3fv (gl.SecondaryColor3fv) #undef glSecondaryColor3fvEXT #define glSecondaryColor3fvEXT (gl.SecondaryColor3fvEXT) #undef glSecondaryColor3hNV #define glSecondaryColor3hNV (gl.SecondaryColor3hNV) #undef glSecondaryColor3hvNV #define glSecondaryColor3hvNV (gl.SecondaryColor3hvNV) #undef glSecondaryColor3i #define glSecondaryColor3i (gl.SecondaryColor3i) #undef glSecondaryColor3iEXT #define glSecondaryColor3iEXT (gl.SecondaryColor3iEXT) #undef glSecondaryColor3iv #define glSecondaryColor3iv (gl.SecondaryColor3iv) #undef glSecondaryColor3ivEXT #define glSecondaryColor3ivEXT (gl.SecondaryColor3ivEXT) #undef glSecondaryColor3s #define glSecondaryColor3s (gl.SecondaryColor3s) #undef glSecondaryColor3sEXT #define glSecondaryColor3sEXT (gl.SecondaryColor3sEXT) #undef glSecondaryColor3sv #define glSecondaryColor3sv (gl.SecondaryColor3sv) #undef glSecondaryColor3svEXT #define glSecondaryColor3svEXT (gl.SecondaryColor3svEXT) #undef glSecondaryColor3ub #define glSecondaryColor3ub (gl.SecondaryColor3ub) #undef glSecondaryColor3ubEXT #define glSecondaryColor3ubEXT (gl.SecondaryColor3ubEXT) #undef glSecondaryColor3ubv #define glSecondaryColor3ubv (gl.SecondaryColor3ubv) #undef glSecondaryColor3ubvEXT #define glSecondaryColor3ubvEXT (gl.SecondaryColor3ubvEXT) #undef glSecondaryColor3ui #define glSecondaryColor3ui (gl.SecondaryColor3ui) #undef glSecondaryColor3uiEXT #define glSecondaryColor3uiEXT (gl.SecondaryColor3uiEXT) #undef glSecondaryColor3uiv #define glSecondaryColor3uiv (gl.SecondaryColor3uiv) #undef glSecondaryColor3uivEXT #define glSecondaryColor3uivEXT (gl.SecondaryColor3uivEXT) #undef glSecondaryColor3us #define glSecondaryColor3us (gl.SecondaryColor3us) #undef glSecondaryColor3usEXT #define glSecondaryColor3usEXT (gl.SecondaryColor3usEXT) #undef glSecondaryColor3usv #define glSecondaryColor3usv (gl.SecondaryColor3usv) #undef glSecondaryColor3usvEXT #define glSecondaryColor3usvEXT (gl.SecondaryColor3usvEXT) #undef glSecondaryColorFormatNV #define glSecondaryColorFormatNV (gl.SecondaryColorFormatNV) #undef glSecondaryColorP3ui #define glSecondaryColorP3ui (gl.SecondaryColorP3ui) #undef glSecondaryColorP3uiv #define glSecondaryColorP3uiv (gl.SecondaryColorP3uiv) #undef glSecondaryColorPointer #define glSecondaryColorPointer (gl.SecondaryColorPointer) #undef glSecondaryColorPointerEXT #define glSecondaryColorPointerEXT (gl.SecondaryColorPointerEXT) #undef glSecondaryColorPointerListIBM #define glSecondaryColorPointerListIBM (gl.SecondaryColorPointerListIBM) #undef glSelectBuffer #define glSelectBuffer (gl.SelectBuffer) #undef glSelectPerfMonitorCountersAMD #define glSelectPerfMonitorCountersAMD (gl.SelectPerfMonitorCountersAMD) #undef glSeparableFilter2D #define glSeparableFilter2D (gl.SeparableFilter2D) #undef glSeparableFilter2DEXT #define glSeparableFilter2DEXT (gl.SeparableFilter2DEXT) #undef glSetFenceAPPLE #define glSetFenceAPPLE (gl.SetFenceAPPLE) #undef glSetFenceNV #define glSetFenceNV (gl.SetFenceNV) #undef glSetFragmentShaderConstantATI #define glSetFragmentShaderConstantATI (gl.SetFragmentShaderConstantATI) #undef glSetInvariantEXT #define glSetInvariantEXT (gl.SetInvariantEXT) #undef glSetLocalConstantEXT #define glSetLocalConstantEXT (gl.SetLocalConstantEXT) #undef glSetMultisamplefvAMD #define glSetMultisamplefvAMD (gl.SetMultisamplefvAMD) #undef glShadeModel #define glShadeModel (gl.ShadeModel) #undef glShaderBinary #define glShaderBinary (gl.ShaderBinary) #undef glShaderOp1EXT #define glShaderOp1EXT (gl.ShaderOp1EXT) #undef glShaderOp2EXT #define glShaderOp2EXT (gl.ShaderOp2EXT) #undef glShaderOp3EXT #define glShaderOp3EXT (gl.ShaderOp3EXT) #undef glShaderSource #define glShaderSource (gl.ShaderSource) #undef glShaderSourceARB #define glShaderSourceARB (gl.ShaderSourceARB) #undef glShaderStorageBlockBinding #define glShaderStorageBlockBinding (gl.ShaderStorageBlockBinding) #undef glSharpenTexFuncSGIS #define glSharpenTexFuncSGIS (gl.SharpenTexFuncSGIS) #undef glSpriteParameterfSGIX #define glSpriteParameterfSGIX (gl.SpriteParameterfSGIX) #undef glSpriteParameterfvSGIX #define glSpriteParameterfvSGIX (gl.SpriteParameterfvSGIX) #undef glSpriteParameteriSGIX #define glSpriteParameteriSGIX (gl.SpriteParameteriSGIX) #undef glSpriteParameterivSGIX #define glSpriteParameterivSGIX (gl.SpriteParameterivSGIX) #undef glStartInstrumentsSGIX #define glStartInstrumentsSGIX (gl.StartInstrumentsSGIX) #undef glStencilClearTagEXT #define glStencilClearTagEXT (gl.StencilClearTagEXT) #undef glStencilFillPathInstancedNV #define glStencilFillPathInstancedNV (gl.StencilFillPathInstancedNV) #undef glStencilFillPathNV #define glStencilFillPathNV (gl.StencilFillPathNV) #undef glStencilFunc #define glStencilFunc (gl.StencilFunc) #undef glStencilFuncSeparate #define glStencilFuncSeparate (gl.StencilFuncSeparate) #undef glStencilFuncSeparateATI #define glStencilFuncSeparateATI (gl.StencilFuncSeparateATI) #undef glStencilMask #define glStencilMask (gl.StencilMask) #undef glStencilMaskSeparate #define glStencilMaskSeparate (gl.StencilMaskSeparate) #undef glStencilOp #define glStencilOp (gl.StencilOp) #undef glStencilOpSeparate #define glStencilOpSeparate (gl.StencilOpSeparate) #undef glStencilOpSeparateATI #define glStencilOpSeparateATI (gl.StencilOpSeparateATI) #undef glStencilOpValueAMD #define glStencilOpValueAMD (gl.StencilOpValueAMD) #undef glStencilStrokePathInstancedNV #define glStencilStrokePathInstancedNV (gl.StencilStrokePathInstancedNV) #undef glStencilStrokePathNV #define glStencilStrokePathNV (gl.StencilStrokePathNV) #undef glStopInstrumentsSGIX #define glStopInstrumentsSGIX (gl.StopInstrumentsSGIX) #undef glStringMarkerGREMEDY #define glStringMarkerGREMEDY (gl.StringMarkerGREMEDY) #undef glSwapAPPLE #define glSwapAPPLE (gl.SwapAPPLE) #undef glSwizzleEXT #define glSwizzleEXT (gl.SwizzleEXT) #undef glSyncTextureINTEL #define glSyncTextureINTEL (gl.SyncTextureINTEL) #undef glTagSampleBufferSGIX #define glTagSampleBufferSGIX (gl.TagSampleBufferSGIX) #undef glTangent3bEXT #define glTangent3bEXT (gl.Tangent3bEXT) #undef glTangent3bvEXT #define glTangent3bvEXT (gl.Tangent3bvEXT) #undef glTangent3dEXT #define glTangent3dEXT (gl.Tangent3dEXT) #undef glTangent3dvEXT #define glTangent3dvEXT (gl.Tangent3dvEXT) #undef glTangent3fEXT #define glTangent3fEXT (gl.Tangent3fEXT) #undef glTangent3fvEXT #define glTangent3fvEXT (gl.Tangent3fvEXT) #undef glTangent3iEXT #define glTangent3iEXT (gl.Tangent3iEXT) #undef glTangent3ivEXT #define glTangent3ivEXT (gl.Tangent3ivEXT) #undef glTangent3sEXT #define glTangent3sEXT (gl.Tangent3sEXT) #undef glTangent3svEXT #define glTangent3svEXT (gl.Tangent3svEXT) #undef glTangentPointerEXT #define glTangentPointerEXT (gl.TangentPointerEXT) #undef glTbufferMask3DFX #define glTbufferMask3DFX (gl.TbufferMask3DFX) #undef glTessellationFactorAMD #define glTessellationFactorAMD (gl.TessellationFactorAMD) #undef glTessellationModeAMD #define glTessellationModeAMD (gl.TessellationModeAMD) #undef glTestFenceAPPLE #define glTestFenceAPPLE (gl.TestFenceAPPLE) #undef glTestFenceNV #define glTestFenceNV (gl.TestFenceNV) #undef glTestObjectAPPLE #define glTestObjectAPPLE (gl.TestObjectAPPLE) #undef glTexBuffer #define glTexBuffer (gl.TexBuffer) #undef glTexBufferARB #define glTexBufferARB (gl.TexBufferARB) #undef glTexBufferEXT #define glTexBufferEXT (gl.TexBufferEXT) #undef glTexBufferRange #define glTexBufferRange (gl.TexBufferRange) #undef glTexBumpParameterfvATI #define glTexBumpParameterfvATI (gl.TexBumpParameterfvATI) #undef glTexBumpParameterivATI #define glTexBumpParameterivATI (gl.TexBumpParameterivATI) #undef glTexCoord1bOES #define glTexCoord1bOES (gl.TexCoord1bOES) #undef glTexCoord1bvOES #define glTexCoord1bvOES (gl.TexCoord1bvOES) #undef glTexCoord1d #define glTexCoord1d (gl.TexCoord1d) #undef glTexCoord1dv #define glTexCoord1dv (gl.TexCoord1dv) #undef glTexCoord1f #define glTexCoord1f (gl.TexCoord1f) #undef glTexCoord1fv #define glTexCoord1fv (gl.TexCoord1fv) #undef glTexCoord1hNV #define glTexCoord1hNV (gl.TexCoord1hNV) #undef glTexCoord1hvNV #define glTexCoord1hvNV (gl.TexCoord1hvNV) #undef glTexCoord1i #define glTexCoord1i (gl.TexCoord1i) #undef glTexCoord1iv #define glTexCoord1iv (gl.TexCoord1iv) #undef glTexCoord1s #define glTexCoord1s (gl.TexCoord1s) #undef glTexCoord1sv #define glTexCoord1sv (gl.TexCoord1sv) #undef glTexCoord1xOES #define glTexCoord1xOES (gl.TexCoord1xOES) #undef glTexCoord1xvOES #define glTexCoord1xvOES (gl.TexCoord1xvOES) #undef glTexCoord2bOES #define glTexCoord2bOES (gl.TexCoord2bOES) #undef glTexCoord2bvOES #define glTexCoord2bvOES (gl.TexCoord2bvOES) #undef glTexCoord2d #define glTexCoord2d (gl.TexCoord2d) #undef glTexCoord2dv #define glTexCoord2dv (gl.TexCoord2dv) #undef glTexCoord2f #define glTexCoord2f (gl.TexCoord2f) #undef glTexCoord2fColor3fVertex3fSUN #define glTexCoord2fColor3fVertex3fSUN (gl.TexCoord2fColor3fVertex3fSUN) #undef glTexCoord2fColor3fVertex3fvSUN #define glTexCoord2fColor3fVertex3fvSUN (gl.TexCoord2fColor3fVertex3fvSUN) #undef glTexCoord2fColor4fNormal3fVertex3fSUN #define glTexCoord2fColor4fNormal3fVertex3fSUN (gl.TexCoord2fColor4fNormal3fVertex3fSUN) #undef glTexCoord2fColor4fNormal3fVertex3fvSUN #define glTexCoord2fColor4fNormal3fVertex3fvSUN (gl.TexCoord2fColor4fNormal3fVertex3fvSUN) #undef glTexCoord2fColor4ubVertex3fSUN #define glTexCoord2fColor4ubVertex3fSUN (gl.TexCoord2fColor4ubVertex3fSUN) #undef glTexCoord2fColor4ubVertex3fvSUN #define glTexCoord2fColor4ubVertex3fvSUN (gl.TexCoord2fColor4ubVertex3fvSUN) #undef glTexCoord2fNormal3fVertex3fSUN #define glTexCoord2fNormal3fVertex3fSUN (gl.TexCoord2fNormal3fVertex3fSUN) #undef glTexCoord2fNormal3fVertex3fvSUN #define glTexCoord2fNormal3fVertex3fvSUN (gl.TexCoord2fNormal3fVertex3fvSUN) #undef glTexCoord2fVertex3fSUN #define glTexCoord2fVertex3fSUN (gl.TexCoord2fVertex3fSUN) #undef glTexCoord2fVertex3fvSUN #define glTexCoord2fVertex3fvSUN (gl.TexCoord2fVertex3fvSUN) #undef glTexCoord2fv #define glTexCoord2fv (gl.TexCoord2fv) #undef glTexCoord2hNV #define glTexCoord2hNV (gl.TexCoord2hNV) #undef glTexCoord2hvNV #define glTexCoord2hvNV (gl.TexCoord2hvNV) #undef glTexCoord2i #define glTexCoord2i (gl.TexCoord2i) #undef glTexCoord2iv #define glTexCoord2iv (gl.TexCoord2iv) #undef glTexCoord2s #define glTexCoord2s (gl.TexCoord2s) #undef glTexCoord2sv #define glTexCoord2sv (gl.TexCoord2sv) #undef glTexCoord2xOES #define glTexCoord2xOES (gl.TexCoord2xOES) #undef glTexCoord2xvOES #define glTexCoord2xvOES (gl.TexCoord2xvOES) #undef glTexCoord3bOES #define glTexCoord3bOES (gl.TexCoord3bOES) #undef glTexCoord3bvOES #define glTexCoord3bvOES (gl.TexCoord3bvOES) #undef glTexCoord3d #define glTexCoord3d (gl.TexCoord3d) #undef glTexCoord3dv #define glTexCoord3dv (gl.TexCoord3dv) #undef glTexCoord3f #define glTexCoord3f (gl.TexCoord3f) #undef glTexCoord3fv #define glTexCoord3fv (gl.TexCoord3fv) #undef glTexCoord3hNV #define glTexCoord3hNV (gl.TexCoord3hNV) #undef glTexCoord3hvNV #define glTexCoord3hvNV (gl.TexCoord3hvNV) #undef glTexCoord3i #define glTexCoord3i (gl.TexCoord3i) #undef glTexCoord3iv #define glTexCoord3iv (gl.TexCoord3iv) #undef glTexCoord3s #define glTexCoord3s (gl.TexCoord3s) #undef glTexCoord3sv #define glTexCoord3sv (gl.TexCoord3sv) #undef glTexCoord3xOES #define glTexCoord3xOES (gl.TexCoord3xOES) #undef glTexCoord3xvOES #define glTexCoord3xvOES (gl.TexCoord3xvOES) #undef glTexCoord4bOES #define glTexCoord4bOES (gl.TexCoord4bOES) #undef glTexCoord4bvOES #define glTexCoord4bvOES (gl.TexCoord4bvOES) #undef glTexCoord4d #define glTexCoord4d (gl.TexCoord4d) #undef glTexCoord4dv #define glTexCoord4dv (gl.TexCoord4dv) #undef glTexCoord4f #define glTexCoord4f (gl.TexCoord4f) #undef glTexCoord4fColor4fNormal3fVertex4fSUN #define glTexCoord4fColor4fNormal3fVertex4fSUN (gl.TexCoord4fColor4fNormal3fVertex4fSUN) #undef glTexCoord4fColor4fNormal3fVertex4fvSUN #define glTexCoord4fColor4fNormal3fVertex4fvSUN (gl.TexCoord4fColor4fNormal3fVertex4fvSUN) #undef glTexCoord4fVertex4fSUN #define glTexCoord4fVertex4fSUN (gl.TexCoord4fVertex4fSUN) #undef glTexCoord4fVertex4fvSUN #define glTexCoord4fVertex4fvSUN (gl.TexCoord4fVertex4fvSUN) #undef glTexCoord4fv #define glTexCoord4fv (gl.TexCoord4fv) #undef glTexCoord4hNV #define glTexCoord4hNV (gl.TexCoord4hNV) #undef glTexCoord4hvNV #define glTexCoord4hvNV (gl.TexCoord4hvNV) #undef glTexCoord4i #define glTexCoord4i (gl.TexCoord4i) #undef glTexCoord4iv #define glTexCoord4iv (gl.TexCoord4iv) #undef glTexCoord4s #define glTexCoord4s (gl.TexCoord4s) #undef glTexCoord4sv #define glTexCoord4sv (gl.TexCoord4sv) #undef glTexCoord4xOES #define glTexCoord4xOES (gl.TexCoord4xOES) #undef glTexCoord4xvOES #define glTexCoord4xvOES (gl.TexCoord4xvOES) #undef glTexCoordFormatNV #define glTexCoordFormatNV (gl.TexCoordFormatNV) #undef glTexCoordP1ui #define glTexCoordP1ui (gl.TexCoordP1ui) #undef glTexCoordP1uiv #define glTexCoordP1uiv (gl.TexCoordP1uiv) #undef glTexCoordP2ui #define glTexCoordP2ui (gl.TexCoordP2ui) #undef glTexCoordP2uiv #define glTexCoordP2uiv (gl.TexCoordP2uiv) #undef glTexCoordP3ui #define glTexCoordP3ui (gl.TexCoordP3ui) #undef glTexCoordP3uiv #define glTexCoordP3uiv (gl.TexCoordP3uiv) #undef glTexCoordP4ui #define glTexCoordP4ui (gl.TexCoordP4ui) #undef glTexCoordP4uiv #define glTexCoordP4uiv (gl.TexCoordP4uiv) #undef glTexCoordPointer #define glTexCoordPointer (gl.TexCoordPointer) #undef glTexCoordPointerEXT #define glTexCoordPointerEXT (gl.TexCoordPointerEXT) #undef glTexCoordPointerListIBM #define glTexCoordPointerListIBM (gl.TexCoordPointerListIBM) #undef glTexCoordPointervINTEL #define glTexCoordPointervINTEL (gl.TexCoordPointervINTEL) #undef glTexEnvf #define glTexEnvf (gl.TexEnvf) #undef glTexEnvfv #define glTexEnvfv (gl.TexEnvfv) #undef glTexEnvi #define glTexEnvi (gl.TexEnvi) #undef glTexEnviv #define glTexEnviv (gl.TexEnviv) #undef glTexEnvxOES #define glTexEnvxOES (gl.TexEnvxOES) #undef glTexEnvxvOES #define glTexEnvxvOES (gl.TexEnvxvOES) #undef glTexFilterFuncSGIS #define glTexFilterFuncSGIS (gl.TexFilterFuncSGIS) #undef glTexGend #define glTexGend (gl.TexGend) #undef glTexGendv #define glTexGendv (gl.TexGendv) #undef glTexGenf #define glTexGenf (gl.TexGenf) #undef glTexGenfv #define glTexGenfv (gl.TexGenfv) #undef glTexGeni #define glTexGeni (gl.TexGeni) #undef glTexGeniv #define glTexGeniv (gl.TexGeniv) #undef glTexGenxOES #define glTexGenxOES (gl.TexGenxOES) #undef glTexGenxvOES #define glTexGenxvOES (gl.TexGenxvOES) #undef glTexImage1D #define glTexImage1D (gl.TexImage1D) #undef glTexImage2D #define glTexImage2D (gl.TexImage2D) #undef glTexImage2DMultisample #define glTexImage2DMultisample (gl.TexImage2DMultisample) #undef glTexImage2DMultisampleCoverageNV #define glTexImage2DMultisampleCoverageNV (gl.TexImage2DMultisampleCoverageNV) #undef glTexImage3D #define glTexImage3D (gl.TexImage3D) #undef glTexImage3DEXT #define glTexImage3DEXT (gl.TexImage3DEXT) #undef glTexImage3DMultisample #define glTexImage3DMultisample (gl.TexImage3DMultisample) #undef glTexImage3DMultisampleCoverageNV #define glTexImage3DMultisampleCoverageNV (gl.TexImage3DMultisampleCoverageNV) #undef glTexImage4DSGIS #define glTexImage4DSGIS (gl.TexImage4DSGIS) #undef glTexPageCommitmentARB #define glTexPageCommitmentARB (gl.TexPageCommitmentARB) #undef glTexParameterIiv #define glTexParameterIiv (gl.TexParameterIiv) #undef glTexParameterIivEXT #define glTexParameterIivEXT (gl.TexParameterIivEXT) #undef glTexParameterIuiv #define glTexParameterIuiv (gl.TexParameterIuiv) #undef glTexParameterIuivEXT #define glTexParameterIuivEXT (gl.TexParameterIuivEXT) #undef glTexParameterf #define glTexParameterf (gl.TexParameterf) #undef glTexParameterfv #define glTexParameterfv (gl.TexParameterfv) #undef glTexParameteri #define glTexParameteri (gl.TexParameteri) #undef glTexParameteriv #define glTexParameteriv (gl.TexParameteriv) #undef glTexParameterxOES #define glTexParameterxOES (gl.TexParameterxOES) #undef glTexParameterxvOES #define glTexParameterxvOES (gl.TexParameterxvOES) #undef glTexRenderbufferNV #define glTexRenderbufferNV (gl.TexRenderbufferNV) #undef glTexScissorFuncINTEL #define glTexScissorFuncINTEL (gl.TexScissorFuncINTEL) #undef glTexScissorINTEL #define glTexScissorINTEL (gl.TexScissorINTEL) #undef glTexStorage1D #define glTexStorage1D (gl.TexStorage1D) #undef glTexStorage2D #define glTexStorage2D (gl.TexStorage2D) #undef glTexStorage2DMultisample #define glTexStorage2DMultisample (gl.TexStorage2DMultisample) #undef glTexStorage3D #define glTexStorage3D (gl.TexStorage3D) #undef glTexStorage3DMultisample #define glTexStorage3DMultisample (gl.TexStorage3DMultisample) #undef glTexStorageSparseAMD #define glTexStorageSparseAMD (gl.TexStorageSparseAMD) #undef glTexSubImage1D #define glTexSubImage1D (gl.TexSubImage1D) #undef glTexSubImage1DEXT #define glTexSubImage1DEXT (gl.TexSubImage1DEXT) #undef glTexSubImage2D #define glTexSubImage2D (gl.TexSubImage2D) #undef glTexSubImage2DEXT #define glTexSubImage2DEXT (gl.TexSubImage2DEXT) #undef glTexSubImage3D #define glTexSubImage3D (gl.TexSubImage3D) #undef glTexSubImage3DEXT #define glTexSubImage3DEXT (gl.TexSubImage3DEXT) #undef glTexSubImage4DSGIS #define glTexSubImage4DSGIS (gl.TexSubImage4DSGIS) #undef glTextureBarrierNV #define glTextureBarrierNV (gl.TextureBarrierNV) #undef glTextureBufferEXT #define glTextureBufferEXT (gl.TextureBufferEXT) #undef glTextureBufferRangeEXT #define glTextureBufferRangeEXT (gl.TextureBufferRangeEXT) #undef glTextureColorMaskSGIS #define glTextureColorMaskSGIS (gl.TextureColorMaskSGIS) #undef glTextureFogSGIX #define glTextureFogSGIX (gl.TextureFogSGIX) #undef glTextureImage1DEXT #define glTextureImage1DEXT (gl.TextureImage1DEXT) #undef glTextureImage2DEXT #define glTextureImage2DEXT (gl.TextureImage2DEXT) #undef glTextureImage2DMultisampleCoverageNV #define glTextureImage2DMultisampleCoverageNV (gl.TextureImage2DMultisampleCoverageNV) #undef glTextureImage2DMultisampleNV #define glTextureImage2DMultisampleNV (gl.TextureImage2DMultisampleNV) #undef glTextureImage3DEXT #define glTextureImage3DEXT (gl.TextureImage3DEXT) #undef glTextureImage3DMultisampleCoverageNV #define glTextureImage3DMultisampleCoverageNV (gl.TextureImage3DMultisampleCoverageNV) #undef glTextureImage3DMultisampleNV #define glTextureImage3DMultisampleNV (gl.TextureImage3DMultisampleNV) #undef glTextureLightEXT #define glTextureLightEXT (gl.TextureLightEXT) #undef glTextureMaterialEXT #define glTextureMaterialEXT (gl.TextureMaterialEXT) #undef glTextureNormalEXT #define glTextureNormalEXT (gl.TextureNormalEXT) #undef glTexturePageCommitmentEXT #define glTexturePageCommitmentEXT (gl.TexturePageCommitmentEXT) #undef glTextureParameterIivEXT #define glTextureParameterIivEXT (gl.TextureParameterIivEXT) #undef glTextureParameterIuivEXT #define glTextureParameterIuivEXT (gl.TextureParameterIuivEXT) #undef glTextureParameterfEXT #define glTextureParameterfEXT (gl.TextureParameterfEXT) #undef glTextureParameterfvEXT #define glTextureParameterfvEXT (gl.TextureParameterfvEXT) #undef glTextureParameteriEXT #define glTextureParameteriEXT (gl.TextureParameteriEXT) #undef glTextureParameterivEXT #define glTextureParameterivEXT (gl.TextureParameterivEXT) #undef glTextureRangeAPPLE #define glTextureRangeAPPLE (gl.TextureRangeAPPLE) #undef glTextureRenderbufferEXT #define glTextureRenderbufferEXT (gl.TextureRenderbufferEXT) #undef glTextureStorage1DEXT #define glTextureStorage1DEXT (gl.TextureStorage1DEXT) #undef glTextureStorage2DEXT #define glTextureStorage2DEXT (gl.TextureStorage2DEXT) #undef glTextureStorage2DMultisampleEXT #define glTextureStorage2DMultisampleEXT (gl.TextureStorage2DMultisampleEXT) #undef glTextureStorage3DEXT #define glTextureStorage3DEXT (gl.TextureStorage3DEXT) #undef glTextureStorage3DMultisampleEXT #define glTextureStorage3DMultisampleEXT (gl.TextureStorage3DMultisampleEXT) #undef glTextureStorageSparseAMD #define glTextureStorageSparseAMD (gl.TextureStorageSparseAMD) #undef glTextureSubImage1DEXT #define glTextureSubImage1DEXT (gl.TextureSubImage1DEXT) #undef glTextureSubImage2DEXT #define glTextureSubImage2DEXT (gl.TextureSubImage2DEXT) #undef glTextureSubImage3DEXT #define glTextureSubImage3DEXT (gl.TextureSubImage3DEXT) #undef glTextureView #define glTextureView (gl.TextureView) #undef glTraceAssertAttribMESA #define glTraceAssertAttribMESA (gl.TraceAssertAttribMESA) #undef glTraceCommentMESA #define glTraceCommentMESA (gl.TraceCommentMESA) #undef glTraceListMESA #define glTraceListMESA (gl.TraceListMESA) #undef glTracePointerMESA #define glTracePointerMESA (gl.TracePointerMESA) #undef glTracePointerRangeMESA #define glTracePointerRangeMESA (gl.TracePointerRangeMESA) #undef glTraceTextureMESA #define glTraceTextureMESA (gl.TraceTextureMESA) #undef glTrackMatrixNV #define glTrackMatrixNV (gl.TrackMatrixNV) #undef glTransformFeedbackAttribsNV #define glTransformFeedbackAttribsNV (gl.TransformFeedbackAttribsNV) #undef glTransformFeedbackStreamAttribsNV #define glTransformFeedbackStreamAttribsNV (gl.TransformFeedbackStreamAttribsNV) #undef glTransformFeedbackVaryings #define glTransformFeedbackVaryings (gl.TransformFeedbackVaryings) #undef glTransformFeedbackVaryingsEXT #define glTransformFeedbackVaryingsEXT (gl.TransformFeedbackVaryingsEXT) #undef glTransformFeedbackVaryingsNV #define glTransformFeedbackVaryingsNV (gl.TransformFeedbackVaryingsNV) #undef glTransformPathNV #define glTransformPathNV (gl.TransformPathNV) #undef glTranslated #define glTranslated (gl.Translated) #undef glTranslatef #define glTranslatef (gl.Translatef) #undef glTranslatexOES #define glTranslatexOES (gl.TranslatexOES) #undef glUniform1d #define glUniform1d (gl.Uniform1d) #undef glUniform1dv #define glUniform1dv (gl.Uniform1dv) #undef glUniform1f #define glUniform1f (gl.Uniform1f) #undef glUniform1fARB #define glUniform1fARB (gl.Uniform1fARB) #undef glUniform1fv #define glUniform1fv (gl.Uniform1fv) #undef glUniform1fvARB #define glUniform1fvARB (gl.Uniform1fvARB) #undef glUniform1i #define glUniform1i (gl.Uniform1i) #undef glUniform1i64NV #define glUniform1i64NV (gl.Uniform1i64NV) #undef glUniform1i64vNV #define glUniform1i64vNV (gl.Uniform1i64vNV) #undef glUniform1iARB #define glUniform1iARB (gl.Uniform1iARB) #undef glUniform1iv #define glUniform1iv (gl.Uniform1iv) #undef glUniform1ivARB #define glUniform1ivARB (gl.Uniform1ivARB) #undef glUniform1ui #define glUniform1ui (gl.Uniform1ui) #undef glUniform1ui64NV #define glUniform1ui64NV (gl.Uniform1ui64NV) #undef glUniform1ui64vNV #define glUniform1ui64vNV (gl.Uniform1ui64vNV) #undef glUniform1uiEXT #define glUniform1uiEXT (gl.Uniform1uiEXT) #undef glUniform1uiv #define glUniform1uiv (gl.Uniform1uiv) #undef glUniform1uivEXT #define glUniform1uivEXT (gl.Uniform1uivEXT) #undef glUniform2d #define glUniform2d (gl.Uniform2d) #undef glUniform2dv #define glUniform2dv (gl.Uniform2dv) #undef glUniform2f #define glUniform2f (gl.Uniform2f) #undef glUniform2fARB #define glUniform2fARB (gl.Uniform2fARB) #undef glUniform2fv #define glUniform2fv (gl.Uniform2fv) #undef glUniform2fvARB #define glUniform2fvARB (gl.Uniform2fvARB) #undef glUniform2i #define glUniform2i (gl.Uniform2i) #undef glUniform2i64NV #define glUniform2i64NV (gl.Uniform2i64NV) #undef glUniform2i64vNV #define glUniform2i64vNV (gl.Uniform2i64vNV) #undef glUniform2iARB #define glUniform2iARB (gl.Uniform2iARB) #undef glUniform2iv #define glUniform2iv (gl.Uniform2iv) #undef glUniform2ivARB #define glUniform2ivARB (gl.Uniform2ivARB) #undef glUniform2ui #define glUniform2ui (gl.Uniform2ui) #undef glUniform2ui64NV #define glUniform2ui64NV (gl.Uniform2ui64NV) #undef glUniform2ui64vNV #define glUniform2ui64vNV (gl.Uniform2ui64vNV) #undef glUniform2uiEXT #define glUniform2uiEXT (gl.Uniform2uiEXT) #undef glUniform2uiv #define glUniform2uiv (gl.Uniform2uiv) #undef glUniform2uivEXT #define glUniform2uivEXT (gl.Uniform2uivEXT) #undef glUniform3d #define glUniform3d (gl.Uniform3d) #undef glUniform3dv #define glUniform3dv (gl.Uniform3dv) #undef glUniform3f #define glUniform3f (gl.Uniform3f) #undef glUniform3fARB #define glUniform3fARB (gl.Uniform3fARB) #undef glUniform3fv #define glUniform3fv (gl.Uniform3fv) #undef glUniform3fvARB #define glUniform3fvARB (gl.Uniform3fvARB) #undef glUniform3i #define glUniform3i (gl.Uniform3i) #undef glUniform3i64NV #define glUniform3i64NV (gl.Uniform3i64NV) #undef glUniform3i64vNV #define glUniform3i64vNV (gl.Uniform3i64vNV) #undef glUniform3iARB #define glUniform3iARB (gl.Uniform3iARB) #undef glUniform3iv #define glUniform3iv (gl.Uniform3iv) #undef glUniform3ivARB #define glUniform3ivARB (gl.Uniform3ivARB) #undef glUniform3ui #define glUniform3ui (gl.Uniform3ui) #undef glUniform3ui64NV #define glUniform3ui64NV (gl.Uniform3ui64NV) #undef glUniform3ui64vNV #define glUniform3ui64vNV (gl.Uniform3ui64vNV) #undef glUniform3uiEXT #define glUniform3uiEXT (gl.Uniform3uiEXT) #undef glUniform3uiv #define glUniform3uiv (gl.Uniform3uiv) #undef glUniform3uivEXT #define glUniform3uivEXT (gl.Uniform3uivEXT) #undef glUniform4d #define glUniform4d (gl.Uniform4d) #undef glUniform4dv #define glUniform4dv (gl.Uniform4dv) #undef glUniform4f #define glUniform4f (gl.Uniform4f) #undef glUniform4fARB #define glUniform4fARB (gl.Uniform4fARB) #undef glUniform4fv #define glUniform4fv (gl.Uniform4fv) #undef glUniform4fvARB #define glUniform4fvARB (gl.Uniform4fvARB) #undef glUniform4i #define glUniform4i (gl.Uniform4i) #undef glUniform4i64NV #define glUniform4i64NV (gl.Uniform4i64NV) #undef glUniform4i64vNV #define glUniform4i64vNV (gl.Uniform4i64vNV) #undef glUniform4iARB #define glUniform4iARB (gl.Uniform4iARB) #undef glUniform4iv #define glUniform4iv (gl.Uniform4iv) #undef glUniform4ivARB #define glUniform4ivARB (gl.Uniform4ivARB) #undef glUniform4ui #define glUniform4ui (gl.Uniform4ui) #undef glUniform4ui64NV #define glUniform4ui64NV (gl.Uniform4ui64NV) #undef glUniform4ui64vNV #define glUniform4ui64vNV (gl.Uniform4ui64vNV) #undef glUniform4uiEXT #define glUniform4uiEXT (gl.Uniform4uiEXT) #undef glUniform4uiv #define glUniform4uiv (gl.Uniform4uiv) #undef glUniform4uivEXT #define glUniform4uivEXT (gl.Uniform4uivEXT) #undef glUniformBlockBinding #define glUniformBlockBinding (gl.UniformBlockBinding) #undef glUniformBufferEXT #define glUniformBufferEXT (gl.UniformBufferEXT) #undef glUniformHandleui64ARB #define glUniformHandleui64ARB (gl.UniformHandleui64ARB) #undef glUniformHandleui64NV #define glUniformHandleui64NV (gl.UniformHandleui64NV) #undef glUniformHandleui64vARB #define glUniformHandleui64vARB (gl.UniformHandleui64vARB) #undef glUniformHandleui64vNV #define glUniformHandleui64vNV (gl.UniformHandleui64vNV) #undef glUniformMatrix2dv #define glUniformMatrix2dv (gl.UniformMatrix2dv) #undef glUniformMatrix2fv #define glUniformMatrix2fv (gl.UniformMatrix2fv) #undef glUniformMatrix2fvARB #define glUniformMatrix2fvARB (gl.UniformMatrix2fvARB) #undef glUniformMatrix2x3dv #define glUniformMatrix2x3dv (gl.UniformMatrix2x3dv) #undef glUniformMatrix2x3fv #define glUniformMatrix2x3fv (gl.UniformMatrix2x3fv) #undef glUniformMatrix2x4dv #define glUniformMatrix2x4dv (gl.UniformMatrix2x4dv) #undef glUniformMatrix2x4fv #define glUniformMatrix2x4fv (gl.UniformMatrix2x4fv) #undef glUniformMatrix3dv #define glUniformMatrix3dv (gl.UniformMatrix3dv) #undef glUniformMatrix3fv #define glUniformMatrix3fv (gl.UniformMatrix3fv) #undef glUniformMatrix3fvARB #define glUniformMatrix3fvARB (gl.UniformMatrix3fvARB) #undef glUniformMatrix3x2dv #define glUniformMatrix3x2dv (gl.UniformMatrix3x2dv) #undef glUniformMatrix3x2fv #define glUniformMatrix3x2fv (gl.UniformMatrix3x2fv) #undef glUniformMatrix3x4dv #define glUniformMatrix3x4dv (gl.UniformMatrix3x4dv) #undef glUniformMatrix3x4fv #define glUniformMatrix3x4fv (gl.UniformMatrix3x4fv) #undef glUniformMatrix4dv #define glUniformMatrix4dv (gl.UniformMatrix4dv) #undef glUniformMatrix4fv #define glUniformMatrix4fv (gl.UniformMatrix4fv) #undef glUniformMatrix4fvARB #define glUniformMatrix4fvARB (gl.UniformMatrix4fvARB) #undef glUniformMatrix4x2dv #define glUniformMatrix4x2dv (gl.UniformMatrix4x2dv) #undef glUniformMatrix4x2fv #define glUniformMatrix4x2fv (gl.UniformMatrix4x2fv) #undef glUniformMatrix4x3dv #define glUniformMatrix4x3dv (gl.UniformMatrix4x3dv) #undef glUniformMatrix4x3fv #define glUniformMatrix4x3fv (gl.UniformMatrix4x3fv) #undef glUniformSubroutinesuiv #define glUniformSubroutinesuiv (gl.UniformSubroutinesuiv) #undef glUniformui64NV #define glUniformui64NV (gl.Uniformui64NV) #undef glUniformui64vNV #define glUniformui64vNV (gl.Uniformui64vNV) #undef glUnlockArraysEXT #define glUnlockArraysEXT (gl.UnlockArraysEXT) #undef glUnmapBuffer #define glUnmapBuffer (gl.UnmapBuffer) #undef glUnmapBufferARB #define glUnmapBufferARB (gl.UnmapBufferARB) #undef glUnmapNamedBufferEXT #define glUnmapNamedBufferEXT (gl.UnmapNamedBufferEXT) #undef glUnmapObjectBufferATI #define glUnmapObjectBufferATI (gl.UnmapObjectBufferATI) #undef glUnmapTexture2DINTEL #define glUnmapTexture2DINTEL (gl.UnmapTexture2DINTEL) #undef glUpdateObjectBufferATI #define glUpdateObjectBufferATI (gl.UpdateObjectBufferATI) #undef glUseProgram #define glUseProgram (gl.UseProgram) #undef glUseProgramObjectARB #define glUseProgramObjectARB (gl.UseProgramObjectARB) #undef glUseProgramStages #define glUseProgramStages (gl.UseProgramStages) #undef glUseShaderProgramEXT #define glUseShaderProgramEXT (gl.UseShaderProgramEXT) #undef glVDPAUFiniNV #define glVDPAUFiniNV (gl.VDPAUFiniNV) #undef glVDPAUGetSurfaceivNV #define glVDPAUGetSurfaceivNV (gl.VDPAUGetSurfaceivNV) #undef glVDPAUInitNV #define glVDPAUInitNV (gl.VDPAUInitNV) #undef glVDPAUIsSurfaceNV #define glVDPAUIsSurfaceNV (gl.VDPAUIsSurfaceNV) #undef glVDPAUMapSurfacesNV #define glVDPAUMapSurfacesNV (gl.VDPAUMapSurfacesNV) #undef glVDPAURegisterOutputSurfaceNV #define glVDPAURegisterOutputSurfaceNV (gl.VDPAURegisterOutputSurfaceNV) #undef glVDPAURegisterVideoSurfaceNV #define glVDPAURegisterVideoSurfaceNV (gl.VDPAURegisterVideoSurfaceNV) #undef glVDPAUSurfaceAccessNV #define glVDPAUSurfaceAccessNV (gl.VDPAUSurfaceAccessNV) #undef glVDPAUUnmapSurfacesNV #define glVDPAUUnmapSurfacesNV (gl.VDPAUUnmapSurfacesNV) #undef glVDPAUUnregisterSurfaceNV #define glVDPAUUnregisterSurfaceNV (gl.VDPAUUnregisterSurfaceNV) #undef glValidateProgram #define glValidateProgram (gl.ValidateProgram) #undef glValidateProgramARB #define glValidateProgramARB (gl.ValidateProgramARB) #undef glValidateProgramPipeline #define glValidateProgramPipeline (gl.ValidateProgramPipeline) #undef glVariantArrayObjectATI #define glVariantArrayObjectATI (gl.VariantArrayObjectATI) #undef glVariantPointerEXT #define glVariantPointerEXT (gl.VariantPointerEXT) #undef glVariantbvEXT #define glVariantbvEXT (gl.VariantbvEXT) #undef glVariantdvEXT #define glVariantdvEXT (gl.VariantdvEXT) #undef glVariantfvEXT #define glVariantfvEXT (gl.VariantfvEXT) #undef glVariantivEXT #define glVariantivEXT (gl.VariantivEXT) #undef glVariantsvEXT #define glVariantsvEXT (gl.VariantsvEXT) #undef glVariantubvEXT #define glVariantubvEXT (gl.VariantubvEXT) #undef glVariantuivEXT #define glVariantuivEXT (gl.VariantuivEXT) #undef glVariantusvEXT #define glVariantusvEXT (gl.VariantusvEXT) #undef glVertex2bOES #define glVertex2bOES (gl.Vertex2bOES) #undef glVertex2bvOES #define glVertex2bvOES (gl.Vertex2bvOES) #undef glVertex2d #define glVertex2d (gl.Vertex2d) #undef glVertex2dv #define glVertex2dv (gl.Vertex2dv) #undef glVertex2f #define glVertex2f (gl.Vertex2f) #undef glVertex2fv #define glVertex2fv (gl.Vertex2fv) #undef glVertex2hNV #define glVertex2hNV (gl.Vertex2hNV) #undef glVertex2hvNV #define glVertex2hvNV (gl.Vertex2hvNV) #undef glVertex2i #define glVertex2i (gl.Vertex2i) #undef glVertex2iv #define glVertex2iv (gl.Vertex2iv) #undef glVertex2s #define glVertex2s (gl.Vertex2s) #undef glVertex2sv #define glVertex2sv (gl.Vertex2sv) #undef glVertex2xOES #define glVertex2xOES (gl.Vertex2xOES) #undef glVertex2xvOES #define glVertex2xvOES (gl.Vertex2xvOES) #undef glVertex3bOES #define glVertex3bOES (gl.Vertex3bOES) #undef glVertex3bvOES #define glVertex3bvOES (gl.Vertex3bvOES) #undef glVertex3d #define glVertex3d (gl.Vertex3d) #undef glVertex3dv #define glVertex3dv (gl.Vertex3dv) #undef glVertex3f #define glVertex3f (gl.Vertex3f) #undef glVertex3fv #define glVertex3fv (gl.Vertex3fv) #undef glVertex3hNV #define glVertex3hNV (gl.Vertex3hNV) #undef glVertex3hvNV #define glVertex3hvNV (gl.Vertex3hvNV) #undef glVertex3i #define glVertex3i (gl.Vertex3i) #undef glVertex3iv #define glVertex3iv (gl.Vertex3iv) #undef glVertex3s #define glVertex3s (gl.Vertex3s) #undef glVertex3sv #define glVertex3sv (gl.Vertex3sv) #undef glVertex3xOES #define glVertex3xOES (gl.Vertex3xOES) #undef glVertex3xvOES #define glVertex3xvOES (gl.Vertex3xvOES) #undef glVertex4bOES #define glVertex4bOES (gl.Vertex4bOES) #undef glVertex4bvOES #define glVertex4bvOES (gl.Vertex4bvOES) #undef glVertex4d #define glVertex4d (gl.Vertex4d) #undef glVertex4dv #define glVertex4dv (gl.Vertex4dv) #undef glVertex4f #define glVertex4f (gl.Vertex4f) #undef glVertex4fv #define glVertex4fv (gl.Vertex4fv) #undef glVertex4hNV #define glVertex4hNV (gl.Vertex4hNV) #undef glVertex4hvNV #define glVertex4hvNV (gl.Vertex4hvNV) #undef glVertex4i #define glVertex4i (gl.Vertex4i) #undef glVertex4iv #define glVertex4iv (gl.Vertex4iv) #undef glVertex4s #define glVertex4s (gl.Vertex4s) #undef glVertex4sv #define glVertex4sv (gl.Vertex4sv) #undef glVertex4xOES #define glVertex4xOES (gl.Vertex4xOES) #undef glVertex4xvOES #define glVertex4xvOES (gl.Vertex4xvOES) #undef glVertexArrayBindVertexBufferEXT #define glVertexArrayBindVertexBufferEXT (gl.VertexArrayBindVertexBufferEXT) #undef glVertexArrayColorOffsetEXT #define glVertexArrayColorOffsetEXT (gl.VertexArrayColorOffsetEXT) #undef glVertexArrayEdgeFlagOffsetEXT #define glVertexArrayEdgeFlagOffsetEXT (gl.VertexArrayEdgeFlagOffsetEXT) #undef glVertexArrayFogCoordOffsetEXT #define glVertexArrayFogCoordOffsetEXT (gl.VertexArrayFogCoordOffsetEXT) #undef glVertexArrayIndexOffsetEXT #define glVertexArrayIndexOffsetEXT (gl.VertexArrayIndexOffsetEXT) #undef glVertexArrayMultiTexCoordOffsetEXT #define glVertexArrayMultiTexCoordOffsetEXT (gl.VertexArrayMultiTexCoordOffsetEXT) #undef glVertexArrayNormalOffsetEXT #define glVertexArrayNormalOffsetEXT (gl.VertexArrayNormalOffsetEXT) #undef glVertexArrayParameteriAPPLE #define glVertexArrayParameteriAPPLE (gl.VertexArrayParameteriAPPLE) #undef glVertexArrayRangeAPPLE #define glVertexArrayRangeAPPLE (gl.VertexArrayRangeAPPLE) #undef glVertexArrayRangeNV #define glVertexArrayRangeNV (gl.VertexArrayRangeNV) #undef glVertexArraySecondaryColorOffsetEXT #define glVertexArraySecondaryColorOffsetEXT (gl.VertexArraySecondaryColorOffsetEXT) #undef glVertexArrayTexCoordOffsetEXT #define glVertexArrayTexCoordOffsetEXT (gl.VertexArrayTexCoordOffsetEXT) #undef glVertexArrayVertexAttribBindingEXT #define glVertexArrayVertexAttribBindingEXT (gl.VertexArrayVertexAttribBindingEXT) #undef glVertexArrayVertexAttribDivisorEXT #define glVertexArrayVertexAttribDivisorEXT (gl.VertexArrayVertexAttribDivisorEXT) #undef glVertexArrayVertexAttribFormatEXT #define glVertexArrayVertexAttribFormatEXT (gl.VertexArrayVertexAttribFormatEXT) #undef glVertexArrayVertexAttribIFormatEXT #define glVertexArrayVertexAttribIFormatEXT (gl.VertexArrayVertexAttribIFormatEXT) #undef glVertexArrayVertexAttribIOffsetEXT #define glVertexArrayVertexAttribIOffsetEXT (gl.VertexArrayVertexAttribIOffsetEXT) #undef glVertexArrayVertexAttribLFormatEXT #define glVertexArrayVertexAttribLFormatEXT (gl.VertexArrayVertexAttribLFormatEXT) #undef glVertexArrayVertexAttribLOffsetEXT #define glVertexArrayVertexAttribLOffsetEXT (gl.VertexArrayVertexAttribLOffsetEXT) #undef glVertexArrayVertexAttribOffsetEXT #define glVertexArrayVertexAttribOffsetEXT (gl.VertexArrayVertexAttribOffsetEXT) #undef glVertexArrayVertexBindingDivisorEXT #define glVertexArrayVertexBindingDivisorEXT (gl.VertexArrayVertexBindingDivisorEXT) #undef glVertexArrayVertexOffsetEXT #define glVertexArrayVertexOffsetEXT (gl.VertexArrayVertexOffsetEXT) #undef glVertexAttrib1d #define glVertexAttrib1d (gl.VertexAttrib1d) #undef glVertexAttrib1dARB #define glVertexAttrib1dARB (gl.VertexAttrib1dARB) #undef glVertexAttrib1dNV #define glVertexAttrib1dNV (gl.VertexAttrib1dNV) #undef glVertexAttrib1dv #define glVertexAttrib1dv (gl.VertexAttrib1dv) #undef glVertexAttrib1dvARB #define glVertexAttrib1dvARB (gl.VertexAttrib1dvARB) #undef glVertexAttrib1dvNV #define glVertexAttrib1dvNV (gl.VertexAttrib1dvNV) #undef glVertexAttrib1f #define glVertexAttrib1f (gl.VertexAttrib1f) #undef glVertexAttrib1fARB #define glVertexAttrib1fARB (gl.VertexAttrib1fARB) #undef glVertexAttrib1fNV #define glVertexAttrib1fNV (gl.VertexAttrib1fNV) #undef glVertexAttrib1fv #define glVertexAttrib1fv (gl.VertexAttrib1fv) #undef glVertexAttrib1fvARB #define glVertexAttrib1fvARB (gl.VertexAttrib1fvARB) #undef glVertexAttrib1fvNV #define glVertexAttrib1fvNV (gl.VertexAttrib1fvNV) #undef glVertexAttrib1hNV #define glVertexAttrib1hNV (gl.VertexAttrib1hNV) #undef glVertexAttrib1hvNV #define glVertexAttrib1hvNV (gl.VertexAttrib1hvNV) #undef glVertexAttrib1s #define glVertexAttrib1s (gl.VertexAttrib1s) #undef glVertexAttrib1sARB #define glVertexAttrib1sARB (gl.VertexAttrib1sARB) #undef glVertexAttrib1sNV #define glVertexAttrib1sNV (gl.VertexAttrib1sNV) #undef glVertexAttrib1sv #define glVertexAttrib1sv (gl.VertexAttrib1sv) #undef glVertexAttrib1svARB #define glVertexAttrib1svARB (gl.VertexAttrib1svARB) #undef glVertexAttrib1svNV #define glVertexAttrib1svNV (gl.VertexAttrib1svNV) #undef glVertexAttrib2d #define glVertexAttrib2d (gl.VertexAttrib2d) #undef glVertexAttrib2dARB #define glVertexAttrib2dARB (gl.VertexAttrib2dARB) #undef glVertexAttrib2dNV #define glVertexAttrib2dNV (gl.VertexAttrib2dNV) #undef glVertexAttrib2dv #define glVertexAttrib2dv (gl.VertexAttrib2dv) #undef glVertexAttrib2dvARB #define glVertexAttrib2dvARB (gl.VertexAttrib2dvARB) #undef glVertexAttrib2dvNV #define glVertexAttrib2dvNV (gl.VertexAttrib2dvNV) #undef glVertexAttrib2f #define glVertexAttrib2f (gl.VertexAttrib2f) #undef glVertexAttrib2fARB #define glVertexAttrib2fARB (gl.VertexAttrib2fARB) #undef glVertexAttrib2fNV #define glVertexAttrib2fNV (gl.VertexAttrib2fNV) #undef glVertexAttrib2fv #define glVertexAttrib2fv (gl.VertexAttrib2fv) #undef glVertexAttrib2fvARB #define glVertexAttrib2fvARB (gl.VertexAttrib2fvARB) #undef glVertexAttrib2fvNV #define glVertexAttrib2fvNV (gl.VertexAttrib2fvNV) #undef glVertexAttrib2hNV #define glVertexAttrib2hNV (gl.VertexAttrib2hNV) #undef glVertexAttrib2hvNV #define glVertexAttrib2hvNV (gl.VertexAttrib2hvNV) #undef glVertexAttrib2s #define glVertexAttrib2s (gl.VertexAttrib2s) #undef glVertexAttrib2sARB #define glVertexAttrib2sARB (gl.VertexAttrib2sARB) #undef glVertexAttrib2sNV #define glVertexAttrib2sNV (gl.VertexAttrib2sNV) #undef glVertexAttrib2sv #define glVertexAttrib2sv (gl.VertexAttrib2sv) #undef glVertexAttrib2svARB #define glVertexAttrib2svARB (gl.VertexAttrib2svARB) #undef glVertexAttrib2svNV #define glVertexAttrib2svNV (gl.VertexAttrib2svNV) #undef glVertexAttrib3d #define glVertexAttrib3d (gl.VertexAttrib3d) #undef glVertexAttrib3dARB #define glVertexAttrib3dARB (gl.VertexAttrib3dARB) #undef glVertexAttrib3dNV #define glVertexAttrib3dNV (gl.VertexAttrib3dNV) #undef glVertexAttrib3dv #define glVertexAttrib3dv (gl.VertexAttrib3dv) #undef glVertexAttrib3dvARB #define glVertexAttrib3dvARB (gl.VertexAttrib3dvARB) #undef glVertexAttrib3dvNV #define glVertexAttrib3dvNV (gl.VertexAttrib3dvNV) #undef glVertexAttrib3f #define glVertexAttrib3f (gl.VertexAttrib3f) #undef glVertexAttrib3fARB #define glVertexAttrib3fARB (gl.VertexAttrib3fARB) #undef glVertexAttrib3fNV #define glVertexAttrib3fNV (gl.VertexAttrib3fNV) #undef glVertexAttrib3fv #define glVertexAttrib3fv (gl.VertexAttrib3fv) #undef glVertexAttrib3fvARB #define glVertexAttrib3fvARB (gl.VertexAttrib3fvARB) #undef glVertexAttrib3fvNV #define glVertexAttrib3fvNV (gl.VertexAttrib3fvNV) #undef glVertexAttrib3hNV #define glVertexAttrib3hNV (gl.VertexAttrib3hNV) #undef glVertexAttrib3hvNV #define glVertexAttrib3hvNV (gl.VertexAttrib3hvNV) #undef glVertexAttrib3s #define glVertexAttrib3s (gl.VertexAttrib3s) #undef glVertexAttrib3sARB #define glVertexAttrib3sARB (gl.VertexAttrib3sARB) #undef glVertexAttrib3sNV #define glVertexAttrib3sNV (gl.VertexAttrib3sNV) #undef glVertexAttrib3sv #define glVertexAttrib3sv (gl.VertexAttrib3sv) #undef glVertexAttrib3svARB #define glVertexAttrib3svARB (gl.VertexAttrib3svARB) #undef glVertexAttrib3svNV #define glVertexAttrib3svNV (gl.VertexAttrib3svNV) #undef glVertexAttrib4Nbv #define glVertexAttrib4Nbv (gl.VertexAttrib4Nbv) #undef glVertexAttrib4NbvARB #define glVertexAttrib4NbvARB (gl.VertexAttrib4NbvARB) #undef glVertexAttrib4Niv #define glVertexAttrib4Niv (gl.VertexAttrib4Niv) #undef glVertexAttrib4NivARB #define glVertexAttrib4NivARB (gl.VertexAttrib4NivARB) #undef glVertexAttrib4Nsv #define glVertexAttrib4Nsv (gl.VertexAttrib4Nsv) #undef glVertexAttrib4NsvARB #define glVertexAttrib4NsvARB (gl.VertexAttrib4NsvARB) #undef glVertexAttrib4Nub #define glVertexAttrib4Nub (gl.VertexAttrib4Nub) #undef glVertexAttrib4NubARB #define glVertexAttrib4NubARB (gl.VertexAttrib4NubARB) #undef glVertexAttrib4Nubv #define glVertexAttrib4Nubv (gl.VertexAttrib4Nubv) #undef glVertexAttrib4NubvARB #define glVertexAttrib4NubvARB (gl.VertexAttrib4NubvARB) #undef glVertexAttrib4Nuiv #define glVertexAttrib4Nuiv (gl.VertexAttrib4Nuiv) #undef glVertexAttrib4NuivARB #define glVertexAttrib4NuivARB (gl.VertexAttrib4NuivARB) #undef glVertexAttrib4Nusv #define glVertexAttrib4Nusv (gl.VertexAttrib4Nusv) #undef glVertexAttrib4NusvARB #define glVertexAttrib4NusvARB (gl.VertexAttrib4NusvARB) #undef glVertexAttrib4bv #define glVertexAttrib4bv (gl.VertexAttrib4bv) #undef glVertexAttrib4bvARB #define glVertexAttrib4bvARB (gl.VertexAttrib4bvARB) #undef glVertexAttrib4d #define glVertexAttrib4d (gl.VertexAttrib4d) #undef glVertexAttrib4dARB #define glVertexAttrib4dARB (gl.VertexAttrib4dARB) #undef glVertexAttrib4dNV #define glVertexAttrib4dNV (gl.VertexAttrib4dNV) #undef glVertexAttrib4dv #define glVertexAttrib4dv (gl.VertexAttrib4dv) #undef glVertexAttrib4dvARB #define glVertexAttrib4dvARB (gl.VertexAttrib4dvARB) #undef glVertexAttrib4dvNV #define glVertexAttrib4dvNV (gl.VertexAttrib4dvNV) #undef glVertexAttrib4f #define glVertexAttrib4f (gl.VertexAttrib4f) #undef glVertexAttrib4fARB #define glVertexAttrib4fARB (gl.VertexAttrib4fARB) #undef glVertexAttrib4fNV #define glVertexAttrib4fNV (gl.VertexAttrib4fNV) #undef glVertexAttrib4fv #define glVertexAttrib4fv (gl.VertexAttrib4fv) #undef glVertexAttrib4fvARB #define glVertexAttrib4fvARB (gl.VertexAttrib4fvARB) #undef glVertexAttrib4fvNV #define glVertexAttrib4fvNV (gl.VertexAttrib4fvNV) #undef glVertexAttrib4hNV #define glVertexAttrib4hNV (gl.VertexAttrib4hNV) #undef glVertexAttrib4hvNV #define glVertexAttrib4hvNV (gl.VertexAttrib4hvNV) #undef glVertexAttrib4iv #define glVertexAttrib4iv (gl.VertexAttrib4iv) #undef glVertexAttrib4ivARB #define glVertexAttrib4ivARB (gl.VertexAttrib4ivARB) #undef glVertexAttrib4s #define glVertexAttrib4s (gl.VertexAttrib4s) #undef glVertexAttrib4sARB #define glVertexAttrib4sARB (gl.VertexAttrib4sARB) #undef glVertexAttrib4sNV #define glVertexAttrib4sNV (gl.VertexAttrib4sNV) #undef glVertexAttrib4sv #define glVertexAttrib4sv (gl.VertexAttrib4sv) #undef glVertexAttrib4svARB #define glVertexAttrib4svARB (gl.VertexAttrib4svARB) #undef glVertexAttrib4svNV #define glVertexAttrib4svNV (gl.VertexAttrib4svNV) #undef glVertexAttrib4ubNV #define glVertexAttrib4ubNV (gl.VertexAttrib4ubNV) #undef glVertexAttrib4ubv #define glVertexAttrib4ubv (gl.VertexAttrib4ubv) #undef glVertexAttrib4ubvARB #define glVertexAttrib4ubvARB (gl.VertexAttrib4ubvARB) #undef glVertexAttrib4ubvNV #define glVertexAttrib4ubvNV (gl.VertexAttrib4ubvNV) #undef glVertexAttrib4uiv #define glVertexAttrib4uiv (gl.VertexAttrib4uiv) #undef glVertexAttrib4uivARB #define glVertexAttrib4uivARB (gl.VertexAttrib4uivARB) #undef glVertexAttrib4usv #define glVertexAttrib4usv (gl.VertexAttrib4usv) #undef glVertexAttrib4usvARB #define glVertexAttrib4usvARB (gl.VertexAttrib4usvARB) #undef glVertexAttribArrayObjectATI #define glVertexAttribArrayObjectATI (gl.VertexAttribArrayObjectATI) #undef glVertexAttribBinding #define glVertexAttribBinding (gl.VertexAttribBinding) #undef glVertexAttribDivisor #define glVertexAttribDivisor (gl.VertexAttribDivisor) #undef glVertexAttribDivisorARB #define glVertexAttribDivisorARB (gl.VertexAttribDivisorARB) #undef glVertexAttribFormat #define glVertexAttribFormat (gl.VertexAttribFormat) #undef glVertexAttribFormatNV #define glVertexAttribFormatNV (gl.VertexAttribFormatNV) #undef glVertexAttribI1i #define glVertexAttribI1i (gl.VertexAttribI1i) #undef glVertexAttribI1iEXT #define glVertexAttribI1iEXT (gl.VertexAttribI1iEXT) #undef glVertexAttribI1iv #define glVertexAttribI1iv (gl.VertexAttribI1iv) #undef glVertexAttribI1ivEXT #define glVertexAttribI1ivEXT (gl.VertexAttribI1ivEXT) #undef glVertexAttribI1ui #define glVertexAttribI1ui (gl.VertexAttribI1ui) #undef glVertexAttribI1uiEXT #define glVertexAttribI1uiEXT (gl.VertexAttribI1uiEXT) #undef glVertexAttribI1uiv #define glVertexAttribI1uiv (gl.VertexAttribI1uiv) #undef glVertexAttribI1uivEXT #define glVertexAttribI1uivEXT (gl.VertexAttribI1uivEXT) #undef glVertexAttribI2i #define glVertexAttribI2i (gl.VertexAttribI2i) #undef glVertexAttribI2iEXT #define glVertexAttribI2iEXT (gl.VertexAttribI2iEXT) #undef glVertexAttribI2iv #define glVertexAttribI2iv (gl.VertexAttribI2iv) #undef glVertexAttribI2ivEXT #define glVertexAttribI2ivEXT (gl.VertexAttribI2ivEXT) #undef glVertexAttribI2ui #define glVertexAttribI2ui (gl.VertexAttribI2ui) #undef glVertexAttribI2uiEXT #define glVertexAttribI2uiEXT (gl.VertexAttribI2uiEXT) #undef glVertexAttribI2uiv #define glVertexAttribI2uiv (gl.VertexAttribI2uiv) #undef glVertexAttribI2uivEXT #define glVertexAttribI2uivEXT (gl.VertexAttribI2uivEXT) #undef glVertexAttribI3i #define glVertexAttribI3i (gl.VertexAttribI3i) #undef glVertexAttribI3iEXT #define glVertexAttribI3iEXT (gl.VertexAttribI3iEXT) #undef glVertexAttribI3iv #define glVertexAttribI3iv (gl.VertexAttribI3iv) #undef glVertexAttribI3ivEXT #define glVertexAttribI3ivEXT (gl.VertexAttribI3ivEXT) #undef glVertexAttribI3ui #define glVertexAttribI3ui (gl.VertexAttribI3ui) #undef glVertexAttribI3uiEXT #define glVertexAttribI3uiEXT (gl.VertexAttribI3uiEXT) #undef glVertexAttribI3uiv #define glVertexAttribI3uiv (gl.VertexAttribI3uiv) #undef glVertexAttribI3uivEXT #define glVertexAttribI3uivEXT (gl.VertexAttribI3uivEXT) #undef glVertexAttribI4bv #define glVertexAttribI4bv (gl.VertexAttribI4bv) #undef glVertexAttribI4bvEXT #define glVertexAttribI4bvEXT (gl.VertexAttribI4bvEXT) #undef glVertexAttribI4i #define glVertexAttribI4i (gl.VertexAttribI4i) #undef glVertexAttribI4iEXT #define glVertexAttribI4iEXT (gl.VertexAttribI4iEXT) #undef glVertexAttribI4iv #define glVertexAttribI4iv (gl.VertexAttribI4iv) #undef glVertexAttribI4ivEXT #define glVertexAttribI4ivEXT (gl.VertexAttribI4ivEXT) #undef glVertexAttribI4sv #define glVertexAttribI4sv (gl.VertexAttribI4sv) #undef glVertexAttribI4svEXT #define glVertexAttribI4svEXT (gl.VertexAttribI4svEXT) #undef glVertexAttribI4ubv #define glVertexAttribI4ubv (gl.VertexAttribI4ubv) #undef glVertexAttribI4ubvEXT #define glVertexAttribI4ubvEXT (gl.VertexAttribI4ubvEXT) #undef glVertexAttribI4ui #define glVertexAttribI4ui (gl.VertexAttribI4ui) #undef glVertexAttribI4uiEXT #define glVertexAttribI4uiEXT (gl.VertexAttribI4uiEXT) #undef glVertexAttribI4uiv #define glVertexAttribI4uiv (gl.VertexAttribI4uiv) #undef glVertexAttribI4uivEXT #define glVertexAttribI4uivEXT (gl.VertexAttribI4uivEXT) #undef glVertexAttribI4usv #define glVertexAttribI4usv (gl.VertexAttribI4usv) #undef glVertexAttribI4usvEXT #define glVertexAttribI4usvEXT (gl.VertexAttribI4usvEXT) #undef glVertexAttribIFormat #define glVertexAttribIFormat (gl.VertexAttribIFormat) #undef glVertexAttribIFormatNV #define glVertexAttribIFormatNV (gl.VertexAttribIFormatNV) #undef glVertexAttribIPointer #define glVertexAttribIPointer (gl.VertexAttribIPointer) #undef glVertexAttribIPointerEXT #define glVertexAttribIPointerEXT (gl.VertexAttribIPointerEXT) #undef glVertexAttribL1d #define glVertexAttribL1d (gl.VertexAttribL1d) #undef glVertexAttribL1dEXT #define glVertexAttribL1dEXT (gl.VertexAttribL1dEXT) #undef glVertexAttribL1dv #define glVertexAttribL1dv (gl.VertexAttribL1dv) #undef glVertexAttribL1dvEXT #define glVertexAttribL1dvEXT (gl.VertexAttribL1dvEXT) #undef glVertexAttribL1i64NV #define glVertexAttribL1i64NV (gl.VertexAttribL1i64NV) #undef glVertexAttribL1i64vNV #define glVertexAttribL1i64vNV (gl.VertexAttribL1i64vNV) #undef glVertexAttribL1ui64ARB #define glVertexAttribL1ui64ARB (gl.VertexAttribL1ui64ARB) #undef glVertexAttribL1ui64NV #define glVertexAttribL1ui64NV (gl.VertexAttribL1ui64NV) #undef glVertexAttribL1ui64vARB #define glVertexAttribL1ui64vARB (gl.VertexAttribL1ui64vARB) #undef glVertexAttribL1ui64vNV #define glVertexAttribL1ui64vNV (gl.VertexAttribL1ui64vNV) #undef glVertexAttribL2d #define glVertexAttribL2d (gl.VertexAttribL2d) #undef glVertexAttribL2dEXT #define glVertexAttribL2dEXT (gl.VertexAttribL2dEXT) #undef glVertexAttribL2dv #define glVertexAttribL2dv (gl.VertexAttribL2dv) #undef glVertexAttribL2dvEXT #define glVertexAttribL2dvEXT (gl.VertexAttribL2dvEXT) #undef glVertexAttribL2i64NV #define glVertexAttribL2i64NV (gl.VertexAttribL2i64NV) #undef glVertexAttribL2i64vNV #define glVertexAttribL2i64vNV (gl.VertexAttribL2i64vNV) #undef glVertexAttribL2ui64NV #define glVertexAttribL2ui64NV (gl.VertexAttribL2ui64NV) #undef glVertexAttribL2ui64vNV #define glVertexAttribL2ui64vNV (gl.VertexAttribL2ui64vNV) #undef glVertexAttribL3d #define glVertexAttribL3d (gl.VertexAttribL3d) #undef glVertexAttribL3dEXT #define glVertexAttribL3dEXT (gl.VertexAttribL3dEXT) #undef glVertexAttribL3dv #define glVertexAttribL3dv (gl.VertexAttribL3dv) #undef glVertexAttribL3dvEXT #define glVertexAttribL3dvEXT (gl.VertexAttribL3dvEXT) #undef glVertexAttribL3i64NV #define glVertexAttribL3i64NV (gl.VertexAttribL3i64NV) #undef glVertexAttribL3i64vNV #define glVertexAttribL3i64vNV (gl.VertexAttribL3i64vNV) #undef glVertexAttribL3ui64NV #define glVertexAttribL3ui64NV (gl.VertexAttribL3ui64NV) #undef glVertexAttribL3ui64vNV #define glVertexAttribL3ui64vNV (gl.VertexAttribL3ui64vNV) #undef glVertexAttribL4d #define glVertexAttribL4d (gl.VertexAttribL4d) #undef glVertexAttribL4dEXT #define glVertexAttribL4dEXT (gl.VertexAttribL4dEXT) #undef glVertexAttribL4dv #define glVertexAttribL4dv (gl.VertexAttribL4dv) #undef glVertexAttribL4dvEXT #define glVertexAttribL4dvEXT (gl.VertexAttribL4dvEXT) #undef glVertexAttribL4i64NV #define glVertexAttribL4i64NV (gl.VertexAttribL4i64NV) #undef glVertexAttribL4i64vNV #define glVertexAttribL4i64vNV (gl.VertexAttribL4i64vNV) #undef glVertexAttribL4ui64NV #define glVertexAttribL4ui64NV (gl.VertexAttribL4ui64NV) #undef glVertexAttribL4ui64vNV #define glVertexAttribL4ui64vNV (gl.VertexAttribL4ui64vNV) #undef glVertexAttribLFormat #define glVertexAttribLFormat (gl.VertexAttribLFormat) #undef glVertexAttribLFormatNV #define glVertexAttribLFormatNV (gl.VertexAttribLFormatNV) #undef glVertexAttribLPointer #define glVertexAttribLPointer (gl.VertexAttribLPointer) #undef glVertexAttribLPointerEXT #define glVertexAttribLPointerEXT (gl.VertexAttribLPointerEXT) #undef glVertexAttribP1ui #define glVertexAttribP1ui (gl.VertexAttribP1ui) #undef glVertexAttribP1uiv #define glVertexAttribP1uiv (gl.VertexAttribP1uiv) #undef glVertexAttribP2ui #define glVertexAttribP2ui (gl.VertexAttribP2ui) #undef glVertexAttribP2uiv #define glVertexAttribP2uiv (gl.VertexAttribP2uiv) #undef glVertexAttribP3ui #define glVertexAttribP3ui (gl.VertexAttribP3ui) #undef glVertexAttribP3uiv #define glVertexAttribP3uiv (gl.VertexAttribP3uiv) #undef glVertexAttribP4ui #define glVertexAttribP4ui (gl.VertexAttribP4ui) #undef glVertexAttribP4uiv #define glVertexAttribP4uiv (gl.VertexAttribP4uiv) #undef glVertexAttribParameteriAMD #define glVertexAttribParameteriAMD (gl.VertexAttribParameteriAMD) #undef glVertexAttribPointer #define glVertexAttribPointer (gl.VertexAttribPointer) #undef glVertexAttribPointerARB #define glVertexAttribPointerARB (gl.VertexAttribPointerARB) #undef glVertexAttribPointerNV #define glVertexAttribPointerNV (gl.VertexAttribPointerNV) #undef glVertexAttribs1dvNV #define glVertexAttribs1dvNV (gl.VertexAttribs1dvNV) #undef glVertexAttribs1fvNV #define glVertexAttribs1fvNV (gl.VertexAttribs1fvNV) #undef glVertexAttribs1hvNV #define glVertexAttribs1hvNV (gl.VertexAttribs1hvNV) #undef glVertexAttribs1svNV #define glVertexAttribs1svNV (gl.VertexAttribs1svNV) #undef glVertexAttribs2dvNV #define glVertexAttribs2dvNV (gl.VertexAttribs2dvNV) #undef glVertexAttribs2fvNV #define glVertexAttribs2fvNV (gl.VertexAttribs2fvNV) #undef glVertexAttribs2hvNV #define glVertexAttribs2hvNV (gl.VertexAttribs2hvNV) #undef glVertexAttribs2svNV #define glVertexAttribs2svNV (gl.VertexAttribs2svNV) #undef glVertexAttribs3dvNV #define glVertexAttribs3dvNV (gl.VertexAttribs3dvNV) #undef glVertexAttribs3fvNV #define glVertexAttribs3fvNV (gl.VertexAttribs3fvNV) #undef glVertexAttribs3hvNV #define glVertexAttribs3hvNV (gl.VertexAttribs3hvNV) #undef glVertexAttribs3svNV #define glVertexAttribs3svNV (gl.VertexAttribs3svNV) #undef glVertexAttribs4dvNV #define glVertexAttribs4dvNV (gl.VertexAttribs4dvNV) #undef glVertexAttribs4fvNV #define glVertexAttribs4fvNV (gl.VertexAttribs4fvNV) #undef glVertexAttribs4hvNV #define glVertexAttribs4hvNV (gl.VertexAttribs4hvNV) #undef glVertexAttribs4svNV #define glVertexAttribs4svNV (gl.VertexAttribs4svNV) #undef glVertexAttribs4ubvNV #define glVertexAttribs4ubvNV (gl.VertexAttribs4ubvNV) #undef glVertexBindingDivisor #define glVertexBindingDivisor (gl.VertexBindingDivisor) #undef glVertexBlendARB #define glVertexBlendARB (gl.VertexBlendARB) #undef glVertexBlendEnvfATI #define glVertexBlendEnvfATI (gl.VertexBlendEnvfATI) #undef glVertexBlendEnviATI #define glVertexBlendEnviATI (gl.VertexBlendEnviATI) #undef glVertexFormatNV #define glVertexFormatNV (gl.VertexFormatNV) #undef glVertexP2ui #define glVertexP2ui (gl.VertexP2ui) #undef glVertexP2uiv #define glVertexP2uiv (gl.VertexP2uiv) #undef glVertexP3ui #define glVertexP3ui (gl.VertexP3ui) #undef glVertexP3uiv #define glVertexP3uiv (gl.VertexP3uiv) #undef glVertexP4ui #define glVertexP4ui (gl.VertexP4ui) #undef glVertexP4uiv #define glVertexP4uiv (gl.VertexP4uiv) #undef glVertexPointSizefAPPLE #define glVertexPointSizefAPPLE (gl.VertexPointSizefAPPLE) #undef glVertexPointer #define glVertexPointer (gl.VertexPointer) #undef glVertexPointerEXT #define glVertexPointerEXT (gl.VertexPointerEXT) #undef glVertexPointerListIBM #define glVertexPointerListIBM (gl.VertexPointerListIBM) #undef glVertexPointervINTEL #define glVertexPointervINTEL (gl.VertexPointervINTEL) #undef glVertexStream1dATI #define glVertexStream1dATI (gl.VertexStream1dATI) #undef glVertexStream1dvATI #define glVertexStream1dvATI (gl.VertexStream1dvATI) #undef glVertexStream1fATI #define glVertexStream1fATI (gl.VertexStream1fATI) #undef glVertexStream1fvATI #define glVertexStream1fvATI (gl.VertexStream1fvATI) #undef glVertexStream1iATI #define glVertexStream1iATI (gl.VertexStream1iATI) #undef glVertexStream1ivATI #define glVertexStream1ivATI (gl.VertexStream1ivATI) #undef glVertexStream1sATI #define glVertexStream1sATI (gl.VertexStream1sATI) #undef glVertexStream1svATI #define glVertexStream1svATI (gl.VertexStream1svATI) #undef glVertexStream2dATI #define glVertexStream2dATI (gl.VertexStream2dATI) #undef glVertexStream2dvATI #define glVertexStream2dvATI (gl.VertexStream2dvATI) #undef glVertexStream2fATI #define glVertexStream2fATI (gl.VertexStream2fATI) #undef glVertexStream2fvATI #define glVertexStream2fvATI (gl.VertexStream2fvATI) #undef glVertexStream2iATI #define glVertexStream2iATI (gl.VertexStream2iATI) #undef glVertexStream2ivATI #define glVertexStream2ivATI (gl.VertexStream2ivATI) #undef glVertexStream2sATI #define glVertexStream2sATI (gl.VertexStream2sATI) #undef glVertexStream2svATI #define glVertexStream2svATI (gl.VertexStream2svATI) #undef glVertexStream3dATI #define glVertexStream3dATI (gl.VertexStream3dATI) #undef glVertexStream3dvATI #define glVertexStream3dvATI (gl.VertexStream3dvATI) #undef glVertexStream3fATI #define glVertexStream3fATI (gl.VertexStream3fATI) #undef glVertexStream3fvATI #define glVertexStream3fvATI (gl.VertexStream3fvATI) #undef glVertexStream3iATI #define glVertexStream3iATI (gl.VertexStream3iATI) #undef glVertexStream3ivATI #define glVertexStream3ivATI (gl.VertexStream3ivATI) #undef glVertexStream3sATI #define glVertexStream3sATI (gl.VertexStream3sATI) #undef glVertexStream3svATI #define glVertexStream3svATI (gl.VertexStream3svATI) #undef glVertexStream4dATI #define glVertexStream4dATI (gl.VertexStream4dATI) #undef glVertexStream4dvATI #define glVertexStream4dvATI (gl.VertexStream4dvATI) #undef glVertexStream4fATI #define glVertexStream4fATI (gl.VertexStream4fATI) #undef glVertexStream4fvATI #define glVertexStream4fvATI (gl.VertexStream4fvATI) #undef glVertexStream4iATI #define glVertexStream4iATI (gl.VertexStream4iATI) #undef glVertexStream4ivATI #define glVertexStream4ivATI (gl.VertexStream4ivATI) #undef glVertexStream4sATI #define glVertexStream4sATI (gl.VertexStream4sATI) #undef glVertexStream4svATI #define glVertexStream4svATI (gl.VertexStream4svATI) #undef glVertexWeightPointerEXT #define glVertexWeightPointerEXT (gl.VertexWeightPointerEXT) #undef glVertexWeightfEXT #define glVertexWeightfEXT (gl.VertexWeightfEXT) #undef glVertexWeightfvEXT #define glVertexWeightfvEXT (gl.VertexWeightfvEXT) #undef glVertexWeighthNV #define glVertexWeighthNV (gl.VertexWeighthNV) #undef glVertexWeighthvNV #define glVertexWeighthvNV (gl.VertexWeighthvNV) #undef glVideoCaptureNV #define glVideoCaptureNV (gl.VideoCaptureNV) #undef glVideoCaptureStreamParameterdvNV #define glVideoCaptureStreamParameterdvNV (gl.VideoCaptureStreamParameterdvNV) #undef glVideoCaptureStreamParameterfvNV #define glVideoCaptureStreamParameterfvNV (gl.VideoCaptureStreamParameterfvNV) #undef glVideoCaptureStreamParameterivNV #define glVideoCaptureStreamParameterivNV (gl.VideoCaptureStreamParameterivNV) #undef glViewport #define glViewport (gl.Viewport) #undef glViewportArrayv #define glViewportArrayv (gl.ViewportArrayv) #undef glViewportIndexedf #define glViewportIndexedf (gl.ViewportIndexedf) #undef glViewportIndexedfv #define glViewportIndexedfv (gl.ViewportIndexedfv) #undef glWaitSync #define glWaitSync (gl.WaitSync) #undef glWeightPathsNV #define glWeightPathsNV (gl.WeightPathsNV) #undef glWeightPointerARB #define glWeightPointerARB (gl.WeightPointerARB) #undef glWeightbvARB #define glWeightbvARB (gl.WeightbvARB) #undef glWeightdvARB #define glWeightdvARB (gl.WeightdvARB) #undef glWeightfvARB #define glWeightfvARB (gl.WeightfvARB) #undef glWeightivARB #define glWeightivARB (gl.WeightivARB) #undef glWeightsvARB #define glWeightsvARB (gl.WeightsvARB) #undef glWeightubvARB #define glWeightubvARB (gl.WeightubvARB) #undef glWeightuivARB #define glWeightuivARB (gl.WeightuivARB) #undef glWeightusvARB #define glWeightusvARB (gl.WeightusvARB) #undef glWindowPos2d #define glWindowPos2d (gl.WindowPos2d) #undef glWindowPos2dARB #define glWindowPos2dARB (gl.WindowPos2dARB) #undef glWindowPos2dMESA #define glWindowPos2dMESA (gl.WindowPos2dMESA) #undef glWindowPos2dv #define glWindowPos2dv (gl.WindowPos2dv) #undef glWindowPos2dvARB #define glWindowPos2dvARB (gl.WindowPos2dvARB) #undef glWindowPos2dvMESA #define glWindowPos2dvMESA (gl.WindowPos2dvMESA) #undef glWindowPos2f #define glWindowPos2f (gl.WindowPos2f) #undef glWindowPos2fARB #define glWindowPos2fARB (gl.WindowPos2fARB) #undef glWindowPos2fMESA #define glWindowPos2fMESA (gl.WindowPos2fMESA) #undef glWindowPos2fv #define glWindowPos2fv (gl.WindowPos2fv) #undef glWindowPos2fvARB #define glWindowPos2fvARB (gl.WindowPos2fvARB) #undef glWindowPos2fvMESA #define glWindowPos2fvMESA (gl.WindowPos2fvMESA) #undef glWindowPos2i #define glWindowPos2i (gl.WindowPos2i) #undef glWindowPos2iARB #define glWindowPos2iARB (gl.WindowPos2iARB) #undef glWindowPos2iMESA #define glWindowPos2iMESA (gl.WindowPos2iMESA) #undef glWindowPos2iv #define glWindowPos2iv (gl.WindowPos2iv) #undef glWindowPos2ivARB #define glWindowPos2ivARB (gl.WindowPos2ivARB) #undef glWindowPos2ivMESA #define glWindowPos2ivMESA (gl.WindowPos2ivMESA) #undef glWindowPos2s #define glWindowPos2s (gl.WindowPos2s) #undef glWindowPos2sARB #define glWindowPos2sARB (gl.WindowPos2sARB) #undef glWindowPos2sMESA #define glWindowPos2sMESA (gl.WindowPos2sMESA) #undef glWindowPos2sv #define glWindowPos2sv (gl.WindowPos2sv) #undef glWindowPos2svARB #define glWindowPos2svARB (gl.WindowPos2svARB) #undef glWindowPos2svMESA #define glWindowPos2svMESA (gl.WindowPos2svMESA) #undef glWindowPos3d #define glWindowPos3d (gl.WindowPos3d) #undef glWindowPos3dARB #define glWindowPos3dARB (gl.WindowPos3dARB) #undef glWindowPos3dMESA #define glWindowPos3dMESA (gl.WindowPos3dMESA) #undef glWindowPos3dv #define glWindowPos3dv (gl.WindowPos3dv) #undef glWindowPos3dvARB #define glWindowPos3dvARB (gl.WindowPos3dvARB) #undef glWindowPos3dvMESA #define glWindowPos3dvMESA (gl.WindowPos3dvMESA) #undef glWindowPos3f #define glWindowPos3f (gl.WindowPos3f) #undef glWindowPos3fARB #define glWindowPos3fARB (gl.WindowPos3fARB) #undef glWindowPos3fMESA #define glWindowPos3fMESA (gl.WindowPos3fMESA) #undef glWindowPos3fv #define glWindowPos3fv (gl.WindowPos3fv) #undef glWindowPos3fvARB #define glWindowPos3fvARB (gl.WindowPos3fvARB) #undef glWindowPos3fvMESA #define glWindowPos3fvMESA (gl.WindowPos3fvMESA) #undef glWindowPos3i #define glWindowPos3i (gl.WindowPos3i) #undef glWindowPos3iARB #define glWindowPos3iARB (gl.WindowPos3iARB) #undef glWindowPos3iMESA #define glWindowPos3iMESA (gl.WindowPos3iMESA) #undef glWindowPos3iv #define glWindowPos3iv (gl.WindowPos3iv) #undef glWindowPos3ivARB #define glWindowPos3ivARB (gl.WindowPos3ivARB) #undef glWindowPos3ivMESA #define glWindowPos3ivMESA (gl.WindowPos3ivMESA) #undef glWindowPos3s #define glWindowPos3s (gl.WindowPos3s) #undef glWindowPos3sARB #define glWindowPos3sARB (gl.WindowPos3sARB) #undef glWindowPos3sMESA #define glWindowPos3sMESA (gl.WindowPos3sMESA) #undef glWindowPos3sv #define glWindowPos3sv (gl.WindowPos3sv) #undef glWindowPos3svARB #define glWindowPos3svARB (gl.WindowPos3svARB) #undef glWindowPos3svMESA #define glWindowPos3svMESA (gl.WindowPos3svMESA) #undef glWindowPos4dMESA #define glWindowPos4dMESA (gl.WindowPos4dMESA) #undef glWindowPos4dvMESA #define glWindowPos4dvMESA (gl.WindowPos4dvMESA) #undef glWindowPos4fMESA #define glWindowPos4fMESA (gl.WindowPos4fMESA) #undef glWindowPos4fvMESA #define glWindowPos4fvMESA (gl.WindowPos4fvMESA) #undef glWindowPos4iMESA #define glWindowPos4iMESA (gl.WindowPos4iMESA) #undef glWindowPos4ivMESA #define glWindowPos4ivMESA (gl.WindowPos4ivMESA) #undef glWindowPos4sMESA #define glWindowPos4sMESA (gl.WindowPos4sMESA) #undef glWindowPos4svMESA #define glWindowPos4svMESA (gl.WindowPos4svMESA) #undef glWriteMaskEXT #define glWriteMaskEXT (gl.WriteMaskEXT) #undef gluLookAt #define gluLookAt (gl.gluLookAt) #undef gluLookAtf #define gluLookAtf (gl.gluLookAtf) #undef information #define information (gl.information) #undef max_height #define max_height (gl.max_height) #undef max_width #define max_width (gl.max_width) #undef swapbuffer #define swapbuffer (gl.swapbuffer) #endif /* * Functions exported from TinyGL that take float arguments, * and conflict with OpenGL functions of the same name */ #undef glFrustum #define glFrustum glFrustumf #undef glClearDepth #define glClearDepth glClearDepthf #undef glOrtho #define glOrtho glOrthof #undef gluLookAt #define gluLookAt gluLookAtf /* Functions generated: 12 OSMesa + 2666 GL + 2 GLU */ #endif /* __NFOSMESA_H__ */ aranym-1.0.2/atari/nfosmesa/ldg/tiny_gl.h000066400000000000000000001427101242022243000202740ustar00rootroot00000000000000#ifndef __LDG_TINY_GL_H__ #define __LDG_TINY_GL_H__ #ifndef __TINY_GL_H__ # define __TINY_GL_H__ 1 #endif #include #include #include #if !defined(__MSHORT__) && (defined(__PUREC__) && __PUREC__ < 0x400) # define __MSHORT__ 1 #endif #if (!defined(__PUREC__) || !defined(__MSHORT__) || defined(__GEMLIB__)) && !defined(__USE_GEMLIB) #define __USE_GEMLIB 1 #endif #ifndef _WORD # if defined(__GEMLIB__) || defined(__USE_GEMLIB) # define _WORD short # else # define _WORD int # endif #endif /* * load & initialize TinyGL */ LDG *ldg_load_tiny_gl(const char *libname, _WORD *gl); /* * init TinyGL from already loaded lib */ int ldg_init_tiny_gl(LDG *lib); /* * unload TinyGL */ void ldg_unload_tiny_gl(LDG *lib, _WORD *gl); #if !defined(__MSHORT__) && (defined(__PUREC__) && __PUREC__ < 0x400) # define __MSHORT__ 1 #endif #ifdef __cplusplus extern "C" { #endif #ifndef APIENTRY #if defined(_WIN32) || defined(__CYGWIN__) #define APIENTRY __stdcall #elif defined(__PUREC__) #define APIENTRY __CDECL #else #define APIENTRY #endif #endif #ifndef CALLBACK #define CALLBACK APIENTRY #endif #ifndef GLAPIENTRY #define GLAPIENTRY APIENTRY #endif #ifndef GLAPI #define GLAPI extern #endif #if !defined(__CDECL) #if defined(__PUREC__) #define __CDECL cdecl #else #define __CDECL #endif #endif #ifndef GL_VERSION_1_1 #define GL_VERSION_1_1 1 #ifdef __MSHORT__ typedef long GLint; /* 4-byte signed */ typedef unsigned long GLuint; /* 4-byte unsigned */ typedef unsigned long GLenum; /* 4-byte unsigned */ typedef unsigned long GLbitfield; /* 4-byte unsigned */ typedef long GLsizei; #else typedef int GLint; /* 4-byte signed */ typedef unsigned int GLuint; /* 4-byte unsigned */ typedef unsigned int GLenum; /* 4-byte unsigned */ typedef unsigned int GLbitfield; /* 4-byte unsigned */ typedef int GLsizei; #endif typedef unsigned char GLboolean; typedef signed char GLbyte; /* 1-byte signed */ typedef unsigned char GLubyte; /* 1-byte unsigned */ typedef short GLshort; /* 2-byte signed */ typedef unsigned short GLushort; /* 2-byte unsigned */ typedef float GLfloat; /* single precision float */ typedef float GLclampf; /* single precision float in [0, 1] */ typedef double GLdouble; /* double precision float */ typedef double GLclampd; /* double precision float in [0, 1] */ typedef void GLvoid; /* Boolean values */ #define GL_FALSE 0 #define GL_TRUE 1 /* Data types */ #define GL_BYTE 0x1400 #define GL_UNSIGNED_BYTE 0x1401 #define GL_SHORT 0x1402 #define GL_UNSIGNED_SHORT 0x1403 #define GL_INT 0x1404 #define GL_UNSIGNED_INT 0x1405 #define GL_FLOAT 0x1406 #define GL_DOUBLE 0x140A #define GL_2_BYTES 0x1407 #define GL_3_BYTES 0x1408 #define GL_4_BYTES 0x1409 /* Primitives */ #define GL_LINES 0x0001 #define GL_POINTS 0x0000 #define GL_LINE_STRIP 0x0003 #define GL_LINE_LOOP 0x0002 #define GL_TRIANGLES 0x0004 #define GL_TRIANGLE_STRIP 0x0005 #define GL_TRIANGLE_FAN 0x0006 #define GL_QUADS 0x0007 #define GL_QUAD_STRIP 0x0008 #define GL_POLYGON 0x0009 #define GL_EDGE_FLAG 0x0B43 /* Vertex Arrays */ #define GL_VERTEX_ARRAY 0x8074 #define GL_NORMAL_ARRAY 0x8075 #define GL_COLOR_ARRAY 0x8076 #define GL_INDEX_ARRAY 0x8077 #define GL_TEXTURE_COORD_ARRAY 0x8078 #define GL_EDGE_FLAG_ARRAY 0x8079 #define GL_VERTEX_ARRAY_SIZE 0x807A #define GL_VERTEX_ARRAY_TYPE 0x807B #define GL_VERTEX_ARRAY_STRIDE 0x807C #define GL_VERTEX_ARRAY_COUNT 0x807D #define GL_NORMAL_ARRAY_TYPE 0x807E #define GL_NORMAL_ARRAY_STRIDE 0x807F #define GL_NORMAL_ARRAY_COUNT 0x8080 #define GL_COLOR_ARRAY_SIZE 0x8081 #define GL_COLOR_ARRAY_TYPE 0x8082 #define GL_COLOR_ARRAY_STRIDE 0x8083 #define GL_COLOR_ARRAY_COUNT 0x8084 #define GL_INDEX_ARRAY_TYPE 0x8085 #define GL_INDEX_ARRAY_STRIDE 0x8086 #define GL_INDEX_ARRAY_COUNT 0x8087 #define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088 #define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089 #define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A #define GL_TEXTURE_COORD_ARRAY_COUNT 0x808B #define GL_EDGE_FLAG_ARRAY_STRIDE 0x808C #define GL_EDGE_FLAG_ARRAY_COUNT 0x808D #define GL_VERTEX_ARRAY_POINTER 0x808E #define GL_NORMAL_ARRAY_POINTER 0x808F #define GL_COLOR_ARRAY_POINTER 0x8090 #define GL_INDEX_ARRAY_POINTER 0x8091 #define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092 #define GL_EDGE_FLAG_ARRAY_POINTER 0x8093 #define GL_V2F 0x2A20 #define GL_V3F 0x2A21 #define GL_C4UB_V2F 0x2A22 #define GL_C4UB_V3F 0x2A23 #define GL_C3F_V3F 0x2A24 #define GL_N3F_V3F 0x2A25 #define GL_C4F_N3F_V3F 0x2A26 #define GL_T2F_V3F 0x2A27 #define GL_T4F_V4F 0x2A28 #define GL_T2F_C4UB_V3F 0x2A29 #define GL_T2F_C3F_V3F 0x2A2A #define GL_T2F_N3F_V3F 0x2A2B #define GL_T2F_C4F_N3F_V3F 0x2A2C #define GL_T4F_C4F_N3F_V4F 0x2A2D /* Matrix Mode */ #define GL_MATRIX_MODE 0x0BA0 #define GL_MODELVIEW 0x1700 #define GL_PROJECTION 0x1701 #define GL_TEXTURE 0x1702 /* Points */ #define GL_POINT_SMOOTH 0x0B10 #define GL_POINT_SIZE 0x0B11 #define GL_POINT_SIZE_GRANULARITY 0x0B13 #define GL_POINT_SIZE_RANGE 0x0B12 /* Lines */ #define GL_LINE_SMOOTH 0x0B20 #define GL_LINE_STIPPLE 0x0B24 #define GL_LINE_STIPPLE_PATTERN 0x0B25 #define GL_LINE_STIPPLE_REPEAT 0x0B26 #define GL_LINE_WIDTH 0x0B21 #define GL_LINE_WIDTH_GRANULARITY 0x0B23 #define GL_LINE_WIDTH_RANGE 0x0B22 /* Polygons */ #define GL_POINT 0x1B00 #define GL_LINE 0x1B01 #define GL_FILL 0x1B02 #define GL_CCW 0x0901 #define GL_CW 0x0900 #define GL_FRONT 0x0404 #define GL_BACK 0x0405 #define GL_CULL_FACE 0x0B44 #define GL_CULL_FACE_MODE 0x0B45 #define GL_POLYGON_SMOOTH 0x0B41 #define GL_POLYGON_STIPPLE 0x0B42 #define GL_FRONT_FACE 0x0B46 #define GL_POLYGON_MODE 0x0B40 #define GL_POLYGON_OFFSET_FACTOR 0x8038 #define GL_POLYGON_OFFSET_UNITS 0x2A00 #define GL_POLYGON_OFFSET_POINT 0x2A01 #define GL_POLYGON_OFFSET_LINE 0x2A02 #define GL_POLYGON_OFFSET_FILL 0x8037 /* Display Lists */ #define GL_COMPILE 0x1300 #define GL_COMPILE_AND_EXECUTE 0x1301 #define GL_LIST_BASE 0x0B32 #define GL_LIST_INDEX 0x0B33 #define GL_LIST_MODE 0x0B30 /* Depth buffer */ #define GL_NEVER 0x0200 #define GL_LESS 0x0201 #define GL_GEQUAL 0x0206 #define GL_LEQUAL 0x0203 #define GL_GREATER 0x0204 #define GL_NOTEQUAL 0x0205 #define GL_EQUAL 0x0202 #define GL_ALWAYS 0x0207 #define GL_DEPTH_TEST 0x0B71 #define GL_DEPTH_BITS 0x0D56 #define GL_DEPTH_CLEAR_VALUE 0x0B73 #define GL_DEPTH_FUNC 0x0B74 #define GL_DEPTH_RANGE 0x0B70 #define GL_DEPTH_WRITEMASK 0x0B72 #define GL_DEPTH_COMPONENT 0x1902 /* Lighting */ #define GL_LIGHTING 0x0B50 #define GL_LIGHT0 0x4000 #define GL_LIGHT1 0x4001 #define GL_LIGHT2 0x4002 #define GL_LIGHT3 0x4003 #define GL_LIGHT4 0x4004 #define GL_LIGHT5 0x4005 #define GL_LIGHT6 0x4006 #define GL_LIGHT7 0x4007 #define GL_SPOT_EXPONENT 0x1205 #define GL_SPOT_CUTOFF 0x1206 #define GL_CONSTANT_ATTENUATION 0x1207 #define GL_LINEAR_ATTENUATION 0x1208 #define GL_QUADRATIC_ATTENUATION 0x1209 #define GL_AMBIENT 0x1200 #define GL_DIFFUSE 0x1201 #define GL_SPECULAR 0x1202 #define GL_SHININESS 0x1601 #define GL_EMISSION 0x1600 #define GL_POSITION 0x1203 #define GL_SPOT_DIRECTION 0x1204 #define GL_AMBIENT_AND_DIFFUSE 0x1602 #define GL_COLOR_INDEXES 0x1603 #define GL_LIGHT_MODEL_TWO_SIDE 0x0B52 #define GL_LIGHT_MODEL_LOCAL_VIEWER 0x0B51 #define GL_LIGHT_MODEL_AMBIENT 0x0B53 #define GL_FRONT_AND_BACK 0x0408 #define GL_SHADE_MODEL 0x0B54 #define GL_FLAT 0x1D00 #define GL_SMOOTH 0x1D01 #define GL_COLOR_MATERIAL 0x0B57 #define GL_COLOR_MATERIAL_FACE 0x0B55 #define GL_COLOR_MATERIAL_PARAMETER 0x0B56 #define GL_NORMALIZE 0x0BA1 /* User clipping planes */ #define GL_CLIP_PLANE0 0x3000 #define GL_CLIP_PLANE1 0x3001 #define GL_CLIP_PLANE2 0x3002 #define GL_CLIP_PLANE3 0x3003 #define GL_CLIP_PLANE4 0x3004 #define GL_CLIP_PLANE5 0x3005 /* Accumulation buffer */ #define GL_ACCUM_RED_BITS 0x0D58 #define GL_ACCUM_GREEN_BITS 0x0D59 #define GL_ACCUM_BLUE_BITS 0x0D5A #define GL_ACCUM_ALPHA_BITS 0x0D5B #define GL_ACCUM_CLEAR_VALUE 0x0B80 #define GL_ACCUM 0x0100 #define GL_ADD 0x0104 #define GL_LOAD 0x0101 #define GL_MULT 0x0103 #define GL_RETURN 0x0102 /* Alpha testing */ #define GL_ALPHA_TEST 0x0BC0 #define GL_ALPHA_TEST_REF 0x0BC2 #define GL_ALPHA_TEST_FUNC 0x0BC1 /* Blending */ #define GL_BLEND 0x0BE2 #define GL_BLEND_SRC 0x0BE1 #define GL_BLEND_DST 0x0BE0 #define GL_ZERO 0 #define GL_ONE 1 #define GL_SRC_COLOR 0x0300 #define GL_ONE_MINUS_SRC_COLOR 0x0301 #define GL_DST_COLOR 0x0306 #define GL_ONE_MINUS_DST_COLOR 0x0307 #define GL_SRC_ALPHA 0x0302 #define GL_ONE_MINUS_SRC_ALPHA 0x0303 #define GL_DST_ALPHA 0x0304 #define GL_ONE_MINUS_DST_ALPHA 0x0305 #define GL_SRC_ALPHA_SATURATE 0x0308 #define GL_CONSTANT_COLOR 0x8001 #define GL_ONE_MINUS_CONSTANT_COLOR 0x8002 #define GL_CONSTANT_ALPHA 0x8003 #define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004 /* Render Mode */ #define GL_FEEDBACK 0x1C01 #define GL_RENDER 0x1C00 #define GL_SELECT 0x1C02 /* Feedback */ #define GL_2D 0x0600 #define GL_3D 0x0601 #define GL_3D_COLOR 0x0602 #define GL_3D_COLOR_TEXTURE 0x0603 #define GL_4D_COLOR_TEXTURE 0x0604 #define GL_POINT_TOKEN 0x0701 #define GL_LINE_TOKEN 0x0702 #define GL_LINE_RESET_TOKEN 0x0707 #define GL_POLYGON_TOKEN 0x0703 #define GL_BITMAP_TOKEN 0x0704 #define GL_DRAW_PIXEL_TOKEN 0x0705 #define GL_COPY_PIXEL_TOKEN 0x0706 #define GL_PASS_THROUGH_TOKEN 0x0700 #define GL_FEEDBACK_BUFFER_POINTER 0x0DF0 #define GL_FEEDBACK_BUFFER_SIZE 0x0DF1 #define GL_FEEDBACK_BUFFER_TYPE 0x0DF2 /* Fog */ #define GL_FOG 0x0B60 #define GL_FOG_MODE 0x0B65 #define GL_FOG_DENSITY 0x0B62 #define GL_FOG_COLOR 0x0B66 #define GL_FOG_INDEX 0x0B61 #define GL_FOG_START 0x0B63 #define GL_FOG_END 0x0B64 #define GL_LINEAR 0x2601 #define GL_EXP 0x0800 #define GL_EXP2 0x0801 /* Logic Ops */ #define GL_LOGIC_OP 0x0BF1 #define GL_INDEX_LOGIC_OP 0x0BF1 #define GL_COLOR_LOGIC_OP 0x0BF2 #define GL_LOGIC_OP_MODE 0x0BF0 #define GL_CLEAR 0x1500 #define GL_SET 0x150F #define GL_COPY 0x1503 #define GL_COPY_INVERTED 0x150C #define GL_NOOP 0x1505 #define GL_INVERT 0x150A #define GL_AND 0x1501 #define GL_NAND 0x150E #define GL_OR 0x1507 #define GL_NOR 0x1508 #define GL_XOR 0x1506 #define GL_EQUIV 0x1509 #define GL_AND_REVERSE 0x1502 #define GL_AND_INVERTED 0x1504 #define GL_OR_REVERSE 0x150B #define GL_OR_INVERTED 0x150D /* Stencil */ #define GL_STENCIL_TEST 0x0B90 #define GL_STENCIL_WRITEMASK 0x0B98 #define GL_STENCIL_BITS 0x0D57 #define GL_STENCIL_FUNC 0x0B92 #define GL_STENCIL_VALUE_MASK 0x0B93 #define GL_STENCIL_REF 0x0B97 #define GL_STENCIL_FAIL 0x0B94 #define GL_STENCIL_PASS_DEPTH_PASS 0x0B96 #define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95 #define GL_STENCIL_CLEAR_VALUE 0x0B91 #define GL_STENCIL_INDEX 0x1901 #define GL_KEEP 0x1E00 #define GL_REPLACE 0x1E01 #define GL_INCR 0x1E02 #define GL_DECR 0x1E03 /* Buffers, Pixel Drawing/Reading */ #define GL_NONE 0 #define GL_LEFT 0x0406 #define GL_RIGHT 0x0407 #define GL_FRONT_LEFT 0x0400 #define GL_FRONT_RIGHT 0x0401 #define GL_BACK_LEFT 0x0402 #define GL_BACK_RIGHT 0x0403 #define GL_AUX0 0x0409 #define GL_AUX1 0x040A #define GL_AUX2 0x040B #define GL_AUX3 0x040C #define GL_COLOR_INDEX 0x1900 #define GL_RED 0x1903 #define GL_GREEN 0x1904 #define GL_BLUE 0x1905 #define GL_ALPHA 0x1906 #define GL_LUMINANCE 0x1909 #define GL_LUMINANCE_ALPHA 0x190A #define GL_ALPHA_BITS 0x0D55 #define GL_RED_BITS 0x0D52 #define GL_GREEN_BITS 0x0D53 #define GL_BLUE_BITS 0x0D54 #define GL_INDEX_BITS 0x0D51 #define GL_SUBPIXEL_BITS 0x0D50 #define GL_AUX_BUFFERS 0x0C00 #define GL_READ_BUFFER 0x0C02 #define GL_DRAW_BUFFER 0x0C01 #define GL_DOUBLEBUFFER 0x0C32 #define GL_STEREO 0x0C33 #define GL_BITMAP 0x1A00 #define GL_COLOR 0x1800 #define GL_DEPTH 0x1801 #define GL_STENCIL 0x1802 #define GL_DITHER 0x0BD0 #define GL_RGB 0x1907 #define GL_RGBA 0x1908 /* Implementation limits */ #define GL_MAX_LIST_NESTING 0x0B31 #define GL_MAX_ATTRIB_STACK_DEPTH 0x0D35 #define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36 #define GL_MAX_NAME_STACK_DEPTH 0x0D37 #define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38 #define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39 #define GL_MAX_EVAL_ORDER 0x0D30 #define GL_MAX_LIGHTS 0x0D31 #define GL_MAX_CLIP_PLANES 0x0D32 #define GL_MAX_TEXTURE_SIZE 0x0D33 #define GL_MAX_PIXEL_MAP_TABLE 0x0D34 #define GL_MAX_VIEWPORT_DIMS 0x0D3A #define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH 0x0D3B #define GL_MAX_COLOR_MATRIX_STACK_DEPTH 0x80B3 /* Gets */ #define GL_ATTRIB_STACK_DEPTH 0x0BB0 #define GL_CLIENT_ATTRIB_STACK_DEPTH 0x0BB1 #define GL_COLOR_CLEAR_VALUE 0x0C22 #define GL_COLOR_WRITEMASK 0x0C23 #define GL_CURRENT_INDEX 0x0B01 #define GL_CURRENT_COLOR 0x0B00 #define GL_CURRENT_NORMAL 0x0B02 #define GL_CURRENT_RASTER_COLOR 0x0B04 #define GL_CURRENT_RASTER_DISTANCE 0x0B09 #define GL_CURRENT_RASTER_INDEX 0x0B05 #define GL_CURRENT_RASTER_POSITION 0x0B07 #define GL_CURRENT_RASTER_TEXTURE_COORDS 0x0B06 #define GL_CURRENT_RASTER_POSITION_VALID 0x0B08 #define GL_CURRENT_TEXTURE_COORDS 0x0B03 #define GL_INDEX_CLEAR_VALUE 0x0C20 #define GL_INDEX_MODE 0x0C30 #define GL_INDEX_WRITEMASK 0x0C21 #define GL_MODELVIEW_MATRIX 0x0BA6 #define GL_MODELVIEW_STACK_DEPTH 0x0BA3 #define GL_NAME_STACK_DEPTH 0x0D70 #define GL_PROJECTION_MATRIX 0x0BA7 #define GL_PROJECTION_STACK_DEPTH 0x0BA4 #define GL_RENDER_MODE 0x0C40 #define GL_RGBA_MODE 0x0C31 #define GL_TEXTURE_MATRIX 0x0BA8 #define GL_TEXTURE_STACK_DEPTH 0x0BA5 #define GL_VIEWPORT 0x0BA2 #define GL_COLOR_MATRIX 0x80B1 #define GL_COLOR_MATRIX_STACK_DEPTH 0x80B2 /* Evaluators */ #define GL_AUTO_NORMAL 0x0D80 #define GL_MAP1_COLOR_4 0x0D90 #define GL_MAP1_GRID_DOMAIN 0x0DD0 #define GL_MAP1_GRID_SEGMENTS 0x0DD1 #define GL_MAP1_INDEX 0x0D91 #define GL_MAP1_NORMAL 0x0D92 #define GL_MAP1_TEXTURE_COORD_1 0x0D93 #define GL_MAP1_TEXTURE_COORD_2 0x0D94 #define GL_MAP1_TEXTURE_COORD_3 0x0D95 #define GL_MAP1_TEXTURE_COORD_4 0x0D96 #define GL_MAP1_VERTEX_3 0x0D97 #define GL_MAP1_VERTEX_4 0x0D98 #define GL_MAP2_COLOR_4 0x0DB0 #define GL_MAP2_GRID_DOMAIN 0x0DD2 #define GL_MAP2_GRID_SEGMENTS 0x0DD3 #define GL_MAP2_INDEX 0x0DB1 #define GL_MAP2_NORMAL 0x0DB2 #define GL_MAP2_TEXTURE_COORD_1 0x0DB3 #define GL_MAP2_TEXTURE_COORD_2 0x0DB4 #define GL_MAP2_TEXTURE_COORD_3 0x0DB5 #define GL_MAP2_TEXTURE_COORD_4 0x0DB6 #define GL_MAP2_VERTEX_3 0x0DB7 #define GL_MAP2_VERTEX_4 0x0DB8 #define GL_COEFF 0x0A00 #define GL_DOMAIN 0x0A02 #define GL_ORDER 0x0A01 /* Hints */ #define GL_FOG_HINT 0x0C54 #define GL_LINE_SMOOTH_HINT 0x0C52 #define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50 #define GL_POINT_SMOOTH_HINT 0x0C51 #define GL_POLYGON_SMOOTH_HINT 0x0C53 #define GL_DONT_CARE 0x1100 #define GL_FASTEST 0x1101 #define GL_NICEST 0x1102 /* Scissor box */ #define GL_SCISSOR_TEST 0x0C11 #define GL_SCISSOR_BOX 0x0C10 /* Pixel Mode / Transfer */ #define GL_MAP_COLOR 0x0D10 #define GL_MAP_STENCIL 0x0D11 #define GL_INDEX_SHIFT 0x0D12 #define GL_INDEX_OFFSET 0x0D13 #define GL_RED_SCALE 0x0D14 #define GL_RED_BIAS 0x0D15 #define GL_GREEN_SCALE 0x0D18 #define GL_GREEN_BIAS 0x0D19 #define GL_BLUE_SCALE 0x0D1A #define GL_BLUE_BIAS 0x0D1B #define GL_ALPHA_SCALE 0x0D1C #define GL_ALPHA_BIAS 0x0D1D #define GL_DEPTH_SCALE 0x0D1E #define GL_DEPTH_BIAS 0x0D1F #define GL_PIXEL_MAP_S_TO_S_SIZE 0x0CB1 #define GL_PIXEL_MAP_I_TO_I_SIZE 0x0CB0 #define GL_PIXEL_MAP_I_TO_R_SIZE 0x0CB2 #define GL_PIXEL_MAP_I_TO_G_SIZE 0x0CB3 #define GL_PIXEL_MAP_I_TO_B_SIZE 0x0CB4 #define GL_PIXEL_MAP_I_TO_A_SIZE 0x0CB5 #define GL_PIXEL_MAP_R_TO_R_SIZE 0x0CB6 #define GL_PIXEL_MAP_G_TO_G_SIZE 0x0CB7 #define GL_PIXEL_MAP_B_TO_B_SIZE 0x0CB8 #define GL_PIXEL_MAP_A_TO_A_SIZE 0x0CB9 #define GL_PIXEL_MAP_S_TO_S 0x0C71 #define GL_PIXEL_MAP_I_TO_I 0x0C70 #define GL_PIXEL_MAP_I_TO_R 0x0C72 #define GL_PIXEL_MAP_I_TO_G 0x0C73 #define GL_PIXEL_MAP_I_TO_B 0x0C74 #define GL_PIXEL_MAP_I_TO_A 0x0C75 #define GL_PIXEL_MAP_R_TO_R 0x0C76 #define GL_PIXEL_MAP_G_TO_G 0x0C77 #define GL_PIXEL_MAP_B_TO_B 0x0C78 #define GL_PIXEL_MAP_A_TO_A 0x0C79 #define GL_PACK_ALIGNMENT 0x0D05 #define GL_PACK_LSB_FIRST 0x0D01 #define GL_PACK_ROW_LENGTH 0x0D02 #define GL_PACK_SKIP_PIXELS 0x0D04 #define GL_PACK_SKIP_ROWS 0x0D03 #define GL_PACK_SWAP_BYTES 0x0D00 #define GL_UNPACK_ALIGNMENT 0x0CF5 #define GL_UNPACK_LSB_FIRST 0x0CF1 #define GL_UNPACK_ROW_LENGTH 0x0CF2 #define GL_UNPACK_SKIP_PIXELS 0x0CF4 #define GL_UNPACK_SKIP_ROWS 0x0CF3 #define GL_UNPACK_SWAP_BYTES 0x0CF0 #define GL_ZOOM_X 0x0D16 #define GL_ZOOM_Y 0x0D17 /* Texture mapping */ #define GL_TEXTURE_ENV 0x2300 #define GL_TEXTURE_ENV_MODE 0x2200 #define GL_TEXTURE_1D 0x0DE0 #define GL_TEXTURE_2D 0x0DE1 #define GL_TEXTURE_WRAP_S 0x2802 #define GL_TEXTURE_WRAP_T 0x2803 #define GL_TEXTURE_MAG_FILTER 0x2800 #define GL_TEXTURE_MIN_FILTER 0x2801 #define GL_TEXTURE_ENV_COLOR 0x2201 #define GL_TEXTURE_GEN_S 0x0C60 #define GL_TEXTURE_GEN_T 0x0C61 #define GL_TEXTURE_GEN_MODE 0x2500 #define GL_TEXTURE_BORDER_COLOR 0x1004 #define GL_TEXTURE_WIDTH 0x1000 #define GL_TEXTURE_HEIGHT 0x1001 #define GL_TEXTURE_BORDER 0x1005 #define GL_TEXTURE_COMPONENTS 0x1003 #define GL_TEXTURE_RED_SIZE 0x805C #define GL_TEXTURE_GREEN_SIZE 0x805D #define GL_TEXTURE_BLUE_SIZE 0x805E #define GL_TEXTURE_ALPHA_SIZE 0x805F #define GL_TEXTURE_LUMINANCE_SIZE 0x8060 #define GL_TEXTURE_INTENSITY_SIZE 0x8061 #define GL_NEAREST_MIPMAP_NEAREST 0x2700 #define GL_NEAREST_MIPMAP_LINEAR 0x2702 #define GL_LINEAR_MIPMAP_NEAREST 0x2701 #define GL_LINEAR_MIPMAP_LINEAR 0x2703 #define GL_OBJECT_LINEAR 0x2401 #define GL_OBJECT_PLANE 0x2501 #define GL_EYE_LINEAR 0x2400 #define GL_EYE_PLANE 0x2502 #define GL_SPHERE_MAP 0x2402 #define GL_DECAL 0x2101 #define GL_MODULATE 0x2100 #define GL_NEAREST 0x2600 #define GL_REPEAT 0x2901 #define GL_CLAMP 0x2900 #define GL_S 0x2000 #define GL_T 0x2001 #define GL_R 0x2002 #define GL_Q 0x2003 #define GL_TEXTURE_GEN_R 0x0C62 #define GL_TEXTURE_GEN_Q 0x0C63 #define GL_PROXY_TEXTURE_1D 0x8063 #define GL_PROXY_TEXTURE_2D 0x8064 #define GL_TEXTURE_PRIORITY 0x8066 #define GL_TEXTURE_RESIDENT 0x8067 #define GL_TEXTURE_BINDING_1D 0x8068 #define GL_TEXTURE_BINDING_2D 0x8069 /* Internal texture formats */ #define GL_ALPHA4 0x803B #define GL_ALPHA8 0x803C #define GL_ALPHA12 0x803D #define GL_ALPHA16 0x803E #define GL_LUMINANCE4 0x803F #define GL_LUMINANCE8 0x8040 #define GL_LUMINANCE12 0x8041 #define GL_LUMINANCE16 0x8042 #define GL_LUMINANCE4_ALPHA4 0x8043 #define GL_LUMINANCE6_ALPHA2 0x8044 #define GL_LUMINANCE8_ALPHA8 0x8045 #define GL_LUMINANCE12_ALPHA4 0x8046 #define GL_LUMINANCE12_ALPHA12 0x8047 #define GL_LUMINANCE16_ALPHA16 0x8048 #define GL_INTENSITY 0x8049 #define GL_INTENSITY4 0x804A #define GL_INTENSITY8 0x804B #define GL_INTENSITY12 0x804C #define GL_INTENSITY16 0x804D #define GL_R3_G3_B2 0x2A10 #define GL_RGB4 0x804F #define GL_RGB5 0x8050 #define GL_RGB8 0x8051 #define GL_RGB10 0x8052 #define GL_RGB12 0x8053 #define GL_RGB16 0x8054 #define GL_RGBA2 0x8055 #define GL_RGBA4 0x8056 #define GL_RGB5_A1 0x8057 #define GL_RGBA8 0x8058 #define GL_RGB10_A2 0x8059 #define GL_RGBA12 0x805A #define GL_RGBA16 0x805B /* Utility */ #define GL_VENDOR 0x1F00 #define GL_RENDERER 0x1F01 #define GL_VERSION 0x1F02 #define GL_EXTENSIONS 0x1F03 /* Errors */ #define GL_INVALID_VALUE 0x0501 #define GL_INVALID_ENUM 0x0500 #define GL_INVALID_OPERATION 0x0502 #define GL_STACK_OVERFLOW 0x0503 #define GL_STACK_UNDERFLOW 0x0504 #define GL_OUT_OF_MEMORY 0x0505 /* * 1.0 Extensions */ /* GL_EXT_blend_minmax and GL_EXT_blend_color */ #define GL_CONSTANT_COLOR_EXT 0x8001 #define GL_ONE_MINUS_CONSTANT_COLOR_EXT 0x8002 #define GL_CONSTANT_ALPHA_EXT 0x8003 #define GL_ONE_MINUS_CONSTANT_ALPHA_EXT 0x8004 #define GL_BLEND_EQUATION_EXT 0x8009 #define GL_MIN_EXT 0x8007 #define GL_MAX_EXT 0x8008 #define GL_FUNC_ADD_EXT 0x8006 #define GL_FUNC_SUBTRACT_EXT 0x800A #define GL_FUNC_REVERSE_SUBTRACT_EXT 0x800B #define GL_BLEND_COLOR_EXT 0x8005 /* GL_EXT_polygon_offset */ #define GL_POLYGON_OFFSET_EXT 0x8037 #define GL_POLYGON_OFFSET_FACTOR_EXT 0x8038 #define GL_POLYGON_OFFSET_BIAS_EXT 0x8039 /* GL_EXT_vertex_array */ #define GL_VERTEX_ARRAY_EXT 0x8074 #define GL_NORMAL_ARRAY_EXT 0x8075 #define GL_COLOR_ARRAY_EXT 0x8076 #define GL_INDEX_ARRAY_EXT 0x8077 #define GL_TEXTURE_COORD_ARRAY_EXT 0x8078 #define GL_EDGE_FLAG_ARRAY_EXT 0x8079 #define GL_VERTEX_ARRAY_SIZE_EXT 0x807A #define GL_VERTEX_ARRAY_TYPE_EXT 0x807B #define GL_VERTEX_ARRAY_STRIDE_EXT 0x807C #define GL_VERTEX_ARRAY_COUNT_EXT 0x807D #define GL_NORMAL_ARRAY_TYPE_EXT 0x807E #define GL_NORMAL_ARRAY_STRIDE_EXT 0x807F #define GL_NORMAL_ARRAY_COUNT_EXT 0x8080 #define GL_COLOR_ARRAY_SIZE_EXT 0x8081 #define GL_COLOR_ARRAY_TYPE_EXT 0x8082 #define GL_COLOR_ARRAY_STRIDE_EXT 0x8083 #define GL_COLOR_ARRAY_COUNT_EXT 0x8084 #define GL_INDEX_ARRAY_TYPE_EXT 0x8085 #define GL_INDEX_ARRAY_STRIDE_EXT 0x8086 #define GL_INDEX_ARRAY_COUNT_EXT 0x8087 #define GL_TEXTURE_COORD_ARRAY_SIZE_EXT 0x8088 #define GL_TEXTURE_COORD_ARRAY_TYPE_EXT 0x8089 #define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT 0x808A #define GL_TEXTURE_COORD_ARRAY_COUNT_EXT 0x808B #define GL_EDGE_FLAG_ARRAY_STRIDE_EXT 0x808C #define GL_EDGE_FLAG_ARRAY_COUNT_EXT 0x808D #define GL_VERTEX_ARRAY_POINTER_EXT 0x808E #define GL_NORMAL_ARRAY_POINTER_EXT 0x808F #define GL_COLOR_ARRAY_POINTER_EXT 0x8090 #define GL_INDEX_ARRAY_POINTER_EXT 0x8091 #define GL_TEXTURE_COORD_ARRAY_POINTER_EXT 0x8092 #define GL_EDGE_FLAG_ARRAY_POINTER_EXT 0x8093 /* GL_EXT_texture_object */ #define GL_TEXTURE_PRIORITY_EXT 0x8066 #define GL_TEXTURE_RESIDENT_EXT 0x8067 #define GL_TEXTURE_1D_BINDING_EXT 0x8068 #define GL_TEXTURE_2D_BINDING_EXT 0x8069 /* GL_EXT_texture3D */ #define GL_PACK_SKIP_IMAGES_EXT 0x806B #define GL_PACK_IMAGE_HEIGHT_EXT 0x806C #define GL_UNPACK_SKIP_IMAGES_EXT 0x806D #define GL_UNPACK_IMAGE_HEIGHT_EXT 0x806E #define GL_TEXTURE_3D_EXT 0x806F #define GL_PROXY_TEXTURE_3D_EXT 0x8070 #define GL_TEXTURE_DEPTH_EXT 0x8071 #define GL_TEXTURE_WRAP_R_EXT 0x8072 #define GL_MAX_3D_TEXTURE_SIZE_EXT 0x8073 #define GL_TEXTURE_3D_BINDING_EXT 0x806A /* GL_EXT_paletted_texture */ #define GL_TABLE_TOO_LARGE_EXT 0x8031 #define GL_COLOR_TABLE_FORMAT_EXT 0x80D8 #define GL_COLOR_TABLE_WIDTH_EXT 0x80D9 #define GL_COLOR_TABLE_RED_SIZE_EXT 0x80DA #define GL_COLOR_TABLE_GREEN_SIZE_EXT 0x80DB #define GL_COLOR_TABLE_BLUE_SIZE_EXT 0x80DC #define GL_COLOR_TABLE_ALPHA_SIZE_EXT 0x80DD #define GL_COLOR_TABLE_LUMINANCE_SIZE_EXT 0x80DE #define GL_COLOR_TABLE_INTENSITY_SIZE_EXT 0x80DF #define GL_TEXTURE_INDEX_SIZE_EXT 0x80ED #define GL_COLOR_INDEX1_EXT 0x80E2 #define GL_COLOR_INDEX2_EXT 0x80E3 #define GL_COLOR_INDEX4_EXT 0x80E4 #define GL_COLOR_INDEX8_EXT 0x80E5 #define GL_COLOR_INDEX12_EXT 0x80E6 #define GL_COLOR_INDEX16_EXT 0x80E7 /* GL_EXT_shared_texture_palette */ #define GL_SHARED_TEXTURE_PALETTE_EXT 0x81FB #if 0 /* GL_SGIS_texture_lod */ #define GL_TEXTURE_MIN_LOD_SGIS 0x813A #define GL_TEXTURE_MAX_LOD_SGIS 0x813B #define GL_TEXTURE_BASE_LEVEL_SGIS 0x813C #define GL_TEXTURE_MAX_LEVEL_SGIS 0x813D #endif /* GL_EXT_point_parameters */ #define GL_POINT_SIZE_MIN_EXT 0x8126 #define GL_POINT_SIZE_MAX_EXT 0x8127 #define GL_POINT_FADE_THRESHOLD_SIZE_EXT 0x8128 #define GL_DISTANCE_ATTENUATION_EXT 0x8129 #define GL_CURRENT_BIT 0x00000001L #define GL_POINT_BIT 0x00000002L #define GL_LINE_BIT 0x00000004L #define GL_POLYGON_BIT 0x00000008L #define GL_POLYGON_STIPPLE_BIT 0x00000010L #define GL_PIXEL_MODE_BIT 0x00000020L #define GL_LIGHTING_BIT 0x00000040L #define GL_FOG_BIT 0x00000080L #define GL_DEPTH_BUFFER_BIT 0x00000100L #define GL_ACCUM_BUFFER_BIT 0x00000200L #define GL_STENCIL_BUFFER_BIT 0x00000400L #define GL_VIEWPORT_BIT 0x00000800L #define GL_TRANSFORM_BIT 0x00001000L #define GL_ENABLE_BIT 0x00002000L #define GL_COLOR_BUFFER_BIT 0x00004000L #define GL_HINT_BIT 0x00008000L #define GL_EVAL_BIT 0x00010000L #define GL_LIST_BIT 0x00020000L #define GL_TEXTURE_BIT 0x00040000L #define GL_SCISSOR_BIT 0x00080000L #define GL_ALL_ATTRIB_BITS 0x000fffffL #define GL_CLIENT_PIXEL_STORE_BIT 0x00000001L #define GL_CLIENT_VERTEX_ARRAY_BIT 0x00000002L #define GL_CLIENT_ALL_ATTRIB_BITS 0x0000FFFFL GLAPI void GLAPIENTRY glEnable(GLenum cap); GLAPI void GLAPIENTRY glDisable(GLenum cap); GLAPI void GLAPIENTRY glShadeModel(GLenum mode); GLAPI void GLAPIENTRY glCullFace(GLenum mode); GLAPI void GLAPIENTRY glPolygonMode(GLenum face, GLenum mode); GLAPI void GLAPIENTRY glBegin(GLenum mode); GLAPI void GLAPIENTRY glEnd(void); GLAPI void GLAPIENTRY glVertex2f(GLfloat x, GLfloat y); GLAPI void GLAPIENTRY glVertex2d(GLdouble x, GLdouble y); GLAPI void GLAPIENTRY glVertex2fv(const GLfloat *v); GLAPI void GLAPIENTRY glVertex2dv(const GLdouble *v); GLAPI void GLAPIENTRY glVertex3f(GLfloat x, GLfloat y, GLfloat z); GLAPI void GLAPIENTRY glVertex3d(GLdouble x, GLdouble y, GLdouble z); GLAPI void GLAPIENTRY glVertex3fv(const GLfloat *v); GLAPI void GLAPIENTRY glVertex3dv(const GLdouble *v); GLAPI void GLAPIENTRY glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w); GLAPI void GLAPIENTRY glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w); GLAPI void GLAPIENTRY glVertex4fv(const GLfloat *v); GLAPI void GLAPIENTRY glVertex4dv(const GLdouble *v); GLAPI void GLAPIENTRY glColor3f(GLfloat red, GLfloat green, GLfloat blue); GLAPI void GLAPIENTRY glColor3d(GLdouble red, GLdouble green, GLdouble blue); GLAPI void GLAPIENTRY glColor3fv(const GLfloat *v); GLAPI void GLAPIENTRY glColor3dv(const GLdouble *v); GLAPI void GLAPIENTRY glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); GLAPI void GLAPIENTRY glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha); GLAPI void GLAPIENTRY glColor4fv(const GLfloat *v); GLAPI void GLAPIENTRY glColor4dv(const GLdouble *v); GLAPI void GLAPIENTRY glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz); GLAPI void GLAPIENTRY glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz); GLAPI void GLAPIENTRY glNormal3fv(const GLfloat *v); GLAPI void GLAPIENTRY glNormal3dv(const GLdouble *v); GLAPI void GLAPIENTRY glTexCoord1f(GLfloat s); GLAPI void GLAPIENTRY glTexCoord1d(GLdouble s); GLAPI void GLAPIENTRY glTexCoord1fv(const GLfloat *v); GLAPI void GLAPIENTRY glTexCoord1dv(const GLdouble *v); GLAPI void GLAPIENTRY glTexCoord2f(GLfloat s, GLfloat t); GLAPI void GLAPIENTRY glTexCoord2d(GLdouble s, GLdouble t); GLAPI void GLAPIENTRY glTexCoord2fv(const GLfloat *v); GLAPI void GLAPIENTRY glTexCoord2dv(const GLdouble *v); GLAPI void GLAPIENTRY glTexCoord3f(GLfloat s, GLfloat t, GLfloat r); GLAPI void GLAPIENTRY glTexCoord3d(GLdouble s, GLdouble t, GLdouble r); GLAPI void GLAPIENTRY glTexCoord3fv(const GLfloat *v); GLAPI void GLAPIENTRY glTexCoord3dv(const GLdouble *v); GLAPI void GLAPIENTRY glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q); GLAPI void GLAPIENTRY glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q); GLAPI void GLAPIENTRY glTexCoord4fv(const GLfloat *v); GLAPI void GLAPIENTRY glTexCoord4dv(const GLdouble *v); GLAPI void GLAPIENTRY glEdgeFlag(GLboolean flag); /* matrix */ GLAPI void GLAPIENTRY glMatrixMode(GLenum mode); GLAPI void GLAPIENTRY glLoadMatrixf(const GLfloat *m); GLAPI void GLAPIENTRY glLoadIdentity(void); GLAPI void GLAPIENTRY glMultMatrixf(const GLfloat *m); GLAPI void GLAPIENTRY glPushMatrix(void); GLAPI void GLAPIENTRY glPopMatrix(void); GLAPI void GLAPIENTRY glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z); GLAPI void GLAPIENTRY glTranslatef(GLfloat x, GLfloat y, GLfloat z); GLAPI void GLAPIENTRY glScalef(GLfloat x, GLfloat y, GLfloat z); GLAPI void GLAPIENTRY glViewport(GLint x, GLint y, GLint width, GLint height); GLAPI void GLAPIENTRY glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near_val, GLdouble far_val); GLAPI void GLAPIENTRY glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near_val, GLdouble far_val); /* lists */ GLAPI GLuint GLAPIENTRY glGenLists(GLsizei range); GLAPI GLboolean GLAPIENTRY glIsList(GLuint list); GLAPI void GLAPIENTRY glNewList(GLuint list, GLenum mode); GLAPI void GLAPIENTRY glEndList(void); GLAPI void GLAPIENTRY glCallList(GLuint list); GLAPI void GLAPIENTRY glDeleteLists(GLuint list, GLsizei range); /* clear */ GLAPI void GLAPIENTRY glClear(GLbitfield mask); GLAPI void GLAPIENTRY glClearColor(GLfloat r, GLfloat g, GLfloat b, GLfloat a); GLAPI void GLAPIENTRY glClearDepth(GLdouble depth); GLAPI void GLAPIENTRY glClearDepthf(GLfloat depth); /* selection */ GLAPI GLint GLAPIENTRY glRenderMode(GLenum mode); GLAPI void GLAPIENTRY glSelectBuffer(GLsizei size, GLuint *buf); GLAPI void GLAPIENTRY glInitNames(void); GLAPI void GLAPIENTRY glPushName(GLuint name); GLAPI void GLAPIENTRY glPopName(void); GLAPI void GLAPIENTRY glLoadName(GLuint name); /* textures */ GLAPI void GLAPIENTRY glGenTextures(GLsizei n, GLuint *textures); GLAPI void GLAPIENTRY glDeleteTextures(GLsizei n, const GLuint *textures); GLAPI void GLAPIENTRY glBindTexture(GLenum target, GLuint texture); GLAPI void GLAPIENTRY glTexImage2D(GLenum target, GLint level, GLint components, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels); GLAPI void GLAPIENTRY glTexEnvi(GLenum target, GLenum pname, GLint param); GLAPI void GLAPIENTRY glTexParameteri(GLenum target, GLenum pname, GLint param); GLAPI void GLAPIENTRY glPixelStorei(GLenum pname, GLint param); /* lighting */ GLAPI void GLAPIENTRY glMaterialfv(GLenum face, GLenum pname, const GLfloat *v); GLAPI void GLAPIENTRY glMaterialf(GLenum mode, GLenum pname, GLfloat v); GLAPI void GLAPIENTRY glColorMaterial(GLenum face, GLenum mode); GLAPI void GLAPIENTRY glLightfv(GLenum light, GLenum pname, const GLfloat *v); GLAPI void GLAPIENTRY glLightf(GLenum light, GLenum pname, GLfloat v); GLAPI void GLAPIENTRY glLightModeli(GLenum pname, GLint param); GLAPI void GLAPIENTRY glLightModelfv(GLenum pname, const GLfloat *param); /* misc */ GLAPI void GLAPIENTRY glFlush(void); GLAPI void GLAPIENTRY glHint(GLenum target, GLenum mode); GLAPI void GLAPIENTRY glGetIntegerv(GLenum pname, GLint *params); GLAPI void GLAPIENTRY glGetFloatv(GLenum pname, GLfloat *v); GLAPI void GLAPIENTRY glFrontFace(GLenum mode); /* opengl 1.2 arrays */ GLAPI void GLAPIENTRY glEnableClientState(GLenum array); GLAPI void GLAPIENTRY glDisableClientState(GLenum array); GLAPI void GLAPIENTRY glArrayElement(GLint i); GLAPI void GLAPIENTRY glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); GLAPI void GLAPIENTRY glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); GLAPI void GLAPIENTRY glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer); GLAPI void GLAPIENTRY glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); /* opengl 1.2 polygon offset */ GLAPI void GLAPIENTRY glPolygonOffset(GLfloat factor, GLfloat units); #endif /* GL_VERSION_1_1 */ #ifndef GL_VERSION_1_5 #define GL_VERSION_1_5 1 typedef ptrdiff_t GLintptr; typedef ptrdiff_t GLsizeiptr; #endif #ifndef GL_VERSION_2_0 #define GL_VERSION_2_0 1 typedef char GLchar; #endif #ifndef GL_ARB_vertex_buffer_object #define GL_ARB_vertex_buffer_object 1 typedef ptrdiff_t GLsizeiptrARB; typedef ptrdiff_t GLintptrARB; #endif #ifndef GL_NV_half_float #define GL_NV_half_float 1 typedef unsigned short GLhalfNV; #endif #ifndef GL_NV_vdpau_interop #define GL_NV_vdpau_interop 1 typedef GLintptr GLvdpauSurfaceNV; #endif #ifndef GL_ARB_cl_event #define GL_ARB_cl_event 1 #ifdef __PUREC__ struct _cl_context { int dummy; }; struct _cl_event { int dummy; }; #else struct _cl_context; struct _cl_event; #endif #endif #if !defined(GL_ARB_sync) && !defined(__TINY_GL_H__) #define GL_ARB_sync 1 #if defined(__GNUC__) || (defined(LLONG_MAX) && LLONG_MAX > 2147483647L) typedef int64_t GLint64; typedef uint64_t GLuint64; #else typedef struct { long hi; unsigned long lo; } GLint64; typedef struct { unsigned long hi; unsigned long lo; } GLuint64; #endif #ifdef __PUREC__ struct __GLsync { int dummy; }; #endif typedef struct __GLsync *GLsync; #endif #if !defined(GL_EXT_timer_query) && !defined(__TINY_GL_H__) #define GL_EXT_timer_query 1 typedef GLint64 GLint64EXT; typedef GLuint64 GLuint64EXT; #endif #ifndef GL_OES_fixed_point #define GL_OES_fixed_point 1 typedef GLint GLfixed; #endif #ifndef GL_ARB_shader_objects #define GL_ARB_shader_objects 1 typedef char GLcharARB; typedef GLuint GLhandleARB; #endif #ifndef GL_KHR_debug #define GL_KHR_debug 1 typedef void CALLBACK (*GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message, const void *userParam); #endif #ifndef GL_ARB_debug_output #define GL_ARB_debug_output 1 typedef void CALLBACK (*GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message, const void *userParam); #endif #ifndef GL_AMD_debug_output #define GL_AMD_debug_output typedef void CALLBACK (*GLDEBUGPROCAMD)(GLuint id,GLenum category, GLenum severity, GLsizei length, const GLchar *message, void *userParam); #endif #ifndef GL_MESA_program_debug #define GL_MESA_program_debug 1 typedef void CALLBACK (*GLprogramcallbackMESA)(GLenum target, GLvoid *data); #endif /* * Mesa Off-Screen rendering interface. * * Copyright (C) 1999-2005 Brian Paul All Rights Reserved. * */ #define OSMESA_VERSION_NUMBER(major, minor, patch) ((major) * 10000 + (minor) * 100 + patch) #define OSMESA_VERSION OSMESA_VERSION_NUMBER(OSMESA_MAJOR_VERSION, OSMESA_MINOR_VERSION, OSMESA_PATCH_VERSION) #if !defined(OSMESA_MAJOR_VERSION) #define OSMESA_MAJOR_VERSION 6 #define OSMESA_MINOR_VERSION 3 #define OSMESA_PATCH_VERSION 0 /* * Values for the format parameter of OSMesaCreateLDG() * Mesa_gl.ldg version 0.8 (Mesa 2.6) */ #define OSMESA_COLOR_INDEX GL_COLOR_INDEX #define OSMESA_RGBA GL_RGBA #define OSMESA_BGRA 0x1 #define OSMESA_ARGB 0x2 #define OSMESA_RGB GL_RGB #define OSMESA_BGR 0x4 #define OSMESA_RGB_565 0x5 #define VDI_ARGB 0x8 #define VDI_RGB 0xf #define DIRECT_VDI_ARGB 0x10 /* * OSMesaPixelStore() parameters: */ #define OSMESA_ROW_LENGTH 0x10 #define OSMESA_Y_UP 0x11 /* * Accepted by OSMesaGetIntegerv: */ #define OSMESA_WIDTH 0x20 #define OSMESA_HEIGHT 0x21 #define OSMESA_FORMAT 0x22 #define OSMESA_TYPE 0x23 #define OSMESA_MAX_WIDTH 0x24 /* new in 4.0 */ #define OSMESA_MAX_HEIGHT 0x25 /* new in 4.0 */ #ifdef __PUREC__ struct osmesa_context { int dummy; }; #endif typedef struct osmesa_context *OSMesaContext; typedef void (*OSMESAproc)(void); GLAPI OSMesaContext GLAPIENTRY OSMesaCreateContext( GLenum format, OSMesaContext sharelist ); GLAPI OSMesaContext GLAPIENTRY OSMesaCreateContextExt( GLenum format, GLint depthBits, GLint stencilBits, GLint accumBits, OSMesaContext sharelist); GLAPI void GLAPIENTRY OSMesaDestroyContext( OSMesaContext ctx ); GLAPI GLboolean GLAPIENTRY OSMesaMakeCurrent( OSMesaContext ctx, void *buffer, GLenum type, GLsizei width, GLsizei height ); GLAPI OSMesaContext GLAPIENTRY OSMesaGetCurrentContext( void ); GLAPI void GLAPIENTRY OSMesaPixelStore( GLint pname, GLint value ); GLAPI void GLAPIENTRY OSMesaGetIntegerv( GLint pname, GLint *value ); GLAPI GLboolean GLAPIENTRY OSMesaGetDepthBuffer( OSMesaContext c, GLint *width, GLint *height, GLint *bytesPerValue, void **buffer ); GLAPI GLboolean GLAPIENTRY OSMesaGetColorBuffer( OSMesaContext c, GLint *width, GLint *height, GLint *format, void **buffer ); GLAPI OSMESAproc GLAPIENTRY OSMesaGetProcAddress( const char *funcName ); GLAPI void GLAPIENTRY OSMesaColorClamp(GLboolean enable); GLAPI void GLAPIENTRY OSMesaPostprocess(OSMesaContext osmesa, const char *filter, GLuint enable_value); #elif OSMESA_VERSION < OSMESA_VERSION_NUMBER(6, 3, 0) typedef void (*OSMESAproc)(void); #endif /* * integral types that need to be promoted to * 32bit type when passed by value */ #ifndef GL_nfosmesa_short_promotions #define GL_nfosmesa_short_promotions 1 #ifdef __MSHORT__ typedef long GLshort32; typedef unsigned long GLushort32; typedef unsigned long GLboolean32; typedef long GLchar32; typedef unsigned long GLubyte32; typedef signed long GLbyte32; typedef unsigned long GLhalfNV32; #else typedef GLshort GLshort32; typedef GLushort GLushort32; typedef GLboolean GLboolean32; typedef GLchar GLchar32; typedef GLubyte GLubyte32; typedef GLbyte GLbyte32; typedef GLhalfNV GLhalfNV32; #endif #endif #ifdef __cplusplus } #endif /* * old LDG functions */ #ifdef __cplusplus extern "C" { #endif GLAPI void *GLAPIENTRY OSMesaCreateLDG(GLenum format, GLenum type, GLint width, GLint height); GLAPI void GLAPIENTRY OSMesaDestroyLDG(void); GLAPI GLsizei GLAPIENTRY max_width(void); GLAPI GLsizei GLAPIENTRY max_height(void); GLAPI void GLAPIENTRY swapbuffer(void *buf); GLAPI void GLAPIENTRY exception_error(void CALLBACK (*exception)(GLenum param)); GLAPI void GLAPIENTRY information(void); GLAPI void GLAPIENTRY glOrthof(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat near_val, GLfloat far_val); GLAPI void GLAPIENTRY glFrustumf(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat near_val, GLfloat far_val); GLAPI void GLAPIENTRY glClearDepthf(GLfloat depth); GLAPI void GLAPIENTRY gluLookAtf(GLfloat eyeX, GLfloat eyeY, GLfloat eyeZ, GLfloat centerX, GLfloat centerY, GLfloat centerZ, GLfloat upX, GLfloat upY, GLfloat upZ); struct _gl_tiny { void APIENTRY (*information)(void); void APIENTRY (*Begin)(GLenum mode); void APIENTRY (*Clear)(GLbitfield mask); void APIENTRY (*ClearColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); void APIENTRY (*Color3f)(GLfloat red, GLfloat green, GLfloat blue); void APIENTRY (*Disable)(GLenum cap); void APIENTRY (*Enable)(GLenum cap); void APIENTRY (*End)(void); void APIENTRY (*Lightfv)(GLenum light, GLenum pname, const GLfloat *params); void APIENTRY (*LoadIdentity)(void); void APIENTRY (*Materialfv)(GLenum face, GLenum pname, const GLfloat *params); void APIENTRY (*MatrixMode)(GLenum mode); void APIENTRY (*Orthof)(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat near_val, GLfloat far_val); void APIENTRY (*PopMatrix)(void); void APIENTRY (*PushMatrix)(void); void APIENTRY (*Rotatef)(GLfloat angle, GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*TexEnvi)(GLenum target, GLenum pname, GLint param); void APIENTRY (*TexParameteri)(GLenum target, GLenum pname, GLint param); void APIENTRY (*Translatef)(GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*Vertex2f)(GLfloat x, GLfloat y); void APIENTRY (*Vertex3f)(GLfloat x, GLfloat y, GLfloat z); void * APIENTRY (*OSMesaCreateLDG)(GLenum format, GLenum type, GLint width, GLint height); void APIENTRY (*OSMesaDestroyLDG)(void); void APIENTRY (*ArrayElement)(GLint i); void APIENTRY (*BindTexture)(GLenum target, GLuint texture); void APIENTRY (*CallList)(GLuint list); void APIENTRY (*ClearDepthf)(GLfloat d); void APIENTRY (*Color4f)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); void APIENTRY (*Color3fv)(const GLfloat *v); void APIENTRY (*Color4fv)(const GLfloat *v); void APIENTRY (*ColorMaterial)(GLenum face, GLenum mode); void APIENTRY (*ColorPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); void APIENTRY (*CullFace)(GLenum mode); void APIENTRY (*DeleteTextures)(GLsizei n, const GLuint *textures); void APIENTRY (*DisableClientState)(GLenum array); void APIENTRY (*EnableClientState)(GLenum array); void APIENTRY (*EndList)(void); void APIENTRY (*EdgeFlag)(GLboolean32 flag); void APIENTRY (*Flush)(void); void APIENTRY (*FrontFace)(GLenum mode); void APIENTRY (*Frustumf)(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat near_val, GLfloat far_val); GLuint APIENTRY (*GenLists)(GLsizei range); void APIENTRY (*GenTextures)(GLsizei n, GLuint *textures); void APIENTRY (*GetFloatv)(GLenum pname, GLfloat *params); void APIENTRY (*GetIntegerv)(GLenum pname, GLint *params); void APIENTRY (*Hint)(GLenum target, GLenum mode); void APIENTRY (*InitNames)(void); GLboolean APIENTRY (*IsList)(GLuint list); void APIENTRY (*Lightf)(GLenum light, GLenum pname, GLfloat param); void APIENTRY (*LightModeli)(GLenum pname, GLint param); void APIENTRY (*LightModelfv)(GLenum pname, const GLfloat *params); void APIENTRY (*LoadMatrixf)(const GLfloat *m); void APIENTRY (*LoadName)(GLuint name); void APIENTRY (*Materialf)(GLenum face, GLenum pname, GLfloat param); void APIENTRY (*MultMatrixf)(const GLfloat *m); void APIENTRY (*NewList)(GLuint list, GLenum mode); void APIENTRY (*Normal3f)(GLfloat nx, GLfloat ny, GLfloat nz); void APIENTRY (*Normal3fv)(const GLfloat *v); void APIENTRY (*NormalPointer)(GLenum type, GLsizei stride, const GLvoid *pointer); void APIENTRY (*PixelStorei)(GLenum pname, GLint param); void APIENTRY (*PolygonMode)(GLenum face, GLenum mode); void APIENTRY (*PolygonOffset)(GLfloat factor, GLfloat units); void APIENTRY (*PopName)(void); void APIENTRY (*PushName)(GLuint name); GLint APIENTRY (*RenderMode)(GLenum mode); void APIENTRY (*SelectBuffer)(GLsizei size, GLuint *buffer); void APIENTRY (*Scalef)(GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*ShadeModel)(GLenum mode); void APIENTRY (*TexCoord2f)(GLfloat s, GLfloat t); void APIENTRY (*TexCoord4f)(GLfloat s, GLfloat t, GLfloat r, GLfloat q); void APIENTRY (*TexCoord2fv)(const GLfloat *v); void APIENTRY (*TexCoordPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); void APIENTRY (*TexImage2D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels); void APIENTRY (*Vertex4f)(GLfloat x, GLfloat y, GLfloat z, GLfloat w); void APIENTRY (*Vertex3fv)(const GLfloat *v); void APIENTRY (*VertexPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); void APIENTRY (*Viewport)(GLint x, GLint y, GLsizei width, GLsizei height); void APIENTRY (*swapbuffer)(void *buffer); GLsizei APIENTRY (*max_width)(void); GLsizei APIENTRY (*max_height)(void); void APIENTRY (*DeleteLists)(GLuint list, GLsizei range); void APIENTRY (*gluLookAtf)(GLfloat eyeX, GLfloat eyeY, GLfloat eyeZ, GLfloat centerX, GLfloat centerY, GLfloat centerZ, GLfloat upX, GLfloat upY, GLfloat upZ); void APIENTRY (*exception_error)(void (CALLBACK *exception)(GLenum param) ); }; extern struct _gl_tiny gl; #ifdef __cplusplus } #endif #ifndef NFOSMESA_NO_MANGLE #undef information #define information (gl.information) #undef glBegin #define glBegin (gl.Begin) #undef glClear #define glClear (gl.Clear) #undef glClearColor #define glClearColor (gl.ClearColor) #undef glColor3f #define glColor3f (gl.Color3f) #undef glDisable #define glDisable (gl.Disable) #undef glEnable #define glEnable (gl.Enable) #undef glEnd #define glEnd (gl.End) #undef glLightfv #define glLightfv (gl.Lightfv) #undef glLoadIdentity #define glLoadIdentity (gl.LoadIdentity) #undef glMaterialfv #define glMaterialfv (gl.Materialfv) #undef glMatrixMode #define glMatrixMode (gl.MatrixMode) #undef glOrthof #define glOrthof (gl.Orthof) #undef glPopMatrix #define glPopMatrix (gl.PopMatrix) #undef glPushMatrix #define glPushMatrix (gl.PushMatrix) #undef glRotatef #define glRotatef (gl.Rotatef) #undef glTexEnvi #define glTexEnvi (gl.TexEnvi) #undef glTexParameteri #define glTexParameteri (gl.TexParameteri) #undef glTranslatef #define glTranslatef (gl.Translatef) #undef glVertex2f #define glVertex2f (gl.Vertex2f) #undef glVertex3f #define glVertex3f (gl.Vertex3f) #undef OSMesaCreateLDG #define OSMesaCreateLDG (gl.OSMesaCreateLDG) #undef OSMesaDestroyLDG #define OSMesaDestroyLDG (gl.OSMesaDestroyLDG) #undef glArrayElement #define glArrayElement (gl.ArrayElement) #undef glBindTexture #define glBindTexture (gl.BindTexture) #undef glCallList #define glCallList (gl.CallList) #undef glClearDepthf #define glClearDepthf (gl.ClearDepthf) #undef glColor4f #define glColor4f (gl.Color4f) #undef glColor3fv #define glColor3fv (gl.Color3fv) #undef glColor4fv #define glColor4fv (gl.Color4fv) #undef glColorMaterial #define glColorMaterial (gl.ColorMaterial) #undef glColorPointer #define glColorPointer (gl.ColorPointer) #undef glCullFace #define glCullFace (gl.CullFace) #undef glDeleteTextures #define glDeleteTextures (gl.DeleteTextures) #undef glDisableClientState #define glDisableClientState (gl.DisableClientState) #undef glEnableClientState #define glEnableClientState (gl.EnableClientState) #undef glEndList #define glEndList (gl.EndList) #undef glEdgeFlag #define glEdgeFlag (gl.EdgeFlag) #undef glFlush #define glFlush (gl.Flush) #undef glFrontFace #define glFrontFace (gl.FrontFace) #undef glFrustumf #define glFrustumf (gl.Frustumf) #undef glGenLists #define glGenLists (gl.GenLists) #undef glGenTextures #define glGenTextures (gl.GenTextures) #undef glGetFloatv #define glGetFloatv (gl.GetFloatv) #undef glGetIntegerv #define glGetIntegerv (gl.GetIntegerv) #undef glHint #define glHint (gl.Hint) #undef glInitNames #define glInitNames (gl.InitNames) #undef glIsList #define glIsList (gl.IsList) #undef glLightf #define glLightf (gl.Lightf) #undef glLightModeli #define glLightModeli (gl.LightModeli) #undef glLightModelfv #define glLightModelfv (gl.LightModelfv) #undef glLoadMatrixf #define glLoadMatrixf (gl.LoadMatrixf) #undef glLoadName #define glLoadName (gl.LoadName) #undef glMaterialf #define glMaterialf (gl.Materialf) #undef glMultMatrixf #define glMultMatrixf (gl.MultMatrixf) #undef glNewList #define glNewList (gl.NewList) #undef glNormal3f #define glNormal3f (gl.Normal3f) #undef glNormal3fv #define glNormal3fv (gl.Normal3fv) #undef glNormalPointer #define glNormalPointer (gl.NormalPointer) #undef glPixelStorei #define glPixelStorei (gl.PixelStorei) #undef glPolygonMode #define glPolygonMode (gl.PolygonMode) #undef glPolygonOffset #define glPolygonOffset (gl.PolygonOffset) #undef glPopName #define glPopName (gl.PopName) #undef glPushName #define glPushName (gl.PushName) #undef glRenderMode #define glRenderMode (gl.RenderMode) #undef glSelectBuffer #define glSelectBuffer (gl.SelectBuffer) #undef glScalef #define glScalef (gl.Scalef) #undef glShadeModel #define glShadeModel (gl.ShadeModel) #undef glTexCoord2f #define glTexCoord2f (gl.TexCoord2f) #undef glTexCoord4f #define glTexCoord4f (gl.TexCoord4f) #undef glTexCoord2fv #define glTexCoord2fv (gl.TexCoord2fv) #undef glTexCoordPointer #define glTexCoordPointer (gl.TexCoordPointer) #undef glTexImage2D #define glTexImage2D (gl.TexImage2D) #undef glVertex4f #define glVertex4f (gl.Vertex4f) #undef glVertex3fv #define glVertex3fv (gl.Vertex3fv) #undef glVertexPointer #define glVertexPointer (gl.VertexPointer) #undef glViewport #define glViewport (gl.Viewport) #undef swapbuffer #define swapbuffer (gl.swapbuffer) #undef max_width #define max_width (gl.max_width) #undef max_height #define max_height (gl.max_height) #undef glDeleteLists #define glDeleteLists (gl.DeleteLists) #undef gluLookAtf #define gluLookAtf (gl.gluLookAtf) #undef exception_error #define exception_error (gl.exception_error) #endif /* * Functions exported from TinyGL that take float arguments, * and conflict with OpenGL functions of the same name */ #undef glFrustum #define glFrustum glFrustumf #undef glClearDepth #define glClearDepth glClearDepthf #undef glOrtho #define glOrtho glOrthof #undef gluLookAt #define gluLookAt gluLookAtf /* * no-ops in TinyGL */ #undef glFinish #define glFinish() /* * Functions from OpenGL that are not implemented in TinyGL */ #define glPointSize(size) glPointSize_not_supported_by_tinygl() #define glLineWidth(width) glLineWidth_not_supported_by_tinygl() #define glDepthFunc(func) glDepthFunc_not_supported_by_tinygl() #define glBlendFunc(sfactor, dfactor) glBlendFunc_not_supported_by_tinygl() #define glTexEnvf(target, pname, param) glTexEnvf_not_supported_by_tinygl() #define glVertex2i(x, y) glVertex2i_not_supported_by_tinygl() #define glDepthMask(flag) glDepthMask_not_supported_by_tinygl() #define glFogi(pname, param) glFogi_not_supported_by_tinygl() #define glFogf(pname, param) glFogf_not_supported_by_tinygl() #define glFogiv(pname, params) glFogiv_not_supported_by_tinygl() #define glFogfv(pname, params) glFogfv_not_supported_by_tinygl() #define glRasterPos2f(x, y) glRasterPos2f_not_supported_by_tinygl() #define glPolygonStipple(mask) glPolygonStipple_not_supported_by_tinygl() #define glTexParameterf(target, pname, param) glTexParameterf_not_supported_by_tinygl() /* Functions generated: 83 */ #endif /* __LDG_TINY_GL_H__ */ aranym-1.0.2/atari/nfosmesa/lib-gl.c000066400000000000000000000030231242022243000172130ustar00rootroot00000000000000/* OSMesa LDG loader Copyright (C) 2004 Patrice Mandin This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. */ /*--- Includes ---*/ #include "lib-osmesa.h" #include "nfosmesa_nfapi.h" #define OSMESA_PROC(type, gl, name, export, upper, params, first, ret) #define GL_GETSTRING(type, gl, name, export, upper, params, first, ret) #define GL_GETSTRINGI(type, gl, name, export, upper, params, first, ret) #define GL_PROC(type, gl, name, export, upper, params, first, ret) \ type APIENTRY gl ## name params \ { \ ret (*HostCall_p)(NFOSMESA_GL ## upper, cur_context, first); \ } #define GLU_PROC(type, gl, name, export, upper, params, first, ret) \ type APIENTRY gl ## name params \ { \ ret (*HostCall_p)(NFOSMESA_GLU ## upper, cur_context, first); \ } #include "glfuncs.h" aranym-1.0.2/atari/nfosmesa/lib-misc.c000066400000000000000000000077131242022243000175560ustar00rootroot00000000000000/* OSMesa LDG linker, misc functions Copyright (C) 2004 Patrice Mandin This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /*--- Includes ---*/ #include #include #include #include "lib-osmesa.h" #include "lib-oldmesa.h" #include "nfosmesa_nfapi.h" /*--- Defines ---*/ #define GL_VENDOR 0x1F00 #define GL_RENDERER 0x1F01 #define GL_VERSION 0x1F02 #define GL_EXTENSIONS 0x1F03 #define GL_SHADING_LANGUAGE_VERSION 0x8B8C /*--- Variables ---*/ static GLubyte *gl_strings[7]={(GLubyte *)"",NULL,NULL,NULL,NULL}; /*--- Functions ---*/ const GLubyte* APIENTRY glGetString( GLenum name ) { int i, len; switch(name) { case GL_VERSION: i=1; break; case GL_RENDERER: i=2; break; case GL_VENDOR: i=3; break; case GL_EXTENSIONS: i=4; break; default: i=0; break; } if (i!=0) { if (gl_strings[i]==NULL) { unsigned long params[3]; params[0] = (unsigned long) cur_context; params[1] = (unsigned long) name; len=(int)(*HostCall_p)(NFOSMESA_LENGLGETSTRING,cur_context,params); gl_strings[i]=(GLubyte *)Atari_MxAlloc(len+1); if (gl_strings[i]) { params[0] = (unsigned long) cur_context; params[1] = (unsigned long) name; params[2] = (unsigned long) gl_strings[i]; (*HostCall_p)(NFOSMESA_PUTGLGETSTRING,cur_context,params); } else { return gl_strings[0]; } } } return gl_strings[i]; } const GLubyte* APIENTRY glGetStringi( GLenum name, GLuint index ) { int i, len; switch(name) { case GL_EXTENSIONS: i=5; break; case GL_SHADING_LANGUAGE_VERSION: i=6; break; default: i=0; break; } if (i!=0) { if (gl_strings[i]!=NULL) { Mfree(gl_strings[i]); gl_strings[i]=NULL; } { unsigned long params[4]; params[0] = (unsigned long) cur_context; params[1] = (unsigned long) name; params[2] = (unsigned long) index; len=(int)(*HostCall_p)(NFOSMESA_LENGLGETSTRINGI,cur_context,params); if (len < 0) return NULL; gl_strings[i]=(GLubyte *)Atari_MxAlloc(len+1); if (gl_strings[i]) { params[0] = (unsigned long) cur_context; params[1] = (unsigned long) name; params[2] = (unsigned long) name; params[3] = (unsigned long) gl_strings[i]; (*HostCall_p)(NFOSMESA_PUTGLGETSTRINGI,cur_context,params); } else { return gl_strings[0]; } } } return gl_strings[i]; } void freeglGetString(void) { int i; for (i=1;i<7;i++) { if (gl_strings[i]) { Mfree(gl_strings[i]); gl_strings[i]=NULL; } } } void APIENTRY gluLookAtf( GLfloat eyeX, GLfloat eyeY, GLfloat eyeZ, GLfloat centerX, GLfloat centerY, GLfloat centerZ, GLfloat upX, GLfloat upY, GLfloat upZ ) { (*HostCall_p)(NFOSMESA_GLULOOKATF, cur_context, &eyeX); } void APIENTRY glFrustumf(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat near_val, GLfloat far_val) { (*HostCall_p)(NFOSMESA_GLFRUSTUMF, cur_context, &left); } void glOrthof( GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat near_val, GLfloat far_val ) { (*HostCall_p)(NFOSMESA_GLORTHOF, cur_context, &left); } void APIENTRY tinyglswapbuffer(void *buf) { (*HostCall_p)(NFOSMESA_TINYGLSWAPBUFFER, cur_context, &buf); } /* NYI */ void APIENTRY tinyglexception_error(void CALLBACK (*exception)(GLenum param)) { (void) exception; } /* glClearDepthf() already exists in OpenGL/Mesa */ aranym-1.0.2/atari/nfosmesa/lib-misc.h000066400000000000000000000016451242022243000175610ustar00rootroot00000000000000/* OSMesa LDG linker, misc functions Copyright (C) 2004 Patrice Mandin This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef LIB_MISC_H #define LIB_MISC_H /*--- Includes ---*/ /*--- Functions ---*/ void freeglGetString(void); int err_old_nfapi(void); #endif aranym-1.0.2/atari/nfosmesa/lib-oldmesa.c000066400000000000000000000056241242022243000202460ustar00rootroot00000000000000/* OSMesa LDG linker, compatibility functions with old mesa_gl.ldg/tiny_gl.ldg Copyright (C) 2004 Patrice Mandin This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /*--- Includes ---*/ #include #include #include #include "lib-osmesa.h" #include "lib-oldmesa.h" /*--- Defines ---*/ #define VDI_ARGB 0x8 #define VDI_RGB 0xf #define DIRECT_VDI_ARGB 0x10 #define GL_RGB 0x1907 #define GL_COLOR_INDEX 0x1900 #define OSMESA_ARGB 0x2 #define OSMESA_RGB GL_RGB #define OSMESA_COLOR_INDEX GL_COLOR_INDEX #define OSMESA_MAX_WIDTH 0x24 #define OSMESA_MAX_HEIGHT 0x25 #define OSMESA_Y_UP 0x11 /*--- Functions ---*/ static OSMesaContext oldmesa_ctx=NULL; void *APIENTRY OSMesaCreateLDG( long format, long type, long width, long height ) { unsigned long buffer_size; void *buffer = NULL; GLenum osmesa_format; switch(format) { case VDI_ARGB: case DIRECT_VDI_ARGB: osmesa_format = OSMESA_ARGB; break; case VDI_RGB: osmesa_format = OSMESA_RGB; break; default: osmesa_format = format; break; } oldmesa_ctx = OSMesaCreateContext(osmesa_format, NULL); if (!oldmesa_ctx) { return NULL; } buffer_size = width * height; if (osmesa_format != OSMESA_COLOR_INDEX) { buffer_size <<= 2; } buffer = Atari_MxAlloc(buffer_size); if (buffer == NULL) { OSMesaDestroyContext(oldmesa_ctx); return NULL; } if (!OSMesaMakeCurrent(oldmesa_ctx, buffer, type, width, height)) { Mfree(buffer); OSMesaDestroyContext(oldmesa_ctx); return NULL; } /* OSMesa draws upside down */ OSMesaPixelStore(OSMESA_Y_UP, 0); memset(buffer, 0, buffer_size); return (buffer); } void APIENTRY OSMesaDestroyLDG(void) { if (oldmesa_ctx) { OSMesaDestroyContext(oldmesa_ctx); oldmesa_ctx=NULL; } } GLsizei APIENTRY max_width(void) { GLint value = 0; OSMesaGetIntegerv(OSMESA_MAX_WIDTH, &value); return value; } GLsizei APIENTRY max_height(void) { GLint value = 0; OSMesaGetIntegerv(OSMESA_MAX_HEIGHT, &value); return value; } void *Atari_MxAlloc(unsigned long size) { if (((Sversion()&0xFF)>=0x01) | (Sversion()>=0x1900)) { return (void *)Mxalloc(size, MX_PREFTTRAM); } return (void *)Malloc(size); } aranym-1.0.2/atari/nfosmesa/lib-oldmesa.h000066400000000000000000000036061242022243000202510ustar00rootroot00000000000000/* OSMesa LDG linker, old functions prototypes Copyright (C) 2004 Patrice Mandin This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef LIB_OLDMESA_H #define LIB_OLDMESA_H /*--- Defines ---*/ /* Mxalloc parameters */ #ifndef MX_STRAM #define MX_STRAM 0 #define MX_TTRAM 1 #define MX_PREFSTRAM 2 #define MX_PREFTTRAM 3 #endif /*--- Functions prototypes ---*/ void *Atari_MxAlloc(unsigned long size); void err_init(const char *str); void *APIENTRY OSMesaCreateLDG( long format, long type, long width, long height ); void APIENTRY OSMesaDestroyLDG(void); GLsizei APIENTRY max_width(void); GLsizei APIENTRY max_height(void); void APIENTRY glOrthof( GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat near_val, GLfloat far_val ); void APIENTRY glClearDepthf(GLfloat depth); void APIENTRY glFrustumf(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat near_val, GLfloat far_val ); void APIENTRY gluLookAtf( GLfloat eyeX, GLfloat eyeY, GLfloat eyeZ, GLfloat centerX, GLfloat centerY, GLfloat centerZ, GLfloat upX, GLfloat upY, GLfloat upZ ); void APIENTRY tinyglswapbuffer(void *buf); void APIENTRY tinyglexception_error(void CALLBACK (*exception)(GLenum param)); void APIENTRY tinyglinformation(void); #endif /* OLDMESA_H */ aranym-1.0.2/atari/nfosmesa/lib-osmesa.c000066400000000000000000000127561242022243000201150ustar00rootroot00000000000000/* OSMesa LDG loader Copyright (C) 2004 Patrice Mandin This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software. Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions: 1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required. 2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software. 3. This notice may not be removed or altered from any source distribution. */ /*--- Includes ---*/ #include #include #include #include #include #include "lib-osmesa.h" #include "lib-misc.h" #include "../natfeat/nf_ops.h" #include "nfosmesa_nfapi.h" /*--- Defines ---*/ #define NFOSMESA_DEVICE "u:\\dev\\nfosmesa" /*--- Global variables ---*/ /* FIXME: should be per thread */ OSMesaContext cur_context = 0; /*--- Local variables ---*/ static struct nf_ops *nfOps; static unsigned long nfOSMesaId=0; int (*HostCall_p)(int function_number, OSMesaContext ctx, void *first_param); /*--- Local functions ---*/ static int HostCall_natfeats(int function_number, OSMesaContext ctx, void *first_param); /*--- OSMesa functions redirectors ---*/ void err_init(const char *str) { /* * FIXME: figure out how to get at the apid of the * the app that loaded us (LDG->id), and perform * either Cconws() or form_alert() */ (void) Cconws(str); (void) Cconws("\r\n"); /* if (__mint) */ Salert(str); } static void InitNatfeat(void) { long ver; nfOps = nf_init(); if (!nfOps) { err_init("__NF cookie not present on this system"); return; } nfOSMesaId=nfOps->get_id("OSMESA"); if (nfOSMesaId==0) { err_init("NF OSMesa functions not present on this system"); return; } ver = nfOps->call(nfOSMesaId+GET_VERSION, 0l, 0l); if (ver < ARANFOSMESA_NFAPI_VERSION) { if (err_old_nfapi()) { err_init("NF OSMesa functions in ARAnyM too old"); nfOSMesaId = 0; return; } } if (ver > ARANFOSMESA_NFAPI_VERSION) { /* * they should be backward compatible, but give a warning */ (void) Cconws("Warning: NF OSMesa functions in ARAnyM newer than library\r\n"); } } static int HostCall_natfeats(int function_number, OSMesaContext ctx, void *first_param) { return nfOps->call(nfOSMesaId+function_number,ctx,first_param); } static int InstallHostCall(void) { /* TOS maybe, try the cookie */ if (nfOSMesaId==0) { InitNatfeat(); if (nfOSMesaId!=0) { HostCall_p = HostCall_natfeats; return 1; } } return 0; } OSMesaContext APIENTRY OSMesaCreateContext( GLenum format, OSMesaContext sharelist ) { if (HostCall_p==NULL) { if (!InstallHostCall()) { return NULL; } } return (OSMesaContext)(*HostCall_p)(NFOSMESA_OSMESACREATECONTEXT, cur_context, &format); } OSMesaContext APIENTRY OSMesaCreateContextExt( GLenum format, GLint depthBits, GLint stencilBits, GLint accumBits, OSMesaContext sharelist) { if (HostCall_p==NULL) { if (!InstallHostCall()) { return NULL; } } return (OSMesaContext)(*HostCall_p)(NFOSMESA_OSMESACREATECONTEXTEXT, cur_context, &format); } void APIENTRY OSMesaDestroyContext( OSMesaContext ctx ) { (*HostCall_p)(NFOSMESA_OSMESADESTROYCONTEXT, cur_context, &ctx); freeglGetString(); if (ctx == cur_context) cur_context = 0; } GLboolean APIENTRY OSMesaMakeCurrent( OSMesaContext ctx, void *buffer, GLenum type, GLsizei width, GLsizei height ) { GLboolean ret = (GLboolean)(*HostCall_p)(NFOSMESA_OSMESAMAKECURRENT, cur_context, &ctx); if (ret) cur_context = ctx; return ret; } OSMesaContext APIENTRY OSMesaGetCurrentContext( void ) { #if 0 /* * wrong; the host manages his current context for all processes using NFOSMesa; * return local copy instead */ return (OSMesaContext)(*HostCall_p)(NFOSMESA_OSMESAGETCURRENTCONTEXT, cur_context, NULL); #else return cur_context; #endif } void APIENTRY OSMesaPixelStore( GLint pname, GLint value ) { (*HostCall_p)(NFOSMESA_OSMESAPIXELSTORE, cur_context, &pname); } void APIENTRY OSMesaGetIntegerv( GLint pname, GLint *value ) { (*HostCall_p)(NFOSMESA_OSMESAGETINTEGERV, cur_context, &pname); } GLboolean APIENTRY OSMesaGetDepthBuffer( OSMesaContext c, GLint *width, GLint *height, GLint *bytesPerValue, void **buffer ) { return (GLboolean)(*HostCall_p)(NFOSMESA_OSMESAGETDEPTHBUFFER, cur_context, &c); } GLboolean APIENTRY OSMesaGetColorBuffer( OSMesaContext c, GLint *width, GLint *height, GLint *format, void **buffer ) { return (GLboolean)(*HostCall_p)(NFOSMESA_OSMESAGETCOLORBUFFER, cur_context, &c); } OSMESAproc APIENTRY OSMesaGetProcAddress( const char *funcName ) { return (OSMESAproc)(*HostCall_p)(NFOSMESA_OSMESAGETPROCADDRESS, cur_context, &funcName); } void APIENTRY OSMesaColorClamp(GLboolean32 enable) { (*HostCall_p)(NFOSMESA_OSMESACOLORCLAMP, cur_context, &enable); } void APIENTRY OSMesaPostprocess(OSMesaContext osmesa, const char *filter, GLuint enable_value) { (*HostCall_p)(NFOSMESA_OSMESAPOSTPROCESS, cur_context, &osmesa); } aranym-1.0.2/atari/nfosmesa/lib-osmesa.h000066400000000000000000000026031242022243000201100ustar00rootroot00000000000000/* OSMesa LDG linker, OSMesa*() functions using Natfeats Copyright (C) 2004 Patrice Mandin This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef LIB_OSMESA_H #define LIB_OSMESA_H #include #include /*--- Types ---*/ typedef struct osmesa_context *OSMesaContext; #include "gltypes.h" /*--- Variables ---*/ extern OSMesaContext cur_context; extern int (*HostCall_p)(int function_number, OSMesaContext ctx, void *first_param); /*--- Functions prototypes ---*/ #define OSMESA_PROC(type, gl, name, export, upper, params, first, ret) extern type APIENTRY OSMesa ## name params ; #define GL_PROC(type, gl, name, export, upper, params, first, ret) extern type APIENTRY gl ## name params ; #include "glfuncs.h" #endif aranym-1.0.2/atari/nfosmesa/lib-tinygl.c000066400000000000000000000000501242022243000201140ustar00rootroot00000000000000#define TINYGL_ONLY #include "lib-gl.c" aranym-1.0.2/atari/nfosmesa/libc.c000066400000000000000000000045661242022243000167730ustar00rootroot00000000000000#include #include #include /* * Selection of functions that are (directly or indirectly) * referenced by libldg.a */ char **__environ; /* * only called form crtinit. * Must be called extern though, otherwise it gets inlined, * making __builtin_return_address() return the return address of * main. */ void _setstack(char *newsp) { register void *retpc __asm__ ("a0") = __builtin_return_address(0); __asm__ volatile ( "\tmove.l %1,sp\n" /* set new stack pointer */ "\tsubl #64+4, sp\n" /* push some unused space for buggy OS and a fake parameter to be popped by the caller */ "\tjmp (%0)\n" : /* outputs */ : "a"(retpc), "r"(newsp) /* inputs */ ); __builtin_unreachable(); } /* * strlen - length of string (not including NUL) */ size_t strlen(const char *scan) { register const char *start = scan+1; if (!scan) return 0; while (*scan++ != '\0') continue; return (size_t)((long)scan - (long)start); } /* * strncmp - compare at most n characters of string s1 to s2 */ /* <0 for <, 0 for ==, >0 for > */ int strncmp(const char *scan1, const char *scan2, size_t n) { register unsigned char c1, c2; register long count; /* FIXME!!! Has to be size_t but that requires a rewrite (Guido). */ if (!scan1) { return scan2 ? -1 : 0; } if (!scan2) return 1; count = n; do { c1 = (unsigned char) *scan1++; c2 = (unsigned char) *scan2++; } while (--count >= 0 && c1 && c1 == c2); if (count < 0) return(0); /* * The following case analysis is necessary so that characters * which look negative collate low against normal characters but * high against the end-of-string NUL. */ if (c1 == c2) return(0); else if (c1 == '\0') return(-1); else if (c2 == '\0') return(1); else return(c1 - c2); } char *getenv(const char *tag) { char **var; char *name; size_t len; if (!__environ) return 0; len = strlen (tag); for (var = __environ; (name = *var) != 0; var++) { if (!strncmp(name, tag, len) && name[len] == '=') return name+len+1; } return 0; } /* * Convert a string to a long int. * Not strictly compliant, but good enough for our purpose. */ long int atol(const char *nptr) { long val = 0; while (*nptr) { val = val * 10 + (*nptr - '0'); nptr++; } return val; } void *memset(void *s, int c, size_t n) { register char *p = s; while (n) { *p++ = c; n--; } return s; } aranym-1.0.2/atari/nfosmesa/link-oldmesa.h000066400000000000000000000025031242022243000204330ustar00rootroot00000000000000#ifndef WITH_PROTOTYPE_STRINGS # define WITH_PROTOTYPE_STRINGS 1 #endif #if WITH_PROTOTYPE_STRINGS #define GL_PROC(name, f, desc) { name, desc, f }, #else #define GL_PROC(name, f, desc) { name, 0, f }, #endif GL_PROC("OSMesaCreateLDG", OSMesaCreateLDG, "void *OSMesaCreateLDG(GLenum format, GLenum type, GLint width, GLint height)") GL_PROC("OSMesaDestroyLDG", OSMesaDestroyLDG, "void OSMesaDestroyLDG(void)") GL_PROC("max_width", max_width, "GLsizei max_width(void)") GL_PROC("max_height", max_height, "GLsizei max_height(void)") GL_PROC("glOrtho", glOrthof, "void glOrthof(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat near_val, GLfloat far_val)") GL_PROC("swapbuffer", tinyglswapbuffer, "void swapbuffer(void *buf)") GL_PROC("exception_error", tinyglexception_error, "void exception_error(void CALLBACK (*exception)(GLenum param))") GL_PROC("information", tinyglinformation, "void information(void)") GL_PROC("glFrustum", glFrustumf, "void glFrustumf(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat near_val, GLfloat far_val)") GL_PROC("glClearDepth", glClearDepthf, "void glClearDepthf(GLfloat depth)") GL_PROC("gluLookAt", gluLookAtf, "void gluLookAtf(GLfloat eyeX, GLfloat eyeY, GLfloat eyeZ, GLfloat centerX, GLfloat centerY, GLfloat centerZ, GLfloat upX, GLfloat upY, GLfloat upZ)") #undef GL_PROC aranym-1.0.2/atari/nfosmesa/link-tinygl.h000066400000000000000000000164431242022243000203250ustar00rootroot00000000000000/* * -- DO NOT EDIT -- * Generated by dyngl.pl from ./tools/glfuncs.h */ #undef NUM_TINYGL_PROCS GL_PROC("information", tinyglinformation, "void information(void)") GL_PROC("glBegin", glBegin, "void glBegin(GLenum mode)") GL_PROC("glClear", glClear, "void glClear(GLbitfield mask)") GL_PROC("glClearColor", glClearColor, "void glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)") GL_PROC("glColor3f", glColor3f, "void glColor3f(GLfloat red, GLfloat green, GLfloat blue)") GL_PROC("glDisable", glDisable, "void glDisable(GLenum cap)") GL_PROC("glEnable", glEnable, "void glEnable(GLenum cap)") GL_PROC("glEnd", glEnd, "void glEnd(void)") GL_PROC("glLightfv", glLightfv, "void glLightfv(GLenum light, GLenum pname, const GLfloat *params)") GL_PROC("glLoadIdentity", glLoadIdentity, "void glLoadIdentity(void)") GL_PROC("glMaterialfv", glMaterialfv, "void glMaterialfv(GLenum face, GLenum pname, const GLfloat *params)") GL_PROC("glMatrixMode", glMatrixMode, "void glMatrixMode(GLenum mode)") GL_PROC("glOrtho", glOrthof, "void glOrthof(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat near_val, GLfloat far_val)") GL_PROC("glPopMatrix", glPopMatrix, "void glPopMatrix(void)") GL_PROC("glPushMatrix", glPushMatrix, "void glPushMatrix(void)") GL_PROC("glRotatef", glRotatef, "void glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z)") GL_PROC("glTexEnvi", glTexEnvi, "void glTexEnvi(GLenum target, GLenum pname, GLint param)") GL_PROC("glTexParameteri", glTexParameteri, "void glTexParameteri(GLenum target, GLenum pname, GLint param)") GL_PROC("glTranslatef", glTranslatef, "void glTranslatef(GLfloat x, GLfloat y, GLfloat z)") GL_PROC("glVertex2f", glVertex2f, "void glVertex2f(GLfloat x, GLfloat y)") GL_PROC("glVertex3f", glVertex3f, "void glVertex3f(GLfloat x, GLfloat y, GLfloat z)") GL_PROC("OSMesaCreateLDG", OSMesaCreateLDG, "void * OSMesaCreateLDG(GLenum format, GLenum type, GLint width, GLint height)") GL_PROC("OSMesaDestroyLDG", OSMesaDestroyLDG, "void OSMesaDestroyLDG(void)") GL_PROC("glArrayElement", glArrayElement, "void glArrayElement(GLint i)") GL_PROC("glBindTexture", glBindTexture, "void glBindTexture(GLenum target, GLuint texture)") GL_PROC("glCallList", glCallList, "void glCallList(GLuint list)") GL_PROC("glClearDepth", glClearDepthf, "void glClearDepthf(GLfloat d)") GL_PROC("glColor4f", glColor4f, "void glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)") GL_PROC("glColor3fv", glColor3fv, "void glColor3fv(const GLfloat *v)") GL_PROC("glColor4fv", glColor4fv, "void glColor4fv(const GLfloat *v)") GL_PROC("glColorMaterial", glColorMaterial, "void glColorMaterial(GLenum face, GLenum mode)") GL_PROC("glColorPointer", glColorPointer, "void glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)") GL_PROC("glCullFace", glCullFace, "void glCullFace(GLenum mode)") GL_PROC("glDeleteTextures", glDeleteTextures, "void glDeleteTextures(GLsizei n, const GLuint *textures)") GL_PROC("glDisableClientState", glDisableClientState, "void glDisableClientState(GLenum array)") GL_PROC("glEnableClientState", glEnableClientState, "void glEnableClientState(GLenum array)") GL_PROC("glEndList", glEndList, "void glEndList(void)") GL_PROC("glEdgeFlag", glEdgeFlag, "void glEdgeFlag(GLboolean32 flag)") GL_PROC("glFlush", glFlush, "void glFlush(void)") GL_PROC("glFrontFace", glFrontFace, "void glFrontFace(GLenum mode)") GL_PROC("glFrustum", glFrustumf, "void glFrustumf(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat near_val, GLfloat far_val)") GL_PROC("glGenLists", glGenLists, "GLuint glGenLists(GLsizei range)") GL_PROC("glGenTextures", glGenTextures, "void glGenTextures(GLsizei n, GLuint *textures)") GL_PROC("glGetFloatv", glGetFloatv, "void glGetFloatv(GLenum pname, GLfloat *params)") GL_PROC("glGetIntegerv", glGetIntegerv, "void glGetIntegerv(GLenum pname, GLint *params)") GL_PROC("glHint", glHint, "void glHint(GLenum target, GLenum mode)") GL_PROC("glInitNames", glInitNames, "void glInitNames(void)") GL_PROC("glIsList", glIsList, "GLboolean glIsList(GLuint list)") GL_PROC("glLightf", glLightf, "void glLightf(GLenum light, GLenum pname, GLfloat param)") GL_PROC("glLightModeli", glLightModeli, "void glLightModeli(GLenum pname, GLint param)") GL_PROC("glLightModelfv", glLightModelfv, "void glLightModelfv(GLenum pname, const GLfloat *params)") GL_PROC("glLoadMatrixf", glLoadMatrixf, "void glLoadMatrixf(const GLfloat *m)") GL_PROC("glLoadName", glLoadName, "void glLoadName(GLuint name)") GL_PROC("glMaterialf", glMaterialf, "void glMaterialf(GLenum face, GLenum pname, GLfloat param)") GL_PROC("glMultMatrixf", glMultMatrixf, "void glMultMatrixf(const GLfloat *m)") GL_PROC("glNewList", glNewList, "void glNewList(GLuint list, GLenum mode)") GL_PROC("glNormal3f", glNormal3f, "void glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz)") GL_PROC("glNormal3fv", glNormal3fv, "void glNormal3fv(const GLfloat *v)") GL_PROC("glNormalPointer", glNormalPointer, "void glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer)") GL_PROC("glPixelStorei", glPixelStorei, "void glPixelStorei(GLenum pname, GLint param)") GL_PROC("glPolygonMode", glPolygonMode, "void glPolygonMode(GLenum face, GLenum mode)") GL_PROC("glPolygonOffset", glPolygonOffset, "void glPolygonOffset(GLfloat factor, GLfloat units)") GL_PROC("glPopName", glPopName, "void glPopName(void)") GL_PROC("glPushName", glPushName, "void glPushName(GLuint name)") GL_PROC("glRenderMode", glRenderMode, "GLint glRenderMode(GLenum mode)") GL_PROC("glSelectBuffer", glSelectBuffer, "void glSelectBuffer(GLsizei size, GLuint *buffer)") GL_PROC("glScalef", glScalef, "void glScalef(GLfloat x, GLfloat y, GLfloat z)") GL_PROC("glShadeModel", glShadeModel, "void glShadeModel(GLenum mode)") GL_PROC("glTexCoord2f", glTexCoord2f, "void glTexCoord2f(GLfloat s, GLfloat t)") GL_PROC("glTexCoord4f", glTexCoord4f, "void glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q)") GL_PROC("glTexCoord2fv", glTexCoord2fv, "void glTexCoord2fv(const GLfloat *v)") GL_PROC("glTexCoordPointer", glTexCoordPointer, "void glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)") GL_PROC("glTexImage2D", glTexImage2D, "void glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels)") GL_PROC("glVertex4f", glVertex4f, "void glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w)") GL_PROC("glVertex3fv", glVertex3fv, "void glVertex3fv(const GLfloat *v)") GL_PROC("glVertexPointer", glVertexPointer, "void glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)") GL_PROC("glViewport", glViewport, "void glViewport(GLint x, GLint y, GLsizei width, GLsizei height)") GL_PROC("swapbuffer", tinyglswapbuffer, "void swapbuffer(void *buffer)") GL_PROC("max_width", max_width, "GLsizei max_width(void)") GL_PROC("max_height", max_height, "GLsizei max_height(void)") GL_PROC("glDeleteLists", glDeleteLists, "void glDeleteLists(GLuint list, GLsizei range)") GL_PROC("gluLookAt", gluLookAtf, "void gluLookAtf(GLfloat eyeX, GLfloat eyeY, GLfloat eyeZ, GLfloat centerX, GLfloat centerY, GLfloat centerZ, GLfloat upX, GLfloat upY, GLfloat upZ)") GL_PROC("exception_error", tinyglexception_error, "void exception_error(void (CALLBACK *exception)(GLenum param) )") #undef GL_PROC #define NUM_TINYGL_PROCS 83 /* Functions generated: 83 */ aranym-1.0.2/atari/nfosmesa/nfosmesa.c000066400000000000000000000051101242022243000176570ustar00rootroot00000000000000/* OSMesa LDG linker Copyright (C) 2004 Patrice Mandin This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /*--- Includes ---*/ #include #include #include #include /*--- Functions prototypes ---*/ #include "lib-osmesa.h" #include "lib-oldmesa.h" #include "lib-misc.h" #include "nfosmesa_nfapi.h" #define WITH_PROTOTYPE_STRINGS 1 /*--- LDG functions ---*/ static PROC const LibFunc[]={ #if WITH_PROTOTYPE_STRINGS #define GL_PROC(type, gl, name, export, upper, params, first, ret) { #gl #export, #type " " #gl #name #params, gl ## name }, #define OSMESA_PROC(type, gl, name, export, upper, params, first, ret) { "OSMesa" #export, #type " OSMesa" #name #params, OSMesa ## name }, #else #define GL_PROC(type, gl, name, export, upper, params, first, ret) { #gl #export, 0, gl ## name }, #define OSMESA_PROC(type, gl, name, export, upper, params, first, ret) { "OSMesa" #export, 0, OSMesa ## name }, #endif #include "glfuncs.h" /* 12 OSMesa + 2664 GL functions */ #include "link-oldmesa.h" /* 5 + 8 functions */ {NULL, NULL, NULL} }; #include "versinfo.h" int err_old_nfapi(void) { /* an error for Mesa_GL */ return 1; } char const __Ident_osmesa[] = "$OSMesa: NFOSMesa API Version " __STRINGIFY(ARANFOSMESA_NFAPI_VERSION) " " ASCII_ARCH_TARGET " " ASCII_COMPILER " $"; static LDGLIB const LibLdg = { /* library version */ 0x0A15, /* count of functions in library */ sizeof(LibFunc) / sizeof(LibFunc[0]) - 1, /* function addresses */ LibFunc, /* Library information string */ "Mesa library NFOSMesa API Version " __STRINGIFY(ARANFOSMESA_NFAPI_VERSION) " " ASCII_ARCH_TARGET " " ASCII_COMPILER, /* Library flags */ LDG_NOT_SHARED, NULL, 0 }; void APIENTRY tinyglinformation(void) { (void) Cconws(LibLdg.infos); (void) Cconws("\r\n"); } /* * Main part : communication with LDG-system */ int main(void) { if (ldg_init(&LibLdg) != 0) { err_init("This program is a LDG library"); } return 0; } aranym-1.0.2/atari/nfosmesa/nfosmesa_nfapi.h000066400000000000000000000023061242022243000210450ustar00rootroot00000000000000/* NatFeat host OSMesa rendering: NatFeat functions ARAnyM (C) 2003 Patrice Mandin This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef _NFOSMESA_NFAPI_H #define _NFOSMESA_NFAPI_H #define NFOSMESA_IOCTL (('N'<<8)|'F') /* if you change anything in the enum {} below you have to increase this ARANFOSMESA_NFAPI_VERSION! */ #define ARANFOSMESA_NFAPI_VERSION 2 enum { NFOSMESA_ENOSYS = 0xffff, GET_VERSION=0, /* no parameters, return NFAPI_VERSION in d0 */ #include "enum-gl.h" NFOSMESA_LAST }; #define NFOSMESA(a) (nfOSMesaId + a) #endif /* _NFOSMESA_NFAPI_H */ aranym-1.0.2/atari/nfosmesa/nftiny_gl.c000066400000000000000000000043401242022243000200410ustar00rootroot00000000000000/* NFTinyGL LDG linker Copyright (C) 2004 Patrice Mandin This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /*--- Includes ---*/ #include #include #include #include /*--- Functions prototypes ---*/ #include "lib-osmesa.h" #include "lib-oldmesa.h" #include "lib-misc.h" #include "nfosmesa_nfapi.h" #include "../natfeat/nf_ops.h" #define WITH_PROTOTYPE_STRINGS 1 /*--- LDG functions ---*/ static PROC const LibFunc[]={ #if WITH_PROTOTYPE_STRINGS #define GL_PROC(name, f, desc) { name, desc, f }, #else #define GL_PROC(name, f, desc) { name, 0, f }, #endif #include "link-tinygl.h" /* 83 functions */ {NULL, NULL, NULL} }; #include "versinfo.h" char const __Ident_tinygl[] = "$NFTinyGL: TinyGL NFOSMesa API Version " __STRINGIFY(ARANFOSMESA_NFAPI_VERSION) " " ASCII_ARCH_TARGET " " ASCII_COMPILER " $"; int err_old_nfapi(void) { /* not an error for TinyGL; the 83 functions should always be present */ return 0; } static LDGLIB const LibLdg = { /* library version */ 0x0100, /* count of functions in library */ sizeof(LibFunc) / sizeof(LibFunc[0]) - 1, /* function addresses */ LibFunc, /* Library information string */ "TinyGL NFOSMesa API Version " __STRINGIFY(ARANFOSMESA_NFAPI_VERSION) " " ASCII_ARCH_TARGET " " ASCII_COMPILER, /* Library flags */ LDG_NOT_SHARED, NULL, 0 }; void APIENTRY tinyglinformation(void) { (void) Cconws(LibLdg.infos); (void) Cconws("\r\n"); } /* * Main part : communication with LDG-system */ int main(void) { if (ldg_init(&LibLdg) != 0) { err_init("This program is a LDG library"); } return 0; } aranym-1.0.2/atari/nfosmesa/osmesa_load.c000066400000000000000000015557721242022243000203630ustar00rootroot00000000000000/* Bindings of osmesa.ldg * Compile this module and link it with the application client */ #include #include #define NFOSMESA_NO_MANGLE #include #ifndef TRUE # define TRUE 1 # define FALSE 0 #endif struct _gl_osmesa gl; #if defined(__PUREC__) && !defined(__AHCC__) /* * Pure-C is not able to compile the result if you enable it, * probable the function gets too large */ # define GL_CHECK(x) #else # define GL_CHECK(x) if (x == 0) result = FALSE #endif int ldg_init_osmesa(LDG *lib) { int result = TRUE; #undef glFrustum #undef glOrtho #undef gluLookAt #undef glClearDepth gl.OSMesaColorClamp = (void APIENTRY (*)(GLboolean32 enable)) ldg_find("OSMesaColorClamp", lib); GL_CHECK(gl.OSMesaColorClamp); gl.OSMesaCreateContext = (OSMesaContext APIENTRY (*)(GLenum format, OSMesaContext sharelist)) ldg_find("OSMesaCreateContext", lib); GL_CHECK(gl.OSMesaCreateContext); gl.OSMesaCreateContextExt = (OSMesaContext APIENTRY (*)(GLenum format, GLint depthBits, GLint stencilBits, GLint accumBits, OSMesaContext sharelist)) ldg_find("OSMesaCreateContextExt", lib); GL_CHECK(gl.OSMesaCreateContextExt); gl.OSMesaCreateLDG = (void * APIENTRY (*)(GLenum format, GLenum type, GLint width, GLint height)) ldg_find("OSMesaCreateLDG", lib); GL_CHECK(gl.OSMesaCreateLDG); gl.OSMesaDestroyContext = (void APIENTRY (*)(OSMesaContext ctx)) ldg_find("OSMesaDestroyContext", lib); GL_CHECK(gl.OSMesaDestroyContext); gl.OSMesaDestroyLDG = (void APIENTRY (*)(void)) ldg_find("OSMesaDestroyLDG", lib); GL_CHECK(gl.OSMesaDestroyLDG); gl.OSMesaGetColorBuffer = (GLboolean APIENTRY (*)(OSMesaContext c, GLint *width, GLint *height, GLint *format, void * *buffer)) ldg_find("OSMesaGetColorBuffer", lib); GL_CHECK(gl.OSMesaGetColorBuffer); gl.OSMesaGetCurrentContext = (OSMesaContext APIENTRY (*)(void)) ldg_find("OSMesaGetCurrentContext", lib); GL_CHECK(gl.OSMesaGetCurrentContext); gl.OSMesaGetDepthBuffer = (GLboolean APIENTRY (*)(OSMesaContext c, GLint *width, GLint *height, GLint *bytesPerValue, void * *buffer)) ldg_find("OSMesaGetDepthBuffer", lib); GL_CHECK(gl.OSMesaGetDepthBuffer); gl.OSMesaGetIntegerv = (void APIENTRY (*)(GLint pname, GLint *value)) ldg_find("OSMesaGetIntegerv", lib); GL_CHECK(gl.OSMesaGetIntegerv); gl.OSMesaGetProcAddress = (OSMESAproc APIENTRY (*)(const char *funcName)) ldg_find("OSMesaGetProcAddress", lib); GL_CHECK(gl.OSMesaGetProcAddress); gl.OSMesaMakeCurrent = (GLboolean APIENTRY (*)(OSMesaContext ctx, void *buffer, GLenum type, GLsizei width, GLsizei height)) ldg_find("OSMesaMakeCurrent", lib); GL_CHECK(gl.OSMesaMakeCurrent); gl.OSMesaPixelStore = (void APIENTRY (*)(GLint pname, GLint value)) ldg_find("OSMesaPixelStore", lib); GL_CHECK(gl.OSMesaPixelStore); gl.OSMesaPostprocess = (void APIENTRY (*)(OSMesaContext osmesa, const char *filter, GLuint enable_value)) ldg_find("OSMesaPostprocess", lib); GL_CHECK(gl.OSMesaPostprocess); gl.exception_error = (void APIENTRY (*)(void (CALLBACK *exception)(GLenum param) )) ldg_find("exception_error", lib); GL_CHECK(gl.exception_error); gl.Accum = (void APIENTRY (*)(GLenum op, GLfloat value)) ldg_find("glAccum", lib); GL_CHECK(gl.Accum); gl.AccumxOES = (void APIENTRY (*)(GLenum op, GLfixed value)) ldg_find("glAccumxOES", lib); GL_CHECK(gl.AccumxOES); gl.ActiveProgramEXT = (void APIENTRY (*)(GLuint program)) ldg_find("glActiveProgramEXT", lib); GL_CHECK(gl.ActiveProgramEXT); gl.ActiveShaderProgram = (void APIENTRY (*)(GLuint pipeline, GLuint program)) ldg_find("glActiveShaderProgram", lib); GL_CHECK(gl.ActiveShaderProgram); gl.ActiveStencilFaceEXT = (void APIENTRY (*)(GLenum face)) ldg_find("glActiveStencilFaceEXT", lib); GL_CHECK(gl.ActiveStencilFaceEXT); gl.ActiveTexture = (void APIENTRY (*)(GLenum texture)) ldg_find("glActiveTexture", lib); GL_CHECK(gl.ActiveTexture); gl.ActiveTextureARB = (void APIENTRY (*)(GLenum texture)) ldg_find("glActiveTextureARB", lib); GL_CHECK(gl.ActiveTextureARB); gl.ActiveVaryingNV = (void APIENTRY (*)(GLuint program, const GLchar *name)) ldg_find("glActiveVaryingNV", lib); GL_CHECK(gl.ActiveVaryingNV); gl.AddSwapHintRectWIN = (void APIENTRY (*)(GLint x, GLint y, GLsizei width, GLsizei height)) ldg_find("glAddSwapHintRectWIN", lib); GL_CHECK(gl.AddSwapHintRectWIN); gl.AlphaFragmentOp1ATI = (void APIENTRY (*)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod)) ldg_find("glAlphaFragmentOp1ATI", lib); GL_CHECK(gl.AlphaFragmentOp1ATI); gl.AlphaFragmentOp2ATI = (void APIENTRY (*)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod)) ldg_find("glAlphaFragmentOp2ATI", lib); GL_CHECK(gl.AlphaFragmentOp2ATI); gl.AlphaFragmentOp3ATI = (void APIENTRY (*)(GLenum op, GLuint dst, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod, GLuint arg3, GLuint arg3Rep, GLuint arg3Mod)) ldg_find("glAlphaFragmentOp3ATI", lib); GL_CHECK(gl.AlphaFragmentOp3ATI); gl.AlphaFunc = (void APIENTRY (*)(GLenum func, GLclampf ref)) ldg_find("glAlphaFunc", lib); GL_CHECK(gl.AlphaFunc); gl.AlphaFuncxOES = (void APIENTRY (*)(GLenum func, GLfixed ref)) ldg_find("glAlphaFuncxOES", lib); GL_CHECK(gl.AlphaFuncxOES); gl.ApplyTextureEXT = (void APIENTRY (*)(GLenum mode)) ldg_find("glApplyTextureEXT", lib); GL_CHECK(gl.ApplyTextureEXT); gl.AreProgramsResidentNV = (GLboolean APIENTRY (*)(GLsizei n, const GLuint *programs, GLboolean *residences)) ldg_find("glAreProgramsResidentNV", lib); GL_CHECK(gl.AreProgramsResidentNV); gl.AreTexturesResident = (GLboolean APIENTRY (*)(GLsizei n, const GLuint *textures, GLboolean *residences)) ldg_find("glAreTexturesResident", lib); GL_CHECK(gl.AreTexturesResident); gl.AreTexturesResidentEXT = (GLboolean APIENTRY (*)(GLsizei n, const GLuint *textures, GLboolean *residences)) ldg_find("glAreTexturesResidentEXT", lib); GL_CHECK(gl.AreTexturesResidentEXT); gl.ArrayElement = (void APIENTRY (*)(GLint i)) ldg_find("glArrayElement", lib); GL_CHECK(gl.ArrayElement); gl.ArrayElementEXT = (void APIENTRY (*)(GLint i)) ldg_find("glArrayElementEXT", lib); GL_CHECK(gl.ArrayElementEXT); gl.ArrayObjectATI = (void APIENTRY (*)(GLenum array, GLint size, GLenum type, GLsizei stride, GLuint buffer, GLuint offset)) ldg_find("glArrayObjectATI", lib); GL_CHECK(gl.ArrayObjectATI); gl.AsyncMarkerSGIX = (void APIENTRY (*)(GLuint marker)) ldg_find("glAsyncMarkerSGIX", lib); GL_CHECK(gl.AsyncMarkerSGIX); gl.AttachObjectARB = (void APIENTRY (*)(GLhandleARB containerObj, GLhandleARB obj)) ldg_find("glAttachObjectARB", lib); GL_CHECK(gl.AttachObjectARB); gl.AttachShader = (void APIENTRY (*)(GLuint program, GLuint shader)) ldg_find("glAttachShader", lib); GL_CHECK(gl.AttachShader); gl.Begin = (void APIENTRY (*)(GLenum mode)) ldg_find("glBegin", lib); GL_CHECK(gl.Begin); gl.BeginConditionalRender = (void APIENTRY (*)(GLuint id, GLenum mode)) ldg_find("glBeginConditionalRender", lib); GL_CHECK(gl.BeginConditionalRender); gl.BeginConditionalRenderNV = (void APIENTRY (*)(GLuint id, GLenum mode)) ldg_find("glBeginConditionalRenderNV", lib); GL_CHECK(gl.BeginConditionalRenderNV); gl.BeginConditionalRenderNVX = (void APIENTRY (*)(GLuint id)) ldg_find("glBeginConditionalRenderNVX", lib); GL_CHECK(gl.BeginConditionalRenderNVX); gl.BeginFragmentShaderATI = (void APIENTRY (*)(void)) ldg_find("glBeginFragmentShaderATI", lib); GL_CHECK(gl.BeginFragmentShaderATI); gl.BeginOcclusionQueryNV = (void APIENTRY (*)(GLuint id)) ldg_find("glBeginOcclusionQueryNV", lib); GL_CHECK(gl.BeginOcclusionQueryNV); gl.BeginPerfMonitorAMD = (void APIENTRY (*)(GLuint monitor)) ldg_find("glBeginPerfMonitorAMD", lib); GL_CHECK(gl.BeginPerfMonitorAMD); gl.BeginPerfQueryINTEL = (void APIENTRY (*)(GLuint queryHandle)) ldg_find("glBeginPerfQueryINTEL", lib); GL_CHECK(gl.BeginPerfQueryINTEL); gl.BeginQuery = (void APIENTRY (*)(GLenum target, GLuint id)) ldg_find("glBeginQuery", lib); GL_CHECK(gl.BeginQuery); gl.BeginQueryARB = (void APIENTRY (*)(GLenum target, GLuint id)) ldg_find("glBeginQueryARB", lib); GL_CHECK(gl.BeginQueryARB); gl.BeginQueryIndexed = (void APIENTRY (*)(GLenum target, GLuint index, GLuint id)) ldg_find("glBeginQueryIndexed", lib); GL_CHECK(gl.BeginQueryIndexed); gl.BeginTransformFeedback = (void APIENTRY (*)(GLenum primitiveMode)) ldg_find("glBeginTransformFeedback", lib); GL_CHECK(gl.BeginTransformFeedback); gl.BeginTransformFeedbackEXT = (void APIENTRY (*)(GLenum primitiveMode)) ldg_find("glBeginTransformFeedbackEXT", lib); GL_CHECK(gl.BeginTransformFeedbackEXT); gl.BeginTransformFeedbackNV = (void APIENTRY (*)(GLenum primitiveMode)) ldg_find("glBeginTransformFeedbackNV", lib); GL_CHECK(gl.BeginTransformFeedbackNV); gl.BeginVertexShaderEXT = (void APIENTRY (*)(void)) ldg_find("glBeginVertexShaderEXT", lib); GL_CHECK(gl.BeginVertexShaderEXT); gl.BeginVideoCaptureNV = (void APIENTRY (*)(GLuint video_capture_slot)) ldg_find("glBeginVideoCaptureNV", lib); GL_CHECK(gl.BeginVideoCaptureNV); gl.BindAttribLocation = (void APIENTRY (*)(GLuint program, GLuint index, const GLchar *name)) ldg_find("glBindAttribLocation", lib); GL_CHECK(gl.BindAttribLocation); gl.BindAttribLocationARB = (void APIENTRY (*)(GLhandleARB programObj, GLuint index, const GLcharARB *name)) ldg_find("glBindAttribLocationARB", lib); GL_CHECK(gl.BindAttribLocationARB); gl.BindBuffer = (void APIENTRY (*)(GLenum target, GLuint buffer)) ldg_find("glBindBuffer", lib); GL_CHECK(gl.BindBuffer); gl.BindBufferARB = (void APIENTRY (*)(GLenum target, GLuint buffer)) ldg_find("glBindBufferARB", lib); GL_CHECK(gl.BindBufferARB); gl.BindBufferBase = (void APIENTRY (*)(GLenum target, GLuint index, GLuint buffer)) ldg_find("glBindBufferBase", lib); GL_CHECK(gl.BindBufferBase); gl.BindBufferBaseEXT = (void APIENTRY (*)(GLenum target, GLuint index, GLuint buffer)) ldg_find("glBindBufferBaseEXT", lib); GL_CHECK(gl.BindBufferBaseEXT); gl.BindBufferBaseNV = (void APIENTRY (*)(GLenum target, GLuint index, GLuint buffer)) ldg_find("glBindBufferBaseNV", lib); GL_CHECK(gl.BindBufferBaseNV); gl.BindBufferOffsetEXT = (void APIENTRY (*)(GLenum target, GLuint index, GLuint buffer, GLintptr offset)) ldg_find("glBindBufferOffsetEXT", lib); GL_CHECK(gl.BindBufferOffsetEXT); gl.BindBufferOffsetNV = (void APIENTRY (*)(GLenum target, GLuint index, GLuint buffer, GLintptr offset)) ldg_find("glBindBufferOffsetNV", lib); GL_CHECK(gl.BindBufferOffsetNV); gl.BindBufferRange = (void APIENTRY (*)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)) ldg_find("glBindBufferRange", lib); GL_CHECK(gl.BindBufferRange); gl.BindBufferRangeEXT = (void APIENTRY (*)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)) ldg_find("glBindBufferRangeEXT", lib); GL_CHECK(gl.BindBufferRangeEXT); gl.BindBufferRangeNV = (void APIENTRY (*)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)) ldg_find("glBindBufferRangeNV", lib); GL_CHECK(gl.BindBufferRangeNV); gl.BindBuffersBase = (void APIENTRY (*)(GLenum target, GLuint first, GLsizei count, const GLuint *buffers)) ldg_find("glBindBuffersBase", lib); GL_CHECK(gl.BindBuffersBase); gl.BindBuffersRange = (void APIENTRY (*)(GLenum target, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizeiptr *sizes)) ldg_find("glBindBuffersRange", lib); GL_CHECK(gl.BindBuffersRange); gl.BindFragDataLocation = (void APIENTRY (*)(GLuint program, GLuint color, const GLchar *name)) ldg_find("glBindFragDataLocation", lib); GL_CHECK(gl.BindFragDataLocation); gl.BindFragDataLocationEXT = (void APIENTRY (*)(GLuint program, GLuint color, const GLchar *name)) ldg_find("glBindFragDataLocationEXT", lib); GL_CHECK(gl.BindFragDataLocationEXT); gl.BindFragDataLocationIndexed = (void APIENTRY (*)(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name)) ldg_find("glBindFragDataLocationIndexed", lib); GL_CHECK(gl.BindFragDataLocationIndexed); gl.BindFragmentShaderATI = (void APIENTRY (*)(GLuint id)) ldg_find("glBindFragmentShaderATI", lib); GL_CHECK(gl.BindFragmentShaderATI); gl.BindFramebuffer = (void APIENTRY (*)(GLenum target, GLuint framebuffer)) ldg_find("glBindFramebuffer", lib); GL_CHECK(gl.BindFramebuffer); gl.BindFramebufferEXT = (void APIENTRY (*)(GLenum target, GLuint framebuffer)) ldg_find("glBindFramebufferEXT", lib); GL_CHECK(gl.BindFramebufferEXT); gl.BindImageTexture = (void APIENTRY (*)(GLuint unit, GLuint texture, GLint level, GLboolean32 layered, GLint layer, GLenum access, GLenum format)) ldg_find("glBindImageTexture", lib); GL_CHECK(gl.BindImageTexture); gl.BindImageTextureEXT = (void APIENTRY (*)(GLuint index, GLuint texture, GLint level, GLboolean32 layered, GLint layer, GLenum access, GLint format)) ldg_find("glBindImageTextureEXT", lib); GL_CHECK(gl.BindImageTextureEXT); gl.BindImageTextures = (void APIENTRY (*)(GLuint first, GLsizei count, const GLuint *textures)) ldg_find("glBindImageTextures", lib); GL_CHECK(gl.BindImageTextures); gl.BindLightParameterEXT = (GLuint APIENTRY (*)(GLenum light, GLenum value)) ldg_find("glBindLightParameterEXT", lib); GL_CHECK(gl.BindLightParameterEXT); gl.BindMaterialParameterEXT = (GLuint APIENTRY (*)(GLenum face, GLenum value)) ldg_find("glBindMaterialParameterEXT", lib); GL_CHECK(gl.BindMaterialParameterEXT); gl.BindMultiTextureEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLuint texture)) ldg_find("glBindMultiTextureEXT", lib); GL_CHECK(gl.BindMultiTextureEXT); gl.BindParameterEXT = (GLuint APIENTRY (*)(GLenum value)) ldg_find("glBindParameterEXT", lib); GL_CHECK(gl.BindParameterEXT); gl.BindProgramARB = (void APIENTRY (*)(GLenum target, GLuint program)) ldg_find("glBindProgramARB", lib); GL_CHECK(gl.BindProgramARB); gl.BindProgramNV = (void APIENTRY (*)(GLenum target, GLuint id)) ldg_find("glBindProgramNV", lib); GL_CHECK(gl.BindProgramNV); gl.BindProgramPipeline = (void APIENTRY (*)(GLuint pipeline)) ldg_find("glBindProgramPipeline", lib); GL_CHECK(gl.BindProgramPipeline); gl.BindRenderbuffer = (void APIENTRY (*)(GLenum target, GLuint renderbuffer)) ldg_find("glBindRenderbuffer", lib); GL_CHECK(gl.BindRenderbuffer); gl.BindRenderbufferEXT = (void APIENTRY (*)(GLenum target, GLuint renderbuffer)) ldg_find("glBindRenderbufferEXT", lib); GL_CHECK(gl.BindRenderbufferEXT); gl.BindSampler = (void APIENTRY (*)(GLuint unit, GLuint sampler)) ldg_find("glBindSampler", lib); GL_CHECK(gl.BindSampler); gl.BindSamplers = (void APIENTRY (*)(GLuint first, GLsizei count, const GLuint *samplers)) ldg_find("glBindSamplers", lib); GL_CHECK(gl.BindSamplers); gl.BindTexGenParameterEXT = (GLuint APIENTRY (*)(GLenum unit, GLenum coord, GLenum value)) ldg_find("glBindTexGenParameterEXT", lib); GL_CHECK(gl.BindTexGenParameterEXT); gl.BindTexture = (void APIENTRY (*)(GLenum target, GLuint texture)) ldg_find("glBindTexture", lib); GL_CHECK(gl.BindTexture); gl.BindTextureEXT = (void APIENTRY (*)(GLenum target, GLuint texture)) ldg_find("glBindTextureEXT", lib); GL_CHECK(gl.BindTextureEXT); gl.BindTextureUnitParameterEXT = (GLuint APIENTRY (*)(GLenum unit, GLenum value)) ldg_find("glBindTextureUnitParameterEXT", lib); GL_CHECK(gl.BindTextureUnitParameterEXT); gl.BindTextures = (void APIENTRY (*)(GLuint first, GLsizei count, const GLuint *textures)) ldg_find("glBindTextures", lib); GL_CHECK(gl.BindTextures); gl.BindTransformFeedback = (void APIENTRY (*)(GLenum target, GLuint id)) ldg_find("glBindTransformFeedback", lib); GL_CHECK(gl.BindTransformFeedback); gl.BindTransformFeedbackNV = (void APIENTRY (*)(GLenum target, GLuint id)) ldg_find("glBindTransformFeedbackNV", lib); GL_CHECK(gl.BindTransformFeedbackNV); gl.BindVertexArray = (void APIENTRY (*)(GLuint array)) ldg_find("glBindVertexArray", lib); GL_CHECK(gl.BindVertexArray); gl.BindVertexArrayAPPLE = (void APIENTRY (*)(GLuint array)) ldg_find("glBindVertexArrayAPPLE", lib); GL_CHECK(gl.BindVertexArrayAPPLE); gl.BindVertexBuffer = (void APIENTRY (*)(GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride)) ldg_find("glBindVertexBuffer", lib); GL_CHECK(gl.BindVertexBuffer); gl.BindVertexBuffers = (void APIENTRY (*)(GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides)) ldg_find("glBindVertexBuffers", lib); GL_CHECK(gl.BindVertexBuffers); gl.BindVertexShaderEXT = (void APIENTRY (*)(GLuint id)) ldg_find("glBindVertexShaderEXT", lib); GL_CHECK(gl.BindVertexShaderEXT); gl.BindVideoCaptureStreamBufferNV = (void APIENTRY (*)(GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLintptrARB offset)) ldg_find("glBindVideoCaptureStreamBufferNV", lib); GL_CHECK(gl.BindVideoCaptureStreamBufferNV); gl.BindVideoCaptureStreamTextureNV = (void APIENTRY (*)(GLuint video_capture_slot, GLuint stream, GLenum frame_region, GLenum target, GLuint texture)) ldg_find("glBindVideoCaptureStreamTextureNV", lib); GL_CHECK(gl.BindVideoCaptureStreamTextureNV); gl.Binormal3bEXT = (void APIENTRY (*)(GLbyte32 bx, GLbyte32 by, GLbyte32 bz)) ldg_find("glBinormal3bEXT", lib); GL_CHECK(gl.Binormal3bEXT); gl.Binormal3bvEXT = (void APIENTRY (*)(const GLbyte *v)) ldg_find("glBinormal3bvEXT", lib); GL_CHECK(gl.Binormal3bvEXT); gl.Binormal3dEXT = (void APIENTRY (*)(GLdouble bx, GLdouble by, GLdouble bz)) ldg_find("glBinormal3dEXT", lib); GL_CHECK(gl.Binormal3dEXT); gl.Binormal3dvEXT = (void APIENTRY (*)(const GLdouble *v)) ldg_find("glBinormal3dvEXT", lib); GL_CHECK(gl.Binormal3dvEXT); gl.Binormal3fEXT = (void APIENTRY (*)(GLfloat bx, GLfloat by, GLfloat bz)) ldg_find("glBinormal3fEXT", lib); GL_CHECK(gl.Binormal3fEXT); gl.Binormal3fvEXT = (void APIENTRY (*)(const GLfloat *v)) ldg_find("glBinormal3fvEXT", lib); GL_CHECK(gl.Binormal3fvEXT); gl.Binormal3iEXT = (void APIENTRY (*)(GLint bx, GLint by, GLint bz)) ldg_find("glBinormal3iEXT", lib); GL_CHECK(gl.Binormal3iEXT); gl.Binormal3ivEXT = (void APIENTRY (*)(const GLint *v)) ldg_find("glBinormal3ivEXT", lib); GL_CHECK(gl.Binormal3ivEXT); gl.Binormal3sEXT = (void APIENTRY (*)(GLshort32 bx, GLshort32 by, GLshort32 bz)) ldg_find("glBinormal3sEXT", lib); GL_CHECK(gl.Binormal3sEXT); gl.Binormal3svEXT = (void APIENTRY (*)(const GLshort *v)) ldg_find("glBinormal3svEXT", lib); GL_CHECK(gl.Binormal3svEXT); gl.BinormalPointerEXT = (void APIENTRY (*)(GLenum type, GLsizei stride, const void *pointer)) ldg_find("glBinormalPointerEXT", lib); GL_CHECK(gl.BinormalPointerEXT); gl.Bitmap = (void APIENTRY (*)(GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap)) ldg_find("glBitmap", lib); GL_CHECK(gl.Bitmap); gl.BitmapxOES = (void APIENTRY (*)(GLsizei width, GLsizei height, GLfixed xorig, GLfixed yorig, GLfixed xmove, GLfixed ymove, const GLubyte *bitmap)) ldg_find("glBitmapxOES", lib); GL_CHECK(gl.BitmapxOES); gl.BlendBarrierNV = (void APIENTRY (*)(void)) ldg_find("glBlendBarrierNV", lib); GL_CHECK(gl.BlendBarrierNV); gl.BlendColor = (void APIENTRY (*)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)) ldg_find("glBlendColor", lib); GL_CHECK(gl.BlendColor); gl.BlendColorEXT = (void APIENTRY (*)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)) ldg_find("glBlendColorEXT", lib); GL_CHECK(gl.BlendColorEXT); gl.BlendColorxOES = (void APIENTRY (*)(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha)) ldg_find("glBlendColorxOES", lib); GL_CHECK(gl.BlendColorxOES); gl.BlendEquation = (void APIENTRY (*)(GLenum mode)) ldg_find("glBlendEquation", lib); GL_CHECK(gl.BlendEquation); gl.BlendEquationEXT = (void APIENTRY (*)(GLenum mode)) ldg_find("glBlendEquationEXT", lib); GL_CHECK(gl.BlendEquationEXT); gl.BlendEquationIndexedAMD = (void APIENTRY (*)(GLuint buf, GLenum mode)) ldg_find("glBlendEquationIndexedAMD", lib); GL_CHECK(gl.BlendEquationIndexedAMD); gl.BlendEquationSeparate = (void APIENTRY (*)(GLenum modeRGB, GLenum modeAlpha)) ldg_find("glBlendEquationSeparate", lib); GL_CHECK(gl.BlendEquationSeparate); gl.BlendEquationSeparateATI = (void APIENTRY (*)(GLenum equationRGB, GLenum equationAlpha)) ldg_find("glBlendEquationSeparateATI", lib); GL_CHECK(gl.BlendEquationSeparateATI); gl.BlendEquationSeparateEXT = (void APIENTRY (*)(GLenum modeRGB, GLenum modeAlpha)) ldg_find("glBlendEquationSeparateEXT", lib); GL_CHECK(gl.BlendEquationSeparateEXT); gl.BlendEquationSeparateIndexedAMD = (void APIENTRY (*)(GLuint buf, GLenum modeRGB, GLenum modeAlpha)) ldg_find("glBlendEquationSeparateIndexedAMD", lib); GL_CHECK(gl.BlendEquationSeparateIndexedAMD); gl.BlendEquationSeparatei = (void APIENTRY (*)(GLuint buf, GLenum modeRGB, GLenum modeAlpha)) ldg_find("glBlendEquationSeparatei", lib); GL_CHECK(gl.BlendEquationSeparatei); gl.BlendEquationSeparateiARB = (void APIENTRY (*)(GLuint buf, GLenum modeRGB, GLenum modeAlpha)) ldg_find("glBlendEquationSeparateiARB", lib); GL_CHECK(gl.BlendEquationSeparateiARB); gl.BlendEquationi = (void APIENTRY (*)(GLuint buf, GLenum mode)) ldg_find("glBlendEquationi", lib); GL_CHECK(gl.BlendEquationi); gl.BlendEquationiARB = (void APIENTRY (*)(GLuint buf, GLenum mode)) ldg_find("glBlendEquationiARB", lib); GL_CHECK(gl.BlendEquationiARB); gl.BlendFunc = (void APIENTRY (*)(GLenum sfactor, GLenum dfactor)) ldg_find("glBlendFunc", lib); GL_CHECK(gl.BlendFunc); gl.BlendFuncIndexedAMD = (void APIENTRY (*)(GLuint buf, GLenum src, GLenum dst)) ldg_find("glBlendFuncIndexedAMD", lib); GL_CHECK(gl.BlendFuncIndexedAMD); gl.BlendFuncSeparate = (void APIENTRY (*)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha)) ldg_find("glBlendFuncSeparate", lib); GL_CHECK(gl.BlendFuncSeparate); gl.BlendFuncSeparateEXT = (void APIENTRY (*)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha)) ldg_find("glBlendFuncSeparateEXT", lib); GL_CHECK(gl.BlendFuncSeparateEXT); gl.BlendFuncSeparateINGR = (void APIENTRY (*)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha)) ldg_find("glBlendFuncSeparateINGR", lib); GL_CHECK(gl.BlendFuncSeparateINGR); gl.BlendFuncSeparateIndexedAMD = (void APIENTRY (*)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)) ldg_find("glBlendFuncSeparateIndexedAMD", lib); GL_CHECK(gl.BlendFuncSeparateIndexedAMD); gl.BlendFuncSeparatei = (void APIENTRY (*)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)) ldg_find("glBlendFuncSeparatei", lib); GL_CHECK(gl.BlendFuncSeparatei); gl.BlendFuncSeparateiARB = (void APIENTRY (*)(GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)) ldg_find("glBlendFuncSeparateiARB", lib); GL_CHECK(gl.BlendFuncSeparateiARB); gl.BlendFunci = (void APIENTRY (*)(GLuint buf, GLenum src, GLenum dst)) ldg_find("glBlendFunci", lib); GL_CHECK(gl.BlendFunci); gl.BlendFunciARB = (void APIENTRY (*)(GLuint buf, GLenum src, GLenum dst)) ldg_find("glBlendFunciARB", lib); GL_CHECK(gl.BlendFunciARB); gl.BlendParameteriNV = (void APIENTRY (*)(GLenum pname, GLint value)) ldg_find("glBlendParameteriNV", lib); GL_CHECK(gl.BlendParameteriNV); gl.BlitFramebuffer = (void APIENTRY (*)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)) ldg_find("glBlitFramebuffer", lib); GL_CHECK(gl.BlitFramebuffer); gl.BlitFramebufferEXT = (void APIENTRY (*)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)) ldg_find("glBlitFramebufferEXT", lib); GL_CHECK(gl.BlitFramebufferEXT); gl.BufferAddressRangeNV = (void APIENTRY (*)(GLenum pname, GLuint index, GLuint64EXT address, GLsizeiptr length)) ldg_find("glBufferAddressRangeNV", lib); GL_CHECK(gl.BufferAddressRangeNV); gl.BufferData = (void APIENTRY (*)(GLenum target, GLsizeiptr size, const void *data, GLenum usage)) ldg_find("glBufferData", lib); GL_CHECK(gl.BufferData); gl.BufferDataARB = (void APIENTRY (*)(GLenum target, GLsizeiptrARB size, const void *data, GLenum usage)) ldg_find("glBufferDataARB", lib); GL_CHECK(gl.BufferDataARB); gl.BufferParameteriAPPLE = (void APIENTRY (*)(GLenum target, GLenum pname, GLint param)) ldg_find("glBufferParameteriAPPLE", lib); GL_CHECK(gl.BufferParameteriAPPLE); gl.BufferStorage = (void APIENTRY (*)(GLenum target, GLsizeiptr size, const void *data, GLbitfield flags)) ldg_find("glBufferStorage", lib); GL_CHECK(gl.BufferStorage); gl.BufferSubData = (void APIENTRY (*)(GLenum target, GLintptr offset, GLsizeiptr size, const void *data)) ldg_find("glBufferSubData", lib); GL_CHECK(gl.BufferSubData); gl.BufferSubDataARB = (void APIENTRY (*)(GLenum target, GLintptrARB offset, GLsizeiptrARB size, const void *data)) ldg_find("glBufferSubDataARB", lib); GL_CHECK(gl.BufferSubDataARB); gl.CallList = (void APIENTRY (*)(GLuint list)) ldg_find("glCallList", lib); GL_CHECK(gl.CallList); gl.CallLists = (void APIENTRY (*)(GLsizei n, GLenum type, const GLvoid *lists)) ldg_find("glCallLists", lib); GL_CHECK(gl.CallLists); gl.CheckFramebufferStatus = (GLenum APIENTRY (*)(GLenum target)) ldg_find("glCheckFramebufferStatus", lib); GL_CHECK(gl.CheckFramebufferStatus); gl.CheckFramebufferStatusEXT = (GLenum APIENTRY (*)(GLenum target)) ldg_find("glCheckFramebufferStatusEXT", lib); GL_CHECK(gl.CheckFramebufferStatusEXT); gl.CheckNamedFramebufferStatusEXT = (GLenum APIENTRY (*)(GLuint framebuffer, GLenum target)) ldg_find("glCheckNamedFramebufferStatusEXT", lib); GL_CHECK(gl.CheckNamedFramebufferStatusEXT); gl.ClampColor = (void APIENTRY (*)(GLenum target, GLenum clamp)) ldg_find("glClampColor", lib); GL_CHECK(gl.ClampColor); gl.ClampColorARB = (void APIENTRY (*)(GLenum target, GLenum clamp)) ldg_find("glClampColorARB", lib); GL_CHECK(gl.ClampColorARB); gl.Clear = (void APIENTRY (*)(GLbitfield mask)) ldg_find("glClear", lib); GL_CHECK(gl.Clear); gl.ClearAccum = (void APIENTRY (*)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)) ldg_find("glClearAccum", lib); GL_CHECK(gl.ClearAccum); gl.ClearAccumxOES = (void APIENTRY (*)(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha)) ldg_find("glClearAccumxOES", lib); GL_CHECK(gl.ClearAccumxOES); gl.ClearBufferData = (void APIENTRY (*)(GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data)) ldg_find("glClearBufferData", lib); GL_CHECK(gl.ClearBufferData); gl.ClearBufferSubData = (void APIENTRY (*)(GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data)) ldg_find("glClearBufferSubData", lib); GL_CHECK(gl.ClearBufferSubData); gl.ClearBufferfi = (void APIENTRY (*)(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil)) ldg_find("glClearBufferfi", lib); GL_CHECK(gl.ClearBufferfi); gl.ClearBufferfv = (void APIENTRY (*)(GLenum buffer, GLint drawbuffer, const GLfloat *value)) ldg_find("glClearBufferfv", lib); GL_CHECK(gl.ClearBufferfv); gl.ClearBufferiv = (void APIENTRY (*)(GLenum buffer, GLint drawbuffer, const GLint *value)) ldg_find("glClearBufferiv", lib); GL_CHECK(gl.ClearBufferiv); gl.ClearBufferuiv = (void APIENTRY (*)(GLenum buffer, GLint drawbuffer, const GLuint *value)) ldg_find("glClearBufferuiv", lib); GL_CHECK(gl.ClearBufferuiv); gl.ClearColor = (void APIENTRY (*)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)) ldg_find("glClearColor", lib); GL_CHECK(gl.ClearColor); gl.ClearColorIiEXT = (void APIENTRY (*)(GLint red, GLint green, GLint blue, GLint alpha)) ldg_find("glClearColorIiEXT", lib); GL_CHECK(gl.ClearColorIiEXT); gl.ClearColorIuiEXT = (void APIENTRY (*)(GLuint red, GLuint green, GLuint blue, GLuint alpha)) ldg_find("glClearColorIuiEXT", lib); GL_CHECK(gl.ClearColorIuiEXT); gl.ClearColorxOES = (void APIENTRY (*)(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha)) ldg_find("glClearColorxOES", lib); GL_CHECK(gl.ClearColorxOES); gl.ClearDebugLogMESA = (void APIENTRY (*)(GLhandleARB obj, GLenum logType, GLenum shaderType)) ldg_find("glClearDebugLogMESA", lib); GL_CHECK(gl.ClearDebugLogMESA); gl.ClearDepth = (void APIENTRY (*)(GLclampd depth)) ldg_find("glClearDepthd", lib); GL_CHECK(gl.ClearDepth); gl.ClearDepthdNV = (void APIENTRY (*)(GLdouble depth)) ldg_find("glClearDepthdNV", lib); GL_CHECK(gl.ClearDepthdNV); gl.ClearDepthf = (void APIENTRY (*)(GLfloat d)) ldg_find("glClearDepth", lib); GL_CHECK(gl.ClearDepthf); gl.ClearDepthfOES = (void APIENTRY (*)(GLclampf depth)) ldg_find("glClearDepthfOES", lib); GL_CHECK(gl.ClearDepthfOES); gl.ClearDepthxOES = (void APIENTRY (*)(GLfixed depth)) ldg_find("glClearDepthxOES", lib); GL_CHECK(gl.ClearDepthxOES); gl.ClearIndex = (void APIENTRY (*)(GLfloat c)) ldg_find("glClearIndex", lib); GL_CHECK(gl.ClearIndex); gl.ClearNamedBufferDataEXT = (void APIENTRY (*)(GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data)) ldg_find("glClearNamedBufferDataEXT", lib); GL_CHECK(gl.ClearNamedBufferDataEXT); gl.ClearNamedBufferSubDataEXT = (void APIENTRY (*)(GLuint buffer, GLenum internalformat, GLsizeiptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data)) ldg_find("glClearNamedBufferSubDataEXT", lib); GL_CHECK(gl.ClearNamedBufferSubDataEXT); gl.ClearStencil = (void APIENTRY (*)(GLint s)) ldg_find("glClearStencil", lib); GL_CHECK(gl.ClearStencil); gl.ClearTexImage = (void APIENTRY (*)(GLuint texture, GLint level, GLenum format, GLenum type, const void *data)) ldg_find("glClearTexImage", lib); GL_CHECK(gl.ClearTexImage); gl.ClearTexSubImage = (void APIENTRY (*)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data)) ldg_find("glClearTexSubImage", lib); GL_CHECK(gl.ClearTexSubImage); gl.ClientActiveTexture = (void APIENTRY (*)(GLenum texture)) ldg_find("glClientActiveTexture", lib); GL_CHECK(gl.ClientActiveTexture); gl.ClientActiveTextureARB = (void APIENTRY (*)(GLenum texture)) ldg_find("glClientActiveTextureARB", lib); GL_CHECK(gl.ClientActiveTextureARB); gl.ClientActiveVertexStreamATI = (void APIENTRY (*)(GLenum stream)) ldg_find("glClientActiveVertexStreamATI", lib); GL_CHECK(gl.ClientActiveVertexStreamATI); gl.ClientAttribDefaultEXT = (void APIENTRY (*)(GLbitfield mask)) ldg_find("glClientAttribDefaultEXT", lib); GL_CHECK(gl.ClientAttribDefaultEXT); gl.ClientWaitSync = (GLenum APIENTRY (*)(GLsync sync, GLbitfield flags, GLuint64 timeout)) ldg_find("glClientWaitSync", lib); GL_CHECK(gl.ClientWaitSync); gl.ClipPlane = (void APIENTRY (*)(GLenum plane, const GLdouble *equation)) ldg_find("glClipPlane", lib); GL_CHECK(gl.ClipPlane); gl.ClipPlanefOES = (void APIENTRY (*)(GLenum plane, const GLfloat *equation)) ldg_find("glClipPlanefOES", lib); GL_CHECK(gl.ClipPlanefOES); gl.ClipPlanexOES = (void APIENTRY (*)(GLenum plane, const GLfixed *equation)) ldg_find("glClipPlanexOES", lib); GL_CHECK(gl.ClipPlanexOES); gl.Color3b = (void APIENTRY (*)(GLbyte32 red, GLbyte32 green, GLbyte32 blue)) ldg_find("glColor3b", lib); GL_CHECK(gl.Color3b); gl.Color3bv = (void APIENTRY (*)(const GLbyte *v)) ldg_find("glColor3bv", lib); GL_CHECK(gl.Color3bv); gl.Color3d = (void APIENTRY (*)(GLdouble red, GLdouble green, GLdouble blue)) ldg_find("glColor3d", lib); GL_CHECK(gl.Color3d); gl.Color3dv = (void APIENTRY (*)(const GLdouble *v)) ldg_find("glColor3dv", lib); GL_CHECK(gl.Color3dv); gl.Color3f = (void APIENTRY (*)(GLfloat red, GLfloat green, GLfloat blue)) ldg_find("glColor3f", lib); GL_CHECK(gl.Color3f); gl.Color3fVertex3fSUN = (void APIENTRY (*)(GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z)) ldg_find("glColor3fVertex3fSUN", lib); GL_CHECK(gl.Color3fVertex3fSUN); gl.Color3fVertex3fvSUN = (void APIENTRY (*)(const GLfloat *c, const GLfloat *v)) ldg_find("glColor3fVertex3fvSUN", lib); GL_CHECK(gl.Color3fVertex3fvSUN); gl.Color3fv = (void APIENTRY (*)(const GLfloat *v)) ldg_find("glColor3fv", lib); GL_CHECK(gl.Color3fv); gl.Color3hNV = (void APIENTRY (*)(GLhalfNV32 red, GLhalfNV32 green, GLhalfNV32 blue)) ldg_find("glColor3hNV", lib); GL_CHECK(gl.Color3hNV); gl.Color3hvNV = (void APIENTRY (*)(const GLhalfNV *v)) ldg_find("glColor3hvNV", lib); GL_CHECK(gl.Color3hvNV); gl.Color3i = (void APIENTRY (*)(GLint red, GLint green, GLint blue)) ldg_find("glColor3i", lib); GL_CHECK(gl.Color3i); gl.Color3iv = (void APIENTRY (*)(const GLint *v)) ldg_find("glColor3iv", lib); GL_CHECK(gl.Color3iv); gl.Color3s = (void APIENTRY (*)(GLshort32 red, GLshort32 green, GLshort32 blue)) ldg_find("glColor3s", lib); GL_CHECK(gl.Color3s); gl.Color3sv = (void APIENTRY (*)(const GLshort *v)) ldg_find("glColor3sv", lib); GL_CHECK(gl.Color3sv); gl.Color3ub = (void APIENTRY (*)(GLubyte32 red, GLubyte32 green, GLubyte32 blue)) ldg_find("glColor3ub", lib); GL_CHECK(gl.Color3ub); gl.Color3ubv = (void APIENTRY (*)(const GLubyte *v)) ldg_find("glColor3ubv", lib); GL_CHECK(gl.Color3ubv); gl.Color3ui = (void APIENTRY (*)(GLuint red, GLuint green, GLuint blue)) ldg_find("glColor3ui", lib); GL_CHECK(gl.Color3ui); gl.Color3uiv = (void APIENTRY (*)(const GLuint *v)) ldg_find("glColor3uiv", lib); GL_CHECK(gl.Color3uiv); gl.Color3us = (void APIENTRY (*)(GLushort32 red, GLushort32 green, GLushort32 blue)) ldg_find("glColor3us", lib); GL_CHECK(gl.Color3us); gl.Color3usv = (void APIENTRY (*)(const GLushort *v)) ldg_find("glColor3usv", lib); GL_CHECK(gl.Color3usv); gl.Color3xOES = (void APIENTRY (*)(GLfixed red, GLfixed green, GLfixed blue)) ldg_find("glColor3xOES", lib); GL_CHECK(gl.Color3xOES); gl.Color3xvOES = (void APIENTRY (*)(const GLfixed *components)) ldg_find("glColor3xvOES", lib); GL_CHECK(gl.Color3xvOES); gl.Color4b = (void APIENTRY (*)(GLbyte32 red, GLbyte32 green, GLbyte32 blue, GLbyte32 alpha)) ldg_find("glColor4b", lib); GL_CHECK(gl.Color4b); gl.Color4bv = (void APIENTRY (*)(const GLbyte *v)) ldg_find("glColor4bv", lib); GL_CHECK(gl.Color4bv); gl.Color4d = (void APIENTRY (*)(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha)) ldg_find("glColor4d", lib); GL_CHECK(gl.Color4d); gl.Color4dv = (void APIENTRY (*)(const GLdouble *v)) ldg_find("glColor4dv", lib); GL_CHECK(gl.Color4dv); gl.Color4f = (void APIENTRY (*)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)) ldg_find("glColor4f", lib); GL_CHECK(gl.Color4f); gl.Color4fNormal3fVertex3fSUN = (void APIENTRY (*)(GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z)) ldg_find("glColor4fNormal3fVertex3fSUN", lib); GL_CHECK(gl.Color4fNormal3fVertex3fSUN); gl.Color4fNormal3fVertex3fvSUN = (void APIENTRY (*)(const GLfloat *c, const GLfloat *n, const GLfloat *v)) ldg_find("glColor4fNormal3fVertex3fvSUN", lib); GL_CHECK(gl.Color4fNormal3fVertex3fvSUN); gl.Color4fv = (void APIENTRY (*)(const GLfloat *v)) ldg_find("glColor4fv", lib); GL_CHECK(gl.Color4fv); gl.Color4hNV = (void APIENTRY (*)(GLhalfNV32 red, GLhalfNV32 green, GLhalfNV32 blue, GLhalfNV32 alpha)) ldg_find("glColor4hNV", lib); GL_CHECK(gl.Color4hNV); gl.Color4hvNV = (void APIENTRY (*)(const GLhalfNV *v)) ldg_find("glColor4hvNV", lib); GL_CHECK(gl.Color4hvNV); gl.Color4i = (void APIENTRY (*)(GLint red, GLint green, GLint blue, GLint alpha)) ldg_find("glColor4i", lib); GL_CHECK(gl.Color4i); gl.Color4iv = (void APIENTRY (*)(const GLint *v)) ldg_find("glColor4iv", lib); GL_CHECK(gl.Color4iv); gl.Color4s = (void APIENTRY (*)(GLshort32 red, GLshort32 green, GLshort32 blue, GLshort32 alpha)) ldg_find("glColor4s", lib); GL_CHECK(gl.Color4s); gl.Color4sv = (void APIENTRY (*)(const GLshort *v)) ldg_find("glColor4sv", lib); GL_CHECK(gl.Color4sv); gl.Color4ub = (void APIENTRY (*)(GLubyte32 red, GLubyte32 green, GLubyte32 blue, GLubyte32 alpha)) ldg_find("glColor4ub", lib); GL_CHECK(gl.Color4ub); gl.Color4ubVertex2fSUN = (void APIENTRY (*)(GLubyte32 r, GLubyte32 g, GLubyte32 b, GLubyte32 a, GLfloat x, GLfloat y)) ldg_find("glColor4ubVertex2fSUN", lib); GL_CHECK(gl.Color4ubVertex2fSUN); gl.Color4ubVertex2fvSUN = (void APIENTRY (*)(const GLubyte *c, const GLfloat *v)) ldg_find("glColor4ubVertex2fvSUN", lib); GL_CHECK(gl.Color4ubVertex2fvSUN); gl.Color4ubVertex3fSUN = (void APIENTRY (*)(GLubyte32 r, GLubyte32 g, GLubyte32 b, GLubyte32 a, GLfloat x, GLfloat y, GLfloat z)) ldg_find("glColor4ubVertex3fSUN", lib); GL_CHECK(gl.Color4ubVertex3fSUN); gl.Color4ubVertex3fvSUN = (void APIENTRY (*)(const GLubyte *c, const GLfloat *v)) ldg_find("glColor4ubVertex3fvSUN", lib); GL_CHECK(gl.Color4ubVertex3fvSUN); gl.Color4ubv = (void APIENTRY (*)(const GLubyte *v)) ldg_find("glColor4ubv", lib); GL_CHECK(gl.Color4ubv); gl.Color4ui = (void APIENTRY (*)(GLuint red, GLuint green, GLuint blue, GLuint alpha)) ldg_find("glColor4ui", lib); GL_CHECK(gl.Color4ui); gl.Color4uiv = (void APIENTRY (*)(const GLuint *v)) ldg_find("glColor4uiv", lib); GL_CHECK(gl.Color4uiv); gl.Color4us = (void APIENTRY (*)(GLushort32 red, GLushort32 green, GLushort32 blue, GLushort32 alpha)) ldg_find("glColor4us", lib); GL_CHECK(gl.Color4us); gl.Color4usv = (void APIENTRY (*)(const GLushort *v)) ldg_find("glColor4usv", lib); GL_CHECK(gl.Color4usv); gl.Color4xOES = (void APIENTRY (*)(GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha)) ldg_find("glColor4xOES", lib); GL_CHECK(gl.Color4xOES); gl.Color4xvOES = (void APIENTRY (*)(const GLfixed *components)) ldg_find("glColor4xvOES", lib); GL_CHECK(gl.Color4xvOES); gl.ColorFormatNV = (void APIENTRY (*)(GLint size, GLenum type, GLsizei stride)) ldg_find("glColorFormatNV", lib); GL_CHECK(gl.ColorFormatNV); gl.ColorFragmentOp1ATI = (void APIENTRY (*)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod)) ldg_find("glColorFragmentOp1ATI", lib); GL_CHECK(gl.ColorFragmentOp1ATI); gl.ColorFragmentOp2ATI = (void APIENTRY (*)(GLenum op, GLuint dst, GLuint dstMask, GLuint dstMod, GLuint arg1, GLuint arg1Rep, GLuint arg1Mod, GLuint arg2, GLuint arg2Rep, GLuint arg2Mod)) ldg_find("glColorFragmentOp2ATI", lib); GL_CHECK(gl.ColorFragmentOp2ATI); gl.ColorFragmentOp3ATI = (void APIENTRY (*)(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)) ldg_find("glColorFragmentOp3ATI", lib); GL_CHECK(gl.ColorFragmentOp3ATI); gl.ColorMask = (void APIENTRY (*)(GLboolean32 red, GLboolean32 green, GLboolean32 blue, GLboolean32 alpha)) ldg_find("glColorMask", lib); GL_CHECK(gl.ColorMask); gl.ColorMaskIndexedEXT = (void APIENTRY (*)(GLuint index, GLboolean32 r, GLboolean32 g, GLboolean32 b, GLboolean32 a)) ldg_find("glColorMaskIndexedEXT", lib); GL_CHECK(gl.ColorMaskIndexedEXT); gl.ColorMaski = (void APIENTRY (*)(GLuint index, GLboolean32 r, GLboolean32 g, GLboolean32 b, GLboolean32 a)) ldg_find("glColorMaski", lib); GL_CHECK(gl.ColorMaski); gl.ColorMaterial = (void APIENTRY (*)(GLenum face, GLenum mode)) ldg_find("glColorMaterial", lib); GL_CHECK(gl.ColorMaterial); gl.ColorP3ui = (void APIENTRY (*)(GLenum type, GLuint color)) ldg_find("glColorP3ui", lib); GL_CHECK(gl.ColorP3ui); gl.ColorP3uiv = (void APIENTRY (*)(GLenum type, const GLuint *color)) ldg_find("glColorP3uiv", lib); GL_CHECK(gl.ColorP3uiv); gl.ColorP4ui = (void APIENTRY (*)(GLenum type, GLuint color)) ldg_find("glColorP4ui", lib); GL_CHECK(gl.ColorP4ui); gl.ColorP4uiv = (void APIENTRY (*)(GLenum type, const GLuint *color)) ldg_find("glColorP4uiv", lib); GL_CHECK(gl.ColorP4uiv); gl.ColorPointer = (void APIENTRY (*)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)) ldg_find("glColorPointer", lib); GL_CHECK(gl.ColorPointer); gl.ColorPointerEXT = (void APIENTRY (*)(GLint size, GLenum type, GLsizei stride, GLsizei count, const void *pointer)) ldg_find("glColorPointerEXT", lib); GL_CHECK(gl.ColorPointerEXT); gl.ColorPointerListIBM = (void APIENTRY (*)(GLint size, GLenum type, GLint stride, const void * *pointer, GLint ptrstride)) ldg_find("glColorPointerListIBM", lib); GL_CHECK(gl.ColorPointerListIBM); gl.ColorPointervINTEL = (void APIENTRY (*)(GLint size, GLenum type, const void * *pointer)) ldg_find("glColorPointervINTEL", lib); GL_CHECK(gl.ColorPointervINTEL); gl.ColorSubTable = (void APIENTRY (*)(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const void *data)) ldg_find("glColorSubTable", lib); GL_CHECK(gl.ColorSubTable); gl.ColorSubTableEXT = (void APIENTRY (*)(GLenum target, GLsizei start, GLsizei count, GLenum format, GLenum type, const void *data)) ldg_find("glColorSubTableEXT", lib); GL_CHECK(gl.ColorSubTableEXT); gl.ColorTable = (void APIENTRY (*)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *table)) ldg_find("glColorTable", lib); GL_CHECK(gl.ColorTable); gl.ColorTableEXT = (void APIENTRY (*)(GLenum target, GLenum internalFormat, GLsizei width, GLenum format, GLenum type, const void *table)) ldg_find("glColorTableEXT", lib); GL_CHECK(gl.ColorTableEXT); gl.ColorTableParameterfv = (void APIENTRY (*)(GLenum target, GLenum pname, const GLfloat *params)) ldg_find("glColorTableParameterfv", lib); GL_CHECK(gl.ColorTableParameterfv); gl.ColorTableParameterfvSGI = (void APIENTRY (*)(GLenum target, GLenum pname, const GLfloat *params)) ldg_find("glColorTableParameterfvSGI", lib); GL_CHECK(gl.ColorTableParameterfvSGI); gl.ColorTableParameteriv = (void APIENTRY (*)(GLenum target, GLenum pname, const GLint *params)) ldg_find("glColorTableParameteriv", lib); GL_CHECK(gl.ColorTableParameteriv); gl.ColorTableParameterivSGI = (void APIENTRY (*)(GLenum target, GLenum pname, const GLint *params)) ldg_find("glColorTableParameterivSGI", lib); GL_CHECK(gl.ColorTableParameterivSGI); gl.ColorTableSGI = (void APIENTRY (*)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *table)) ldg_find("glColorTableSGI", lib); GL_CHECK(gl.ColorTableSGI); gl.CombinerInputNV = (void APIENTRY (*)(GLenum stage, GLenum portion, GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage)) ldg_find("glCombinerInputNV", lib); GL_CHECK(gl.CombinerInputNV); gl.CombinerOutputNV = (void APIENTRY (*)(GLenum stage, GLenum portion, GLenum abOutput, GLenum cdOutput, GLenum sumOutput, GLenum scale, GLenum bias, GLboolean32 abDotProduct, GLboolean32 cdDotProduct, GLboolean32 muxSum)) ldg_find("glCombinerOutputNV", lib); GL_CHECK(gl.CombinerOutputNV); gl.CombinerParameterfNV = (void APIENTRY (*)(GLenum pname, GLfloat param)) ldg_find("glCombinerParameterfNV", lib); GL_CHECK(gl.CombinerParameterfNV); gl.CombinerParameterfvNV = (void APIENTRY (*)(GLenum pname, const GLfloat *params)) ldg_find("glCombinerParameterfvNV", lib); GL_CHECK(gl.CombinerParameterfvNV); gl.CombinerParameteriNV = (void APIENTRY (*)(GLenum pname, GLint param)) ldg_find("glCombinerParameteriNV", lib); GL_CHECK(gl.CombinerParameteriNV); gl.CombinerParameterivNV = (void APIENTRY (*)(GLenum pname, const GLint *params)) ldg_find("glCombinerParameterivNV", lib); GL_CHECK(gl.CombinerParameterivNV); gl.CombinerStageParameterfvNV = (void APIENTRY (*)(GLenum stage, GLenum pname, const GLfloat *params)) ldg_find("glCombinerStageParameterfvNV", lib); GL_CHECK(gl.CombinerStageParameterfvNV); gl.CompileShader = (void APIENTRY (*)(GLuint shader)) ldg_find("glCompileShader", lib); GL_CHECK(gl.CompileShader); gl.CompileShaderARB = (void APIENTRY (*)(GLhandleARB shaderObj)) ldg_find("glCompileShaderARB", lib); GL_CHECK(gl.CompileShaderARB); gl.CompileShaderIncludeARB = (void APIENTRY (*)(GLuint shader, GLsizei count, const GLchar *const *path, const GLint *length)) ldg_find("glCompileShaderIncludeARB", lib); GL_CHECK(gl.CompileShaderIncludeARB); gl.CompressedMultiTexImage1DEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *bits)) ldg_find("glCompressedMultiTexImage1DEXT", lib); GL_CHECK(gl.CompressedMultiTexImage1DEXT); gl.CompressedMultiTexImage2DEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *bits)) ldg_find("glCompressedMultiTexImage2DEXT", lib); GL_CHECK(gl.CompressedMultiTexImage2DEXT); gl.CompressedMultiTexImage3DEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *bits)) ldg_find("glCompressedMultiTexImage3DEXT", lib); GL_CHECK(gl.CompressedMultiTexImage3DEXT); gl.CompressedMultiTexSubImage1DEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *bits)) ldg_find("glCompressedMultiTexSubImage1DEXT", lib); GL_CHECK(gl.CompressedMultiTexSubImage1DEXT); gl.CompressedMultiTexSubImage2DEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *bits)) ldg_find("glCompressedMultiTexSubImage2DEXT", lib); GL_CHECK(gl.CompressedMultiTexSubImage2DEXT); gl.CompressedMultiTexSubImage3DEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *bits)) ldg_find("glCompressedMultiTexSubImage3DEXT", lib); GL_CHECK(gl.CompressedMultiTexSubImage3DEXT); gl.CompressedTexImage1D = (void APIENTRY (*)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data)) ldg_find("glCompressedTexImage1D", lib); GL_CHECK(gl.CompressedTexImage1D); gl.CompressedTexImage1DARB = (void APIENTRY (*)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data)) ldg_find("glCompressedTexImage1DARB", lib); GL_CHECK(gl.CompressedTexImage1DARB); gl.CompressedTexImage2D = (void APIENTRY (*)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data)) ldg_find("glCompressedTexImage2D", lib); GL_CHECK(gl.CompressedTexImage2D); gl.CompressedTexImage2DARB = (void APIENTRY (*)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data)) ldg_find("glCompressedTexImage2DARB", lib); GL_CHECK(gl.CompressedTexImage2DARB); gl.CompressedTexImage3D = (void APIENTRY (*)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data)) ldg_find("glCompressedTexImage3D", lib); GL_CHECK(gl.CompressedTexImage3D); gl.CompressedTexImage3DARB = (void APIENTRY (*)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data)) ldg_find("glCompressedTexImage3DARB", lib); GL_CHECK(gl.CompressedTexImage3DARB); gl.CompressedTexSubImage1D = (void APIENTRY (*)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data)) ldg_find("glCompressedTexSubImage1D", lib); GL_CHECK(gl.CompressedTexSubImage1D); gl.CompressedTexSubImage1DARB = (void APIENTRY (*)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data)) ldg_find("glCompressedTexSubImage1DARB", lib); GL_CHECK(gl.CompressedTexSubImage1DARB); gl.CompressedTexSubImage2D = (void APIENTRY (*)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data)) ldg_find("glCompressedTexSubImage2D", lib); GL_CHECK(gl.CompressedTexSubImage2D); gl.CompressedTexSubImage2DARB = (void APIENTRY (*)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data)) ldg_find("glCompressedTexSubImage2DARB", lib); GL_CHECK(gl.CompressedTexSubImage2DARB); gl.CompressedTexSubImage3D = (void APIENTRY (*)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data)) ldg_find("glCompressedTexSubImage3D", lib); GL_CHECK(gl.CompressedTexSubImage3D); gl.CompressedTexSubImage3DARB = (void APIENTRY (*)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data)) ldg_find("glCompressedTexSubImage3DARB", lib); GL_CHECK(gl.CompressedTexSubImage3DARB); gl.CompressedTextureImage1DEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *bits)) ldg_find("glCompressedTextureImage1DEXT", lib); GL_CHECK(gl.CompressedTextureImage1DEXT); gl.CompressedTextureImage2DEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *bits)) ldg_find("glCompressedTextureImage2DEXT", lib); GL_CHECK(gl.CompressedTextureImage2DEXT); gl.CompressedTextureImage3DEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *bits)) ldg_find("glCompressedTextureImage3DEXT", lib); GL_CHECK(gl.CompressedTextureImage3DEXT); gl.CompressedTextureSubImage1DEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *bits)) ldg_find("glCompressedTextureSubImage1DEXT", lib); GL_CHECK(gl.CompressedTextureSubImage1DEXT); gl.CompressedTextureSubImage2DEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *bits)) ldg_find("glCompressedTextureSubImage2DEXT", lib); GL_CHECK(gl.CompressedTextureSubImage2DEXT); gl.CompressedTextureSubImage3DEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *bits)) ldg_find("glCompressedTextureSubImage3DEXT", lib); GL_CHECK(gl.CompressedTextureSubImage3DEXT); gl.ConvolutionFilter1D = (void APIENTRY (*)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *image)) ldg_find("glConvolutionFilter1D", lib); GL_CHECK(gl.ConvolutionFilter1D); gl.ConvolutionFilter1DEXT = (void APIENTRY (*)(GLenum target, GLenum internalformat, GLsizei width, GLenum format, GLenum type, const void *image)) ldg_find("glConvolutionFilter1DEXT", lib); GL_CHECK(gl.ConvolutionFilter1DEXT); gl.ConvolutionFilter2D = (void APIENTRY (*)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *image)) ldg_find("glConvolutionFilter2D", lib); GL_CHECK(gl.ConvolutionFilter2D); gl.ConvolutionFilter2DEXT = (void APIENTRY (*)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *image)) ldg_find("glConvolutionFilter2DEXT", lib); GL_CHECK(gl.ConvolutionFilter2DEXT); gl.ConvolutionParameterf = (void APIENTRY (*)(GLenum target, GLenum pname, GLfloat params)) ldg_find("glConvolutionParameterf", lib); GL_CHECK(gl.ConvolutionParameterf); gl.ConvolutionParameterfEXT = (void APIENTRY (*)(GLenum target, GLenum pname, GLfloat params)) ldg_find("glConvolutionParameterfEXT", lib); GL_CHECK(gl.ConvolutionParameterfEXT); gl.ConvolutionParameterfv = (void APIENTRY (*)(GLenum target, GLenum pname, const GLfloat *params)) ldg_find("glConvolutionParameterfv", lib); GL_CHECK(gl.ConvolutionParameterfv); gl.ConvolutionParameterfvEXT = (void APIENTRY (*)(GLenum target, GLenum pname, const GLfloat *params)) ldg_find("glConvolutionParameterfvEXT", lib); GL_CHECK(gl.ConvolutionParameterfvEXT); gl.ConvolutionParameteri = (void APIENTRY (*)(GLenum target, GLenum pname, GLint params)) ldg_find("glConvolutionParameteri", lib); GL_CHECK(gl.ConvolutionParameteri); gl.ConvolutionParameteriEXT = (void APIENTRY (*)(GLenum target, GLenum pname, GLint params)) ldg_find("glConvolutionParameteriEXT", lib); GL_CHECK(gl.ConvolutionParameteriEXT); gl.ConvolutionParameteriv = (void APIENTRY (*)(GLenum target, GLenum pname, const GLint *params)) ldg_find("glConvolutionParameteriv", lib); GL_CHECK(gl.ConvolutionParameteriv); gl.ConvolutionParameterivEXT = (void APIENTRY (*)(GLenum target, GLenum pname, const GLint *params)) ldg_find("glConvolutionParameterivEXT", lib); GL_CHECK(gl.ConvolutionParameterivEXT); gl.ConvolutionParameterxOES = (void APIENTRY (*)(GLenum target, GLenum pname, GLfixed param)) ldg_find("glConvolutionParameterxOES", lib); GL_CHECK(gl.ConvolutionParameterxOES); gl.ConvolutionParameterxvOES = (void APIENTRY (*)(GLenum target, GLenum pname, const GLfixed *params)) ldg_find("glConvolutionParameterxvOES", lib); GL_CHECK(gl.ConvolutionParameterxvOES); gl.CopyBufferSubData = (void APIENTRY (*)(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size)) ldg_find("glCopyBufferSubData", lib); GL_CHECK(gl.CopyBufferSubData); gl.CopyColorSubTable = (void APIENTRY (*)(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width)) ldg_find("glCopyColorSubTable", lib); GL_CHECK(gl.CopyColorSubTable); gl.CopyColorSubTableEXT = (void APIENTRY (*)(GLenum target, GLsizei start, GLint x, GLint y, GLsizei width)) ldg_find("glCopyColorSubTableEXT", lib); GL_CHECK(gl.CopyColorSubTableEXT); gl.CopyColorTable = (void APIENTRY (*)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)) ldg_find("glCopyColorTable", lib); GL_CHECK(gl.CopyColorTable); gl.CopyColorTableSGI = (void APIENTRY (*)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)) ldg_find("glCopyColorTableSGI", lib); GL_CHECK(gl.CopyColorTableSGI); gl.CopyConvolutionFilter1D = (void APIENTRY (*)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)) ldg_find("glCopyConvolutionFilter1D", lib); GL_CHECK(gl.CopyConvolutionFilter1D); gl.CopyConvolutionFilter1DEXT = (void APIENTRY (*)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width)) ldg_find("glCopyConvolutionFilter1DEXT", lib); GL_CHECK(gl.CopyConvolutionFilter1DEXT); gl.CopyConvolutionFilter2D = (void APIENTRY (*)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height)) ldg_find("glCopyConvolutionFilter2D", lib); GL_CHECK(gl.CopyConvolutionFilter2D); gl.CopyConvolutionFilter2DEXT = (void APIENTRY (*)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height)) ldg_find("glCopyConvolutionFilter2DEXT", lib); GL_CHECK(gl.CopyConvolutionFilter2DEXT); gl.CopyImageSubData = (void APIENTRY (*)(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth)) ldg_find("glCopyImageSubData", lib); GL_CHECK(gl.CopyImageSubData); gl.CopyImageSubDataNV = (void APIENTRY (*)(GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth)) ldg_find("glCopyImageSubDataNV", lib); GL_CHECK(gl.CopyImageSubDataNV); gl.CopyMultiTexImage1DEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)) ldg_find("glCopyMultiTexImage1DEXT", lib); GL_CHECK(gl.CopyMultiTexImage1DEXT); gl.CopyMultiTexImage2DEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)) ldg_find("glCopyMultiTexImage2DEXT", lib); GL_CHECK(gl.CopyMultiTexImage2DEXT); gl.CopyMultiTexSubImage1DEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)) ldg_find("glCopyMultiTexSubImage1DEXT", lib); GL_CHECK(gl.CopyMultiTexSubImage1DEXT); gl.CopyMultiTexSubImage2DEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)) ldg_find("glCopyMultiTexSubImage2DEXT", lib); GL_CHECK(gl.CopyMultiTexSubImage2DEXT); gl.CopyMultiTexSubImage3DEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)) ldg_find("glCopyMultiTexSubImage3DEXT", lib); GL_CHECK(gl.CopyMultiTexSubImage3DEXT); gl.CopyPathNV = (void APIENTRY (*)(GLuint resultPath, GLuint srcPath)) ldg_find("glCopyPathNV", lib); GL_CHECK(gl.CopyPathNV); gl.CopyPixels = (void APIENTRY (*)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum type)) ldg_find("glCopyPixels", lib); GL_CHECK(gl.CopyPixels); gl.CopyTexImage1D = (void APIENTRY (*)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)) ldg_find("glCopyTexImage1D", lib); GL_CHECK(gl.CopyTexImage1D); gl.CopyTexImage1DEXT = (void APIENTRY (*)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)) ldg_find("glCopyTexImage1DEXT", lib); GL_CHECK(gl.CopyTexImage1DEXT); gl.CopyTexImage2D = (void APIENTRY (*)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)) ldg_find("glCopyTexImage2D", lib); GL_CHECK(gl.CopyTexImage2D); gl.CopyTexImage2DEXT = (void APIENTRY (*)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)) ldg_find("glCopyTexImage2DEXT", lib); GL_CHECK(gl.CopyTexImage2DEXT); gl.CopyTexSubImage1D = (void APIENTRY (*)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)) ldg_find("glCopyTexSubImage1D", lib); GL_CHECK(gl.CopyTexSubImage1D); gl.CopyTexSubImage1DEXT = (void APIENTRY (*)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)) ldg_find("glCopyTexSubImage1DEXT", lib); GL_CHECK(gl.CopyTexSubImage1DEXT); gl.CopyTexSubImage2D = (void APIENTRY (*)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)) ldg_find("glCopyTexSubImage2D", lib); GL_CHECK(gl.CopyTexSubImage2D); gl.CopyTexSubImage2DEXT = (void APIENTRY (*)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)) ldg_find("glCopyTexSubImage2DEXT", lib); GL_CHECK(gl.CopyTexSubImage2DEXT); gl.CopyTexSubImage3D = (void APIENTRY (*)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)) ldg_find("glCopyTexSubImage3D", lib); GL_CHECK(gl.CopyTexSubImage3D); gl.CopyTexSubImage3DEXT = (void APIENTRY (*)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)) ldg_find("glCopyTexSubImage3DEXT", lib); GL_CHECK(gl.CopyTexSubImage3DEXT); gl.CopyTextureImage1DEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border)) ldg_find("glCopyTextureImage1DEXT", lib); GL_CHECK(gl.CopyTextureImage1DEXT); gl.CopyTextureImage2DEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border)) ldg_find("glCopyTextureImage2DEXT", lib); GL_CHECK(gl.CopyTextureImage2DEXT); gl.CopyTextureSubImage1DEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)) ldg_find("glCopyTextureSubImage1DEXT", lib); GL_CHECK(gl.CopyTextureSubImage1DEXT); gl.CopyTextureSubImage2DEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)) ldg_find("glCopyTextureSubImage2DEXT", lib); GL_CHECK(gl.CopyTextureSubImage2DEXT); gl.CopyTextureSubImage3DEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)) ldg_find("glCopyTextureSubImage3DEXT", lib); GL_CHECK(gl.CopyTextureSubImage3DEXT); gl.CoverFillPathInstancedNV = (void APIENTRY (*)(GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues)) ldg_find("glCoverFillPathInstancedNV", lib); GL_CHECK(gl.CoverFillPathInstancedNV); gl.CoverFillPathNV = (void APIENTRY (*)(GLuint path, GLenum coverMode)) ldg_find("glCoverFillPathNV", lib); GL_CHECK(gl.CoverFillPathNV); gl.CoverStrokePathInstancedNV = (void APIENTRY (*)(GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues)) ldg_find("glCoverStrokePathInstancedNV", lib); GL_CHECK(gl.CoverStrokePathInstancedNV); gl.CoverStrokePathNV = (void APIENTRY (*)(GLuint path, GLenum coverMode)) ldg_find("glCoverStrokePathNV", lib); GL_CHECK(gl.CoverStrokePathNV); gl.CreateDebugObjectMESA = (GLhandleARB APIENTRY (*)(void)) ldg_find("glCreateDebugObjectMESA", lib); GL_CHECK(gl.CreateDebugObjectMESA); gl.CreatePerfQueryINTEL = (void APIENTRY (*)(GLuint queryId, GLuint *queryHandle)) ldg_find("glCreatePerfQueryINTEL", lib); GL_CHECK(gl.CreatePerfQueryINTEL); gl.CreateProgram = (GLuint APIENTRY (*)(void)) ldg_find("glCreateProgram", lib); GL_CHECK(gl.CreateProgram); gl.CreateProgramObjectARB = (GLhandleARB APIENTRY (*)(void)) ldg_find("glCreateProgramObjectARB", lib); GL_CHECK(gl.CreateProgramObjectARB); gl.CreateShader = (GLuint APIENTRY (*)(GLenum type)) ldg_find("glCreateShader", lib); GL_CHECK(gl.CreateShader); gl.CreateShaderObjectARB = (GLhandleARB APIENTRY (*)(GLenum shaderType)) ldg_find("glCreateShaderObjectARB", lib); GL_CHECK(gl.CreateShaderObjectARB); gl.CreateShaderProgramEXT = (GLuint APIENTRY (*)(GLenum type, const GLchar *string)) ldg_find("glCreateShaderProgramEXT", lib); GL_CHECK(gl.CreateShaderProgramEXT); gl.CreateShaderProgramv = (GLuint APIENTRY (*)(GLenum type, GLsizei count, const GLchar *const *strings)) ldg_find("glCreateShaderProgramv", lib); GL_CHECK(gl.CreateShaderProgramv); gl.CreateSyncFromCLeventARB = (GLsync APIENTRY (*)(struct _cl_context *context, struct _cl_event *event, GLbitfield flags)) ldg_find("glCreateSyncFromCLeventARB", lib); GL_CHECK(gl.CreateSyncFromCLeventARB); gl.CullFace = (void APIENTRY (*)(GLenum mode)) ldg_find("glCullFace", lib); GL_CHECK(gl.CullFace); gl.CullParameterdvEXT = (void APIENTRY (*)(GLenum pname, GLdouble *params)) ldg_find("glCullParameterdvEXT", lib); GL_CHECK(gl.CullParameterdvEXT); gl.CullParameterfvEXT = (void APIENTRY (*)(GLenum pname, GLfloat *params)) ldg_find("glCullParameterfvEXT", lib); GL_CHECK(gl.CullParameterfvEXT); gl.CurrentPaletteMatrixARB = (void APIENTRY (*)(GLint index)) ldg_find("glCurrentPaletteMatrixARB", lib); GL_CHECK(gl.CurrentPaletteMatrixARB); gl.DebugMessageCallback = (void APIENTRY (*)(GLDEBUGPROC callback, const void *userParam)) ldg_find("glDebugMessageCallback", lib); GL_CHECK(gl.DebugMessageCallback); gl.DebugMessageCallbackAMD = (void APIENTRY (*)(GLDEBUGPROCAMD callback, void *userParam)) ldg_find("glDebugMessageCallbackAMD", lib); GL_CHECK(gl.DebugMessageCallbackAMD); gl.DebugMessageCallbackARB = (void APIENTRY (*)(GLDEBUGPROCARB callback, const void *userParam)) ldg_find("glDebugMessageCallbackARB", lib); GL_CHECK(gl.DebugMessageCallbackARB); gl.DebugMessageControl = (void APIENTRY (*)(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean32 enabled)) ldg_find("glDebugMessageControl", lib); GL_CHECK(gl.DebugMessageControl); gl.DebugMessageControlARB = (void APIENTRY (*)(GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean32 enabled)) ldg_find("glDebugMessageControlARB", lib); GL_CHECK(gl.DebugMessageControlARB); gl.DebugMessageEnableAMD = (void APIENTRY (*)(GLenum category, GLenum severity, GLsizei count, const GLuint *ids, GLboolean32 enabled)) ldg_find("glDebugMessageEnableAMD", lib); GL_CHECK(gl.DebugMessageEnableAMD); gl.DebugMessageInsert = (void APIENTRY (*)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf)) ldg_find("glDebugMessageInsert", lib); GL_CHECK(gl.DebugMessageInsert); gl.DebugMessageInsertAMD = (void APIENTRY (*)(GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar *buf)) ldg_find("glDebugMessageInsertAMD", lib); GL_CHECK(gl.DebugMessageInsertAMD); gl.DebugMessageInsertARB = (void APIENTRY (*)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf)) ldg_find("glDebugMessageInsertARB", lib); GL_CHECK(gl.DebugMessageInsertARB); gl.DeformSGIX = (void APIENTRY (*)(GLbitfield mask)) ldg_find("glDeformSGIX", lib); GL_CHECK(gl.DeformSGIX); gl.DeformationMap3dSGIX = (void APIENTRY (*)(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, GLdouble w1, GLdouble w2, GLint wstride, GLint worder, const GLdouble *points)) ldg_find("glDeformationMap3dSGIX", lib); GL_CHECK(gl.DeformationMap3dSGIX); gl.DeformationMap3fSGIX = (void APIENTRY (*)(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, GLfloat w1, GLfloat w2, GLint wstride, GLint worder, const GLfloat *points)) ldg_find("glDeformationMap3fSGIX", lib); GL_CHECK(gl.DeformationMap3fSGIX); gl.DeleteAsyncMarkersSGIX = (void APIENTRY (*)(GLuint marker, GLsizei range)) ldg_find("glDeleteAsyncMarkersSGIX", lib); GL_CHECK(gl.DeleteAsyncMarkersSGIX); gl.DeleteBuffers = (void APIENTRY (*)(GLsizei n, const GLuint *buffers)) ldg_find("glDeleteBuffers", lib); GL_CHECK(gl.DeleteBuffers); gl.DeleteBuffersARB = (void APIENTRY (*)(GLsizei n, const GLuint *buffers)) ldg_find("glDeleteBuffersARB", lib); GL_CHECK(gl.DeleteBuffersARB); gl.DeleteFencesAPPLE = (void APIENTRY (*)(GLsizei n, const GLuint *fences)) ldg_find("glDeleteFencesAPPLE", lib); GL_CHECK(gl.DeleteFencesAPPLE); gl.DeleteFencesNV = (void APIENTRY (*)(GLsizei n, const GLuint *fences)) ldg_find("glDeleteFencesNV", lib); GL_CHECK(gl.DeleteFencesNV); gl.DeleteFragmentShaderATI = (void APIENTRY (*)(GLuint id)) ldg_find("glDeleteFragmentShaderATI", lib); GL_CHECK(gl.DeleteFragmentShaderATI); gl.DeleteFramebuffers = (void APIENTRY (*)(GLsizei n, const GLuint *framebuffers)) ldg_find("glDeleteFramebuffers", lib); GL_CHECK(gl.DeleteFramebuffers); gl.DeleteFramebuffersEXT = (void APIENTRY (*)(GLsizei n, const GLuint *framebuffers)) ldg_find("glDeleteFramebuffersEXT", lib); GL_CHECK(gl.DeleteFramebuffersEXT); gl.DeleteLists = (void APIENTRY (*)(GLuint list, GLsizei range)) ldg_find("glDeleteLists", lib); GL_CHECK(gl.DeleteLists); gl.DeleteNamedStringARB = (void APIENTRY (*)(GLint namelen, const GLchar *name)) ldg_find("glDeleteNamedStringARB", lib); GL_CHECK(gl.DeleteNamedStringARB); gl.DeleteNamesAMD = (void APIENTRY (*)(GLenum identifier, GLuint num, const GLuint *names)) ldg_find("glDeleteNamesAMD", lib); GL_CHECK(gl.DeleteNamesAMD); gl.DeleteObjectARB = (void APIENTRY (*)(GLhandleARB obj)) ldg_find("glDeleteObjectARB", lib); GL_CHECK(gl.DeleteObjectARB); gl.DeleteObjectBufferATI = (void APIENTRY (*)(GLuint buffer)) ldg_find("glDeleteObjectBufferATI", lib); GL_CHECK(gl.DeleteObjectBufferATI); gl.DeleteOcclusionQueriesNV = (void APIENTRY (*)(GLsizei n, const GLuint *ids)) ldg_find("glDeleteOcclusionQueriesNV", lib); GL_CHECK(gl.DeleteOcclusionQueriesNV); gl.DeletePathsNV = (void APIENTRY (*)(GLuint path, GLsizei range)) ldg_find("glDeletePathsNV", lib); GL_CHECK(gl.DeletePathsNV); gl.DeletePerfMonitorsAMD = (void APIENTRY (*)(GLsizei n, GLuint *monitors)) ldg_find("glDeletePerfMonitorsAMD", lib); GL_CHECK(gl.DeletePerfMonitorsAMD); gl.DeletePerfQueryINTEL = (void APIENTRY (*)(GLuint queryHandle)) ldg_find("glDeletePerfQueryINTEL", lib); GL_CHECK(gl.DeletePerfQueryINTEL); gl.DeleteProgram = (void APIENTRY (*)(GLuint program)) ldg_find("glDeleteProgram", lib); GL_CHECK(gl.DeleteProgram); gl.DeleteProgramPipelines = (void APIENTRY (*)(GLsizei n, const GLuint *pipelines)) ldg_find("glDeleteProgramPipelines", lib); GL_CHECK(gl.DeleteProgramPipelines); gl.DeleteProgramsARB = (void APIENTRY (*)(GLsizei n, const GLuint *programs)) ldg_find("glDeleteProgramsARB", lib); GL_CHECK(gl.DeleteProgramsARB); gl.DeleteProgramsNV = (void APIENTRY (*)(GLsizei n, const GLuint *programs)) ldg_find("glDeleteProgramsNV", lib); GL_CHECK(gl.DeleteProgramsNV); gl.DeleteQueries = (void APIENTRY (*)(GLsizei n, const GLuint *ids)) ldg_find("glDeleteQueries", lib); GL_CHECK(gl.DeleteQueries); gl.DeleteQueriesARB = (void APIENTRY (*)(GLsizei n, const GLuint *ids)) ldg_find("glDeleteQueriesARB", lib); GL_CHECK(gl.DeleteQueriesARB); gl.DeleteRenderbuffers = (void APIENTRY (*)(GLsizei n, const GLuint *renderbuffers)) ldg_find("glDeleteRenderbuffers", lib); GL_CHECK(gl.DeleteRenderbuffers); gl.DeleteRenderbuffersEXT = (void APIENTRY (*)(GLsizei n, const GLuint *renderbuffers)) ldg_find("glDeleteRenderbuffersEXT", lib); GL_CHECK(gl.DeleteRenderbuffersEXT); gl.DeleteSamplers = (void APIENTRY (*)(GLsizei count, const GLuint *samplers)) ldg_find("glDeleteSamplers", lib); GL_CHECK(gl.DeleteSamplers); gl.DeleteShader = (void APIENTRY (*)(GLuint shader)) ldg_find("glDeleteShader", lib); GL_CHECK(gl.DeleteShader); gl.DeleteSync = (void APIENTRY (*)(GLsync sync)) ldg_find("glDeleteSync", lib); GL_CHECK(gl.DeleteSync); gl.DeleteTextures = (void APIENTRY (*)(GLsizei n, const GLuint *textures)) ldg_find("glDeleteTextures", lib); GL_CHECK(gl.DeleteTextures); gl.DeleteTexturesEXT = (void APIENTRY (*)(GLsizei n, const GLuint *textures)) ldg_find("glDeleteTexturesEXT", lib); GL_CHECK(gl.DeleteTexturesEXT); gl.DeleteTransformFeedbacks = (void APIENTRY (*)(GLsizei n, const GLuint *ids)) ldg_find("glDeleteTransformFeedbacks", lib); GL_CHECK(gl.DeleteTransformFeedbacks); gl.DeleteTransformFeedbacksNV = (void APIENTRY (*)(GLsizei n, const GLuint *ids)) ldg_find("glDeleteTransformFeedbacksNV", lib); GL_CHECK(gl.DeleteTransformFeedbacksNV); gl.DeleteVertexArrays = (void APIENTRY (*)(GLsizei n, const GLuint *arrays)) ldg_find("glDeleteVertexArrays", lib); GL_CHECK(gl.DeleteVertexArrays); gl.DeleteVertexArraysAPPLE = (void APIENTRY (*)(GLsizei n, const GLuint *arrays)) ldg_find("glDeleteVertexArraysAPPLE", lib); GL_CHECK(gl.DeleteVertexArraysAPPLE); gl.DeleteVertexShaderEXT = (void APIENTRY (*)(GLuint id)) ldg_find("glDeleteVertexShaderEXT", lib); GL_CHECK(gl.DeleteVertexShaderEXT); gl.DepthBoundsEXT = (void APIENTRY (*)(GLclampd zmin, GLclampd zmax)) ldg_find("glDepthBoundsEXT", lib); GL_CHECK(gl.DepthBoundsEXT); gl.DepthBoundsdNV = (void APIENTRY (*)(GLdouble zmin, GLdouble zmax)) ldg_find("glDepthBoundsdNV", lib); GL_CHECK(gl.DepthBoundsdNV); gl.DepthFunc = (void APIENTRY (*)(GLenum func)) ldg_find("glDepthFunc", lib); GL_CHECK(gl.DepthFunc); gl.DepthMask = (void APIENTRY (*)(GLboolean32 flag)) ldg_find("glDepthMask", lib); GL_CHECK(gl.DepthMask); gl.DepthRange = (void APIENTRY (*)(GLclampd zNear, GLclampd zFar)) ldg_find("glDepthRange", lib); GL_CHECK(gl.DepthRange); gl.DepthRangeArrayv = (void APIENTRY (*)(GLuint first, GLsizei count, const GLdouble *v)) ldg_find("glDepthRangeArrayv", lib); GL_CHECK(gl.DepthRangeArrayv); gl.DepthRangeIndexed = (void APIENTRY (*)(GLuint index, GLdouble n, GLdouble f)) ldg_find("glDepthRangeIndexed", lib); GL_CHECK(gl.DepthRangeIndexed); gl.DepthRangedNV = (void APIENTRY (*)(GLdouble zNear, GLdouble zFar)) ldg_find("glDepthRangedNV", lib); GL_CHECK(gl.DepthRangedNV); gl.DepthRangef = (void APIENTRY (*)(GLfloat n, GLfloat f)) ldg_find("glDepthRangef", lib); GL_CHECK(gl.DepthRangef); gl.DepthRangefOES = (void APIENTRY (*)(GLclampf n, GLclampf f)) ldg_find("glDepthRangefOES", lib); GL_CHECK(gl.DepthRangefOES); gl.DepthRangexOES = (void APIENTRY (*)(GLfixed n, GLfixed f)) ldg_find("glDepthRangexOES", lib); GL_CHECK(gl.DepthRangexOES); gl.DetachObjectARB = (void APIENTRY (*)(GLhandleARB containerObj, GLhandleARB attachedObj)) ldg_find("glDetachObjectARB", lib); GL_CHECK(gl.DetachObjectARB); gl.DetachShader = (void APIENTRY (*)(GLuint program, GLuint shader)) ldg_find("glDetachShader", lib); GL_CHECK(gl.DetachShader); gl.DetailTexFuncSGIS = (void APIENTRY (*)(GLenum target, GLsizei n, const GLfloat *points)) ldg_find("glDetailTexFuncSGIS", lib); GL_CHECK(gl.DetailTexFuncSGIS); gl.Disable = (void APIENTRY (*)(GLenum cap)) ldg_find("glDisable", lib); GL_CHECK(gl.Disable); gl.DisableClientState = (void APIENTRY (*)(GLenum array)) ldg_find("glDisableClientState", lib); GL_CHECK(gl.DisableClientState); gl.DisableClientStateIndexedEXT = (void APIENTRY (*)(GLenum array, GLuint index)) ldg_find("glDisableClientStateIndexedEXT", lib); GL_CHECK(gl.DisableClientStateIndexedEXT); gl.DisableClientStateiEXT = (void APIENTRY (*)(GLenum array, GLuint index)) ldg_find("glDisableClientStateiEXT", lib); GL_CHECK(gl.DisableClientStateiEXT); gl.DisableIndexedEXT = (void APIENTRY (*)(GLenum target, GLuint index)) ldg_find("glDisableIndexedEXT", lib); GL_CHECK(gl.DisableIndexedEXT); gl.DisableTraceMESA = (void APIENTRY (*)(GLbitfield mask)) ldg_find("glDisableTraceMESA", lib); GL_CHECK(gl.DisableTraceMESA); gl.DisableVariantClientStateEXT = (void APIENTRY (*)(GLuint id)) ldg_find("glDisableVariantClientStateEXT", lib); GL_CHECK(gl.DisableVariantClientStateEXT); gl.DisableVertexArrayAttribEXT = (void APIENTRY (*)(GLuint vaobj, GLuint index)) ldg_find("glDisableVertexArrayAttribEXT", lib); GL_CHECK(gl.DisableVertexArrayAttribEXT); gl.DisableVertexArrayEXT = (void APIENTRY (*)(GLuint vaobj, GLenum array)) ldg_find("glDisableVertexArrayEXT", lib); GL_CHECK(gl.DisableVertexArrayEXT); gl.DisableVertexAttribAPPLE = (void APIENTRY (*)(GLuint index, GLenum pname)) ldg_find("glDisableVertexAttribAPPLE", lib); GL_CHECK(gl.DisableVertexAttribAPPLE); gl.DisableVertexAttribArray = (void APIENTRY (*)(GLuint index)) ldg_find("glDisableVertexAttribArray", lib); GL_CHECK(gl.DisableVertexAttribArray); gl.DisableVertexAttribArrayARB = (void APIENTRY (*)(GLuint index)) ldg_find("glDisableVertexAttribArrayARB", lib); GL_CHECK(gl.DisableVertexAttribArrayARB); gl.Disablei = (void APIENTRY (*)(GLenum target, GLuint index)) ldg_find("glDisablei", lib); GL_CHECK(gl.Disablei); gl.DispatchCompute = (void APIENTRY (*)(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z)) ldg_find("glDispatchCompute", lib); GL_CHECK(gl.DispatchCompute); gl.DispatchComputeGroupSizeARB = (void APIENTRY (*)(GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z, GLuint group_size_x, GLuint group_size_y, GLuint group_size_z)) ldg_find("glDispatchComputeGroupSizeARB", lib); GL_CHECK(gl.DispatchComputeGroupSizeARB); gl.DispatchComputeIndirect = (void APIENTRY (*)(GLintptr indirect)) ldg_find("glDispatchComputeIndirect", lib); GL_CHECK(gl.DispatchComputeIndirect); gl.DrawArrays = (void APIENTRY (*)(GLenum mode, GLint first, GLsizei count)) ldg_find("glDrawArrays", lib); GL_CHECK(gl.DrawArrays); gl.DrawArraysEXT = (void APIENTRY (*)(GLenum mode, GLint first, GLsizei count)) ldg_find("glDrawArraysEXT", lib); GL_CHECK(gl.DrawArraysEXT); gl.DrawArraysIndirect = (void APIENTRY (*)(GLenum mode, const void *indirect)) ldg_find("glDrawArraysIndirect", lib); GL_CHECK(gl.DrawArraysIndirect); gl.DrawArraysInstanced = (void APIENTRY (*)(GLenum mode, GLint first, GLsizei count, GLsizei instancecount)) ldg_find("glDrawArraysInstanced", lib); GL_CHECK(gl.DrawArraysInstanced); gl.DrawArraysInstancedARB = (void APIENTRY (*)(GLenum mode, GLint first, GLsizei count, GLsizei primcount)) ldg_find("glDrawArraysInstancedARB", lib); GL_CHECK(gl.DrawArraysInstancedARB); gl.DrawArraysInstancedBaseInstance = (void APIENTRY (*)(GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance)) ldg_find("glDrawArraysInstancedBaseInstance", lib); GL_CHECK(gl.DrawArraysInstancedBaseInstance); gl.DrawArraysInstancedEXT = (void APIENTRY (*)(GLenum mode, GLint start, GLsizei count, GLsizei primcount)) ldg_find("glDrawArraysInstancedEXT", lib); GL_CHECK(gl.DrawArraysInstancedEXT); gl.DrawBuffer = (void APIENTRY (*)(GLenum mode)) ldg_find("glDrawBuffer", lib); GL_CHECK(gl.DrawBuffer); gl.DrawBuffers = (void APIENTRY (*)(GLsizei n, const GLenum *bufs)) ldg_find("glDrawBuffers", lib); GL_CHECK(gl.DrawBuffers); gl.DrawBuffersARB = (void APIENTRY (*)(GLsizei n, const GLenum *bufs)) ldg_find("glDrawBuffersARB", lib); GL_CHECK(gl.DrawBuffersARB); gl.DrawBuffersATI = (void APIENTRY (*)(GLsizei n, const GLenum *bufs)) ldg_find("glDrawBuffersATI", lib); GL_CHECK(gl.DrawBuffersATI); gl.DrawElementArrayAPPLE = (void APIENTRY (*)(GLenum mode, GLint first, GLsizei count)) ldg_find("glDrawElementArrayAPPLE", lib); GL_CHECK(gl.DrawElementArrayAPPLE); gl.DrawElementArrayATI = (void APIENTRY (*)(GLenum mode, GLsizei count)) ldg_find("glDrawElementArrayATI", lib); GL_CHECK(gl.DrawElementArrayATI); gl.DrawElements = (void APIENTRY (*)(GLenum mode, GLsizei count, GLenum type, const GLvoid *indices)) ldg_find("glDrawElements", lib); GL_CHECK(gl.DrawElements); gl.DrawElementsBaseVertex = (void APIENTRY (*)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex)) ldg_find("glDrawElementsBaseVertex", lib); GL_CHECK(gl.DrawElementsBaseVertex); gl.DrawElementsIndirect = (void APIENTRY (*)(GLenum mode, GLenum type, const void *indirect)) ldg_find("glDrawElementsIndirect", lib); GL_CHECK(gl.DrawElementsIndirect); gl.DrawElementsInstanced = (void APIENTRY (*)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount)) ldg_find("glDrawElementsInstanced", lib); GL_CHECK(gl.DrawElementsInstanced); gl.DrawElementsInstancedARB = (void APIENTRY (*)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount)) ldg_find("glDrawElementsInstancedARB", lib); GL_CHECK(gl.DrawElementsInstancedARB); gl.DrawElementsInstancedBaseInstance = (void APIENTRY (*)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance)) ldg_find("glDrawElementsInstancedBaseInstance", lib); GL_CHECK(gl.DrawElementsInstancedBaseInstance); gl.DrawElementsInstancedBaseVertex = (void APIENTRY (*)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex)) ldg_find("glDrawElementsInstancedBaseVertex", lib); GL_CHECK(gl.DrawElementsInstancedBaseVertex); gl.DrawElementsInstancedBaseVertexBaseInstance = (void APIENTRY (*)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance)) ldg_find("glDrawElementsInstancedBaseVertexBaseInstance", lib); GL_CHECK(gl.DrawElementsInstancedBaseVertexBaseInstance); gl.DrawElementsInstancedEXT = (void APIENTRY (*)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount)) ldg_find("glDrawElementsInstancedEXT", lib); GL_CHECK(gl.DrawElementsInstancedEXT); gl.DrawMeshArraysSUN = (void APIENTRY (*)(GLenum mode, GLint first, GLsizei count, GLsizei width)) ldg_find("glDrawMeshArraysSUN", lib); GL_CHECK(gl.DrawMeshArraysSUN); gl.DrawPixels = (void APIENTRY (*)(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)) ldg_find("glDrawPixels", lib); GL_CHECK(gl.DrawPixels); gl.DrawRangeElementArrayAPPLE = (void APIENTRY (*)(GLenum mode, GLuint start, GLuint end, GLint first, GLsizei count)) ldg_find("glDrawRangeElementArrayAPPLE", lib); GL_CHECK(gl.DrawRangeElementArrayAPPLE); gl.DrawRangeElementArrayATI = (void APIENTRY (*)(GLenum mode, GLuint start, GLuint end, GLsizei count)) ldg_find("glDrawRangeElementArrayATI", lib); GL_CHECK(gl.DrawRangeElementArrayATI); gl.DrawRangeElements = (void APIENTRY (*)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices)) ldg_find("glDrawRangeElements", lib); GL_CHECK(gl.DrawRangeElements); gl.DrawRangeElementsBaseVertex = (void APIENTRY (*)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex)) ldg_find("glDrawRangeElementsBaseVertex", lib); GL_CHECK(gl.DrawRangeElementsBaseVertex); gl.DrawRangeElementsEXT = (void APIENTRY (*)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices)) ldg_find("glDrawRangeElementsEXT", lib); GL_CHECK(gl.DrawRangeElementsEXT); gl.DrawTextureNV = (void APIENTRY (*)(GLuint texture, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1)) ldg_find("glDrawTextureNV", lib); GL_CHECK(gl.DrawTextureNV); gl.DrawTransformFeedback = (void APIENTRY (*)(GLenum mode, GLuint id)) ldg_find("glDrawTransformFeedback", lib); GL_CHECK(gl.DrawTransformFeedback); gl.DrawTransformFeedbackInstanced = (void APIENTRY (*)(GLenum mode, GLuint id, GLsizei instancecount)) ldg_find("glDrawTransformFeedbackInstanced", lib); GL_CHECK(gl.DrawTransformFeedbackInstanced); gl.DrawTransformFeedbackNV = (void APIENTRY (*)(GLenum mode, GLuint id)) ldg_find("glDrawTransformFeedbackNV", lib); GL_CHECK(gl.DrawTransformFeedbackNV); gl.DrawTransformFeedbackStream = (void APIENTRY (*)(GLenum mode, GLuint id, GLuint stream)) ldg_find("glDrawTransformFeedbackStream", lib); GL_CHECK(gl.DrawTransformFeedbackStream); gl.DrawTransformFeedbackStreamInstanced = (void APIENTRY (*)(GLenum mode, GLuint id, GLuint stream, GLsizei instancecount)) ldg_find("glDrawTransformFeedbackStreamInstanced", lib); GL_CHECK(gl.DrawTransformFeedbackStreamInstanced); gl.EdgeFlag = (void APIENTRY (*)(GLboolean32 flag)) ldg_find("glEdgeFlag", lib); GL_CHECK(gl.EdgeFlag); gl.EdgeFlagFormatNV = (void APIENTRY (*)(GLsizei stride)) ldg_find("glEdgeFlagFormatNV", lib); GL_CHECK(gl.EdgeFlagFormatNV); gl.EdgeFlagPointer = (void APIENTRY (*)(GLsizei stride, const GLvoid *pointer)) ldg_find("glEdgeFlagPointer", lib); GL_CHECK(gl.EdgeFlagPointer); gl.EdgeFlagPointerEXT = (void APIENTRY (*)(GLsizei stride, GLsizei count, const GLboolean *pointer)) ldg_find("glEdgeFlagPointerEXT", lib); GL_CHECK(gl.EdgeFlagPointerEXT); gl.EdgeFlagPointerListIBM = (void APIENTRY (*)(GLint stride, const GLboolean * *pointer, GLint ptrstride)) ldg_find("glEdgeFlagPointerListIBM", lib); GL_CHECK(gl.EdgeFlagPointerListIBM); gl.EdgeFlagv = (void APIENTRY (*)(const GLboolean *flag)) ldg_find("glEdgeFlagv", lib); GL_CHECK(gl.EdgeFlagv); gl.ElementPointerAPPLE = (void APIENTRY (*)(GLenum type, const void *pointer)) ldg_find("glElementPointerAPPLE", lib); GL_CHECK(gl.ElementPointerAPPLE); gl.ElementPointerATI = (void APIENTRY (*)(GLenum type, const void *pointer)) ldg_find("glElementPointerATI", lib); GL_CHECK(gl.ElementPointerATI); gl.Enable = (void APIENTRY (*)(GLenum cap)) ldg_find("glEnable", lib); GL_CHECK(gl.Enable); gl.EnableClientState = (void APIENTRY (*)(GLenum array)) ldg_find("glEnableClientState", lib); GL_CHECK(gl.EnableClientState); gl.EnableClientStateIndexedEXT = (void APIENTRY (*)(GLenum array, GLuint index)) ldg_find("glEnableClientStateIndexedEXT", lib); GL_CHECK(gl.EnableClientStateIndexedEXT); gl.EnableClientStateiEXT = (void APIENTRY (*)(GLenum array, GLuint index)) ldg_find("glEnableClientStateiEXT", lib); GL_CHECK(gl.EnableClientStateiEXT); gl.EnableIndexedEXT = (void APIENTRY (*)(GLenum target, GLuint index)) ldg_find("glEnableIndexedEXT", lib); GL_CHECK(gl.EnableIndexedEXT); gl.EnableTraceMESA = (void APIENTRY (*)(GLbitfield mask)) ldg_find("glEnableTraceMESA", lib); GL_CHECK(gl.EnableTraceMESA); gl.EnableVariantClientStateEXT = (void APIENTRY (*)(GLuint id)) ldg_find("glEnableVariantClientStateEXT", lib); GL_CHECK(gl.EnableVariantClientStateEXT); gl.EnableVertexArrayAttribEXT = (void APIENTRY (*)(GLuint vaobj, GLuint index)) ldg_find("glEnableVertexArrayAttribEXT", lib); GL_CHECK(gl.EnableVertexArrayAttribEXT); gl.EnableVertexArrayEXT = (void APIENTRY (*)(GLuint vaobj, GLenum array)) ldg_find("glEnableVertexArrayEXT", lib); GL_CHECK(gl.EnableVertexArrayEXT); gl.EnableVertexAttribAPPLE = (void APIENTRY (*)(GLuint index, GLenum pname)) ldg_find("glEnableVertexAttribAPPLE", lib); GL_CHECK(gl.EnableVertexAttribAPPLE); gl.EnableVertexAttribArray = (void APIENTRY (*)(GLuint index)) ldg_find("glEnableVertexAttribArray", lib); GL_CHECK(gl.EnableVertexAttribArray); gl.EnableVertexAttribArrayARB = (void APIENTRY (*)(GLuint index)) ldg_find("glEnableVertexAttribArrayARB", lib); GL_CHECK(gl.EnableVertexAttribArrayARB); gl.Enablei = (void APIENTRY (*)(GLenum target, GLuint index)) ldg_find("glEnablei", lib); GL_CHECK(gl.Enablei); gl.End = (void APIENTRY (*)(void)) ldg_find("glEnd", lib); GL_CHECK(gl.End); gl.EndConditionalRender = (void APIENTRY (*)(void)) ldg_find("glEndConditionalRender", lib); GL_CHECK(gl.EndConditionalRender); gl.EndConditionalRenderNV = (void APIENTRY (*)(void)) ldg_find("glEndConditionalRenderNV", lib); GL_CHECK(gl.EndConditionalRenderNV); gl.EndConditionalRenderNVX = (void APIENTRY (*)(void)) ldg_find("glEndConditionalRenderNVX", lib); GL_CHECK(gl.EndConditionalRenderNVX); gl.EndFragmentShaderATI = (void APIENTRY (*)(void)) ldg_find("glEndFragmentShaderATI", lib); GL_CHECK(gl.EndFragmentShaderATI); gl.EndList = (void APIENTRY (*)(void)) ldg_find("glEndList", lib); GL_CHECK(gl.EndList); gl.EndOcclusionQueryNV = (void APIENTRY (*)(void)) ldg_find("glEndOcclusionQueryNV", lib); GL_CHECK(gl.EndOcclusionQueryNV); gl.EndPerfMonitorAMD = (void APIENTRY (*)(GLuint monitor)) ldg_find("glEndPerfMonitorAMD", lib); GL_CHECK(gl.EndPerfMonitorAMD); gl.EndPerfQueryINTEL = (void APIENTRY (*)(GLuint queryHandle)) ldg_find("glEndPerfQueryINTEL", lib); GL_CHECK(gl.EndPerfQueryINTEL); gl.EndQuery = (void APIENTRY (*)(GLenum target)) ldg_find("glEndQuery", lib); GL_CHECK(gl.EndQuery); gl.EndQueryARB = (void APIENTRY (*)(GLenum target)) ldg_find("glEndQueryARB", lib); GL_CHECK(gl.EndQueryARB); gl.EndQueryIndexed = (void APIENTRY (*)(GLenum target, GLuint index)) ldg_find("glEndQueryIndexed", lib); GL_CHECK(gl.EndQueryIndexed); gl.EndTraceMESA = (void APIENTRY (*)(void)) ldg_find("glEndTraceMESA", lib); GL_CHECK(gl.EndTraceMESA); gl.EndTransformFeedback = (void APIENTRY (*)(void)) ldg_find("glEndTransformFeedback", lib); GL_CHECK(gl.EndTransformFeedback); gl.EndTransformFeedbackEXT = (void APIENTRY (*)(void)) ldg_find("glEndTransformFeedbackEXT", lib); GL_CHECK(gl.EndTransformFeedbackEXT); gl.EndTransformFeedbackNV = (void APIENTRY (*)(void)) ldg_find("glEndTransformFeedbackNV", lib); GL_CHECK(gl.EndTransformFeedbackNV); gl.EndVertexShaderEXT = (void APIENTRY (*)(void)) ldg_find("glEndVertexShaderEXT", lib); GL_CHECK(gl.EndVertexShaderEXT); gl.EndVideoCaptureNV = (void APIENTRY (*)(GLuint video_capture_slot)) ldg_find("glEndVideoCaptureNV", lib); GL_CHECK(gl.EndVideoCaptureNV); gl.EvalCoord1d = (void APIENTRY (*)(GLdouble u)) ldg_find("glEvalCoord1d", lib); GL_CHECK(gl.EvalCoord1d); gl.EvalCoord1dv = (void APIENTRY (*)(const GLdouble *u)) ldg_find("glEvalCoord1dv", lib); GL_CHECK(gl.EvalCoord1dv); gl.EvalCoord1f = (void APIENTRY (*)(GLfloat u)) ldg_find("glEvalCoord1f", lib); GL_CHECK(gl.EvalCoord1f); gl.EvalCoord1fv = (void APIENTRY (*)(const GLfloat *u)) ldg_find("glEvalCoord1fv", lib); GL_CHECK(gl.EvalCoord1fv); gl.EvalCoord1xOES = (void APIENTRY (*)(GLfixed u)) ldg_find("glEvalCoord1xOES", lib); GL_CHECK(gl.EvalCoord1xOES); gl.EvalCoord1xvOES = (void APIENTRY (*)(const GLfixed *coords)) ldg_find("glEvalCoord1xvOES", lib); GL_CHECK(gl.EvalCoord1xvOES); gl.EvalCoord2d = (void APIENTRY (*)(GLdouble u, GLdouble v)) ldg_find("glEvalCoord2d", lib); GL_CHECK(gl.EvalCoord2d); gl.EvalCoord2dv = (void APIENTRY (*)(const GLdouble *u)) ldg_find("glEvalCoord2dv", lib); GL_CHECK(gl.EvalCoord2dv); gl.EvalCoord2f = (void APIENTRY (*)(GLfloat u, GLfloat v)) ldg_find("glEvalCoord2f", lib); GL_CHECK(gl.EvalCoord2f); gl.EvalCoord2fv = (void APIENTRY (*)(const GLfloat *u)) ldg_find("glEvalCoord2fv", lib); GL_CHECK(gl.EvalCoord2fv); gl.EvalCoord2xOES = (void APIENTRY (*)(GLfixed u, GLfixed v)) ldg_find("glEvalCoord2xOES", lib); GL_CHECK(gl.EvalCoord2xOES); gl.EvalCoord2xvOES = (void APIENTRY (*)(const GLfixed *coords)) ldg_find("glEvalCoord2xvOES", lib); GL_CHECK(gl.EvalCoord2xvOES); gl.EvalMapsNV = (void APIENTRY (*)(GLenum target, GLenum mode)) ldg_find("glEvalMapsNV", lib); GL_CHECK(gl.EvalMapsNV); gl.EvalMesh1 = (void APIENTRY (*)(GLenum mode, GLint i1, GLint i2)) ldg_find("glEvalMesh1", lib); GL_CHECK(gl.EvalMesh1); gl.EvalMesh2 = (void APIENTRY (*)(GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2)) ldg_find("glEvalMesh2", lib); GL_CHECK(gl.EvalMesh2); gl.EvalPoint1 = (void APIENTRY (*)(GLint i)) ldg_find("glEvalPoint1", lib); GL_CHECK(gl.EvalPoint1); gl.EvalPoint2 = (void APIENTRY (*)(GLint i, GLint j)) ldg_find("glEvalPoint2", lib); GL_CHECK(gl.EvalPoint2); gl.ExecuteProgramNV = (void APIENTRY (*)(GLenum target, GLuint id, const GLfloat *params)) ldg_find("glExecuteProgramNV", lib); GL_CHECK(gl.ExecuteProgramNV); gl.ExtractComponentEXT = (void APIENTRY (*)(GLuint res, GLuint src, GLuint num)) ldg_find("glExtractComponentEXT", lib); GL_CHECK(gl.ExtractComponentEXT); gl.FeedbackBuffer = (void APIENTRY (*)(GLsizei size, GLenum type, GLfloat *buffer)) ldg_find("glFeedbackBuffer", lib); GL_CHECK(gl.FeedbackBuffer); gl.FeedbackBufferxOES = (void APIENTRY (*)(GLsizei n, GLenum type, const GLfixed *buffer)) ldg_find("glFeedbackBufferxOES", lib); GL_CHECK(gl.FeedbackBufferxOES); gl.FenceSync = (GLsync APIENTRY (*)(GLenum condition, GLbitfield flags)) ldg_find("glFenceSync", lib); GL_CHECK(gl.FenceSync); gl.FinalCombinerInputNV = (void APIENTRY (*)(GLenum variable, GLenum input, GLenum mapping, GLenum componentUsage)) ldg_find("glFinalCombinerInputNV", lib); GL_CHECK(gl.FinalCombinerInputNV); gl.Finish = (void APIENTRY (*)(void)) ldg_find("glFinish", lib); GL_CHECK(gl.Finish); gl.FinishAsyncSGIX = (GLint APIENTRY (*)(GLuint *markerp)) ldg_find("glFinishAsyncSGIX", lib); GL_CHECK(gl.FinishAsyncSGIX); gl.FinishFenceAPPLE = (void APIENTRY (*)(GLuint fence)) ldg_find("glFinishFenceAPPLE", lib); GL_CHECK(gl.FinishFenceAPPLE); gl.FinishFenceNV = (void APIENTRY (*)(GLuint fence)) ldg_find("glFinishFenceNV", lib); GL_CHECK(gl.FinishFenceNV); gl.FinishObjectAPPLE = (void APIENTRY (*)(GLenum object, GLuint name)) ldg_find("glFinishObjectAPPLE", lib); GL_CHECK(gl.FinishObjectAPPLE); gl.FinishRenderAPPLE = (void APIENTRY (*)(void)) ldg_find("glFinishRenderAPPLE", lib); GL_CHECK(gl.FinishRenderAPPLE); gl.FinishTextureSUNX = (void APIENTRY (*)(void)) ldg_find("glFinishTextureSUNX", lib); GL_CHECK(gl.FinishTextureSUNX); gl.Flush = (void APIENTRY (*)(void)) ldg_find("glFlush", lib); GL_CHECK(gl.Flush); gl.FlushMappedBufferRange = (void APIENTRY (*)(GLenum target, GLintptr offset, GLsizeiptr length)) ldg_find("glFlushMappedBufferRange", lib); GL_CHECK(gl.FlushMappedBufferRange); gl.FlushMappedBufferRangeAPPLE = (void APIENTRY (*)(GLenum target, GLintptr offset, GLsizeiptr size)) ldg_find("glFlushMappedBufferRangeAPPLE", lib); GL_CHECK(gl.FlushMappedBufferRangeAPPLE); gl.FlushMappedNamedBufferRangeEXT = (void APIENTRY (*)(GLuint buffer, GLintptr offset, GLsizeiptr length)) ldg_find("glFlushMappedNamedBufferRangeEXT", lib); GL_CHECK(gl.FlushMappedNamedBufferRangeEXT); gl.FlushPixelDataRangeNV = (void APIENTRY (*)(GLenum target)) ldg_find("glFlushPixelDataRangeNV", lib); GL_CHECK(gl.FlushPixelDataRangeNV); gl.FlushRasterSGIX = (void APIENTRY (*)(void)) ldg_find("glFlushRasterSGIX", lib); GL_CHECK(gl.FlushRasterSGIX); gl.FlushRenderAPPLE = (void APIENTRY (*)(void)) ldg_find("glFlushRenderAPPLE", lib); GL_CHECK(gl.FlushRenderAPPLE); gl.FlushStaticDataIBM = (void APIENTRY (*)(GLenum target)) ldg_find("glFlushStaticDataIBM", lib); GL_CHECK(gl.FlushStaticDataIBM); gl.FlushVertexArrayRangeAPPLE = (void APIENTRY (*)(GLsizei length, void *pointer)) ldg_find("glFlushVertexArrayRangeAPPLE", lib); GL_CHECK(gl.FlushVertexArrayRangeAPPLE); gl.FlushVertexArrayRangeNV = (void APIENTRY (*)(void)) ldg_find("glFlushVertexArrayRangeNV", lib); GL_CHECK(gl.FlushVertexArrayRangeNV); gl.FogCoordFormatNV = (void APIENTRY (*)(GLenum type, GLsizei stride)) ldg_find("glFogCoordFormatNV", lib); GL_CHECK(gl.FogCoordFormatNV); gl.FogCoordPointer = (void APIENTRY (*)(GLenum type, GLsizei stride, const void *pointer)) ldg_find("glFogCoordPointer", lib); GL_CHECK(gl.FogCoordPointer); gl.FogCoordPointerEXT = (void APIENTRY (*)(GLenum type, GLsizei stride, const void *pointer)) ldg_find("glFogCoordPointerEXT", lib); GL_CHECK(gl.FogCoordPointerEXT); gl.FogCoordPointerListIBM = (void APIENTRY (*)(GLenum type, GLint stride, const void * *pointer, GLint ptrstride)) ldg_find("glFogCoordPointerListIBM", lib); GL_CHECK(gl.FogCoordPointerListIBM); gl.FogCoordd = (void APIENTRY (*)(GLdouble coord)) ldg_find("glFogCoordd", lib); GL_CHECK(gl.FogCoordd); gl.FogCoorddEXT = (void APIENTRY (*)(GLdouble coord)) ldg_find("glFogCoorddEXT", lib); GL_CHECK(gl.FogCoorddEXT); gl.FogCoorddv = (void APIENTRY (*)(const GLdouble *coord)) ldg_find("glFogCoorddv", lib); GL_CHECK(gl.FogCoorddv); gl.FogCoorddvEXT = (void APIENTRY (*)(const GLdouble *coord)) ldg_find("glFogCoorddvEXT", lib); GL_CHECK(gl.FogCoorddvEXT); gl.FogCoordf = (void APIENTRY (*)(GLfloat coord)) ldg_find("glFogCoordf", lib); GL_CHECK(gl.FogCoordf); gl.FogCoordfEXT = (void APIENTRY (*)(GLfloat coord)) ldg_find("glFogCoordfEXT", lib); GL_CHECK(gl.FogCoordfEXT); gl.FogCoordfv = (void APIENTRY (*)(const GLfloat *coord)) ldg_find("glFogCoordfv", lib); GL_CHECK(gl.FogCoordfv); gl.FogCoordfvEXT = (void APIENTRY (*)(const GLfloat *coord)) ldg_find("glFogCoordfvEXT", lib); GL_CHECK(gl.FogCoordfvEXT); gl.FogCoordhNV = (void APIENTRY (*)(GLhalfNV32 fog)) ldg_find("glFogCoordhNV", lib); GL_CHECK(gl.FogCoordhNV); gl.FogCoordhvNV = (void APIENTRY (*)(const GLhalfNV *fog)) ldg_find("glFogCoordhvNV", lib); GL_CHECK(gl.FogCoordhvNV); gl.FogFuncSGIS = (void APIENTRY (*)(GLsizei n, const GLfloat *points)) ldg_find("glFogFuncSGIS", lib); GL_CHECK(gl.FogFuncSGIS); gl.Fogf = (void APIENTRY (*)(GLenum pname, GLfloat param)) ldg_find("glFogf", lib); GL_CHECK(gl.Fogf); gl.Fogfv = (void APIENTRY (*)(GLenum pname, const GLfloat *params)) ldg_find("glFogfv", lib); GL_CHECK(gl.Fogfv); gl.Fogi = (void APIENTRY (*)(GLenum pname, GLint param)) ldg_find("glFogi", lib); GL_CHECK(gl.Fogi); gl.Fogiv = (void APIENTRY (*)(GLenum pname, const GLint *params)) ldg_find("glFogiv", lib); GL_CHECK(gl.Fogiv); gl.FogxOES = (void APIENTRY (*)(GLenum pname, GLfixed param)) ldg_find("glFogxOES", lib); GL_CHECK(gl.FogxOES); gl.FogxvOES = (void APIENTRY (*)(GLenum pname, const GLfixed *param)) ldg_find("glFogxvOES", lib); GL_CHECK(gl.FogxvOES); gl.FragmentColorMaterialSGIX = (void APIENTRY (*)(GLenum face, GLenum mode)) ldg_find("glFragmentColorMaterialSGIX", lib); GL_CHECK(gl.FragmentColorMaterialSGIX); gl.FragmentLightModelfSGIX = (void APIENTRY (*)(GLenum pname, GLfloat param)) ldg_find("glFragmentLightModelfSGIX", lib); GL_CHECK(gl.FragmentLightModelfSGIX); gl.FragmentLightModelfvSGIX = (void APIENTRY (*)(GLenum pname, const GLfloat *params)) ldg_find("glFragmentLightModelfvSGIX", lib); GL_CHECK(gl.FragmentLightModelfvSGIX); gl.FragmentLightModeliSGIX = (void APIENTRY (*)(GLenum pname, GLint param)) ldg_find("glFragmentLightModeliSGIX", lib); GL_CHECK(gl.FragmentLightModeliSGIX); gl.FragmentLightModelivSGIX = (void APIENTRY (*)(GLenum pname, const GLint *params)) ldg_find("glFragmentLightModelivSGIX", lib); GL_CHECK(gl.FragmentLightModelivSGIX); gl.FragmentLightfSGIX = (void APIENTRY (*)(GLenum light, GLenum pname, GLfloat param)) ldg_find("glFragmentLightfSGIX", lib); GL_CHECK(gl.FragmentLightfSGIX); gl.FragmentLightfvSGIX = (void APIENTRY (*)(GLenum light, GLenum pname, const GLfloat *params)) ldg_find("glFragmentLightfvSGIX", lib); GL_CHECK(gl.FragmentLightfvSGIX); gl.FragmentLightiSGIX = (void APIENTRY (*)(GLenum light, GLenum pname, GLint param)) ldg_find("glFragmentLightiSGIX", lib); GL_CHECK(gl.FragmentLightiSGIX); gl.FragmentLightivSGIX = (void APIENTRY (*)(GLenum light, GLenum pname, const GLint *params)) ldg_find("glFragmentLightivSGIX", lib); GL_CHECK(gl.FragmentLightivSGIX); gl.FragmentMaterialfSGIX = (void APIENTRY (*)(GLenum face, GLenum pname, GLfloat param)) ldg_find("glFragmentMaterialfSGIX", lib); GL_CHECK(gl.FragmentMaterialfSGIX); gl.FragmentMaterialfvSGIX = (void APIENTRY (*)(GLenum face, GLenum pname, const GLfloat *params)) ldg_find("glFragmentMaterialfvSGIX", lib); GL_CHECK(gl.FragmentMaterialfvSGIX); gl.FragmentMaterialiSGIX = (void APIENTRY (*)(GLenum face, GLenum pname, GLint param)) ldg_find("glFragmentMaterialiSGIX", lib); GL_CHECK(gl.FragmentMaterialiSGIX); gl.FragmentMaterialivSGIX = (void APIENTRY (*)(GLenum face, GLenum pname, const GLint *params)) ldg_find("glFragmentMaterialivSGIX", lib); GL_CHECK(gl.FragmentMaterialivSGIX); gl.FrameTerminatorGREMEDY = (void APIENTRY (*)(void)) ldg_find("glFrameTerminatorGREMEDY", lib); GL_CHECK(gl.FrameTerminatorGREMEDY); gl.FrameZoomSGIX = (void APIENTRY (*)(GLint factor)) ldg_find("glFrameZoomSGIX", lib); GL_CHECK(gl.FrameZoomSGIX); gl.FramebufferDrawBufferEXT = (void APIENTRY (*)(GLuint framebuffer, GLenum mode)) ldg_find("glFramebufferDrawBufferEXT", lib); GL_CHECK(gl.FramebufferDrawBufferEXT); gl.FramebufferDrawBuffersEXT = (void APIENTRY (*)(GLuint framebuffer, GLsizei n, const GLenum *bufs)) ldg_find("glFramebufferDrawBuffersEXT", lib); GL_CHECK(gl.FramebufferDrawBuffersEXT); gl.FramebufferParameteri = (void APIENTRY (*)(GLenum target, GLenum pname, GLint param)) ldg_find("glFramebufferParameteri", lib); GL_CHECK(gl.FramebufferParameteri); gl.FramebufferReadBufferEXT = (void APIENTRY (*)(GLuint framebuffer, GLenum mode)) ldg_find("glFramebufferReadBufferEXT", lib); GL_CHECK(gl.FramebufferReadBufferEXT); gl.FramebufferRenderbuffer = (void APIENTRY (*)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)) ldg_find("glFramebufferRenderbuffer", lib); GL_CHECK(gl.FramebufferRenderbuffer); gl.FramebufferRenderbufferEXT = (void APIENTRY (*)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)) ldg_find("glFramebufferRenderbufferEXT", lib); GL_CHECK(gl.FramebufferRenderbufferEXT); gl.FramebufferTexture = (void APIENTRY (*)(GLenum target, GLenum attachment, GLuint texture, GLint level)) ldg_find("glFramebufferTexture", lib); GL_CHECK(gl.FramebufferTexture); gl.FramebufferTexture1D = (void APIENTRY (*)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)) ldg_find("glFramebufferTexture1D", lib); GL_CHECK(gl.FramebufferTexture1D); gl.FramebufferTexture1DEXT = (void APIENTRY (*)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)) ldg_find("glFramebufferTexture1DEXT", lib); GL_CHECK(gl.FramebufferTexture1DEXT); gl.FramebufferTexture2D = (void APIENTRY (*)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)) ldg_find("glFramebufferTexture2D", lib); GL_CHECK(gl.FramebufferTexture2D); gl.FramebufferTexture2DEXT = (void APIENTRY (*)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)) ldg_find("glFramebufferTexture2DEXT", lib); GL_CHECK(gl.FramebufferTexture2DEXT); gl.FramebufferTexture3D = (void APIENTRY (*)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)) ldg_find("glFramebufferTexture3D", lib); GL_CHECK(gl.FramebufferTexture3D); gl.FramebufferTexture3DEXT = (void APIENTRY (*)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)) ldg_find("glFramebufferTexture3DEXT", lib); GL_CHECK(gl.FramebufferTexture3DEXT); gl.FramebufferTextureARB = (void APIENTRY (*)(GLenum target, GLenum attachment, GLuint texture, GLint level)) ldg_find("glFramebufferTextureARB", lib); GL_CHECK(gl.FramebufferTextureARB); gl.FramebufferTextureEXT = (void APIENTRY (*)(GLenum target, GLenum attachment, GLuint texture, GLint level)) ldg_find("glFramebufferTextureEXT", lib); GL_CHECK(gl.FramebufferTextureEXT); gl.FramebufferTextureFaceARB = (void APIENTRY (*)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face)) ldg_find("glFramebufferTextureFaceARB", lib); GL_CHECK(gl.FramebufferTextureFaceARB); gl.FramebufferTextureFaceEXT = (void APIENTRY (*)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face)) ldg_find("glFramebufferTextureFaceEXT", lib); GL_CHECK(gl.FramebufferTextureFaceEXT); gl.FramebufferTextureLayer = (void APIENTRY (*)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)) ldg_find("glFramebufferTextureLayer", lib); GL_CHECK(gl.FramebufferTextureLayer); gl.FramebufferTextureLayerARB = (void APIENTRY (*)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)) ldg_find("glFramebufferTextureLayerARB", lib); GL_CHECK(gl.FramebufferTextureLayerARB); gl.FramebufferTextureLayerEXT = (void APIENTRY (*)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)) ldg_find("glFramebufferTextureLayerEXT", lib); GL_CHECK(gl.FramebufferTextureLayerEXT); gl.FreeObjectBufferATI = (void APIENTRY (*)(GLuint buffer)) ldg_find("glFreeObjectBufferATI", lib); GL_CHECK(gl.FreeObjectBufferATI); gl.FrontFace = (void APIENTRY (*)(GLenum mode)) ldg_find("glFrontFace", lib); GL_CHECK(gl.FrontFace); gl.Frustum = (void APIENTRY (*)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)) ldg_find("glFrustumd", lib); GL_CHECK(gl.Frustum); gl.Frustumf = (void APIENTRY (*)(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat near_val, GLfloat far_val)) ldg_find("glFrustum", lib); GL_CHECK(gl.Frustumf); gl.FrustumfOES = (void APIENTRY (*)(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f)) ldg_find("glFrustumfOES", lib); GL_CHECK(gl.FrustumfOES); gl.FrustumxOES = (void APIENTRY (*)(GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f)) ldg_find("glFrustumxOES", lib); GL_CHECK(gl.FrustumxOES); gl.GenAsyncMarkersSGIX = (GLuint APIENTRY (*)(GLsizei range)) ldg_find("glGenAsyncMarkersSGIX", lib); GL_CHECK(gl.GenAsyncMarkersSGIX); gl.GenBuffers = (void APIENTRY (*)(GLsizei n, GLuint *buffers)) ldg_find("glGenBuffers", lib); GL_CHECK(gl.GenBuffers); gl.GenBuffersARB = (void APIENTRY (*)(GLsizei n, GLuint *buffers)) ldg_find("glGenBuffersARB", lib); GL_CHECK(gl.GenBuffersARB); gl.GenFencesAPPLE = (void APIENTRY (*)(GLsizei n, GLuint *fences)) ldg_find("glGenFencesAPPLE", lib); GL_CHECK(gl.GenFencesAPPLE); gl.GenFencesNV = (void APIENTRY (*)(GLsizei n, GLuint *fences)) ldg_find("glGenFencesNV", lib); GL_CHECK(gl.GenFencesNV); gl.GenFragmentShadersATI = (GLuint APIENTRY (*)(GLuint range)) ldg_find("glGenFragmentShadersATI", lib); GL_CHECK(gl.GenFragmentShadersATI); gl.GenFramebuffers = (void APIENTRY (*)(GLsizei n, GLuint *framebuffers)) ldg_find("glGenFramebuffers", lib); GL_CHECK(gl.GenFramebuffers); gl.GenFramebuffersEXT = (void APIENTRY (*)(GLsizei n, GLuint *framebuffers)) ldg_find("glGenFramebuffersEXT", lib); GL_CHECK(gl.GenFramebuffersEXT); gl.GenLists = (GLuint APIENTRY (*)(GLsizei range)) ldg_find("glGenLists", lib); GL_CHECK(gl.GenLists); gl.GenNamesAMD = (void APIENTRY (*)(GLenum identifier, GLuint num, GLuint *names)) ldg_find("glGenNamesAMD", lib); GL_CHECK(gl.GenNamesAMD); gl.GenOcclusionQueriesNV = (void APIENTRY (*)(GLsizei n, GLuint *ids)) ldg_find("glGenOcclusionQueriesNV", lib); GL_CHECK(gl.GenOcclusionQueriesNV); gl.GenPathsNV = (GLuint APIENTRY (*)(GLsizei range)) ldg_find("glGenPathsNV", lib); GL_CHECK(gl.GenPathsNV); gl.GenPerfMonitorsAMD = (void APIENTRY (*)(GLsizei n, GLuint *monitors)) ldg_find("glGenPerfMonitorsAMD", lib); GL_CHECK(gl.GenPerfMonitorsAMD); gl.GenProgramPipelines = (void APIENTRY (*)(GLsizei n, GLuint *pipelines)) ldg_find("glGenProgramPipelines", lib); GL_CHECK(gl.GenProgramPipelines); gl.GenProgramsARB = (void APIENTRY (*)(GLsizei n, GLuint *programs)) ldg_find("glGenProgramsARB", lib); GL_CHECK(gl.GenProgramsARB); gl.GenProgramsNV = (void APIENTRY (*)(GLsizei n, GLuint *programs)) ldg_find("glGenProgramsNV", lib); GL_CHECK(gl.GenProgramsNV); gl.GenQueries = (void APIENTRY (*)(GLsizei n, GLuint *ids)) ldg_find("glGenQueries", lib); GL_CHECK(gl.GenQueries); gl.GenQueriesARB = (void APIENTRY (*)(GLsizei n, GLuint *ids)) ldg_find("glGenQueriesARB", lib); GL_CHECK(gl.GenQueriesARB); gl.GenRenderbuffers = (void APIENTRY (*)(GLsizei n, GLuint *renderbuffers)) ldg_find("glGenRenderbuffers", lib); GL_CHECK(gl.GenRenderbuffers); gl.GenRenderbuffersEXT = (void APIENTRY (*)(GLsizei n, GLuint *renderbuffers)) ldg_find("glGenRenderbuffersEXT", lib); GL_CHECK(gl.GenRenderbuffersEXT); gl.GenSamplers = (void APIENTRY (*)(GLsizei count, GLuint *samplers)) ldg_find("glGenSamplers", lib); GL_CHECK(gl.GenSamplers); gl.GenSymbolsEXT = (GLuint APIENTRY (*)(GLenum datatype, GLenum storagetype, GLenum range, GLuint components)) ldg_find("glGenSymbolsEXT", lib); GL_CHECK(gl.GenSymbolsEXT); gl.GenTextures = (void APIENTRY (*)(GLsizei n, GLuint *textures)) ldg_find("glGenTextures", lib); GL_CHECK(gl.GenTextures); gl.GenTexturesEXT = (void APIENTRY (*)(GLsizei n, GLuint *textures)) ldg_find("glGenTexturesEXT", lib); GL_CHECK(gl.GenTexturesEXT); gl.GenTransformFeedbacks = (void APIENTRY (*)(GLsizei n, GLuint *ids)) ldg_find("glGenTransformFeedbacks", lib); GL_CHECK(gl.GenTransformFeedbacks); gl.GenTransformFeedbacksNV = (void APIENTRY (*)(GLsizei n, GLuint *ids)) ldg_find("glGenTransformFeedbacksNV", lib); GL_CHECK(gl.GenTransformFeedbacksNV); gl.GenVertexArrays = (void APIENTRY (*)(GLsizei n, GLuint *arrays)) ldg_find("glGenVertexArrays", lib); GL_CHECK(gl.GenVertexArrays); gl.GenVertexArraysAPPLE = (void APIENTRY (*)(GLsizei n, GLuint *arrays)) ldg_find("glGenVertexArraysAPPLE", lib); GL_CHECK(gl.GenVertexArraysAPPLE); gl.GenVertexShadersEXT = (GLuint APIENTRY (*)(GLuint range)) ldg_find("glGenVertexShadersEXT", lib); GL_CHECK(gl.GenVertexShadersEXT); gl.GenerateMipmap = (void APIENTRY (*)(GLenum target)) ldg_find("glGenerateMipmap", lib); GL_CHECK(gl.GenerateMipmap); gl.GenerateMipmapEXT = (void APIENTRY (*)(GLenum target)) ldg_find("glGenerateMipmapEXT", lib); GL_CHECK(gl.GenerateMipmapEXT); gl.GenerateMultiTexMipmapEXT = (void APIENTRY (*)(GLenum texunit, GLenum target)) ldg_find("glGenerateMultiTexMipmapEXT", lib); GL_CHECK(gl.GenerateMultiTexMipmapEXT); gl.GenerateTextureMipmapEXT = (void APIENTRY (*)(GLuint texture, GLenum target)) ldg_find("glGenerateTextureMipmapEXT", lib); GL_CHECK(gl.GenerateTextureMipmapEXT); gl.GetActiveAtomicCounterBufferiv = (void APIENTRY (*)(GLuint program, GLuint bufferIndex, GLenum pname, GLint *params)) ldg_find("glGetActiveAtomicCounterBufferiv", lib); GL_CHECK(gl.GetActiveAtomicCounterBufferiv); gl.GetActiveAttrib = (void APIENTRY (*)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name)) ldg_find("glGetActiveAttrib", lib); GL_CHECK(gl.GetActiveAttrib); gl.GetActiveAttribARB = (void APIENTRY (*)(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name)) ldg_find("glGetActiveAttribARB", lib); GL_CHECK(gl.GetActiveAttribARB); gl.GetActiveSubroutineName = (void APIENTRY (*)(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name)) ldg_find("glGetActiveSubroutineName", lib); GL_CHECK(gl.GetActiveSubroutineName); gl.GetActiveSubroutineUniformName = (void APIENTRY (*)(GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name)) ldg_find("glGetActiveSubroutineUniformName", lib); GL_CHECK(gl.GetActiveSubroutineUniformName); gl.GetActiveSubroutineUniformiv = (void APIENTRY (*)(GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values)) ldg_find("glGetActiveSubroutineUniformiv", lib); GL_CHECK(gl.GetActiveSubroutineUniformiv); gl.GetActiveUniform = (void APIENTRY (*)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name)) ldg_find("glGetActiveUniform", lib); GL_CHECK(gl.GetActiveUniform); gl.GetActiveUniformARB = (void APIENTRY (*)(GLhandleARB programObj, GLuint index, GLsizei maxLength, GLsizei *length, GLint *size, GLenum *type, GLcharARB *name)) ldg_find("glGetActiveUniformARB", lib); GL_CHECK(gl.GetActiveUniformARB); gl.GetActiveUniformBlockIndex = (GLuint APIENTRY (*)(GLuint program, const GLchar *uniformBlockName)) ldg_find("glGetActiveUniformBlockIndex", lib); GL_CHECK(gl.GetActiveUniformBlockIndex); gl.GetActiveUniformBlockName = (void APIENTRY (*)(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName)) ldg_find("glGetActiveUniformBlockName", lib); GL_CHECK(gl.GetActiveUniformBlockName); gl.GetActiveUniformBlockiv = (void APIENTRY (*)(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params)) ldg_find("glGetActiveUniformBlockiv", lib); GL_CHECK(gl.GetActiveUniformBlockiv); gl.GetActiveUniformName = (void APIENTRY (*)(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName)) ldg_find("glGetActiveUniformName", lib); GL_CHECK(gl.GetActiveUniformName); gl.GetActiveUniformsiv = (void APIENTRY (*)(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params)) ldg_find("glGetActiveUniformsiv", lib); GL_CHECK(gl.GetActiveUniformsiv); gl.GetActiveVaryingNV = (void APIENTRY (*)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name)) ldg_find("glGetActiveVaryingNV", lib); GL_CHECK(gl.GetActiveVaryingNV); gl.GetArrayObjectfvATI = (void APIENTRY (*)(GLenum array, GLenum pname, GLfloat *params)) ldg_find("glGetArrayObjectfvATI", lib); GL_CHECK(gl.GetArrayObjectfvATI); gl.GetArrayObjectivATI = (void APIENTRY (*)(GLenum array, GLenum pname, GLint *params)) ldg_find("glGetArrayObjectivATI", lib); GL_CHECK(gl.GetArrayObjectivATI); gl.GetAttachedObjectsARB = (void APIENTRY (*)(GLhandleARB containerObj, GLsizei maxCount, GLsizei *count, GLhandleARB *obj)) ldg_find("glGetAttachedObjectsARB", lib); GL_CHECK(gl.GetAttachedObjectsARB); gl.GetAttachedShaders = (void APIENTRY (*)(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders)) ldg_find("glGetAttachedShaders", lib); GL_CHECK(gl.GetAttachedShaders); gl.GetAttribLocation = (GLint APIENTRY (*)(GLuint program, const GLchar *name)) ldg_find("glGetAttribLocation", lib); GL_CHECK(gl.GetAttribLocation); gl.GetAttribLocationARB = (GLint APIENTRY (*)(GLhandleARB programObj, const GLcharARB *name)) ldg_find("glGetAttribLocationARB", lib); GL_CHECK(gl.GetAttribLocationARB); gl.GetBooleanIndexedvEXT = (void APIENTRY (*)(GLenum target, GLuint index, GLboolean *data)) ldg_find("glGetBooleanIndexedvEXT", lib); GL_CHECK(gl.GetBooleanIndexedvEXT); gl.GetBooleani_v = (void APIENTRY (*)(GLenum target, GLuint index, GLboolean *data)) ldg_find("glGetBooleani_v", lib); GL_CHECK(gl.GetBooleani_v); gl.GetBooleanv = (void APIENTRY (*)(GLenum pname, GLboolean *params)) ldg_find("glGetBooleanv", lib); GL_CHECK(gl.GetBooleanv); gl.GetBufferParameteri64v = (void APIENTRY (*)(GLenum target, GLenum pname, GLint64 *params)) ldg_find("glGetBufferParameteri64v", lib); GL_CHECK(gl.GetBufferParameteri64v); gl.GetBufferParameteriv = (void APIENTRY (*)(GLenum target, GLenum pname, GLint *params)) ldg_find("glGetBufferParameteriv", lib); GL_CHECK(gl.GetBufferParameteriv); gl.GetBufferParameterivARB = (void APIENTRY (*)(GLenum target, GLenum pname, GLint *params)) ldg_find("glGetBufferParameterivARB", lib); GL_CHECK(gl.GetBufferParameterivARB); gl.GetBufferParameterui64vNV = (void APIENTRY (*)(GLenum target, GLenum pname, GLuint64EXT *params)) ldg_find("glGetBufferParameterui64vNV", lib); GL_CHECK(gl.GetBufferParameterui64vNV); gl.GetBufferPointerv = (void APIENTRY (*)(GLenum target, GLenum pname, void * *params)) ldg_find("glGetBufferPointerv", lib); GL_CHECK(gl.GetBufferPointerv); gl.GetBufferPointervARB = (void APIENTRY (*)(GLenum target, GLenum pname, void * *params)) ldg_find("glGetBufferPointervARB", lib); GL_CHECK(gl.GetBufferPointervARB); gl.GetBufferSubData = (void APIENTRY (*)(GLenum target, GLintptr offset, GLsizeiptr size, void *data)) ldg_find("glGetBufferSubData", lib); GL_CHECK(gl.GetBufferSubData); gl.GetBufferSubDataARB = (void APIENTRY (*)(GLenum target, GLintptrARB offset, GLsizeiptrARB size, void *data)) ldg_find("glGetBufferSubDataARB", lib); GL_CHECK(gl.GetBufferSubDataARB); gl.GetClipPlane = (void APIENTRY (*)(GLenum plane, GLdouble *equation)) ldg_find("glGetClipPlane", lib); GL_CHECK(gl.GetClipPlane); gl.GetClipPlanefOES = (void APIENTRY (*)(GLenum plane, GLfloat *equation)) ldg_find("glGetClipPlanefOES", lib); GL_CHECK(gl.GetClipPlanefOES); gl.GetClipPlanexOES = (void APIENTRY (*)(GLenum plane, GLfixed *equation)) ldg_find("glGetClipPlanexOES", lib); GL_CHECK(gl.GetClipPlanexOES); gl.GetColorTable = (void APIENTRY (*)(GLenum target, GLenum format, GLenum type, void *table)) ldg_find("glGetColorTable", lib); GL_CHECK(gl.GetColorTable); gl.GetColorTableEXT = (void APIENTRY (*)(GLenum target, GLenum format, GLenum type, void *data)) ldg_find("glGetColorTableEXT", lib); GL_CHECK(gl.GetColorTableEXT); gl.GetColorTableParameterfv = (void APIENTRY (*)(GLenum target, GLenum pname, GLfloat *params)) ldg_find("glGetColorTableParameterfv", lib); GL_CHECK(gl.GetColorTableParameterfv); gl.GetColorTableParameterfvEXT = (void APIENTRY (*)(GLenum target, GLenum pname, GLfloat *params)) ldg_find("glGetColorTableParameterfvEXT", lib); GL_CHECK(gl.GetColorTableParameterfvEXT); gl.GetColorTableParameterfvSGI = (void APIENTRY (*)(GLenum target, GLenum pname, GLfloat *params)) ldg_find("glGetColorTableParameterfvSGI", lib); GL_CHECK(gl.GetColorTableParameterfvSGI); gl.GetColorTableParameteriv = (void APIENTRY (*)(GLenum target, GLenum pname, GLint *params)) ldg_find("glGetColorTableParameteriv", lib); GL_CHECK(gl.GetColorTableParameteriv); gl.GetColorTableParameterivEXT = (void APIENTRY (*)(GLenum target, GLenum pname, GLint *params)) ldg_find("glGetColorTableParameterivEXT", lib); GL_CHECK(gl.GetColorTableParameterivEXT); gl.GetColorTableParameterivSGI = (void APIENTRY (*)(GLenum target, GLenum pname, GLint *params)) ldg_find("glGetColorTableParameterivSGI", lib); GL_CHECK(gl.GetColorTableParameterivSGI); gl.GetColorTableSGI = (void APIENTRY (*)(GLenum target, GLenum format, GLenum type, void *table)) ldg_find("glGetColorTableSGI", lib); GL_CHECK(gl.GetColorTableSGI); gl.GetCombinerInputParameterfvNV = (void APIENTRY (*)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLfloat *params)) ldg_find("glGetCombinerInputParameterfvNV", lib); GL_CHECK(gl.GetCombinerInputParameterfvNV); gl.GetCombinerInputParameterivNV = (void APIENTRY (*)(GLenum stage, GLenum portion, GLenum variable, GLenum pname, GLint *params)) ldg_find("glGetCombinerInputParameterivNV", lib); GL_CHECK(gl.GetCombinerInputParameterivNV); gl.GetCombinerOutputParameterfvNV = (void APIENTRY (*)(GLenum stage, GLenum portion, GLenum pname, GLfloat *params)) ldg_find("glGetCombinerOutputParameterfvNV", lib); GL_CHECK(gl.GetCombinerOutputParameterfvNV); gl.GetCombinerOutputParameterivNV = (void APIENTRY (*)(GLenum stage, GLenum portion, GLenum pname, GLint *params)) ldg_find("glGetCombinerOutputParameterivNV", lib); GL_CHECK(gl.GetCombinerOutputParameterivNV); gl.GetCombinerStageParameterfvNV = (void APIENTRY (*)(GLenum stage, GLenum pname, GLfloat *params)) ldg_find("glGetCombinerStageParameterfvNV", lib); GL_CHECK(gl.GetCombinerStageParameterfvNV); gl.GetCompressedMultiTexImageEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLint lod, void *img)) ldg_find("glGetCompressedMultiTexImageEXT", lib); GL_CHECK(gl.GetCompressedMultiTexImageEXT); gl.GetCompressedTexImage = (void APIENTRY (*)(GLenum target, GLint level, void *img)) ldg_find("glGetCompressedTexImage", lib); GL_CHECK(gl.GetCompressedTexImage); gl.GetCompressedTexImageARB = (void APIENTRY (*)(GLenum target, GLint level, void *img)) ldg_find("glGetCompressedTexImageARB", lib); GL_CHECK(gl.GetCompressedTexImageARB); gl.GetCompressedTextureImageEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLint lod, void *img)) ldg_find("glGetCompressedTextureImageEXT", lib); GL_CHECK(gl.GetCompressedTextureImageEXT); gl.GetConvolutionFilter = (void APIENTRY (*)(GLenum target, GLenum format, GLenum type, void *image)) ldg_find("glGetConvolutionFilter", lib); GL_CHECK(gl.GetConvolutionFilter); gl.GetConvolutionFilterEXT = (void APIENTRY (*)(GLenum target, GLenum format, GLenum type, void *image)) ldg_find("glGetConvolutionFilterEXT", lib); GL_CHECK(gl.GetConvolutionFilterEXT); gl.GetConvolutionParameterfv = (void APIENTRY (*)(GLenum target, GLenum pname, GLfloat *params)) ldg_find("glGetConvolutionParameterfv", lib); GL_CHECK(gl.GetConvolutionParameterfv); gl.GetConvolutionParameterfvEXT = (void APIENTRY (*)(GLenum target, GLenum pname, GLfloat *params)) ldg_find("glGetConvolutionParameterfvEXT", lib); GL_CHECK(gl.GetConvolutionParameterfvEXT); gl.GetConvolutionParameteriv = (void APIENTRY (*)(GLenum target, GLenum pname, GLint *params)) ldg_find("glGetConvolutionParameteriv", lib); GL_CHECK(gl.GetConvolutionParameteriv); gl.GetConvolutionParameterivEXT = (void APIENTRY (*)(GLenum target, GLenum pname, GLint *params)) ldg_find("glGetConvolutionParameterivEXT", lib); GL_CHECK(gl.GetConvolutionParameterivEXT); gl.GetConvolutionParameterxvOES = (void APIENTRY (*)(GLenum target, GLenum pname, GLfixed *params)) ldg_find("glGetConvolutionParameterxvOES", lib); GL_CHECK(gl.GetConvolutionParameterxvOES); gl.GetDebugLogLengthMESA = (GLsizei APIENTRY (*)(GLhandleARB obj, GLenum logType, GLenum shaderType)) ldg_find("glGetDebugLogLengthMESA", lib); GL_CHECK(gl.GetDebugLogLengthMESA); gl.GetDebugLogMESA = (void APIENTRY (*)(GLhandleARB obj, GLenum logType, GLenum shaderType, GLsizei maxLength, GLsizei *length, GLcharARB *debugLog)) ldg_find("glGetDebugLogMESA", lib); GL_CHECK(gl.GetDebugLogMESA); gl.GetDebugMessageLog = (GLuint APIENTRY (*)(GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog)) ldg_find("glGetDebugMessageLog", lib); GL_CHECK(gl.GetDebugMessageLog); gl.GetDebugMessageLogAMD = (GLuint APIENTRY (*)(GLuint count, GLsizei bufsize, GLenum *categories, GLuint *severities, GLuint *ids, GLsizei *lengths, GLchar *message)) ldg_find("glGetDebugMessageLogAMD", lib); GL_CHECK(gl.GetDebugMessageLogAMD); gl.GetDebugMessageLogARB = (GLuint APIENTRY (*)(GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog)) ldg_find("glGetDebugMessageLogARB", lib); GL_CHECK(gl.GetDebugMessageLogARB); gl.GetDetailTexFuncSGIS = (void APIENTRY (*)(GLenum target, GLfloat *points)) ldg_find("glGetDetailTexFuncSGIS", lib); GL_CHECK(gl.GetDetailTexFuncSGIS); gl.GetDoubleIndexedvEXT = (void APIENTRY (*)(GLenum target, GLuint index, GLdouble *data)) ldg_find("glGetDoubleIndexedvEXT", lib); GL_CHECK(gl.GetDoubleIndexedvEXT); gl.GetDoublei_v = (void APIENTRY (*)(GLenum target, GLuint index, GLdouble *data)) ldg_find("glGetDoublei_v", lib); GL_CHECK(gl.GetDoublei_v); gl.GetDoublei_vEXT = (void APIENTRY (*)(GLenum pname, GLuint index, GLdouble *params)) ldg_find("glGetDoublei_vEXT", lib); GL_CHECK(gl.GetDoublei_vEXT); gl.GetDoublev = (void APIENTRY (*)(GLenum pname, GLdouble *params)) ldg_find("glGetDoublev", lib); GL_CHECK(gl.GetDoublev); gl.GetError = (GLenum APIENTRY (*)(void)) ldg_find("glGetError", lib); GL_CHECK(gl.GetError); gl.GetFenceivNV = (void APIENTRY (*)(GLuint fence, GLenum pname, GLint *params)) ldg_find("glGetFenceivNV", lib); GL_CHECK(gl.GetFenceivNV); gl.GetFinalCombinerInputParameterfvNV = (void APIENTRY (*)(GLenum variable, GLenum pname, GLfloat *params)) ldg_find("glGetFinalCombinerInputParameterfvNV", lib); GL_CHECK(gl.GetFinalCombinerInputParameterfvNV); gl.GetFinalCombinerInputParameterivNV = (void APIENTRY (*)(GLenum variable, GLenum pname, GLint *params)) ldg_find("glGetFinalCombinerInputParameterivNV", lib); GL_CHECK(gl.GetFinalCombinerInputParameterivNV); gl.GetFirstPerfQueryIdINTEL = (void APIENTRY (*)(GLuint *queryId)) ldg_find("glGetFirstPerfQueryIdINTEL", lib); GL_CHECK(gl.GetFirstPerfQueryIdINTEL); gl.GetFixedvOES = (void APIENTRY (*)(GLenum pname, GLfixed *params)) ldg_find("glGetFixedvOES", lib); GL_CHECK(gl.GetFixedvOES); gl.GetFloatIndexedvEXT = (void APIENTRY (*)(GLenum target, GLuint index, GLfloat *data)) ldg_find("glGetFloatIndexedvEXT", lib); GL_CHECK(gl.GetFloatIndexedvEXT); gl.GetFloati_v = (void APIENTRY (*)(GLenum target, GLuint index, GLfloat *data)) ldg_find("glGetFloati_v", lib); GL_CHECK(gl.GetFloati_v); gl.GetFloati_vEXT = (void APIENTRY (*)(GLenum pname, GLuint index, GLfloat *params)) ldg_find("glGetFloati_vEXT", lib); GL_CHECK(gl.GetFloati_vEXT); gl.GetFloatv = (void APIENTRY (*)(GLenum pname, GLfloat *params)) ldg_find("glGetFloatv", lib); GL_CHECK(gl.GetFloatv); gl.GetFogFuncSGIS = (void APIENTRY (*)(GLfloat *points)) ldg_find("glGetFogFuncSGIS", lib); GL_CHECK(gl.GetFogFuncSGIS); gl.GetFragDataIndex = (GLint APIENTRY (*)(GLuint program, const GLchar *name)) ldg_find("glGetFragDataIndex", lib); GL_CHECK(gl.GetFragDataIndex); gl.GetFragDataLocation = (GLint APIENTRY (*)(GLuint program, const GLchar *name)) ldg_find("glGetFragDataLocation", lib); GL_CHECK(gl.GetFragDataLocation); gl.GetFragDataLocationEXT = (GLint APIENTRY (*)(GLuint program, const GLchar *name)) ldg_find("glGetFragDataLocationEXT", lib); GL_CHECK(gl.GetFragDataLocationEXT); gl.GetFragmentLightfvSGIX = (void APIENTRY (*)(GLenum light, GLenum pname, GLfloat *params)) ldg_find("glGetFragmentLightfvSGIX", lib); GL_CHECK(gl.GetFragmentLightfvSGIX); gl.GetFragmentLightivSGIX = (void APIENTRY (*)(GLenum light, GLenum pname, GLint *params)) ldg_find("glGetFragmentLightivSGIX", lib); GL_CHECK(gl.GetFragmentLightivSGIX); gl.GetFragmentMaterialfvSGIX = (void APIENTRY (*)(GLenum face, GLenum pname, GLfloat *params)) ldg_find("glGetFragmentMaterialfvSGIX", lib); GL_CHECK(gl.GetFragmentMaterialfvSGIX); gl.GetFragmentMaterialivSGIX = (void APIENTRY (*)(GLenum face, GLenum pname, GLint *params)) ldg_find("glGetFragmentMaterialivSGIX", lib); GL_CHECK(gl.GetFragmentMaterialivSGIX); gl.GetFramebufferAttachmentParameteriv = (void APIENTRY (*)(GLenum target, GLenum attachment, GLenum pname, GLint *params)) ldg_find("glGetFramebufferAttachmentParameteriv", lib); GL_CHECK(gl.GetFramebufferAttachmentParameteriv); gl.GetFramebufferAttachmentParameterivEXT = (void APIENTRY (*)(GLenum target, GLenum attachment, GLenum pname, GLint *params)) ldg_find("glGetFramebufferAttachmentParameterivEXT", lib); GL_CHECK(gl.GetFramebufferAttachmentParameterivEXT); gl.GetFramebufferParameteriv = (void APIENTRY (*)(GLenum target, GLenum pname, GLint *params)) ldg_find("glGetFramebufferParameteriv", lib); GL_CHECK(gl.GetFramebufferParameteriv); gl.GetFramebufferParameterivEXT = (void APIENTRY (*)(GLuint framebuffer, GLenum pname, GLint *params)) ldg_find("glGetFramebufferParameterivEXT", lib); GL_CHECK(gl.GetFramebufferParameterivEXT); gl.GetGraphicsResetStatusARB = (GLenum APIENTRY (*)(void)) ldg_find("glGetGraphicsResetStatusARB", lib); GL_CHECK(gl.GetGraphicsResetStatusARB); gl.GetHandleARB = (GLhandleARB APIENTRY (*)(GLenum pname)) ldg_find("glGetHandleARB", lib); GL_CHECK(gl.GetHandleARB); gl.GetHistogram = (void APIENTRY (*)(GLenum target, GLboolean32 reset, GLenum format, GLenum type, void *values)) ldg_find("glGetHistogram", lib); GL_CHECK(gl.GetHistogram); gl.GetHistogramEXT = (void APIENTRY (*)(GLenum target, GLboolean32 reset, GLenum format, GLenum type, void *values)) ldg_find("glGetHistogramEXT", lib); GL_CHECK(gl.GetHistogramEXT); gl.GetHistogramParameterfv = (void APIENTRY (*)(GLenum target, GLenum pname, GLfloat *params)) ldg_find("glGetHistogramParameterfv", lib); GL_CHECK(gl.GetHistogramParameterfv); gl.GetHistogramParameterfvEXT = (void APIENTRY (*)(GLenum target, GLenum pname, GLfloat *params)) ldg_find("glGetHistogramParameterfvEXT", lib); GL_CHECK(gl.GetHistogramParameterfvEXT); gl.GetHistogramParameteriv = (void APIENTRY (*)(GLenum target, GLenum pname, GLint *params)) ldg_find("glGetHistogramParameteriv", lib); GL_CHECK(gl.GetHistogramParameteriv); gl.GetHistogramParameterivEXT = (void APIENTRY (*)(GLenum target, GLenum pname, GLint *params)) ldg_find("glGetHistogramParameterivEXT", lib); GL_CHECK(gl.GetHistogramParameterivEXT); gl.GetHistogramParameterxvOES = (void APIENTRY (*)(GLenum target, GLenum pname, GLfixed *params)) ldg_find("glGetHistogramParameterxvOES", lib); GL_CHECK(gl.GetHistogramParameterxvOES); gl.GetImageHandleARB = (GLuint64 APIENTRY (*)(GLuint texture, GLint level, GLboolean32 layered, GLint layer, GLenum format)) ldg_find("glGetImageHandleARB", lib); GL_CHECK(gl.GetImageHandleARB); gl.GetImageHandleNV = (GLuint64 APIENTRY (*)(GLuint texture, GLint level, GLboolean32 layered, GLint layer, GLenum format)) ldg_find("glGetImageHandleNV", lib); GL_CHECK(gl.GetImageHandleNV); gl.GetImageTransformParameterfvHP = (void APIENTRY (*)(GLenum target, GLenum pname, GLfloat *params)) ldg_find("glGetImageTransformParameterfvHP", lib); GL_CHECK(gl.GetImageTransformParameterfvHP); gl.GetImageTransformParameterivHP = (void APIENTRY (*)(GLenum target, GLenum pname, GLint *params)) ldg_find("glGetImageTransformParameterivHP", lib); GL_CHECK(gl.GetImageTransformParameterivHP); gl.GetInfoLogARB = (void APIENTRY (*)(GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *infoLog)) ldg_find("glGetInfoLogARB", lib); GL_CHECK(gl.GetInfoLogARB); gl.GetInstrumentsSGIX = (GLint APIENTRY (*)(void)) ldg_find("glGetInstrumentsSGIX", lib); GL_CHECK(gl.GetInstrumentsSGIX); gl.GetInteger64i_v = (void APIENTRY (*)(GLenum target, GLuint index, GLint64 *data)) ldg_find("glGetInteger64i_v", lib); GL_CHECK(gl.GetInteger64i_v); gl.GetInteger64v = (void APIENTRY (*)(GLenum pname, GLint64 *data)) ldg_find("glGetInteger64v", lib); GL_CHECK(gl.GetInteger64v); gl.GetIntegerIndexedvEXT = (void APIENTRY (*)(GLenum target, GLuint index, GLint *data)) ldg_find("glGetIntegerIndexedvEXT", lib); GL_CHECK(gl.GetIntegerIndexedvEXT); gl.GetIntegeri_v = (void APIENTRY (*)(GLenum target, GLuint index, GLint *data)) ldg_find("glGetIntegeri_v", lib); GL_CHECK(gl.GetIntegeri_v); gl.GetIntegerui64i_vNV = (void APIENTRY (*)(GLenum value, GLuint index, GLuint64EXT *result)) ldg_find("glGetIntegerui64i_vNV", lib); GL_CHECK(gl.GetIntegerui64i_vNV); gl.GetIntegerui64vNV = (void APIENTRY (*)(GLenum value, GLuint64EXT *result)) ldg_find("glGetIntegerui64vNV", lib); GL_CHECK(gl.GetIntegerui64vNV); gl.GetIntegerv = (void APIENTRY (*)(GLenum pname, GLint *params)) ldg_find("glGetIntegerv", lib); GL_CHECK(gl.GetIntegerv); gl.GetInternalformati64v = (void APIENTRY (*)(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64 *params)) ldg_find("glGetInternalformati64v", lib); GL_CHECK(gl.GetInternalformati64v); gl.GetInternalformativ = (void APIENTRY (*)(GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params)) ldg_find("glGetInternalformativ", lib); GL_CHECK(gl.GetInternalformativ); gl.GetInvariantBooleanvEXT = (void APIENTRY (*)(GLuint id, GLenum value, GLboolean *data)) ldg_find("glGetInvariantBooleanvEXT", lib); GL_CHECK(gl.GetInvariantBooleanvEXT); gl.GetInvariantFloatvEXT = (void APIENTRY (*)(GLuint id, GLenum value, GLfloat *data)) ldg_find("glGetInvariantFloatvEXT", lib); GL_CHECK(gl.GetInvariantFloatvEXT); gl.GetInvariantIntegervEXT = (void APIENTRY (*)(GLuint id, GLenum value, GLint *data)) ldg_find("glGetInvariantIntegervEXT", lib); GL_CHECK(gl.GetInvariantIntegervEXT); gl.GetLightfv = (void APIENTRY (*)(GLenum light, GLenum pname, GLfloat *params)) ldg_find("glGetLightfv", lib); GL_CHECK(gl.GetLightfv); gl.GetLightiv = (void APIENTRY (*)(GLenum light, GLenum pname, GLint *params)) ldg_find("glGetLightiv", lib); GL_CHECK(gl.GetLightiv); gl.GetLightxOES = (void APIENTRY (*)(GLenum light, GLenum pname, GLfixed *params)) ldg_find("glGetLightxOES", lib); GL_CHECK(gl.GetLightxOES); gl.GetListParameterfvSGIX = (void APIENTRY (*)(GLuint list, GLenum pname, GLfloat *params)) ldg_find("glGetListParameterfvSGIX", lib); GL_CHECK(gl.GetListParameterfvSGIX); gl.GetListParameterivSGIX = (void APIENTRY (*)(GLuint list, GLenum pname, GLint *params)) ldg_find("glGetListParameterivSGIX", lib); GL_CHECK(gl.GetListParameterivSGIX); gl.GetLocalConstantBooleanvEXT = (void APIENTRY (*)(GLuint id, GLenum value, GLboolean *data)) ldg_find("glGetLocalConstantBooleanvEXT", lib); GL_CHECK(gl.GetLocalConstantBooleanvEXT); gl.GetLocalConstantFloatvEXT = (void APIENTRY (*)(GLuint id, GLenum value, GLfloat *data)) ldg_find("glGetLocalConstantFloatvEXT", lib); GL_CHECK(gl.GetLocalConstantFloatvEXT); gl.GetLocalConstantIntegervEXT = (void APIENTRY (*)(GLuint id, GLenum value, GLint *data)) ldg_find("glGetLocalConstantIntegervEXT", lib); GL_CHECK(gl.GetLocalConstantIntegervEXT); gl.GetMapAttribParameterfvNV = (void APIENTRY (*)(GLenum target, GLuint index, GLenum pname, GLfloat *params)) ldg_find("glGetMapAttribParameterfvNV", lib); GL_CHECK(gl.GetMapAttribParameterfvNV); gl.GetMapAttribParameterivNV = (void APIENTRY (*)(GLenum target, GLuint index, GLenum pname, GLint *params)) ldg_find("glGetMapAttribParameterivNV", lib); GL_CHECK(gl.GetMapAttribParameterivNV); gl.GetMapControlPointsNV = (void APIENTRY (*)(GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLboolean32 packed, void *points)) ldg_find("glGetMapControlPointsNV", lib); GL_CHECK(gl.GetMapControlPointsNV); gl.GetMapParameterfvNV = (void APIENTRY (*)(GLenum target, GLenum pname, GLfloat *params)) ldg_find("glGetMapParameterfvNV", lib); GL_CHECK(gl.GetMapParameterfvNV); gl.GetMapParameterivNV = (void APIENTRY (*)(GLenum target, GLenum pname, GLint *params)) ldg_find("glGetMapParameterivNV", lib); GL_CHECK(gl.GetMapParameterivNV); gl.GetMapdv = (void APIENTRY (*)(GLenum target, GLenum query, GLdouble *v)) ldg_find("glGetMapdv", lib); GL_CHECK(gl.GetMapdv); gl.GetMapfv = (void APIENTRY (*)(GLenum target, GLenum query, GLfloat *v)) ldg_find("glGetMapfv", lib); GL_CHECK(gl.GetMapfv); gl.GetMapiv = (void APIENTRY (*)(GLenum target, GLenum query, GLint *v)) ldg_find("glGetMapiv", lib); GL_CHECK(gl.GetMapiv); gl.GetMapxvOES = (void APIENTRY (*)(GLenum target, GLenum query, GLfixed *v)) ldg_find("glGetMapxvOES", lib); GL_CHECK(gl.GetMapxvOES); gl.GetMaterialfv = (void APIENTRY (*)(GLenum face, GLenum pname, GLfloat *params)) ldg_find("glGetMaterialfv", lib); GL_CHECK(gl.GetMaterialfv); gl.GetMaterialiv = (void APIENTRY (*)(GLenum face, GLenum pname, GLint *params)) ldg_find("glGetMaterialiv", lib); GL_CHECK(gl.GetMaterialiv); gl.GetMaterialxOES = (void APIENTRY (*)(GLenum face, GLenum pname, GLfixed param)) ldg_find("glGetMaterialxOES", lib); GL_CHECK(gl.GetMaterialxOES); gl.GetMinmax = (void APIENTRY (*)(GLenum target, GLboolean32 reset, GLenum format, GLenum type, void *values)) ldg_find("glGetMinmax", lib); GL_CHECK(gl.GetMinmax); gl.GetMinmaxEXT = (void APIENTRY (*)(GLenum target, GLboolean32 reset, GLenum format, GLenum type, void *values)) ldg_find("glGetMinmaxEXT", lib); GL_CHECK(gl.GetMinmaxEXT); gl.GetMinmaxParameterfv = (void APIENTRY (*)(GLenum target, GLenum pname, GLfloat *params)) ldg_find("glGetMinmaxParameterfv", lib); GL_CHECK(gl.GetMinmaxParameterfv); gl.GetMinmaxParameterfvEXT = (void APIENTRY (*)(GLenum target, GLenum pname, GLfloat *params)) ldg_find("glGetMinmaxParameterfvEXT", lib); GL_CHECK(gl.GetMinmaxParameterfvEXT); gl.GetMinmaxParameteriv = (void APIENTRY (*)(GLenum target, GLenum pname, GLint *params)) ldg_find("glGetMinmaxParameteriv", lib); GL_CHECK(gl.GetMinmaxParameteriv); gl.GetMinmaxParameterivEXT = (void APIENTRY (*)(GLenum target, GLenum pname, GLint *params)) ldg_find("glGetMinmaxParameterivEXT", lib); GL_CHECK(gl.GetMinmaxParameterivEXT); gl.GetMultiTexEnvfvEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLenum pname, GLfloat *params)) ldg_find("glGetMultiTexEnvfvEXT", lib); GL_CHECK(gl.GetMultiTexEnvfvEXT); gl.GetMultiTexEnvivEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLenum pname, GLint *params)) ldg_find("glGetMultiTexEnvivEXT", lib); GL_CHECK(gl.GetMultiTexEnvivEXT); gl.GetMultiTexGendvEXT = (void APIENTRY (*)(GLenum texunit, GLenum coord, GLenum pname, GLdouble *params)) ldg_find("glGetMultiTexGendvEXT", lib); GL_CHECK(gl.GetMultiTexGendvEXT); gl.GetMultiTexGenfvEXT = (void APIENTRY (*)(GLenum texunit, GLenum coord, GLenum pname, GLfloat *params)) ldg_find("glGetMultiTexGenfvEXT", lib); GL_CHECK(gl.GetMultiTexGenfvEXT); gl.GetMultiTexGenivEXT = (void APIENTRY (*)(GLenum texunit, GLenum coord, GLenum pname, GLint *params)) ldg_find("glGetMultiTexGenivEXT", lib); GL_CHECK(gl.GetMultiTexGenivEXT); gl.GetMultiTexImageEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLint level, GLenum format, GLenum type, void *pixels)) ldg_find("glGetMultiTexImageEXT", lib); GL_CHECK(gl.GetMultiTexImageEXT); gl.GetMultiTexLevelParameterfvEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLint level, GLenum pname, GLfloat *params)) ldg_find("glGetMultiTexLevelParameterfvEXT", lib); GL_CHECK(gl.GetMultiTexLevelParameterfvEXT); gl.GetMultiTexLevelParameterivEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLint level, GLenum pname, GLint *params)) ldg_find("glGetMultiTexLevelParameterivEXT", lib); GL_CHECK(gl.GetMultiTexLevelParameterivEXT); gl.GetMultiTexParameterIivEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLenum pname, GLint *params)) ldg_find("glGetMultiTexParameterIivEXT", lib); GL_CHECK(gl.GetMultiTexParameterIivEXT); gl.GetMultiTexParameterIuivEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLenum pname, GLuint *params)) ldg_find("glGetMultiTexParameterIuivEXT", lib); GL_CHECK(gl.GetMultiTexParameterIuivEXT); gl.GetMultiTexParameterfvEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLenum pname, GLfloat *params)) ldg_find("glGetMultiTexParameterfvEXT", lib); GL_CHECK(gl.GetMultiTexParameterfvEXT); gl.GetMultiTexParameterivEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLenum pname, GLint *params)) ldg_find("glGetMultiTexParameterivEXT", lib); GL_CHECK(gl.GetMultiTexParameterivEXT); gl.GetMultisamplefv = (void APIENTRY (*)(GLenum pname, GLuint index, GLfloat *val)) ldg_find("glGetMultisamplefv", lib); GL_CHECK(gl.GetMultisamplefv); gl.GetMultisamplefvNV = (void APIENTRY (*)(GLenum pname, GLuint index, GLfloat *val)) ldg_find("glGetMultisamplefvNV", lib); GL_CHECK(gl.GetMultisamplefvNV); gl.GetNamedBufferParameterivEXT = (void APIENTRY (*)(GLuint buffer, GLenum pname, GLint *params)) ldg_find("glGetNamedBufferParameterivEXT", lib); GL_CHECK(gl.GetNamedBufferParameterivEXT); gl.GetNamedBufferParameterui64vNV = (void APIENTRY (*)(GLuint buffer, GLenum pname, GLuint64EXT *params)) ldg_find("glGetNamedBufferParameterui64vNV", lib); GL_CHECK(gl.GetNamedBufferParameterui64vNV); gl.GetNamedBufferPointervEXT = (void APIENTRY (*)(GLuint buffer, GLenum pname, void * *params)) ldg_find("glGetNamedBufferPointervEXT", lib); GL_CHECK(gl.GetNamedBufferPointervEXT); gl.GetNamedBufferSubDataEXT = (void APIENTRY (*)(GLuint buffer, GLintptr offset, GLsizeiptr size, void *data)) ldg_find("glGetNamedBufferSubDataEXT", lib); GL_CHECK(gl.GetNamedBufferSubDataEXT); gl.GetNamedFramebufferAttachmentParameterivEXT = (void APIENTRY (*)(GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params)) ldg_find("glGetNamedFramebufferAttachmentParameterivEXT", lib); GL_CHECK(gl.GetNamedFramebufferAttachmentParameterivEXT); gl.GetNamedFramebufferParameterivEXT = (void APIENTRY (*)(GLuint framebuffer, GLenum pname, GLint *params)) ldg_find("glGetNamedFramebufferParameterivEXT", lib); GL_CHECK(gl.GetNamedFramebufferParameterivEXT); gl.GetNamedProgramLocalParameterIivEXT = (void APIENTRY (*)(GLuint program, GLenum target, GLuint index, GLint *params)) ldg_find("glGetNamedProgramLocalParameterIivEXT", lib); GL_CHECK(gl.GetNamedProgramLocalParameterIivEXT); gl.GetNamedProgramLocalParameterIuivEXT = (void APIENTRY (*)(GLuint program, GLenum target, GLuint index, GLuint *params)) ldg_find("glGetNamedProgramLocalParameterIuivEXT", lib); GL_CHECK(gl.GetNamedProgramLocalParameterIuivEXT); gl.GetNamedProgramLocalParameterdvEXT = (void APIENTRY (*)(GLuint program, GLenum target, GLuint index, GLdouble *params)) ldg_find("glGetNamedProgramLocalParameterdvEXT", lib); GL_CHECK(gl.GetNamedProgramLocalParameterdvEXT); gl.GetNamedProgramLocalParameterfvEXT = (void APIENTRY (*)(GLuint program, GLenum target, GLuint index, GLfloat *params)) ldg_find("glGetNamedProgramLocalParameterfvEXT", lib); GL_CHECK(gl.GetNamedProgramLocalParameterfvEXT); gl.GetNamedProgramStringEXT = (void APIENTRY (*)(GLuint program, GLenum target, GLenum pname, void *string)) ldg_find("glGetNamedProgramStringEXT", lib); GL_CHECK(gl.GetNamedProgramStringEXT); gl.GetNamedProgramivEXT = (void APIENTRY (*)(GLuint program, GLenum target, GLenum pname, GLint *params)) ldg_find("glGetNamedProgramivEXT", lib); GL_CHECK(gl.GetNamedProgramivEXT); gl.GetNamedRenderbufferParameterivEXT = (void APIENTRY (*)(GLuint renderbuffer, GLenum pname, GLint *params)) ldg_find("glGetNamedRenderbufferParameterivEXT", lib); GL_CHECK(gl.GetNamedRenderbufferParameterivEXT); gl.GetNamedStringARB = (void APIENTRY (*)(GLint namelen, const GLchar *name, GLsizei bufSize, GLint *stringlen, GLchar *string)) ldg_find("glGetNamedStringARB", lib); GL_CHECK(gl.GetNamedStringARB); gl.GetNamedStringivARB = (void APIENTRY (*)(GLint namelen, const GLchar *name, GLenum pname, GLint *params)) ldg_find("glGetNamedStringivARB", lib); GL_CHECK(gl.GetNamedStringivARB); gl.GetNextPerfQueryIdINTEL = (void APIENTRY (*)(GLuint queryId, GLuint *nextQueryId)) ldg_find("glGetNextPerfQueryIdINTEL", lib); GL_CHECK(gl.GetNextPerfQueryIdINTEL); gl.GetObjectBufferfvATI = (void APIENTRY (*)(GLuint buffer, GLenum pname, GLfloat *params)) ldg_find("glGetObjectBufferfvATI", lib); GL_CHECK(gl.GetObjectBufferfvATI); gl.GetObjectBufferivATI = (void APIENTRY (*)(GLuint buffer, GLenum pname, GLint *params)) ldg_find("glGetObjectBufferivATI", lib); GL_CHECK(gl.GetObjectBufferivATI); gl.GetObjectLabel = (void APIENTRY (*)(GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label)) ldg_find("glGetObjectLabel", lib); GL_CHECK(gl.GetObjectLabel); gl.GetObjectLabelEXT = (void APIENTRY (*)(GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label)) ldg_find("glGetObjectLabelEXT", lib); GL_CHECK(gl.GetObjectLabelEXT); gl.GetObjectParameterfvARB = (void APIENTRY (*)(GLhandleARB obj, GLenum pname, GLfloat *params)) ldg_find("glGetObjectParameterfvARB", lib); GL_CHECK(gl.GetObjectParameterfvARB); gl.GetObjectParameterivAPPLE = (void APIENTRY (*)(GLenum objectType, GLuint name, GLenum pname, GLint *params)) ldg_find("glGetObjectParameterivAPPLE", lib); GL_CHECK(gl.GetObjectParameterivAPPLE); gl.GetObjectParameterivARB = (void APIENTRY (*)(GLhandleARB obj, GLenum pname, GLint *params)) ldg_find("glGetObjectParameterivARB", lib); GL_CHECK(gl.GetObjectParameterivARB); gl.GetObjectPtrLabel = (void APIENTRY (*)(const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label)) ldg_find("glGetObjectPtrLabel", lib); GL_CHECK(gl.GetObjectPtrLabel); gl.GetOcclusionQueryivNV = (void APIENTRY (*)(GLuint id, GLenum pname, GLint *params)) ldg_find("glGetOcclusionQueryivNV", lib); GL_CHECK(gl.GetOcclusionQueryivNV); gl.GetOcclusionQueryuivNV = (void APIENTRY (*)(GLuint id, GLenum pname, GLuint *params)) ldg_find("glGetOcclusionQueryuivNV", lib); GL_CHECK(gl.GetOcclusionQueryuivNV); gl.GetPathColorGenfvNV = (void APIENTRY (*)(GLenum color, GLenum pname, GLfloat *value)) ldg_find("glGetPathColorGenfvNV", lib); GL_CHECK(gl.GetPathColorGenfvNV); gl.GetPathColorGenivNV = (void APIENTRY (*)(GLenum color, GLenum pname, GLint *value)) ldg_find("glGetPathColorGenivNV", lib); GL_CHECK(gl.GetPathColorGenivNV); gl.GetPathCommandsNV = (void APIENTRY (*)(GLuint path, GLubyte *commands)) ldg_find("glGetPathCommandsNV", lib); GL_CHECK(gl.GetPathCommandsNV); gl.GetPathCoordsNV = (void APIENTRY (*)(GLuint path, GLfloat *coords)) ldg_find("glGetPathCoordsNV", lib); GL_CHECK(gl.GetPathCoordsNV); gl.GetPathDashArrayNV = (void APIENTRY (*)(GLuint path, GLfloat *dashArray)) ldg_find("glGetPathDashArrayNV", lib); GL_CHECK(gl.GetPathDashArrayNV); gl.GetPathLengthNV = (GLfloat APIENTRY (*)(GLuint path, GLsizei startSegment, GLsizei numSegments)) ldg_find("glGetPathLengthNV", lib); GL_CHECK(gl.GetPathLengthNV); gl.GetPathMetricRangeNV = (void APIENTRY (*)(GLbitfield metricQueryMask, GLuint firstPathName, GLsizei numPaths, GLsizei stride, GLfloat *metrics)) ldg_find("glGetPathMetricRangeNV", lib); GL_CHECK(gl.GetPathMetricRangeNV); gl.GetPathMetricsNV = (void APIENTRY (*)(GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLsizei stride, GLfloat *metrics)) ldg_find("glGetPathMetricsNV", lib); GL_CHECK(gl.GetPathMetricsNV); gl.GetPathParameterfvNV = (void APIENTRY (*)(GLuint path, GLenum pname, GLfloat *value)) ldg_find("glGetPathParameterfvNV", lib); GL_CHECK(gl.GetPathParameterfvNV); gl.GetPathParameterivNV = (void APIENTRY (*)(GLuint path, GLenum pname, GLint *value)) ldg_find("glGetPathParameterivNV", lib); GL_CHECK(gl.GetPathParameterivNV); gl.GetPathSpacingNV = (void APIENTRY (*)(GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat *returnedSpacing)) ldg_find("glGetPathSpacingNV", lib); GL_CHECK(gl.GetPathSpacingNV); gl.GetPathTexGenfvNV = (void APIENTRY (*)(GLenum texCoordSet, GLenum pname, GLfloat *value)) ldg_find("glGetPathTexGenfvNV", lib); GL_CHECK(gl.GetPathTexGenfvNV); gl.GetPathTexGenivNV = (void APIENTRY (*)(GLenum texCoordSet, GLenum pname, GLint *value)) ldg_find("glGetPathTexGenivNV", lib); GL_CHECK(gl.GetPathTexGenivNV); gl.GetPerfCounterInfoINTEL = (void APIENTRY (*)(GLuint queryId, GLuint counterId, GLuint counterNameLength, GLchar *counterName, GLuint counterDescLength, GLchar *counterDesc, GLuint *counterOffset, GLuint *counterDataSize, GLuint *counterTypeEnum, GLuint *counterDataTypeEnum, GLuint64 *rawCounterMaxValue)) ldg_find("glGetPerfCounterInfoINTEL", lib); GL_CHECK(gl.GetPerfCounterInfoINTEL); gl.GetPerfMonitorCounterDataAMD = (void APIENTRY (*)(GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten)) ldg_find("glGetPerfMonitorCounterDataAMD", lib); GL_CHECK(gl.GetPerfMonitorCounterDataAMD); gl.GetPerfMonitorCounterInfoAMD = (void APIENTRY (*)(GLuint group, GLuint counter, GLenum pname, void *data)) ldg_find("glGetPerfMonitorCounterInfoAMD", lib); GL_CHECK(gl.GetPerfMonitorCounterInfoAMD); gl.GetPerfMonitorCounterStringAMD = (void APIENTRY (*)(GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString)) ldg_find("glGetPerfMonitorCounterStringAMD", lib); GL_CHECK(gl.GetPerfMonitorCounterStringAMD); gl.GetPerfMonitorCountersAMD = (void APIENTRY (*)(GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters)) ldg_find("glGetPerfMonitorCountersAMD", lib); GL_CHECK(gl.GetPerfMonitorCountersAMD); gl.GetPerfMonitorGroupStringAMD = (void APIENTRY (*)(GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString)) ldg_find("glGetPerfMonitorGroupStringAMD", lib); GL_CHECK(gl.GetPerfMonitorGroupStringAMD); gl.GetPerfMonitorGroupsAMD = (void APIENTRY (*)(GLint *numGroups, GLsizei groupsSize, GLuint *groups)) ldg_find("glGetPerfMonitorGroupsAMD", lib); GL_CHECK(gl.GetPerfMonitorGroupsAMD); gl.GetPerfQueryDataINTEL = (void APIENTRY (*)(GLuint queryHandle, GLuint flags, GLsizei dataSize, GLvoid *data, GLuint *bytesWritten)) ldg_find("glGetPerfQueryDataINTEL", lib); GL_CHECK(gl.GetPerfQueryDataINTEL); gl.GetPerfQueryIdByNameINTEL = (void APIENTRY (*)(GLchar *queryName, GLuint *queryId)) ldg_find("glGetPerfQueryIdByNameINTEL", lib); GL_CHECK(gl.GetPerfQueryIdByNameINTEL); gl.GetPerfQueryInfoINTEL = (void APIENTRY (*)(GLuint queryId, GLuint queryNameLength, GLchar *queryName, GLuint *dataSize, GLuint *noCounters, GLuint *noInstances, GLuint *capsMask)) ldg_find("glGetPerfQueryInfoINTEL", lib); GL_CHECK(gl.GetPerfQueryInfoINTEL); gl.GetPixelMapfv = (void APIENTRY (*)(GLenum map, GLfloat *values)) ldg_find("glGetPixelMapfv", lib); GL_CHECK(gl.GetPixelMapfv); gl.GetPixelMapuiv = (void APIENTRY (*)(GLenum map, GLuint *values)) ldg_find("glGetPixelMapuiv", lib); GL_CHECK(gl.GetPixelMapuiv); gl.GetPixelMapusv = (void APIENTRY (*)(GLenum map, GLushort *values)) ldg_find("glGetPixelMapusv", lib); GL_CHECK(gl.GetPixelMapusv); gl.GetPixelMapxv = (void APIENTRY (*)(GLenum map, GLint size, GLfixed *values)) ldg_find("glGetPixelMapxv", lib); GL_CHECK(gl.GetPixelMapxv); gl.GetPixelTexGenParameterfvSGIS = (void APIENTRY (*)(GLenum pname, GLfloat *params)) ldg_find("glGetPixelTexGenParameterfvSGIS", lib); GL_CHECK(gl.GetPixelTexGenParameterfvSGIS); gl.GetPixelTexGenParameterivSGIS = (void APIENTRY (*)(GLenum pname, GLint *params)) ldg_find("glGetPixelTexGenParameterivSGIS", lib); GL_CHECK(gl.GetPixelTexGenParameterivSGIS); gl.GetPixelTransformParameterfvEXT = (void APIENTRY (*)(GLenum target, GLenum pname, GLfloat *params)) ldg_find("glGetPixelTransformParameterfvEXT", lib); GL_CHECK(gl.GetPixelTransformParameterfvEXT); gl.GetPixelTransformParameterivEXT = (void APIENTRY (*)(GLenum target, GLenum pname, GLint *params)) ldg_find("glGetPixelTransformParameterivEXT", lib); GL_CHECK(gl.GetPixelTransformParameterivEXT); gl.GetPointerIndexedvEXT = (void APIENTRY (*)(GLenum target, GLuint index, void * *data)) ldg_find("glGetPointerIndexedvEXT", lib); GL_CHECK(gl.GetPointerIndexedvEXT); gl.GetPointeri_vEXT = (void APIENTRY (*)(GLenum pname, GLuint index, void * *params)) ldg_find("glGetPointeri_vEXT", lib); GL_CHECK(gl.GetPointeri_vEXT); gl.GetPointerv = (void APIENTRY (*)(GLenum pname, GLvoid* *params)) ldg_find("glGetPointerv", lib); GL_CHECK(gl.GetPointerv); gl.GetPointervEXT = (void APIENTRY (*)(GLenum pname, void * *params)) ldg_find("glGetPointervEXT", lib); GL_CHECK(gl.GetPointervEXT); gl.GetPolygonStipple = (void APIENTRY (*)(GLubyte *mask)) ldg_find("glGetPolygonStipple", lib); GL_CHECK(gl.GetPolygonStipple); gl.GetProgramBinary = (void APIENTRY (*)(GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary)) ldg_find("glGetProgramBinary", lib); GL_CHECK(gl.GetProgramBinary); gl.GetProgramEnvParameterIivNV = (void APIENTRY (*)(GLenum target, GLuint index, GLint *params)) ldg_find("glGetProgramEnvParameterIivNV", lib); GL_CHECK(gl.GetProgramEnvParameterIivNV); gl.GetProgramEnvParameterIuivNV = (void APIENTRY (*)(GLenum target, GLuint index, GLuint *params)) ldg_find("glGetProgramEnvParameterIuivNV", lib); GL_CHECK(gl.GetProgramEnvParameterIuivNV); gl.GetProgramEnvParameterdvARB = (void APIENTRY (*)(GLenum target, GLuint index, GLdouble *params)) ldg_find("glGetProgramEnvParameterdvARB", lib); GL_CHECK(gl.GetProgramEnvParameterdvARB); gl.GetProgramEnvParameterfvARB = (void APIENTRY (*)(GLenum target, GLuint index, GLfloat *params)) ldg_find("glGetProgramEnvParameterfvARB", lib); GL_CHECK(gl.GetProgramEnvParameterfvARB); gl.GetProgramInfoLog = (void APIENTRY (*)(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog)) ldg_find("glGetProgramInfoLog", lib); GL_CHECK(gl.GetProgramInfoLog); gl.GetProgramInterfaceiv = (void APIENTRY (*)(GLuint program, GLenum programInterface, GLenum pname, GLint *params)) ldg_find("glGetProgramInterfaceiv", lib); GL_CHECK(gl.GetProgramInterfaceiv); gl.GetProgramLocalParameterIivNV = (void APIENTRY (*)(GLenum target, GLuint index, GLint *params)) ldg_find("glGetProgramLocalParameterIivNV", lib); GL_CHECK(gl.GetProgramLocalParameterIivNV); gl.GetProgramLocalParameterIuivNV = (void APIENTRY (*)(GLenum target, GLuint index, GLuint *params)) ldg_find("glGetProgramLocalParameterIuivNV", lib); GL_CHECK(gl.GetProgramLocalParameterIuivNV); gl.GetProgramLocalParameterdvARB = (void APIENTRY (*)(GLenum target, GLuint index, GLdouble *params)) ldg_find("glGetProgramLocalParameterdvARB", lib); GL_CHECK(gl.GetProgramLocalParameterdvARB); gl.GetProgramLocalParameterfvARB = (void APIENTRY (*)(GLenum target, GLuint index, GLfloat *params)) ldg_find("glGetProgramLocalParameterfvARB", lib); GL_CHECK(gl.GetProgramLocalParameterfvARB); gl.GetProgramNamedParameterdvNV = (void APIENTRY (*)(GLuint id, GLsizei len, const GLubyte *name, GLdouble *params)) ldg_find("glGetProgramNamedParameterdvNV", lib); GL_CHECK(gl.GetProgramNamedParameterdvNV); gl.GetProgramNamedParameterfvNV = (void APIENTRY (*)(GLuint id, GLsizei len, const GLubyte *name, GLfloat *params)) ldg_find("glGetProgramNamedParameterfvNV", lib); GL_CHECK(gl.GetProgramNamedParameterfvNV); gl.GetProgramParameterdvNV = (void APIENTRY (*)(GLenum target, GLuint index, GLenum pname, GLdouble *params)) ldg_find("glGetProgramParameterdvNV", lib); GL_CHECK(gl.GetProgramParameterdvNV); gl.GetProgramParameterfvNV = (void APIENTRY (*)(GLenum target, GLuint index, GLenum pname, GLfloat *params)) ldg_find("glGetProgramParameterfvNV", lib); GL_CHECK(gl.GetProgramParameterfvNV); gl.GetProgramPipelineInfoLog = (void APIENTRY (*)(GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog)) ldg_find("glGetProgramPipelineInfoLog", lib); GL_CHECK(gl.GetProgramPipelineInfoLog); gl.GetProgramPipelineiv = (void APIENTRY (*)(GLuint pipeline, GLenum pname, GLint *params)) ldg_find("glGetProgramPipelineiv", lib); GL_CHECK(gl.GetProgramPipelineiv); gl.GetProgramRegisterfvMESA = (void APIENTRY (*)(GLenum target, GLsizei len, const GLubyte *name, GLfloat *v)) ldg_find("glGetProgramRegisterfvMESA", lib); GL_CHECK(gl.GetProgramRegisterfvMESA); gl.GetProgramResourceIndex = (GLuint APIENTRY (*)(GLuint program, GLenum programInterface, const GLchar *name)) ldg_find("glGetProgramResourceIndex", lib); GL_CHECK(gl.GetProgramResourceIndex); gl.GetProgramResourceLocation = (GLint APIENTRY (*)(GLuint program, GLenum programInterface, const GLchar *name)) ldg_find("glGetProgramResourceLocation", lib); GL_CHECK(gl.GetProgramResourceLocation); gl.GetProgramResourceLocationIndex = (GLint APIENTRY (*)(GLuint program, GLenum programInterface, const GLchar *name)) ldg_find("glGetProgramResourceLocationIndex", lib); GL_CHECK(gl.GetProgramResourceLocationIndex); gl.GetProgramResourceName = (void APIENTRY (*)(GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name)) ldg_find("glGetProgramResourceName", lib); GL_CHECK(gl.GetProgramResourceName); gl.GetProgramResourceiv = (void APIENTRY (*)(GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params)) ldg_find("glGetProgramResourceiv", lib); GL_CHECK(gl.GetProgramResourceiv); gl.GetProgramStageiv = (void APIENTRY (*)(GLuint program, GLenum shadertype, GLenum pname, GLint *values)) ldg_find("glGetProgramStageiv", lib); GL_CHECK(gl.GetProgramStageiv); gl.GetProgramStringARB = (void APIENTRY (*)(GLenum target, GLenum pname, void *string)) ldg_find("glGetProgramStringARB", lib); GL_CHECK(gl.GetProgramStringARB); gl.GetProgramStringNV = (void APIENTRY (*)(GLuint id, GLenum pname, GLubyte *program)) ldg_find("glGetProgramStringNV", lib); GL_CHECK(gl.GetProgramStringNV); gl.GetProgramSubroutineParameteruivNV = (void APIENTRY (*)(GLenum target, GLuint index, GLuint *param)) ldg_find("glGetProgramSubroutineParameteruivNV", lib); GL_CHECK(gl.GetProgramSubroutineParameteruivNV); gl.GetProgramiv = (void APIENTRY (*)(GLuint program, GLenum pname, GLint *params)) ldg_find("glGetProgramiv", lib); GL_CHECK(gl.GetProgramiv); gl.GetProgramivARB = (void APIENTRY (*)(GLenum target, GLenum pname, GLint *params)) ldg_find("glGetProgramivARB", lib); GL_CHECK(gl.GetProgramivARB); gl.GetProgramivNV = (void APIENTRY (*)(GLuint id, GLenum pname, GLint *params)) ldg_find("glGetProgramivNV", lib); GL_CHECK(gl.GetProgramivNV); gl.GetQueryIndexediv = (void APIENTRY (*)(GLenum target, GLuint index, GLenum pname, GLint *params)) ldg_find("glGetQueryIndexediv", lib); GL_CHECK(gl.GetQueryIndexediv); gl.GetQueryObjecti64v = (void APIENTRY (*)(GLuint id, GLenum pname, GLint64 *params)) ldg_find("glGetQueryObjecti64v", lib); GL_CHECK(gl.GetQueryObjecti64v); gl.GetQueryObjecti64vEXT = (void APIENTRY (*)(GLuint id, GLenum pname, GLint64 *params)) ldg_find("glGetQueryObjecti64vEXT", lib); GL_CHECK(gl.GetQueryObjecti64vEXT); gl.GetQueryObjectiv = (void APIENTRY (*)(GLuint id, GLenum pname, GLint *params)) ldg_find("glGetQueryObjectiv", lib); GL_CHECK(gl.GetQueryObjectiv); gl.GetQueryObjectivARB = (void APIENTRY (*)(GLuint id, GLenum pname, GLint *params)) ldg_find("glGetQueryObjectivARB", lib); GL_CHECK(gl.GetQueryObjectivARB); gl.GetQueryObjectui64v = (void APIENTRY (*)(GLuint id, GLenum pname, GLuint64 *params)) ldg_find("glGetQueryObjectui64v", lib); GL_CHECK(gl.GetQueryObjectui64v); gl.GetQueryObjectui64vEXT = (void APIENTRY (*)(GLuint id, GLenum pname, GLuint64 *params)) ldg_find("glGetQueryObjectui64vEXT", lib); GL_CHECK(gl.GetQueryObjectui64vEXT); gl.GetQueryObjectuiv = (void APIENTRY (*)(GLuint id, GLenum pname, GLuint *params)) ldg_find("glGetQueryObjectuiv", lib); GL_CHECK(gl.GetQueryObjectuiv); gl.GetQueryObjectuivARB = (void APIENTRY (*)(GLuint id, GLenum pname, GLuint *params)) ldg_find("glGetQueryObjectuivARB", lib); GL_CHECK(gl.GetQueryObjectuivARB); gl.GetQueryiv = (void APIENTRY (*)(GLenum target, GLenum pname, GLint *params)) ldg_find("glGetQueryiv", lib); GL_CHECK(gl.GetQueryiv); gl.GetQueryivARB = (void APIENTRY (*)(GLenum target, GLenum pname, GLint *params)) ldg_find("glGetQueryivARB", lib); GL_CHECK(gl.GetQueryivARB); gl.GetRenderbufferParameteriv = (void APIENTRY (*)(GLenum target, GLenum pname, GLint *params)) ldg_find("glGetRenderbufferParameteriv", lib); GL_CHECK(gl.GetRenderbufferParameteriv); gl.GetRenderbufferParameterivEXT = (void APIENTRY (*)(GLenum target, GLenum pname, GLint *params)) ldg_find("glGetRenderbufferParameterivEXT", lib); GL_CHECK(gl.GetRenderbufferParameterivEXT); gl.GetSamplerParameterIiv = (void APIENTRY (*)(GLuint sampler, GLenum pname, GLint *params)) ldg_find("glGetSamplerParameterIiv", lib); GL_CHECK(gl.GetSamplerParameterIiv); gl.GetSamplerParameterIuiv = (void APIENTRY (*)(GLuint sampler, GLenum pname, GLuint *params)) ldg_find("glGetSamplerParameterIuiv", lib); GL_CHECK(gl.GetSamplerParameterIuiv); gl.GetSamplerParameterfv = (void APIENTRY (*)(GLuint sampler, GLenum pname, GLfloat *params)) ldg_find("glGetSamplerParameterfv", lib); GL_CHECK(gl.GetSamplerParameterfv); gl.GetSamplerParameteriv = (void APIENTRY (*)(GLuint sampler, GLenum pname, GLint *params)) ldg_find("glGetSamplerParameteriv", lib); GL_CHECK(gl.GetSamplerParameteriv); gl.GetSeparableFilter = (void APIENTRY (*)(GLenum target, GLenum format, GLenum type, void *row, void *column, void *span)) ldg_find("glGetSeparableFilter", lib); GL_CHECK(gl.GetSeparableFilter); gl.GetSeparableFilterEXT = (void APIENTRY (*)(GLenum target, GLenum format, GLenum type, void *row, void *column, void *span)) ldg_find("glGetSeparableFilterEXT", lib); GL_CHECK(gl.GetSeparableFilterEXT); gl.GetShaderInfoLog = (void APIENTRY (*)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog)) ldg_find("glGetShaderInfoLog", lib); GL_CHECK(gl.GetShaderInfoLog); gl.GetShaderPrecisionFormat = (void APIENTRY (*)(GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision)) ldg_find("glGetShaderPrecisionFormat", lib); GL_CHECK(gl.GetShaderPrecisionFormat); gl.GetShaderSource = (void APIENTRY (*)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source)) ldg_find("glGetShaderSource", lib); GL_CHECK(gl.GetShaderSource); gl.GetShaderSourceARB = (void APIENTRY (*)(GLhandleARB obj, GLsizei maxLength, GLsizei *length, GLcharARB *source)) ldg_find("glGetShaderSourceARB", lib); GL_CHECK(gl.GetShaderSourceARB); gl.GetShaderiv = (void APIENTRY (*)(GLuint shader, GLenum pname, GLint *params)) ldg_find("glGetShaderiv", lib); GL_CHECK(gl.GetShaderiv); gl.GetSharpenTexFuncSGIS = (void APIENTRY (*)(GLenum target, GLfloat *points)) ldg_find("glGetSharpenTexFuncSGIS", lib); GL_CHECK(gl.GetSharpenTexFuncSGIS); gl.GetString = (const GLubyte * APIENTRY (*)(GLenum name)) ldg_find("glGetString", lib); GL_CHECK(gl.GetString); gl.GetStringi = (const GLubyte * APIENTRY (*)(GLenum name, GLuint index)) ldg_find("glGetStringi", lib); GL_CHECK(gl.GetStringi); gl.GetSubroutineIndex = (GLuint APIENTRY (*)(GLuint program, GLenum shadertype, const GLchar *name)) ldg_find("glGetSubroutineIndex", lib); GL_CHECK(gl.GetSubroutineIndex); gl.GetSubroutineUniformLocation = (GLint APIENTRY (*)(GLuint program, GLenum shadertype, const GLchar *name)) ldg_find("glGetSubroutineUniformLocation", lib); GL_CHECK(gl.GetSubroutineUniformLocation); gl.GetSynciv = (void APIENTRY (*)(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values)) ldg_find("glGetSynciv", lib); GL_CHECK(gl.GetSynciv); gl.GetTexBumpParameterfvATI = (void APIENTRY (*)(GLenum pname, GLfloat *param)) ldg_find("glGetTexBumpParameterfvATI", lib); GL_CHECK(gl.GetTexBumpParameterfvATI); gl.GetTexBumpParameterivATI = (void APIENTRY (*)(GLenum pname, GLint *param)) ldg_find("glGetTexBumpParameterivATI", lib); GL_CHECK(gl.GetTexBumpParameterivATI); gl.GetTexEnvfv = (void APIENTRY (*)(GLenum target, GLenum pname, GLfloat *params)) ldg_find("glGetTexEnvfv", lib); GL_CHECK(gl.GetTexEnvfv); gl.GetTexEnviv = (void APIENTRY (*)(GLenum target, GLenum pname, GLint *params)) ldg_find("glGetTexEnviv", lib); GL_CHECK(gl.GetTexEnviv); gl.GetTexEnvxvOES = (void APIENTRY (*)(GLenum target, GLenum pname, GLfixed *params)) ldg_find("glGetTexEnvxvOES", lib); GL_CHECK(gl.GetTexEnvxvOES); gl.GetTexFilterFuncSGIS = (void APIENTRY (*)(GLenum target, GLenum filter, GLfloat *weights)) ldg_find("glGetTexFilterFuncSGIS", lib); GL_CHECK(gl.GetTexFilterFuncSGIS); gl.GetTexGendv = (void APIENTRY (*)(GLenum coord, GLenum pname, GLdouble *params)) ldg_find("glGetTexGendv", lib); GL_CHECK(gl.GetTexGendv); gl.GetTexGenfv = (void APIENTRY (*)(GLenum coord, GLenum pname, GLfloat *params)) ldg_find("glGetTexGenfv", lib); GL_CHECK(gl.GetTexGenfv); gl.GetTexGeniv = (void APIENTRY (*)(GLenum coord, GLenum pname, GLint *params)) ldg_find("glGetTexGeniv", lib); GL_CHECK(gl.GetTexGeniv); gl.GetTexGenxvOES = (void APIENTRY (*)(GLenum coord, GLenum pname, GLfixed *params)) ldg_find("glGetTexGenxvOES", lib); GL_CHECK(gl.GetTexGenxvOES); gl.GetTexImage = (void APIENTRY (*)(GLenum target, GLint level, GLenum format, GLenum type, GLvoid *pixels)) ldg_find("glGetTexImage", lib); GL_CHECK(gl.GetTexImage); gl.GetTexLevelParameterfv = (void APIENTRY (*)(GLenum target, GLint level, GLenum pname, GLfloat *params)) ldg_find("glGetTexLevelParameterfv", lib); GL_CHECK(gl.GetTexLevelParameterfv); gl.GetTexLevelParameteriv = (void APIENTRY (*)(GLenum target, GLint level, GLenum pname, GLint *params)) ldg_find("glGetTexLevelParameteriv", lib); GL_CHECK(gl.GetTexLevelParameteriv); gl.GetTexLevelParameterxvOES = (void APIENTRY (*)(GLenum target, GLint level, GLenum pname, GLfixed *params)) ldg_find("glGetTexLevelParameterxvOES", lib); GL_CHECK(gl.GetTexLevelParameterxvOES); gl.GetTexParameterIiv = (void APIENTRY (*)(GLenum target, GLenum pname, GLint *params)) ldg_find("glGetTexParameterIiv", lib); GL_CHECK(gl.GetTexParameterIiv); gl.GetTexParameterIivEXT = (void APIENTRY (*)(GLenum target, GLenum pname, GLint *params)) ldg_find("glGetTexParameterIivEXT", lib); GL_CHECK(gl.GetTexParameterIivEXT); gl.GetTexParameterIuiv = (void APIENTRY (*)(GLenum target, GLenum pname, GLuint *params)) ldg_find("glGetTexParameterIuiv", lib); GL_CHECK(gl.GetTexParameterIuiv); gl.GetTexParameterIuivEXT = (void APIENTRY (*)(GLenum target, GLenum pname, GLuint *params)) ldg_find("glGetTexParameterIuivEXT", lib); GL_CHECK(gl.GetTexParameterIuivEXT); gl.GetTexParameterPointervAPPLE = (void APIENTRY (*)(GLenum target, GLenum pname, void * *params)) ldg_find("glGetTexParameterPointervAPPLE", lib); GL_CHECK(gl.GetTexParameterPointervAPPLE); gl.GetTexParameterfv = (void APIENTRY (*)(GLenum target, GLenum pname, GLfloat *params)) ldg_find("glGetTexParameterfv", lib); GL_CHECK(gl.GetTexParameterfv); gl.GetTexParameteriv = (void APIENTRY (*)(GLenum target, GLenum pname, GLint *params)) ldg_find("glGetTexParameteriv", lib); GL_CHECK(gl.GetTexParameteriv); gl.GetTexParameterxvOES = (void APIENTRY (*)(GLenum target, GLenum pname, GLfixed *params)) ldg_find("glGetTexParameterxvOES", lib); GL_CHECK(gl.GetTexParameterxvOES); gl.GetTextureHandleARB = (GLuint64 APIENTRY (*)(GLuint texture)) ldg_find("glGetTextureHandleARB", lib); GL_CHECK(gl.GetTextureHandleARB); gl.GetTextureHandleNV = (GLuint64 APIENTRY (*)(GLuint texture)) ldg_find("glGetTextureHandleNV", lib); GL_CHECK(gl.GetTextureHandleNV); gl.GetTextureImageEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLint level, GLenum format, GLenum type, void *pixels)) ldg_find("glGetTextureImageEXT", lib); GL_CHECK(gl.GetTextureImageEXT); gl.GetTextureLevelParameterfvEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLint level, GLenum pname, GLfloat *params)) ldg_find("glGetTextureLevelParameterfvEXT", lib); GL_CHECK(gl.GetTextureLevelParameterfvEXT); gl.GetTextureLevelParameterivEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLint level, GLenum pname, GLint *params)) ldg_find("glGetTextureLevelParameterivEXT", lib); GL_CHECK(gl.GetTextureLevelParameterivEXT); gl.GetTextureParameterIivEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLenum pname, GLint *params)) ldg_find("glGetTextureParameterIivEXT", lib); GL_CHECK(gl.GetTextureParameterIivEXT); gl.GetTextureParameterIuivEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLenum pname, GLuint *params)) ldg_find("glGetTextureParameterIuivEXT", lib); GL_CHECK(gl.GetTextureParameterIuivEXT); gl.GetTextureParameterfvEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLenum pname, GLfloat *params)) ldg_find("glGetTextureParameterfvEXT", lib); GL_CHECK(gl.GetTextureParameterfvEXT); gl.GetTextureParameterivEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLenum pname, GLint *params)) ldg_find("glGetTextureParameterivEXT", lib); GL_CHECK(gl.GetTextureParameterivEXT); gl.GetTextureSamplerHandleARB = (GLuint64 APIENTRY (*)(GLuint texture, GLuint sampler)) ldg_find("glGetTextureSamplerHandleARB", lib); GL_CHECK(gl.GetTextureSamplerHandleARB); gl.GetTextureSamplerHandleNV = (GLuint64 APIENTRY (*)(GLuint texture, GLuint sampler)) ldg_find("glGetTextureSamplerHandleNV", lib); GL_CHECK(gl.GetTextureSamplerHandleNV); gl.GetTrackMatrixivNV = (void APIENTRY (*)(GLenum target, GLuint address, GLenum pname, GLint *params)) ldg_find("glGetTrackMatrixivNV", lib); GL_CHECK(gl.GetTrackMatrixivNV); gl.GetTransformFeedbackVarying = (void APIENTRY (*)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name)) ldg_find("glGetTransformFeedbackVarying", lib); GL_CHECK(gl.GetTransformFeedbackVarying); gl.GetTransformFeedbackVaryingEXT = (void APIENTRY (*)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name)) ldg_find("glGetTransformFeedbackVaryingEXT", lib); GL_CHECK(gl.GetTransformFeedbackVaryingEXT); gl.GetTransformFeedbackVaryingNV = (void APIENTRY (*)(GLuint program, GLuint index, GLint *location)) ldg_find("glGetTransformFeedbackVaryingNV", lib); GL_CHECK(gl.GetTransformFeedbackVaryingNV); gl.GetUniformBlockIndex = (GLuint APIENTRY (*)(GLuint program, const GLchar *uniformBlockName)) ldg_find("glGetUniformBlockIndex", lib); GL_CHECK(gl.GetUniformBlockIndex); gl.GetUniformBufferSizeEXT = (GLint APIENTRY (*)(GLuint program, GLint location)) ldg_find("glGetUniformBufferSizeEXT", lib); GL_CHECK(gl.GetUniformBufferSizeEXT); gl.GetUniformIndices = (void APIENTRY (*)(GLuint program, GLsizei uniformCount, const GLchar *const *uniformNames, GLuint *uniformIndices)) ldg_find("glGetUniformIndices", lib); GL_CHECK(gl.GetUniformIndices); gl.GetUniformLocation = (GLint APIENTRY (*)(GLuint program, const GLchar *name)) ldg_find("glGetUniformLocation", lib); GL_CHECK(gl.GetUniformLocation); gl.GetUniformLocationARB = (GLint APIENTRY (*)(GLhandleARB programObj, const GLcharARB *name)) ldg_find("glGetUniformLocationARB", lib); GL_CHECK(gl.GetUniformLocationARB); gl.GetUniformOffsetEXT = (GLintptr APIENTRY (*)(GLuint program, GLint location)) ldg_find("glGetUniformOffsetEXT", lib); GL_CHECK(gl.GetUniformOffsetEXT); gl.GetUniformSubroutineuiv = (void APIENTRY (*)(GLenum shadertype, GLint location, GLuint *params)) ldg_find("glGetUniformSubroutineuiv", lib); GL_CHECK(gl.GetUniformSubroutineuiv); gl.GetUniformdv = (void APIENTRY (*)(GLuint program, GLint location, GLdouble *params)) ldg_find("glGetUniformdv", lib); GL_CHECK(gl.GetUniformdv); gl.GetUniformfv = (void APIENTRY (*)(GLuint program, GLint location, GLfloat *params)) ldg_find("glGetUniformfv", lib); GL_CHECK(gl.GetUniformfv); gl.GetUniformfvARB = (void APIENTRY (*)(GLhandleARB programObj, GLint location, GLfloat *params)) ldg_find("glGetUniformfvARB", lib); GL_CHECK(gl.GetUniformfvARB); gl.GetUniformi64vNV = (void APIENTRY (*)(GLuint program, GLint location, GLint64EXT *params)) ldg_find("glGetUniformi64vNV", lib); GL_CHECK(gl.GetUniformi64vNV); gl.GetUniformiv = (void APIENTRY (*)(GLuint program, GLint location, GLint *params)) ldg_find("glGetUniformiv", lib); GL_CHECK(gl.GetUniformiv); gl.GetUniformivARB = (void APIENTRY (*)(GLhandleARB programObj, GLint location, GLint *params)) ldg_find("glGetUniformivARB", lib); GL_CHECK(gl.GetUniformivARB); gl.GetUniformui64vNV = (void APIENTRY (*)(GLuint program, GLint location, GLuint64EXT *params)) ldg_find("glGetUniformui64vNV", lib); GL_CHECK(gl.GetUniformui64vNV); gl.GetUniformuiv = (void APIENTRY (*)(GLuint program, GLint location, GLuint *params)) ldg_find("glGetUniformuiv", lib); GL_CHECK(gl.GetUniformuiv); gl.GetUniformuivEXT = (void APIENTRY (*)(GLuint program, GLint location, GLuint *params)) ldg_find("glGetUniformuivEXT", lib); GL_CHECK(gl.GetUniformuivEXT); gl.GetVariantArrayObjectfvATI = (void APIENTRY (*)(GLuint id, GLenum pname, GLfloat *params)) ldg_find("glGetVariantArrayObjectfvATI", lib); GL_CHECK(gl.GetVariantArrayObjectfvATI); gl.GetVariantArrayObjectivATI = (void APIENTRY (*)(GLuint id, GLenum pname, GLint *params)) ldg_find("glGetVariantArrayObjectivATI", lib); GL_CHECK(gl.GetVariantArrayObjectivATI); gl.GetVariantBooleanvEXT = (void APIENTRY (*)(GLuint id, GLenum value, GLboolean *data)) ldg_find("glGetVariantBooleanvEXT", lib); GL_CHECK(gl.GetVariantBooleanvEXT); gl.GetVariantFloatvEXT = (void APIENTRY (*)(GLuint id, GLenum value, GLfloat *data)) ldg_find("glGetVariantFloatvEXT", lib); GL_CHECK(gl.GetVariantFloatvEXT); gl.GetVariantIntegervEXT = (void APIENTRY (*)(GLuint id, GLenum value, GLint *data)) ldg_find("glGetVariantIntegervEXT", lib); GL_CHECK(gl.GetVariantIntegervEXT); gl.GetVariantPointervEXT = (void APIENTRY (*)(GLuint id, GLenum value, void * *data)) ldg_find("glGetVariantPointervEXT", lib); GL_CHECK(gl.GetVariantPointervEXT); gl.GetVaryingLocationNV = (GLint APIENTRY (*)(GLuint program, const GLchar *name)) ldg_find("glGetVaryingLocationNV", lib); GL_CHECK(gl.GetVaryingLocationNV); gl.GetVertexArrayIntegeri_vEXT = (void APIENTRY (*)(GLuint vaobj, GLuint index, GLenum pname, GLint *param)) ldg_find("glGetVertexArrayIntegeri_vEXT", lib); GL_CHECK(gl.GetVertexArrayIntegeri_vEXT); gl.GetVertexArrayIntegervEXT = (void APIENTRY (*)(GLuint vaobj, GLenum pname, GLint *param)) ldg_find("glGetVertexArrayIntegervEXT", lib); GL_CHECK(gl.GetVertexArrayIntegervEXT); gl.GetVertexArrayPointeri_vEXT = (void APIENTRY (*)(GLuint vaobj, GLuint index, GLenum pname, void * *param)) ldg_find("glGetVertexArrayPointeri_vEXT", lib); GL_CHECK(gl.GetVertexArrayPointeri_vEXT); gl.GetVertexArrayPointervEXT = (void APIENTRY (*)(GLuint vaobj, GLenum pname, void * *param)) ldg_find("glGetVertexArrayPointervEXT", lib); GL_CHECK(gl.GetVertexArrayPointervEXT); gl.GetVertexAttribArrayObjectfvATI = (void APIENTRY (*)(GLuint index, GLenum pname, GLfloat *params)) ldg_find("glGetVertexAttribArrayObjectfvATI", lib); GL_CHECK(gl.GetVertexAttribArrayObjectfvATI); gl.GetVertexAttribArrayObjectivATI = (void APIENTRY (*)(GLuint index, GLenum pname, GLint *params)) ldg_find("glGetVertexAttribArrayObjectivATI", lib); GL_CHECK(gl.GetVertexAttribArrayObjectivATI); gl.GetVertexAttribIiv = (void APIENTRY (*)(GLuint index, GLenum pname, GLint *params)) ldg_find("glGetVertexAttribIiv", lib); GL_CHECK(gl.GetVertexAttribIiv); gl.GetVertexAttribIivEXT = (void APIENTRY (*)(GLuint index, GLenum pname, GLint *params)) ldg_find("glGetVertexAttribIivEXT", lib); GL_CHECK(gl.GetVertexAttribIivEXT); gl.GetVertexAttribIuiv = (void APIENTRY (*)(GLuint index, GLenum pname, GLuint *params)) ldg_find("glGetVertexAttribIuiv", lib); GL_CHECK(gl.GetVertexAttribIuiv); gl.GetVertexAttribIuivEXT = (void APIENTRY (*)(GLuint index, GLenum pname, GLuint *params)) ldg_find("glGetVertexAttribIuivEXT", lib); GL_CHECK(gl.GetVertexAttribIuivEXT); gl.GetVertexAttribLdv = (void APIENTRY (*)(GLuint index, GLenum pname, GLdouble *params)) ldg_find("glGetVertexAttribLdv", lib); GL_CHECK(gl.GetVertexAttribLdv); gl.GetVertexAttribLdvEXT = (void APIENTRY (*)(GLuint index, GLenum pname, GLdouble *params)) ldg_find("glGetVertexAttribLdvEXT", lib); GL_CHECK(gl.GetVertexAttribLdvEXT); gl.GetVertexAttribLi64vNV = (void APIENTRY (*)(GLuint index, GLenum pname, GLint64EXT *params)) ldg_find("glGetVertexAttribLi64vNV", lib); GL_CHECK(gl.GetVertexAttribLi64vNV); gl.GetVertexAttribLui64vARB = (void APIENTRY (*)(GLuint index, GLenum pname, GLuint64EXT *params)) ldg_find("glGetVertexAttribLui64vARB", lib); GL_CHECK(gl.GetVertexAttribLui64vARB); gl.GetVertexAttribLui64vNV = (void APIENTRY (*)(GLuint index, GLenum pname, GLuint64EXT *params)) ldg_find("glGetVertexAttribLui64vNV", lib); GL_CHECK(gl.GetVertexAttribLui64vNV); gl.GetVertexAttribPointerv = (void APIENTRY (*)(GLuint index, GLenum pname, void * *pointer)) ldg_find("glGetVertexAttribPointerv", lib); GL_CHECK(gl.GetVertexAttribPointerv); gl.GetVertexAttribPointervARB = (void APIENTRY (*)(GLuint index, GLenum pname, void * *pointer)) ldg_find("glGetVertexAttribPointervARB", lib); GL_CHECK(gl.GetVertexAttribPointervARB); gl.GetVertexAttribPointervNV = (void APIENTRY (*)(GLuint index, GLenum pname, void * *pointer)) ldg_find("glGetVertexAttribPointervNV", lib); GL_CHECK(gl.GetVertexAttribPointervNV); gl.GetVertexAttribdv = (void APIENTRY (*)(GLuint index, GLenum pname, GLdouble *params)) ldg_find("glGetVertexAttribdv", lib); GL_CHECK(gl.GetVertexAttribdv); gl.GetVertexAttribdvARB = (void APIENTRY (*)(GLuint index, GLenum pname, GLdouble *params)) ldg_find("glGetVertexAttribdvARB", lib); GL_CHECK(gl.GetVertexAttribdvARB); gl.GetVertexAttribdvNV = (void APIENTRY (*)(GLuint index, GLenum pname, GLdouble *params)) ldg_find("glGetVertexAttribdvNV", lib); GL_CHECK(gl.GetVertexAttribdvNV); gl.GetVertexAttribfv = (void APIENTRY (*)(GLuint index, GLenum pname, GLfloat *params)) ldg_find("glGetVertexAttribfv", lib); GL_CHECK(gl.GetVertexAttribfv); gl.GetVertexAttribfvARB = (void APIENTRY (*)(GLuint index, GLenum pname, GLfloat *params)) ldg_find("glGetVertexAttribfvARB", lib); GL_CHECK(gl.GetVertexAttribfvARB); gl.GetVertexAttribfvNV = (void APIENTRY (*)(GLuint index, GLenum pname, GLfloat *params)) ldg_find("glGetVertexAttribfvNV", lib); GL_CHECK(gl.GetVertexAttribfvNV); gl.GetVertexAttribiv = (void APIENTRY (*)(GLuint index, GLenum pname, GLint *params)) ldg_find("glGetVertexAttribiv", lib); GL_CHECK(gl.GetVertexAttribiv); gl.GetVertexAttribivARB = (void APIENTRY (*)(GLuint index, GLenum pname, GLint *params)) ldg_find("glGetVertexAttribivARB", lib); GL_CHECK(gl.GetVertexAttribivARB); gl.GetVertexAttribivNV = (void APIENTRY (*)(GLuint index, GLenum pname, GLint *params)) ldg_find("glGetVertexAttribivNV", lib); GL_CHECK(gl.GetVertexAttribivNV); gl.GetVideoCaptureStreamdvNV = (void APIENTRY (*)(GLuint video_capture_slot, GLuint stream, GLenum pname, GLdouble *params)) ldg_find("glGetVideoCaptureStreamdvNV", lib); GL_CHECK(gl.GetVideoCaptureStreamdvNV); gl.GetVideoCaptureStreamfvNV = (void APIENTRY (*)(GLuint video_capture_slot, GLuint stream, GLenum pname, GLfloat *params)) ldg_find("glGetVideoCaptureStreamfvNV", lib); GL_CHECK(gl.GetVideoCaptureStreamfvNV); gl.GetVideoCaptureStreamivNV = (void APIENTRY (*)(GLuint video_capture_slot, GLuint stream, GLenum pname, GLint *params)) ldg_find("glGetVideoCaptureStreamivNV", lib); GL_CHECK(gl.GetVideoCaptureStreamivNV); gl.GetVideoCaptureivNV = (void APIENTRY (*)(GLuint video_capture_slot, GLenum pname, GLint *params)) ldg_find("glGetVideoCaptureivNV", lib); GL_CHECK(gl.GetVideoCaptureivNV); gl.GetVideoi64vNV = (void APIENTRY (*)(GLuint video_slot, GLenum pname, GLint64EXT *params)) ldg_find("glGetVideoi64vNV", lib); GL_CHECK(gl.GetVideoi64vNV); gl.GetVideoivNV = (void APIENTRY (*)(GLuint video_slot, GLenum pname, GLint *params)) ldg_find("glGetVideoivNV", lib); GL_CHECK(gl.GetVideoivNV); gl.GetVideoui64vNV = (void APIENTRY (*)(GLuint video_slot, GLenum pname, GLuint64EXT *params)) ldg_find("glGetVideoui64vNV", lib); GL_CHECK(gl.GetVideoui64vNV); gl.GetVideouivNV = (void APIENTRY (*)(GLuint video_slot, GLenum pname, GLuint *params)) ldg_find("glGetVideouivNV", lib); GL_CHECK(gl.GetVideouivNV); gl.GetnColorTableARB = (void APIENTRY (*)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *table)) ldg_find("glGetnColorTableARB", lib); GL_CHECK(gl.GetnColorTableARB); gl.GetnCompressedTexImageARB = (void APIENTRY (*)(GLenum target, GLint lod, GLsizei bufSize, void *img)) ldg_find("glGetnCompressedTexImageARB", lib); GL_CHECK(gl.GetnCompressedTexImageARB); gl.GetnConvolutionFilterARB = (void APIENTRY (*)(GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *image)) ldg_find("glGetnConvolutionFilterARB", lib); GL_CHECK(gl.GetnConvolutionFilterARB); gl.GetnHistogramARB = (void APIENTRY (*)(GLenum target, GLboolean32 reset, GLenum format, GLenum type, GLsizei bufSize, void *values)) ldg_find("glGetnHistogramARB", lib); GL_CHECK(gl.GetnHistogramARB); gl.GetnMapdvARB = (void APIENTRY (*)(GLenum target, GLenum query, GLsizei bufSize, GLdouble *v)) ldg_find("glGetnMapdvARB", lib); GL_CHECK(gl.GetnMapdvARB); gl.GetnMapfvARB = (void APIENTRY (*)(GLenum target, GLenum query, GLsizei bufSize, GLfloat *v)) ldg_find("glGetnMapfvARB", lib); GL_CHECK(gl.GetnMapfvARB); gl.GetnMapivARB = (void APIENTRY (*)(GLenum target, GLenum query, GLsizei bufSize, GLint *v)) ldg_find("glGetnMapivARB", lib); GL_CHECK(gl.GetnMapivARB); gl.GetnMinmaxARB = (void APIENTRY (*)(GLenum target, GLboolean32 reset, GLenum format, GLenum type, GLsizei bufSize, void *values)) ldg_find("glGetnMinmaxARB", lib); GL_CHECK(gl.GetnMinmaxARB); gl.GetnPixelMapfvARB = (void APIENTRY (*)(GLenum map, GLsizei bufSize, GLfloat *values)) ldg_find("glGetnPixelMapfvARB", lib); GL_CHECK(gl.GetnPixelMapfvARB); gl.GetnPixelMapuivARB = (void APIENTRY (*)(GLenum map, GLsizei bufSize, GLuint *values)) ldg_find("glGetnPixelMapuivARB", lib); GL_CHECK(gl.GetnPixelMapuivARB); gl.GetnPixelMapusvARB = (void APIENTRY (*)(GLenum map, GLsizei bufSize, GLushort *values)) ldg_find("glGetnPixelMapusvARB", lib); GL_CHECK(gl.GetnPixelMapusvARB); gl.GetnPolygonStippleARB = (void APIENTRY (*)(GLsizei bufSize, GLubyte *pattern)) ldg_find("glGetnPolygonStippleARB", lib); GL_CHECK(gl.GetnPolygonStippleARB); gl.GetnSeparableFilterARB = (void APIENTRY (*)(GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, void *row, GLsizei columnBufSize, void *column, void *span)) ldg_find("glGetnSeparableFilterARB", lib); GL_CHECK(gl.GetnSeparableFilterARB); gl.GetnTexImageARB = (void APIENTRY (*)(GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *img)) ldg_find("glGetnTexImageARB", lib); GL_CHECK(gl.GetnTexImageARB); gl.GetnUniformdvARB = (void APIENTRY (*)(GLuint program, GLint location, GLsizei bufSize, GLdouble *params)) ldg_find("glGetnUniformdvARB", lib); GL_CHECK(gl.GetnUniformdvARB); gl.GetnUniformfvARB = (void APIENTRY (*)(GLuint program, GLint location, GLsizei bufSize, GLfloat *params)) ldg_find("glGetnUniformfvARB", lib); GL_CHECK(gl.GetnUniformfvARB); gl.GetnUniformivARB = (void APIENTRY (*)(GLuint program, GLint location, GLsizei bufSize, GLint *params)) ldg_find("glGetnUniformivARB", lib); GL_CHECK(gl.GetnUniformivARB); gl.GetnUniformuivARB = (void APIENTRY (*)(GLuint program, GLint location, GLsizei bufSize, GLuint *params)) ldg_find("glGetnUniformuivARB", lib); GL_CHECK(gl.GetnUniformuivARB); gl.GlobalAlphaFactorbSUN = (void APIENTRY (*)(GLbyte32 factor)) ldg_find("glGlobalAlphaFactorbSUN", lib); GL_CHECK(gl.GlobalAlphaFactorbSUN); gl.GlobalAlphaFactordSUN = (void APIENTRY (*)(GLdouble factor)) ldg_find("glGlobalAlphaFactordSUN", lib); GL_CHECK(gl.GlobalAlphaFactordSUN); gl.GlobalAlphaFactorfSUN = (void APIENTRY (*)(GLfloat factor)) ldg_find("glGlobalAlphaFactorfSUN", lib); GL_CHECK(gl.GlobalAlphaFactorfSUN); gl.GlobalAlphaFactoriSUN = (void APIENTRY (*)(GLint factor)) ldg_find("glGlobalAlphaFactoriSUN", lib); GL_CHECK(gl.GlobalAlphaFactoriSUN); gl.GlobalAlphaFactorsSUN = (void APIENTRY (*)(GLshort32 factor)) ldg_find("glGlobalAlphaFactorsSUN", lib); GL_CHECK(gl.GlobalAlphaFactorsSUN); gl.GlobalAlphaFactorubSUN = (void APIENTRY (*)(GLubyte32 factor)) ldg_find("glGlobalAlphaFactorubSUN", lib); GL_CHECK(gl.GlobalAlphaFactorubSUN); gl.GlobalAlphaFactoruiSUN = (void APIENTRY (*)(GLuint factor)) ldg_find("glGlobalAlphaFactoruiSUN", lib); GL_CHECK(gl.GlobalAlphaFactoruiSUN); gl.GlobalAlphaFactorusSUN = (void APIENTRY (*)(GLushort32 factor)) ldg_find("glGlobalAlphaFactorusSUN", lib); GL_CHECK(gl.GlobalAlphaFactorusSUN); gl.Hint = (void APIENTRY (*)(GLenum target, GLenum mode)) ldg_find("glHint", lib); GL_CHECK(gl.Hint); gl.HintPGI = (void APIENTRY (*)(GLenum target, GLint mode)) ldg_find("glHintPGI", lib); GL_CHECK(gl.HintPGI); gl.Histogram = (void APIENTRY (*)(GLenum target, GLsizei width, GLenum internalformat, GLboolean32 sink)) ldg_find("glHistogram", lib); GL_CHECK(gl.Histogram); gl.HistogramEXT = (void APIENTRY (*)(GLenum target, GLsizei width, GLenum internalformat, GLboolean32 sink)) ldg_find("glHistogramEXT", lib); GL_CHECK(gl.HistogramEXT); gl.IglooInterfaceSGIX = (void APIENTRY (*)(GLenum pname, const void *params)) ldg_find("glIglooInterfaceSGIX", lib); GL_CHECK(gl.IglooInterfaceSGIX); gl.ImageTransformParameterfHP = (void APIENTRY (*)(GLenum target, GLenum pname, GLfloat param)) ldg_find("glImageTransformParameterfHP", lib); GL_CHECK(gl.ImageTransformParameterfHP); gl.ImageTransformParameterfvHP = (void APIENTRY (*)(GLenum target, GLenum pname, const GLfloat *params)) ldg_find("glImageTransformParameterfvHP", lib); GL_CHECK(gl.ImageTransformParameterfvHP); gl.ImageTransformParameteriHP = (void APIENTRY (*)(GLenum target, GLenum pname, GLint param)) ldg_find("glImageTransformParameteriHP", lib); GL_CHECK(gl.ImageTransformParameteriHP); gl.ImageTransformParameterivHP = (void APIENTRY (*)(GLenum target, GLenum pname, const GLint *params)) ldg_find("glImageTransformParameterivHP", lib); GL_CHECK(gl.ImageTransformParameterivHP); gl.ImportSyncEXT = (GLsync APIENTRY (*)(GLenum external_sync_type, GLintptr external_sync, GLbitfield flags)) ldg_find("glImportSyncEXT", lib); GL_CHECK(gl.ImportSyncEXT); gl.IndexFormatNV = (void APIENTRY (*)(GLenum type, GLsizei stride)) ldg_find("glIndexFormatNV", lib); GL_CHECK(gl.IndexFormatNV); gl.IndexFuncEXT = (void APIENTRY (*)(GLenum func, GLclampf ref)) ldg_find("glIndexFuncEXT", lib); GL_CHECK(gl.IndexFuncEXT); gl.IndexMask = (void APIENTRY (*)(GLuint mask)) ldg_find("glIndexMask", lib); GL_CHECK(gl.IndexMask); gl.IndexMaterialEXT = (void APIENTRY (*)(GLenum face, GLenum mode)) ldg_find("glIndexMaterialEXT", lib); GL_CHECK(gl.IndexMaterialEXT); gl.IndexPointer = (void APIENTRY (*)(GLenum type, GLsizei stride, const GLvoid *pointer)) ldg_find("glIndexPointer", lib); GL_CHECK(gl.IndexPointer); gl.IndexPointerEXT = (void APIENTRY (*)(GLenum type, GLsizei stride, GLsizei count, const void *pointer)) ldg_find("glIndexPointerEXT", lib); GL_CHECK(gl.IndexPointerEXT); gl.IndexPointerListIBM = (void APIENTRY (*)(GLenum type, GLint stride, const void * *pointer, GLint ptrstride)) ldg_find("glIndexPointerListIBM", lib); GL_CHECK(gl.IndexPointerListIBM); gl.Indexd = (void APIENTRY (*)(GLdouble c)) ldg_find("glIndexd", lib); GL_CHECK(gl.Indexd); gl.Indexdv = (void APIENTRY (*)(const GLdouble *c)) ldg_find("glIndexdv", lib); GL_CHECK(gl.Indexdv); gl.Indexf = (void APIENTRY (*)(GLfloat c)) ldg_find("glIndexf", lib); GL_CHECK(gl.Indexf); gl.Indexfv = (void APIENTRY (*)(const GLfloat *c)) ldg_find("glIndexfv", lib); GL_CHECK(gl.Indexfv); gl.Indexi = (void APIENTRY (*)(GLint c)) ldg_find("glIndexi", lib); GL_CHECK(gl.Indexi); gl.Indexiv = (void APIENTRY (*)(const GLint *c)) ldg_find("glIndexiv", lib); GL_CHECK(gl.Indexiv); gl.Indexs = (void APIENTRY (*)(GLshort32 c)) ldg_find("glIndexs", lib); GL_CHECK(gl.Indexs); gl.Indexsv = (void APIENTRY (*)(const GLshort *c)) ldg_find("glIndexsv", lib); GL_CHECK(gl.Indexsv); gl.Indexub = (void APIENTRY (*)(GLubyte32 c)) ldg_find("glIndexub", lib); GL_CHECK(gl.Indexub); gl.Indexubv = (void APIENTRY (*)(const GLubyte *c)) ldg_find("glIndexubv", lib); GL_CHECK(gl.Indexubv); gl.IndexxOES = (void APIENTRY (*)(GLfixed component)) ldg_find("glIndexxOES", lib); GL_CHECK(gl.IndexxOES); gl.IndexxvOES = (void APIENTRY (*)(const GLfixed *component)) ldg_find("glIndexxvOES", lib); GL_CHECK(gl.IndexxvOES); gl.InitNames = (void APIENTRY (*)(void)) ldg_find("glInitNames", lib); GL_CHECK(gl.InitNames); gl.InsertComponentEXT = (void APIENTRY (*)(GLuint res, GLuint src, GLuint num)) ldg_find("glInsertComponentEXT", lib); GL_CHECK(gl.InsertComponentEXT); gl.InsertEventMarkerEXT = (void APIENTRY (*)(GLsizei length, const GLchar *marker)) ldg_find("glInsertEventMarkerEXT", lib); GL_CHECK(gl.InsertEventMarkerEXT); gl.InstrumentsBufferSGIX = (void APIENTRY (*)(GLsizei size, GLint *buffer)) ldg_find("glInstrumentsBufferSGIX", lib); GL_CHECK(gl.InstrumentsBufferSGIX); gl.InterleavedArrays = (void APIENTRY (*)(GLenum format, GLsizei stride, const GLvoid *pointer)) ldg_find("glInterleavedArrays", lib); GL_CHECK(gl.InterleavedArrays); gl.InterpolatePathsNV = (void APIENTRY (*)(GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight)) ldg_find("glInterpolatePathsNV", lib); GL_CHECK(gl.InterpolatePathsNV); gl.InvalidateBufferData = (void APIENTRY (*)(GLuint buffer)) ldg_find("glInvalidateBufferData", lib); GL_CHECK(gl.InvalidateBufferData); gl.InvalidateBufferSubData = (void APIENTRY (*)(GLuint buffer, GLintptr offset, GLsizeiptr length)) ldg_find("glInvalidateBufferSubData", lib); GL_CHECK(gl.InvalidateBufferSubData); gl.InvalidateFramebuffer = (void APIENTRY (*)(GLenum target, GLsizei numAttachments, const GLenum *attachments)) ldg_find("glInvalidateFramebuffer", lib); GL_CHECK(gl.InvalidateFramebuffer); gl.InvalidateSubFramebuffer = (void APIENTRY (*)(GLenum target, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height)) ldg_find("glInvalidateSubFramebuffer", lib); GL_CHECK(gl.InvalidateSubFramebuffer); gl.InvalidateTexImage = (void APIENTRY (*)(GLuint texture, GLint level)) ldg_find("glInvalidateTexImage", lib); GL_CHECK(gl.InvalidateTexImage); gl.InvalidateTexSubImage = (void APIENTRY (*)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth)) ldg_find("glInvalidateTexSubImage", lib); GL_CHECK(gl.InvalidateTexSubImage); gl.IsAsyncMarkerSGIX = (GLboolean APIENTRY (*)(GLuint marker)) ldg_find("glIsAsyncMarkerSGIX", lib); GL_CHECK(gl.IsAsyncMarkerSGIX); gl.IsBuffer = (GLboolean APIENTRY (*)(GLuint buffer)) ldg_find("glIsBuffer", lib); GL_CHECK(gl.IsBuffer); gl.IsBufferARB = (GLboolean APIENTRY (*)(GLuint buffer)) ldg_find("glIsBufferARB", lib); GL_CHECK(gl.IsBufferARB); gl.IsBufferResidentNV = (GLboolean APIENTRY (*)(GLenum target)) ldg_find("glIsBufferResidentNV", lib); GL_CHECK(gl.IsBufferResidentNV); gl.IsEnabled = (GLboolean APIENTRY (*)(GLenum cap)) ldg_find("glIsEnabled", lib); GL_CHECK(gl.IsEnabled); gl.IsEnabledIndexedEXT = (GLboolean APIENTRY (*)(GLenum target, GLuint index)) ldg_find("glIsEnabledIndexedEXT", lib); GL_CHECK(gl.IsEnabledIndexedEXT); gl.IsEnabledi = (GLboolean APIENTRY (*)(GLenum target, GLuint index)) ldg_find("glIsEnabledi", lib); GL_CHECK(gl.IsEnabledi); gl.IsFenceAPPLE = (GLboolean APIENTRY (*)(GLuint fence)) ldg_find("glIsFenceAPPLE", lib); GL_CHECK(gl.IsFenceAPPLE); gl.IsFenceNV = (GLboolean APIENTRY (*)(GLuint fence)) ldg_find("glIsFenceNV", lib); GL_CHECK(gl.IsFenceNV); gl.IsFramebuffer = (GLboolean APIENTRY (*)(GLuint framebuffer)) ldg_find("glIsFramebuffer", lib); GL_CHECK(gl.IsFramebuffer); gl.IsFramebufferEXT = (GLboolean APIENTRY (*)(GLuint framebuffer)) ldg_find("glIsFramebufferEXT", lib); GL_CHECK(gl.IsFramebufferEXT); gl.IsImageHandleResidentARB = (GLboolean APIENTRY (*)(GLuint64 handle)) ldg_find("glIsImageHandleResidentARB", lib); GL_CHECK(gl.IsImageHandleResidentARB); gl.IsImageHandleResidentNV = (GLboolean APIENTRY (*)(GLuint64 handle)) ldg_find("glIsImageHandleResidentNV", lib); GL_CHECK(gl.IsImageHandleResidentNV); gl.IsList = (GLboolean APIENTRY (*)(GLuint list)) ldg_find("glIsList", lib); GL_CHECK(gl.IsList); gl.IsNameAMD = (GLboolean APIENTRY (*)(GLenum identifier, GLuint name)) ldg_find("glIsNameAMD", lib); GL_CHECK(gl.IsNameAMD); gl.IsNamedBufferResidentNV = (GLboolean APIENTRY (*)(GLuint buffer)) ldg_find("glIsNamedBufferResidentNV", lib); GL_CHECK(gl.IsNamedBufferResidentNV); gl.IsNamedStringARB = (GLboolean APIENTRY (*)(GLint namelen, const GLchar *name)) ldg_find("glIsNamedStringARB", lib); GL_CHECK(gl.IsNamedStringARB); gl.IsObjectBufferATI = (GLboolean APIENTRY (*)(GLuint buffer)) ldg_find("glIsObjectBufferATI", lib); GL_CHECK(gl.IsObjectBufferATI); gl.IsOcclusionQueryNV = (GLboolean APIENTRY (*)(GLuint id)) ldg_find("glIsOcclusionQueryNV", lib); GL_CHECK(gl.IsOcclusionQueryNV); gl.IsPathNV = (GLboolean APIENTRY (*)(GLuint path)) ldg_find("glIsPathNV", lib); GL_CHECK(gl.IsPathNV); gl.IsPointInFillPathNV = (GLboolean APIENTRY (*)(GLuint path, GLuint mask, GLfloat x, GLfloat y)) ldg_find("glIsPointInFillPathNV", lib); GL_CHECK(gl.IsPointInFillPathNV); gl.IsPointInStrokePathNV = (GLboolean APIENTRY (*)(GLuint path, GLfloat x, GLfloat y)) ldg_find("glIsPointInStrokePathNV", lib); GL_CHECK(gl.IsPointInStrokePathNV); gl.IsProgram = (GLboolean APIENTRY (*)(GLuint program)) ldg_find("glIsProgram", lib); GL_CHECK(gl.IsProgram); gl.IsProgramARB = (GLboolean APIENTRY (*)(GLuint program)) ldg_find("glIsProgramARB", lib); GL_CHECK(gl.IsProgramARB); gl.IsProgramNV = (GLboolean APIENTRY (*)(GLuint id)) ldg_find("glIsProgramNV", lib); GL_CHECK(gl.IsProgramNV); gl.IsProgramPipeline = (GLboolean APIENTRY (*)(GLuint pipeline)) ldg_find("glIsProgramPipeline", lib); GL_CHECK(gl.IsProgramPipeline); gl.IsQuery = (GLboolean APIENTRY (*)(GLuint id)) ldg_find("glIsQuery", lib); GL_CHECK(gl.IsQuery); gl.IsQueryARB = (GLboolean APIENTRY (*)(GLuint id)) ldg_find("glIsQueryARB", lib); GL_CHECK(gl.IsQueryARB); gl.IsRenderbuffer = (GLboolean APIENTRY (*)(GLuint renderbuffer)) ldg_find("glIsRenderbuffer", lib); GL_CHECK(gl.IsRenderbuffer); gl.IsRenderbufferEXT = (GLboolean APIENTRY (*)(GLuint renderbuffer)) ldg_find("glIsRenderbufferEXT", lib); GL_CHECK(gl.IsRenderbufferEXT); gl.IsSampler = (GLboolean APIENTRY (*)(GLuint sampler)) ldg_find("glIsSampler", lib); GL_CHECK(gl.IsSampler); gl.IsShader = (GLboolean APIENTRY (*)(GLuint shader)) ldg_find("glIsShader", lib); GL_CHECK(gl.IsShader); gl.IsSync = (GLboolean APIENTRY (*)(GLsync sync)) ldg_find("glIsSync", lib); GL_CHECK(gl.IsSync); gl.IsTexture = (GLboolean APIENTRY (*)(GLuint texture)) ldg_find("glIsTexture", lib); GL_CHECK(gl.IsTexture); gl.IsTextureEXT = (GLboolean APIENTRY (*)(GLuint texture)) ldg_find("glIsTextureEXT", lib); GL_CHECK(gl.IsTextureEXT); gl.IsTextureHandleResidentARB = (GLboolean APIENTRY (*)(GLuint64 handle)) ldg_find("glIsTextureHandleResidentARB", lib); GL_CHECK(gl.IsTextureHandleResidentARB); gl.IsTextureHandleResidentNV = (GLboolean APIENTRY (*)(GLuint64 handle)) ldg_find("glIsTextureHandleResidentNV", lib); GL_CHECK(gl.IsTextureHandleResidentNV); gl.IsTransformFeedback = (GLboolean APIENTRY (*)(GLuint id)) ldg_find("glIsTransformFeedback", lib); GL_CHECK(gl.IsTransformFeedback); gl.IsTransformFeedbackNV = (GLboolean APIENTRY (*)(GLuint id)) ldg_find("glIsTransformFeedbackNV", lib); GL_CHECK(gl.IsTransformFeedbackNV); gl.IsVariantEnabledEXT = (GLboolean APIENTRY (*)(GLuint id, GLenum cap)) ldg_find("glIsVariantEnabledEXT", lib); GL_CHECK(gl.IsVariantEnabledEXT); gl.IsVertexArray = (GLboolean APIENTRY (*)(GLuint array)) ldg_find("glIsVertexArray", lib); GL_CHECK(gl.IsVertexArray); gl.IsVertexArrayAPPLE = (GLboolean APIENTRY (*)(GLuint array)) ldg_find("glIsVertexArrayAPPLE", lib); GL_CHECK(gl.IsVertexArrayAPPLE); gl.IsVertexAttribEnabledAPPLE = (GLboolean APIENTRY (*)(GLuint index, GLenum pname)) ldg_find("glIsVertexAttribEnabledAPPLE", lib); GL_CHECK(gl.IsVertexAttribEnabledAPPLE); gl.LabelObjectEXT = (void APIENTRY (*)(GLenum type, GLuint object, GLsizei length, const GLchar *label)) ldg_find("glLabelObjectEXT", lib); GL_CHECK(gl.LabelObjectEXT); gl.LightEnviSGIX = (void APIENTRY (*)(GLenum pname, GLint param)) ldg_find("glLightEnviSGIX", lib); GL_CHECK(gl.LightEnviSGIX); gl.LightModelf = (void APIENTRY (*)(GLenum pname, GLfloat param)) ldg_find("glLightModelf", lib); GL_CHECK(gl.LightModelf); gl.LightModelfv = (void APIENTRY (*)(GLenum pname, const GLfloat *params)) ldg_find("glLightModelfv", lib); GL_CHECK(gl.LightModelfv); gl.LightModeli = (void APIENTRY (*)(GLenum pname, GLint param)) ldg_find("glLightModeli", lib); GL_CHECK(gl.LightModeli); gl.LightModeliv = (void APIENTRY (*)(GLenum pname, const GLint *params)) ldg_find("glLightModeliv", lib); GL_CHECK(gl.LightModeliv); gl.LightModelxOES = (void APIENTRY (*)(GLenum pname, GLfixed param)) ldg_find("glLightModelxOES", lib); GL_CHECK(gl.LightModelxOES); gl.LightModelxvOES = (void APIENTRY (*)(GLenum pname, const GLfixed *param)) ldg_find("glLightModelxvOES", lib); GL_CHECK(gl.LightModelxvOES); gl.Lightf = (void APIENTRY (*)(GLenum light, GLenum pname, GLfloat param)) ldg_find("glLightf", lib); GL_CHECK(gl.Lightf); gl.Lightfv = (void APIENTRY (*)(GLenum light, GLenum pname, const GLfloat *params)) ldg_find("glLightfv", lib); GL_CHECK(gl.Lightfv); gl.Lighti = (void APIENTRY (*)(GLenum light, GLenum pname, GLint param)) ldg_find("glLighti", lib); GL_CHECK(gl.Lighti); gl.Lightiv = (void APIENTRY (*)(GLenum light, GLenum pname, const GLint *params)) ldg_find("glLightiv", lib); GL_CHECK(gl.Lightiv); gl.LightxOES = (void APIENTRY (*)(GLenum light, GLenum pname, GLfixed param)) ldg_find("glLightxOES", lib); GL_CHECK(gl.LightxOES); gl.LightxvOES = (void APIENTRY (*)(GLenum light, GLenum pname, const GLfixed *params)) ldg_find("glLightxvOES", lib); GL_CHECK(gl.LightxvOES); gl.LineStipple = (void APIENTRY (*)(GLint factor, GLushort32 pattern)) ldg_find("glLineStipple", lib); GL_CHECK(gl.LineStipple); gl.LineWidth = (void APIENTRY (*)(GLfloat width)) ldg_find("glLineWidth", lib); GL_CHECK(gl.LineWidth); gl.LineWidthxOES = (void APIENTRY (*)(GLfixed width)) ldg_find("glLineWidthxOES", lib); GL_CHECK(gl.LineWidthxOES); gl.LinkProgram = (void APIENTRY (*)(GLuint program)) ldg_find("glLinkProgram", lib); GL_CHECK(gl.LinkProgram); gl.LinkProgramARB = (void APIENTRY (*)(GLhandleARB programObj)) ldg_find("glLinkProgramARB", lib); GL_CHECK(gl.LinkProgramARB); gl.ListBase = (void APIENTRY (*)(GLuint base)) ldg_find("glListBase", lib); GL_CHECK(gl.ListBase); gl.ListParameterfSGIX = (void APIENTRY (*)(GLuint list, GLenum pname, GLfloat param)) ldg_find("glListParameterfSGIX", lib); GL_CHECK(gl.ListParameterfSGIX); gl.ListParameterfvSGIX = (void APIENTRY (*)(GLuint list, GLenum pname, const GLfloat *params)) ldg_find("glListParameterfvSGIX", lib); GL_CHECK(gl.ListParameterfvSGIX); gl.ListParameteriSGIX = (void APIENTRY (*)(GLuint list, GLenum pname, GLint param)) ldg_find("glListParameteriSGIX", lib); GL_CHECK(gl.ListParameteriSGIX); gl.ListParameterivSGIX = (void APIENTRY (*)(GLuint list, GLenum pname, const GLint *params)) ldg_find("glListParameterivSGIX", lib); GL_CHECK(gl.ListParameterivSGIX); gl.LoadIdentity = (void APIENTRY (*)(void)) ldg_find("glLoadIdentity", lib); GL_CHECK(gl.LoadIdentity); gl.LoadIdentityDeformationMapSGIX = (void APIENTRY (*)(GLbitfield mask)) ldg_find("glLoadIdentityDeformationMapSGIX", lib); GL_CHECK(gl.LoadIdentityDeformationMapSGIX); gl.LoadMatrixd = (void APIENTRY (*)(const GLdouble *m)) ldg_find("glLoadMatrixd", lib); GL_CHECK(gl.LoadMatrixd); gl.LoadMatrixf = (void APIENTRY (*)(const GLfloat *m)) ldg_find("glLoadMatrixf", lib); GL_CHECK(gl.LoadMatrixf); gl.LoadMatrixxOES = (void APIENTRY (*)(const GLfixed *m)) ldg_find("glLoadMatrixxOES", lib); GL_CHECK(gl.LoadMatrixxOES); gl.LoadName = (void APIENTRY (*)(GLuint name)) ldg_find("glLoadName", lib); GL_CHECK(gl.LoadName); gl.LoadProgramNV = (void APIENTRY (*)(GLenum target, GLuint id, GLsizei len, const GLubyte *program)) ldg_find("glLoadProgramNV", lib); GL_CHECK(gl.LoadProgramNV); gl.LoadTransposeMatrixd = (void APIENTRY (*)(const GLdouble *m)) ldg_find("glLoadTransposeMatrixd", lib); GL_CHECK(gl.LoadTransposeMatrixd); gl.LoadTransposeMatrixdARB = (void APIENTRY (*)(const GLdouble *m)) ldg_find("glLoadTransposeMatrixdARB", lib); GL_CHECK(gl.LoadTransposeMatrixdARB); gl.LoadTransposeMatrixf = (void APIENTRY (*)(const GLfloat *m)) ldg_find("glLoadTransposeMatrixf", lib); GL_CHECK(gl.LoadTransposeMatrixf); gl.LoadTransposeMatrixfARB = (void APIENTRY (*)(const GLfloat *m)) ldg_find("glLoadTransposeMatrixfARB", lib); GL_CHECK(gl.LoadTransposeMatrixfARB); gl.LoadTransposeMatrixxOES = (void APIENTRY (*)(const GLfixed *m)) ldg_find("glLoadTransposeMatrixxOES", lib); GL_CHECK(gl.LoadTransposeMatrixxOES); gl.LockArraysEXT = (void APIENTRY (*)(GLint first, GLsizei count)) ldg_find("glLockArraysEXT", lib); GL_CHECK(gl.LockArraysEXT); gl.LogicOp = (void APIENTRY (*)(GLenum opcode)) ldg_find("glLogicOp", lib); GL_CHECK(gl.LogicOp); gl.MakeBufferNonResidentNV = (void APIENTRY (*)(GLenum target)) ldg_find("glMakeBufferNonResidentNV", lib); GL_CHECK(gl.MakeBufferNonResidentNV); gl.MakeBufferResidentNV = (void APIENTRY (*)(GLenum target, GLenum access)) ldg_find("glMakeBufferResidentNV", lib); GL_CHECK(gl.MakeBufferResidentNV); gl.MakeImageHandleNonResidentARB = (void APIENTRY (*)(GLuint64 handle)) ldg_find("glMakeImageHandleNonResidentARB", lib); GL_CHECK(gl.MakeImageHandleNonResidentARB); gl.MakeImageHandleNonResidentNV = (void APIENTRY (*)(GLuint64 handle)) ldg_find("glMakeImageHandleNonResidentNV", lib); GL_CHECK(gl.MakeImageHandleNonResidentNV); gl.MakeImageHandleResidentARB = (void APIENTRY (*)(GLuint64 handle, GLenum access)) ldg_find("glMakeImageHandleResidentARB", lib); GL_CHECK(gl.MakeImageHandleResidentARB); gl.MakeImageHandleResidentNV = (void APIENTRY (*)(GLuint64 handle, GLenum access)) ldg_find("glMakeImageHandleResidentNV", lib); GL_CHECK(gl.MakeImageHandleResidentNV); gl.MakeNamedBufferNonResidentNV = (void APIENTRY (*)(GLuint buffer)) ldg_find("glMakeNamedBufferNonResidentNV", lib); GL_CHECK(gl.MakeNamedBufferNonResidentNV); gl.MakeNamedBufferResidentNV = (void APIENTRY (*)(GLuint buffer, GLenum access)) ldg_find("glMakeNamedBufferResidentNV", lib); GL_CHECK(gl.MakeNamedBufferResidentNV); gl.MakeTextureHandleNonResidentARB = (void APIENTRY (*)(GLuint64 handle)) ldg_find("glMakeTextureHandleNonResidentARB", lib); GL_CHECK(gl.MakeTextureHandleNonResidentARB); gl.MakeTextureHandleNonResidentNV = (void APIENTRY (*)(GLuint64 handle)) ldg_find("glMakeTextureHandleNonResidentNV", lib); GL_CHECK(gl.MakeTextureHandleNonResidentNV); gl.MakeTextureHandleResidentARB = (void APIENTRY (*)(GLuint64 handle)) ldg_find("glMakeTextureHandleResidentARB", lib); GL_CHECK(gl.MakeTextureHandleResidentARB); gl.MakeTextureHandleResidentNV = (void APIENTRY (*)(GLuint64 handle)) ldg_find("glMakeTextureHandleResidentNV", lib); GL_CHECK(gl.MakeTextureHandleResidentNV); gl.Map1d = (void APIENTRY (*)(GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points)) ldg_find("glMap1d", lib); GL_CHECK(gl.Map1d); gl.Map1f = (void APIENTRY (*)(GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points)) ldg_find("glMap1f", lib); GL_CHECK(gl.Map1f); gl.Map1xOES = (void APIENTRY (*)(GLenum target, GLfixed u1, GLfixed u2, GLint stride, GLint order, GLfixed points)) ldg_find("glMap1xOES", lib); GL_CHECK(gl.Map1xOES); gl.Map2d = (void APIENTRY (*)(GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points)) ldg_find("glMap2d", lib); GL_CHECK(gl.Map2d); gl.Map2f = (void APIENTRY (*)(GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points)) ldg_find("glMap2f", lib); GL_CHECK(gl.Map2f); gl.Map2xOES = (void APIENTRY (*)(GLenum target, GLfixed u1, GLfixed u2, GLint ustride, GLint uorder, GLfixed v1, GLfixed v2, GLint vstride, GLint vorder, GLfixed points)) ldg_find("glMap2xOES", lib); GL_CHECK(gl.Map2xOES); gl.MapBuffer = (void * APIENTRY (*)(GLenum target, GLenum access)) ldg_find("glMapBuffer", lib); GL_CHECK(gl.MapBuffer); gl.MapBufferARB = (void * APIENTRY (*)(GLenum target, GLenum access)) ldg_find("glMapBufferARB", lib); GL_CHECK(gl.MapBufferARB); gl.MapBufferRange = (void * APIENTRY (*)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access)) ldg_find("glMapBufferRange", lib); GL_CHECK(gl.MapBufferRange); gl.MapControlPointsNV = (void APIENTRY (*)(GLenum target, GLuint index, GLenum type, GLsizei ustride, GLsizei vstride, GLint uorder, GLint vorder, GLboolean32 packed, const void *points)) ldg_find("glMapControlPointsNV", lib); GL_CHECK(gl.MapControlPointsNV); gl.MapGrid1d = (void APIENTRY (*)(GLint un, GLdouble u1, GLdouble u2)) ldg_find("glMapGrid1d", lib); GL_CHECK(gl.MapGrid1d); gl.MapGrid1f = (void APIENTRY (*)(GLint un, GLfloat u1, GLfloat u2)) ldg_find("glMapGrid1f", lib); GL_CHECK(gl.MapGrid1f); gl.MapGrid1xOES = (void APIENTRY (*)(GLint n, GLfixed u1, GLfixed u2)) ldg_find("glMapGrid1xOES", lib); GL_CHECK(gl.MapGrid1xOES); gl.MapGrid2d = (void APIENTRY (*)(GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2)) ldg_find("glMapGrid2d", lib); GL_CHECK(gl.MapGrid2d); gl.MapGrid2f = (void APIENTRY (*)(GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2)) ldg_find("glMapGrid2f", lib); GL_CHECK(gl.MapGrid2f); gl.MapGrid2xOES = (void APIENTRY (*)(GLint n, GLfixed u1, GLfixed u2, GLfixed v1, GLfixed v2)) ldg_find("glMapGrid2xOES", lib); GL_CHECK(gl.MapGrid2xOES); gl.MapNamedBufferEXT = (void * APIENTRY (*)(GLuint buffer, GLenum access)) ldg_find("glMapNamedBufferEXT", lib); GL_CHECK(gl.MapNamedBufferEXT); gl.MapNamedBufferRangeEXT = (void * APIENTRY (*)(GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access)) ldg_find("glMapNamedBufferRangeEXT", lib); GL_CHECK(gl.MapNamedBufferRangeEXT); gl.MapObjectBufferATI = (void * APIENTRY (*)(GLuint buffer)) ldg_find("glMapObjectBufferATI", lib); GL_CHECK(gl.MapObjectBufferATI); gl.MapParameterfvNV = (void APIENTRY (*)(GLenum target, GLenum pname, const GLfloat *params)) ldg_find("glMapParameterfvNV", lib); GL_CHECK(gl.MapParameterfvNV); gl.MapParameterivNV = (void APIENTRY (*)(GLenum target, GLenum pname, const GLint *params)) ldg_find("glMapParameterivNV", lib); GL_CHECK(gl.MapParameterivNV); gl.MapTexture2DINTEL = (void * APIENTRY (*)(GLuint texture, GLint level, GLbitfield access, const GLint *stride, const GLenum *layout)) ldg_find("glMapTexture2DINTEL", lib); GL_CHECK(gl.MapTexture2DINTEL); gl.MapVertexAttrib1dAPPLE = (void APIENTRY (*)(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points)) ldg_find("glMapVertexAttrib1dAPPLE", lib); GL_CHECK(gl.MapVertexAttrib1dAPPLE); gl.MapVertexAttrib1fAPPLE = (void APIENTRY (*)(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points)) ldg_find("glMapVertexAttrib1fAPPLE", lib); GL_CHECK(gl.MapVertexAttrib1fAPPLE); gl.MapVertexAttrib2dAPPLE = (void APIENTRY (*)(GLuint index, GLuint size, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points)) ldg_find("glMapVertexAttrib2dAPPLE", lib); GL_CHECK(gl.MapVertexAttrib2dAPPLE); gl.MapVertexAttrib2fAPPLE = (void APIENTRY (*)(GLuint index, GLuint size, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points)) ldg_find("glMapVertexAttrib2fAPPLE", lib); GL_CHECK(gl.MapVertexAttrib2fAPPLE); gl.Materialf = (void APIENTRY (*)(GLenum face, GLenum pname, GLfloat param)) ldg_find("glMaterialf", lib); GL_CHECK(gl.Materialf); gl.Materialfv = (void APIENTRY (*)(GLenum face, GLenum pname, const GLfloat *params)) ldg_find("glMaterialfv", lib); GL_CHECK(gl.Materialfv); gl.Materiali = (void APIENTRY (*)(GLenum face, GLenum pname, GLint param)) ldg_find("glMateriali", lib); GL_CHECK(gl.Materiali); gl.Materialiv = (void APIENTRY (*)(GLenum face, GLenum pname, const GLint *params)) ldg_find("glMaterialiv", lib); GL_CHECK(gl.Materialiv); gl.MaterialxOES = (void APIENTRY (*)(GLenum face, GLenum pname, GLfixed param)) ldg_find("glMaterialxOES", lib); GL_CHECK(gl.MaterialxOES); gl.MaterialxvOES = (void APIENTRY (*)(GLenum face, GLenum pname, const GLfixed *param)) ldg_find("glMaterialxvOES", lib); GL_CHECK(gl.MaterialxvOES); gl.MatrixFrustumEXT = (void APIENTRY (*)(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)) ldg_find("glMatrixFrustumEXT", lib); GL_CHECK(gl.MatrixFrustumEXT); gl.MatrixIndexPointerARB = (void APIENTRY (*)(GLint size, GLenum type, GLsizei stride, const void *pointer)) ldg_find("glMatrixIndexPointerARB", lib); GL_CHECK(gl.MatrixIndexPointerARB); gl.MatrixIndexubvARB = (void APIENTRY (*)(GLint size, const GLubyte *indices)) ldg_find("glMatrixIndexubvARB", lib); GL_CHECK(gl.MatrixIndexubvARB); gl.MatrixIndexuivARB = (void APIENTRY (*)(GLint size, const GLuint *indices)) ldg_find("glMatrixIndexuivARB", lib); GL_CHECK(gl.MatrixIndexuivARB); gl.MatrixIndexusvARB = (void APIENTRY (*)(GLint size, const GLushort *indices)) ldg_find("glMatrixIndexusvARB", lib); GL_CHECK(gl.MatrixIndexusvARB); gl.MatrixLoadIdentityEXT = (void APIENTRY (*)(GLenum mode)) ldg_find("glMatrixLoadIdentityEXT", lib); GL_CHECK(gl.MatrixLoadIdentityEXT); gl.MatrixLoadTransposedEXT = (void APIENTRY (*)(GLenum mode, const GLdouble *m)) ldg_find("glMatrixLoadTransposedEXT", lib); GL_CHECK(gl.MatrixLoadTransposedEXT); gl.MatrixLoadTransposefEXT = (void APIENTRY (*)(GLenum mode, const GLfloat *m)) ldg_find("glMatrixLoadTransposefEXT", lib); GL_CHECK(gl.MatrixLoadTransposefEXT); gl.MatrixLoaddEXT = (void APIENTRY (*)(GLenum mode, const GLdouble *m)) ldg_find("glMatrixLoaddEXT", lib); GL_CHECK(gl.MatrixLoaddEXT); gl.MatrixLoadfEXT = (void APIENTRY (*)(GLenum mode, const GLfloat *m)) ldg_find("glMatrixLoadfEXT", lib); GL_CHECK(gl.MatrixLoadfEXT); gl.MatrixMode = (void APIENTRY (*)(GLenum mode)) ldg_find("glMatrixMode", lib); GL_CHECK(gl.MatrixMode); gl.MatrixMultTransposedEXT = (void APIENTRY (*)(GLenum mode, const GLdouble *m)) ldg_find("glMatrixMultTransposedEXT", lib); GL_CHECK(gl.MatrixMultTransposedEXT); gl.MatrixMultTransposefEXT = (void APIENTRY (*)(GLenum mode, const GLfloat *m)) ldg_find("glMatrixMultTransposefEXT", lib); GL_CHECK(gl.MatrixMultTransposefEXT); gl.MatrixMultdEXT = (void APIENTRY (*)(GLenum mode, const GLdouble *m)) ldg_find("glMatrixMultdEXT", lib); GL_CHECK(gl.MatrixMultdEXT); gl.MatrixMultfEXT = (void APIENTRY (*)(GLenum mode, const GLfloat *m)) ldg_find("glMatrixMultfEXT", lib); GL_CHECK(gl.MatrixMultfEXT); gl.MatrixOrthoEXT = (void APIENTRY (*)(GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)) ldg_find("glMatrixOrthoEXT", lib); GL_CHECK(gl.MatrixOrthoEXT); gl.MatrixPopEXT = (void APIENTRY (*)(GLenum mode)) ldg_find("glMatrixPopEXT", lib); GL_CHECK(gl.MatrixPopEXT); gl.MatrixPushEXT = (void APIENTRY (*)(GLenum mode)) ldg_find("glMatrixPushEXT", lib); GL_CHECK(gl.MatrixPushEXT); gl.MatrixRotatedEXT = (void APIENTRY (*)(GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z)) ldg_find("glMatrixRotatedEXT", lib); GL_CHECK(gl.MatrixRotatedEXT); gl.MatrixRotatefEXT = (void APIENTRY (*)(GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z)) ldg_find("glMatrixRotatefEXT", lib); GL_CHECK(gl.MatrixRotatefEXT); gl.MatrixScaledEXT = (void APIENTRY (*)(GLenum mode, GLdouble x, GLdouble y, GLdouble z)) ldg_find("glMatrixScaledEXT", lib); GL_CHECK(gl.MatrixScaledEXT); gl.MatrixScalefEXT = (void APIENTRY (*)(GLenum mode, GLfloat x, GLfloat y, GLfloat z)) ldg_find("glMatrixScalefEXT", lib); GL_CHECK(gl.MatrixScalefEXT); gl.MatrixTranslatedEXT = (void APIENTRY (*)(GLenum mode, GLdouble x, GLdouble y, GLdouble z)) ldg_find("glMatrixTranslatedEXT", lib); GL_CHECK(gl.MatrixTranslatedEXT); gl.MatrixTranslatefEXT = (void APIENTRY (*)(GLenum mode, GLfloat x, GLfloat y, GLfloat z)) ldg_find("glMatrixTranslatefEXT", lib); GL_CHECK(gl.MatrixTranslatefEXT); gl.MemoryBarrier = (void APIENTRY (*)(GLbitfield barriers)) ldg_find("glMemoryBarrier", lib); GL_CHECK(gl.MemoryBarrier); gl.MemoryBarrierEXT = (void APIENTRY (*)(GLbitfield barriers)) ldg_find("glMemoryBarrierEXT", lib); GL_CHECK(gl.MemoryBarrierEXT); gl.MinSampleShading = (void APIENTRY (*)(GLfloat value)) ldg_find("glMinSampleShading", lib); GL_CHECK(gl.MinSampleShading); gl.MinSampleShadingARB = (void APIENTRY (*)(GLfloat value)) ldg_find("glMinSampleShadingARB", lib); GL_CHECK(gl.MinSampleShadingARB); gl.Minmax = (void APIENTRY (*)(GLenum target, GLenum internalformat, GLboolean32 sink)) ldg_find("glMinmax", lib); GL_CHECK(gl.Minmax); gl.MinmaxEXT = (void APIENTRY (*)(GLenum target, GLenum internalformat, GLboolean32 sink)) ldg_find("glMinmaxEXT", lib); GL_CHECK(gl.MinmaxEXT); gl.MultMatrixd = (void APIENTRY (*)(const GLdouble *m)) ldg_find("glMultMatrixd", lib); GL_CHECK(gl.MultMatrixd); gl.MultMatrixf = (void APIENTRY (*)(const GLfloat *m)) ldg_find("glMultMatrixf", lib); GL_CHECK(gl.MultMatrixf); gl.MultMatrixxOES = (void APIENTRY (*)(const GLfixed *m)) ldg_find("glMultMatrixxOES", lib); GL_CHECK(gl.MultMatrixxOES); gl.MultTransposeMatrixd = (void APIENTRY (*)(const GLdouble *m)) ldg_find("glMultTransposeMatrixd", lib); GL_CHECK(gl.MultTransposeMatrixd); gl.MultTransposeMatrixdARB = (void APIENTRY (*)(const GLdouble *m)) ldg_find("glMultTransposeMatrixdARB", lib); GL_CHECK(gl.MultTransposeMatrixdARB); gl.MultTransposeMatrixf = (void APIENTRY (*)(const GLfloat *m)) ldg_find("glMultTransposeMatrixf", lib); GL_CHECK(gl.MultTransposeMatrixf); gl.MultTransposeMatrixfARB = (void APIENTRY (*)(const GLfloat *m)) ldg_find("glMultTransposeMatrixfARB", lib); GL_CHECK(gl.MultTransposeMatrixfARB); gl.MultTransposeMatrixxOES = (void APIENTRY (*)(const GLfixed *m)) ldg_find("glMultTransposeMatrixxOES", lib); GL_CHECK(gl.MultTransposeMatrixxOES); gl.MultiDrawArrays = (void APIENTRY (*)(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount)) ldg_find("glMultiDrawArrays", lib); GL_CHECK(gl.MultiDrawArrays); gl.MultiDrawArraysEXT = (void APIENTRY (*)(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount)) ldg_find("glMultiDrawArraysEXT", lib); GL_CHECK(gl.MultiDrawArraysEXT); gl.MultiDrawArraysIndirect = (void APIENTRY (*)(GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride)) ldg_find("glMultiDrawArraysIndirect", lib); GL_CHECK(gl.MultiDrawArraysIndirect); gl.MultiDrawArraysIndirectAMD = (void APIENTRY (*)(GLenum mode, const void *indirect, GLsizei primcount, GLsizei stride)) ldg_find("glMultiDrawArraysIndirectAMD", lib); GL_CHECK(gl.MultiDrawArraysIndirectAMD); gl.MultiDrawArraysIndirectBindlessNV = (void APIENTRY (*)(GLenum mode, const void *indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount)) ldg_find("glMultiDrawArraysIndirectBindlessNV", lib); GL_CHECK(gl.MultiDrawArraysIndirectBindlessNV); gl.MultiDrawArraysIndirectCountARB = (void APIENTRY (*)(GLenum mode, GLintptr indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride)) ldg_find("glMultiDrawArraysIndirectCountARB", lib); GL_CHECK(gl.MultiDrawArraysIndirectCountARB); gl.MultiDrawElementArrayAPPLE = (void APIENTRY (*)(GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount)) ldg_find("glMultiDrawElementArrayAPPLE", lib); GL_CHECK(gl.MultiDrawElementArrayAPPLE); gl.MultiDrawElements = (void APIENTRY (*)(GLenum mode, const GLsizei *count, GLenum type, const void *const *indices, GLsizei drawcount)) ldg_find("glMultiDrawElements", lib); GL_CHECK(gl.MultiDrawElements); gl.MultiDrawElementsBaseVertex = (void APIENTRY (*)(GLenum mode, const GLsizei *count, GLenum type, const void *const *indices, GLsizei drawcount, const GLint *basevertex)) ldg_find("glMultiDrawElementsBaseVertex", lib); GL_CHECK(gl.MultiDrawElementsBaseVertex); gl.MultiDrawElementsEXT = (void APIENTRY (*)(GLenum mode, const GLsizei *count, GLenum type, const void *const *indices, GLsizei primcount)) ldg_find("glMultiDrawElementsEXT", lib); GL_CHECK(gl.MultiDrawElementsEXT); gl.MultiDrawElementsIndirect = (void APIENTRY (*)(GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride)) ldg_find("glMultiDrawElementsIndirect", lib); GL_CHECK(gl.MultiDrawElementsIndirect); gl.MultiDrawElementsIndirectAMD = (void APIENTRY (*)(GLenum mode, GLenum type, const void *indirect, GLsizei primcount, GLsizei stride)) ldg_find("glMultiDrawElementsIndirectAMD", lib); GL_CHECK(gl.MultiDrawElementsIndirectAMD); gl.MultiDrawElementsIndirectBindlessNV = (void APIENTRY (*)(GLenum mode, GLenum type, const void *indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount)) ldg_find("glMultiDrawElementsIndirectBindlessNV", lib); GL_CHECK(gl.MultiDrawElementsIndirectBindlessNV); gl.MultiDrawElementsIndirectCountARB = (void APIENTRY (*)(GLenum mode, GLenum type, GLintptr indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride)) ldg_find("glMultiDrawElementsIndirectCountARB", lib); GL_CHECK(gl.MultiDrawElementsIndirectCountARB); gl.MultiDrawRangeElementArrayAPPLE = (void APIENTRY (*)(GLenum mode, GLuint start, GLuint end, const GLint *first, const GLsizei *count, GLsizei primcount)) ldg_find("glMultiDrawRangeElementArrayAPPLE", lib); GL_CHECK(gl.MultiDrawRangeElementArrayAPPLE); gl.MultiModeDrawArraysIBM = (void APIENTRY (*)(const GLenum *mode, const GLint *first, const GLsizei *count, GLsizei primcount, GLint modestride)) ldg_find("glMultiModeDrawArraysIBM", lib); GL_CHECK(gl.MultiModeDrawArraysIBM); gl.MultiModeDrawElementsIBM = (void APIENTRY (*)(const GLenum *mode, const GLsizei *count, GLenum type, const void *const *indices, GLsizei primcount, GLint modestride)) ldg_find("glMultiModeDrawElementsIBM", lib); GL_CHECK(gl.MultiModeDrawElementsIBM); gl.MultiTexBufferEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLenum internalformat, GLuint buffer)) ldg_find("glMultiTexBufferEXT", lib); GL_CHECK(gl.MultiTexBufferEXT); gl.MultiTexCoord1bOES = (void APIENTRY (*)(GLenum texture, GLbyte32 s)) ldg_find("glMultiTexCoord1bOES", lib); GL_CHECK(gl.MultiTexCoord1bOES); gl.MultiTexCoord1bvOES = (void APIENTRY (*)(GLenum texture, const GLbyte *coords)) ldg_find("glMultiTexCoord1bvOES", lib); GL_CHECK(gl.MultiTexCoord1bvOES); gl.MultiTexCoord1d = (void APIENTRY (*)(GLenum target, GLdouble s)) ldg_find("glMultiTexCoord1d", lib); GL_CHECK(gl.MultiTexCoord1d); gl.MultiTexCoord1dARB = (void APIENTRY (*)(GLenum target, GLdouble s)) ldg_find("glMultiTexCoord1dARB", lib); GL_CHECK(gl.MultiTexCoord1dARB); gl.MultiTexCoord1dv = (void APIENTRY (*)(GLenum target, const GLdouble *v)) ldg_find("glMultiTexCoord1dv", lib); GL_CHECK(gl.MultiTexCoord1dv); gl.MultiTexCoord1dvARB = (void APIENTRY (*)(GLenum target, const GLdouble *v)) ldg_find("glMultiTexCoord1dvARB", lib); GL_CHECK(gl.MultiTexCoord1dvARB); gl.MultiTexCoord1f = (void APIENTRY (*)(GLenum target, GLfloat s)) ldg_find("glMultiTexCoord1f", lib); GL_CHECK(gl.MultiTexCoord1f); gl.MultiTexCoord1fARB = (void APIENTRY (*)(GLenum target, GLfloat s)) ldg_find("glMultiTexCoord1fARB", lib); GL_CHECK(gl.MultiTexCoord1fARB); gl.MultiTexCoord1fv = (void APIENTRY (*)(GLenum target, const GLfloat *v)) ldg_find("glMultiTexCoord1fv", lib); GL_CHECK(gl.MultiTexCoord1fv); gl.MultiTexCoord1fvARB = (void APIENTRY (*)(GLenum target, const GLfloat *v)) ldg_find("glMultiTexCoord1fvARB", lib); GL_CHECK(gl.MultiTexCoord1fvARB); gl.MultiTexCoord1hNV = (void APIENTRY (*)(GLenum target, GLhalfNV32 s)) ldg_find("glMultiTexCoord1hNV", lib); GL_CHECK(gl.MultiTexCoord1hNV); gl.MultiTexCoord1hvNV = (void APIENTRY (*)(GLenum target, const GLhalfNV *v)) ldg_find("glMultiTexCoord1hvNV", lib); GL_CHECK(gl.MultiTexCoord1hvNV); gl.MultiTexCoord1i = (void APIENTRY (*)(GLenum target, GLint s)) ldg_find("glMultiTexCoord1i", lib); GL_CHECK(gl.MultiTexCoord1i); gl.MultiTexCoord1iARB = (void APIENTRY (*)(GLenum target, GLint s)) ldg_find("glMultiTexCoord1iARB", lib); GL_CHECK(gl.MultiTexCoord1iARB); gl.MultiTexCoord1iv = (void APIENTRY (*)(GLenum target, const GLint *v)) ldg_find("glMultiTexCoord1iv", lib); GL_CHECK(gl.MultiTexCoord1iv); gl.MultiTexCoord1ivARB = (void APIENTRY (*)(GLenum target, const GLint *v)) ldg_find("glMultiTexCoord1ivARB", lib); GL_CHECK(gl.MultiTexCoord1ivARB); gl.MultiTexCoord1s = (void APIENTRY (*)(GLenum target, GLshort32 s)) ldg_find("glMultiTexCoord1s", lib); GL_CHECK(gl.MultiTexCoord1s); gl.MultiTexCoord1sARB = (void APIENTRY (*)(GLenum target, GLshort32 s)) ldg_find("glMultiTexCoord1sARB", lib); GL_CHECK(gl.MultiTexCoord1sARB); gl.MultiTexCoord1sv = (void APIENTRY (*)(GLenum target, const GLshort *v)) ldg_find("glMultiTexCoord1sv", lib); GL_CHECK(gl.MultiTexCoord1sv); gl.MultiTexCoord1svARB = (void APIENTRY (*)(GLenum target, const GLshort *v)) ldg_find("glMultiTexCoord1svARB", lib); GL_CHECK(gl.MultiTexCoord1svARB); gl.MultiTexCoord1xOES = (void APIENTRY (*)(GLenum texture, GLfixed s)) ldg_find("glMultiTexCoord1xOES", lib); GL_CHECK(gl.MultiTexCoord1xOES); gl.MultiTexCoord1xvOES = (void APIENTRY (*)(GLenum texture, const GLfixed *coords)) ldg_find("glMultiTexCoord1xvOES", lib); GL_CHECK(gl.MultiTexCoord1xvOES); gl.MultiTexCoord2bOES = (void APIENTRY (*)(GLenum texture, GLbyte32 s, GLbyte32 t)) ldg_find("glMultiTexCoord2bOES", lib); GL_CHECK(gl.MultiTexCoord2bOES); gl.MultiTexCoord2bvOES = (void APIENTRY (*)(GLenum texture, const GLbyte *coords)) ldg_find("glMultiTexCoord2bvOES", lib); GL_CHECK(gl.MultiTexCoord2bvOES); gl.MultiTexCoord2d = (void APIENTRY (*)(GLenum target, GLdouble s, GLdouble t)) ldg_find("glMultiTexCoord2d", lib); GL_CHECK(gl.MultiTexCoord2d); gl.MultiTexCoord2dARB = (void APIENTRY (*)(GLenum target, GLdouble s, GLdouble t)) ldg_find("glMultiTexCoord2dARB", lib); GL_CHECK(gl.MultiTexCoord2dARB); gl.MultiTexCoord2dv = (void APIENTRY (*)(GLenum target, const GLdouble *v)) ldg_find("glMultiTexCoord2dv", lib); GL_CHECK(gl.MultiTexCoord2dv); gl.MultiTexCoord2dvARB = (void APIENTRY (*)(GLenum target, const GLdouble *v)) ldg_find("glMultiTexCoord2dvARB", lib); GL_CHECK(gl.MultiTexCoord2dvARB); gl.MultiTexCoord2f = (void APIENTRY (*)(GLenum target, GLfloat s, GLfloat t)) ldg_find("glMultiTexCoord2f", lib); GL_CHECK(gl.MultiTexCoord2f); gl.MultiTexCoord2fARB = (void APIENTRY (*)(GLenum target, GLfloat s, GLfloat t)) ldg_find("glMultiTexCoord2fARB", lib); GL_CHECK(gl.MultiTexCoord2fARB); gl.MultiTexCoord2fv = (void APIENTRY (*)(GLenum target, const GLfloat *v)) ldg_find("glMultiTexCoord2fv", lib); GL_CHECK(gl.MultiTexCoord2fv); gl.MultiTexCoord2fvARB = (void APIENTRY (*)(GLenum target, const GLfloat *v)) ldg_find("glMultiTexCoord2fvARB", lib); GL_CHECK(gl.MultiTexCoord2fvARB); gl.MultiTexCoord2hNV = (void APIENTRY (*)(GLenum target, GLhalfNV32 s, GLhalfNV32 t)) ldg_find("glMultiTexCoord2hNV", lib); GL_CHECK(gl.MultiTexCoord2hNV); gl.MultiTexCoord2hvNV = (void APIENTRY (*)(GLenum target, const GLhalfNV *v)) ldg_find("glMultiTexCoord2hvNV", lib); GL_CHECK(gl.MultiTexCoord2hvNV); gl.MultiTexCoord2i = (void APIENTRY (*)(GLenum target, GLint s, GLint t)) ldg_find("glMultiTexCoord2i", lib); GL_CHECK(gl.MultiTexCoord2i); gl.MultiTexCoord2iARB = (void APIENTRY (*)(GLenum target, GLint s, GLint t)) ldg_find("glMultiTexCoord2iARB", lib); GL_CHECK(gl.MultiTexCoord2iARB); gl.MultiTexCoord2iv = (void APIENTRY (*)(GLenum target, const GLint *v)) ldg_find("glMultiTexCoord2iv", lib); GL_CHECK(gl.MultiTexCoord2iv); gl.MultiTexCoord2ivARB = (void APIENTRY (*)(GLenum target, const GLint *v)) ldg_find("glMultiTexCoord2ivARB", lib); GL_CHECK(gl.MultiTexCoord2ivARB); gl.MultiTexCoord2s = (void APIENTRY (*)(GLenum target, GLshort32 s, GLshort32 t)) ldg_find("glMultiTexCoord2s", lib); GL_CHECK(gl.MultiTexCoord2s); gl.MultiTexCoord2sARB = (void APIENTRY (*)(GLenum target, GLshort32 s, GLshort32 t)) ldg_find("glMultiTexCoord2sARB", lib); GL_CHECK(gl.MultiTexCoord2sARB); gl.MultiTexCoord2sv = (void APIENTRY (*)(GLenum target, const GLshort *v)) ldg_find("glMultiTexCoord2sv", lib); GL_CHECK(gl.MultiTexCoord2sv); gl.MultiTexCoord2svARB = (void APIENTRY (*)(GLenum target, const GLshort *v)) ldg_find("glMultiTexCoord2svARB", lib); GL_CHECK(gl.MultiTexCoord2svARB); gl.MultiTexCoord2xOES = (void APIENTRY (*)(GLenum texture, GLfixed s, GLfixed t)) ldg_find("glMultiTexCoord2xOES", lib); GL_CHECK(gl.MultiTexCoord2xOES); gl.MultiTexCoord2xvOES = (void APIENTRY (*)(GLenum texture, const GLfixed *coords)) ldg_find("glMultiTexCoord2xvOES", lib); GL_CHECK(gl.MultiTexCoord2xvOES); gl.MultiTexCoord3bOES = (void APIENTRY (*)(GLenum texture, GLbyte32 s, GLbyte32 t, GLbyte32 r)) ldg_find("glMultiTexCoord3bOES", lib); GL_CHECK(gl.MultiTexCoord3bOES); gl.MultiTexCoord3bvOES = (void APIENTRY (*)(GLenum texture, const GLbyte *coords)) ldg_find("glMultiTexCoord3bvOES", lib); GL_CHECK(gl.MultiTexCoord3bvOES); gl.MultiTexCoord3d = (void APIENTRY (*)(GLenum target, GLdouble s, GLdouble t, GLdouble r)) ldg_find("glMultiTexCoord3d", lib); GL_CHECK(gl.MultiTexCoord3d); gl.MultiTexCoord3dARB = (void APIENTRY (*)(GLenum target, GLdouble s, GLdouble t, GLdouble r)) ldg_find("glMultiTexCoord3dARB", lib); GL_CHECK(gl.MultiTexCoord3dARB); gl.MultiTexCoord3dv = (void APIENTRY (*)(GLenum target, const GLdouble *v)) ldg_find("glMultiTexCoord3dv", lib); GL_CHECK(gl.MultiTexCoord3dv); gl.MultiTexCoord3dvARB = (void APIENTRY (*)(GLenum target, const GLdouble *v)) ldg_find("glMultiTexCoord3dvARB", lib); GL_CHECK(gl.MultiTexCoord3dvARB); gl.MultiTexCoord3f = (void APIENTRY (*)(GLenum target, GLfloat s, GLfloat t, GLfloat r)) ldg_find("glMultiTexCoord3f", lib); GL_CHECK(gl.MultiTexCoord3f); gl.MultiTexCoord3fARB = (void APIENTRY (*)(GLenum target, GLfloat s, GLfloat t, GLfloat r)) ldg_find("glMultiTexCoord3fARB", lib); GL_CHECK(gl.MultiTexCoord3fARB); gl.MultiTexCoord3fv = (void APIENTRY (*)(GLenum target, const GLfloat *v)) ldg_find("glMultiTexCoord3fv", lib); GL_CHECK(gl.MultiTexCoord3fv); gl.MultiTexCoord3fvARB = (void APIENTRY (*)(GLenum target, const GLfloat *v)) ldg_find("glMultiTexCoord3fvARB", lib); GL_CHECK(gl.MultiTexCoord3fvARB); gl.MultiTexCoord3hNV = (void APIENTRY (*)(GLenum target, GLhalfNV32 s, GLhalfNV32 t, GLhalfNV32 r)) ldg_find("glMultiTexCoord3hNV", lib); GL_CHECK(gl.MultiTexCoord3hNV); gl.MultiTexCoord3hvNV = (void APIENTRY (*)(GLenum target, const GLhalfNV *v)) ldg_find("glMultiTexCoord3hvNV", lib); GL_CHECK(gl.MultiTexCoord3hvNV); gl.MultiTexCoord3i = (void APIENTRY (*)(GLenum target, GLint s, GLint t, GLint r)) ldg_find("glMultiTexCoord3i", lib); GL_CHECK(gl.MultiTexCoord3i); gl.MultiTexCoord3iARB = (void APIENTRY (*)(GLenum target, GLint s, GLint t, GLint r)) ldg_find("glMultiTexCoord3iARB", lib); GL_CHECK(gl.MultiTexCoord3iARB); gl.MultiTexCoord3iv = (void APIENTRY (*)(GLenum target, const GLint *v)) ldg_find("glMultiTexCoord3iv", lib); GL_CHECK(gl.MultiTexCoord3iv); gl.MultiTexCoord3ivARB = (void APIENTRY (*)(GLenum target, const GLint *v)) ldg_find("glMultiTexCoord3ivARB", lib); GL_CHECK(gl.MultiTexCoord3ivARB); gl.MultiTexCoord3s = (void APIENTRY (*)(GLenum target, GLshort32 s, GLshort32 t, GLshort32 r)) ldg_find("glMultiTexCoord3s", lib); GL_CHECK(gl.MultiTexCoord3s); gl.MultiTexCoord3sARB = (void APIENTRY (*)(GLenum target, GLshort32 s, GLshort32 t, GLshort32 r)) ldg_find("glMultiTexCoord3sARB", lib); GL_CHECK(gl.MultiTexCoord3sARB); gl.MultiTexCoord3sv = (void APIENTRY (*)(GLenum target, const GLshort *v)) ldg_find("glMultiTexCoord3sv", lib); GL_CHECK(gl.MultiTexCoord3sv); gl.MultiTexCoord3svARB = (void APIENTRY (*)(GLenum target, const GLshort *v)) ldg_find("glMultiTexCoord3svARB", lib); GL_CHECK(gl.MultiTexCoord3svARB); gl.MultiTexCoord3xOES = (void APIENTRY (*)(GLenum texture, GLfixed s, GLfixed t, GLfixed r)) ldg_find("glMultiTexCoord3xOES", lib); GL_CHECK(gl.MultiTexCoord3xOES); gl.MultiTexCoord3xvOES = (void APIENTRY (*)(GLenum texture, const GLfixed *coords)) ldg_find("glMultiTexCoord3xvOES", lib); GL_CHECK(gl.MultiTexCoord3xvOES); gl.MultiTexCoord4bOES = (void APIENTRY (*)(GLenum texture, GLbyte32 s, GLbyte32 t, GLbyte32 r, GLbyte32 q)) ldg_find("glMultiTexCoord4bOES", lib); GL_CHECK(gl.MultiTexCoord4bOES); gl.MultiTexCoord4bvOES = (void APIENTRY (*)(GLenum texture, const GLbyte *coords)) ldg_find("glMultiTexCoord4bvOES", lib); GL_CHECK(gl.MultiTexCoord4bvOES); gl.MultiTexCoord4d = (void APIENTRY (*)(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q)) ldg_find("glMultiTexCoord4d", lib); GL_CHECK(gl.MultiTexCoord4d); gl.MultiTexCoord4dARB = (void APIENTRY (*)(GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q)) ldg_find("glMultiTexCoord4dARB", lib); GL_CHECK(gl.MultiTexCoord4dARB); gl.MultiTexCoord4dv = (void APIENTRY (*)(GLenum target, const GLdouble *v)) ldg_find("glMultiTexCoord4dv", lib); GL_CHECK(gl.MultiTexCoord4dv); gl.MultiTexCoord4dvARB = (void APIENTRY (*)(GLenum target, const GLdouble *v)) ldg_find("glMultiTexCoord4dvARB", lib); GL_CHECK(gl.MultiTexCoord4dvARB); gl.MultiTexCoord4f = (void APIENTRY (*)(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q)) ldg_find("glMultiTexCoord4f", lib); GL_CHECK(gl.MultiTexCoord4f); gl.MultiTexCoord4fARB = (void APIENTRY (*)(GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q)) ldg_find("glMultiTexCoord4fARB", lib); GL_CHECK(gl.MultiTexCoord4fARB); gl.MultiTexCoord4fv = (void APIENTRY (*)(GLenum target, const GLfloat *v)) ldg_find("glMultiTexCoord4fv", lib); GL_CHECK(gl.MultiTexCoord4fv); gl.MultiTexCoord4fvARB = (void APIENTRY (*)(GLenum target, const GLfloat *v)) ldg_find("glMultiTexCoord4fvARB", lib); GL_CHECK(gl.MultiTexCoord4fvARB); gl.MultiTexCoord4hNV = (void APIENTRY (*)(GLenum target, GLhalfNV32 s, GLhalfNV32 t, GLhalfNV32 r, GLhalfNV32 q)) ldg_find("glMultiTexCoord4hNV", lib); GL_CHECK(gl.MultiTexCoord4hNV); gl.MultiTexCoord4hvNV = (void APIENTRY (*)(GLenum target, const GLhalfNV *v)) ldg_find("glMultiTexCoord4hvNV", lib); GL_CHECK(gl.MultiTexCoord4hvNV); gl.MultiTexCoord4i = (void APIENTRY (*)(GLenum target, GLint s, GLint t, GLint r, GLint q)) ldg_find("glMultiTexCoord4i", lib); GL_CHECK(gl.MultiTexCoord4i); gl.MultiTexCoord4iARB = (void APIENTRY (*)(GLenum target, GLint s, GLint t, GLint r, GLint q)) ldg_find("glMultiTexCoord4iARB", lib); GL_CHECK(gl.MultiTexCoord4iARB); gl.MultiTexCoord4iv = (void APIENTRY (*)(GLenum target, const GLint *v)) ldg_find("glMultiTexCoord4iv", lib); GL_CHECK(gl.MultiTexCoord4iv); gl.MultiTexCoord4ivARB = (void APIENTRY (*)(GLenum target, const GLint *v)) ldg_find("glMultiTexCoord4ivARB", lib); GL_CHECK(gl.MultiTexCoord4ivARB); gl.MultiTexCoord4s = (void APIENTRY (*)(GLenum target, GLshort32 s, GLshort32 t, GLshort32 r, GLshort32 q)) ldg_find("glMultiTexCoord4s", lib); GL_CHECK(gl.MultiTexCoord4s); gl.MultiTexCoord4sARB = (void APIENTRY (*)(GLenum target, GLshort32 s, GLshort32 t, GLshort32 r, GLshort32 q)) ldg_find("glMultiTexCoord4sARB", lib); GL_CHECK(gl.MultiTexCoord4sARB); gl.MultiTexCoord4sv = (void APIENTRY (*)(GLenum target, const GLshort *v)) ldg_find("glMultiTexCoord4sv", lib); GL_CHECK(gl.MultiTexCoord4sv); gl.MultiTexCoord4svARB = (void APIENTRY (*)(GLenum target, const GLshort *v)) ldg_find("glMultiTexCoord4svARB", lib); GL_CHECK(gl.MultiTexCoord4svARB); gl.MultiTexCoord4xOES = (void APIENTRY (*)(GLenum texture, GLfixed s, GLfixed t, GLfixed r, GLfixed q)) ldg_find("glMultiTexCoord4xOES", lib); GL_CHECK(gl.MultiTexCoord4xOES); gl.MultiTexCoord4xvOES = (void APIENTRY (*)(GLenum texture, const GLfixed *coords)) ldg_find("glMultiTexCoord4xvOES", lib); GL_CHECK(gl.MultiTexCoord4xvOES); gl.MultiTexCoordP1ui = (void APIENTRY (*)(GLenum texture, GLenum type, GLuint coords)) ldg_find("glMultiTexCoordP1ui", lib); GL_CHECK(gl.MultiTexCoordP1ui); gl.MultiTexCoordP1uiv = (void APIENTRY (*)(GLenum texture, GLenum type, const GLuint *coords)) ldg_find("glMultiTexCoordP1uiv", lib); GL_CHECK(gl.MultiTexCoordP1uiv); gl.MultiTexCoordP2ui = (void APIENTRY (*)(GLenum texture, GLenum type, GLuint coords)) ldg_find("glMultiTexCoordP2ui", lib); GL_CHECK(gl.MultiTexCoordP2ui); gl.MultiTexCoordP2uiv = (void APIENTRY (*)(GLenum texture, GLenum type, const GLuint *coords)) ldg_find("glMultiTexCoordP2uiv", lib); GL_CHECK(gl.MultiTexCoordP2uiv); gl.MultiTexCoordP3ui = (void APIENTRY (*)(GLenum texture, GLenum type, GLuint coords)) ldg_find("glMultiTexCoordP3ui", lib); GL_CHECK(gl.MultiTexCoordP3ui); gl.MultiTexCoordP3uiv = (void APIENTRY (*)(GLenum texture, GLenum type, const GLuint *coords)) ldg_find("glMultiTexCoordP3uiv", lib); GL_CHECK(gl.MultiTexCoordP3uiv); gl.MultiTexCoordP4ui = (void APIENTRY (*)(GLenum texture, GLenum type, GLuint coords)) ldg_find("glMultiTexCoordP4ui", lib); GL_CHECK(gl.MultiTexCoordP4ui); gl.MultiTexCoordP4uiv = (void APIENTRY (*)(GLenum texture, GLenum type, const GLuint *coords)) ldg_find("glMultiTexCoordP4uiv", lib); GL_CHECK(gl.MultiTexCoordP4uiv); gl.MultiTexCoordPointerEXT = (void APIENTRY (*)(GLenum texunit, GLint size, GLenum type, GLsizei stride, const void *pointer)) ldg_find("glMultiTexCoordPointerEXT", lib); GL_CHECK(gl.MultiTexCoordPointerEXT); gl.MultiTexEnvfEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLenum pname, GLfloat param)) ldg_find("glMultiTexEnvfEXT", lib); GL_CHECK(gl.MultiTexEnvfEXT); gl.MultiTexEnvfvEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLenum pname, const GLfloat *params)) ldg_find("glMultiTexEnvfvEXT", lib); GL_CHECK(gl.MultiTexEnvfvEXT); gl.MultiTexEnviEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLenum pname, GLint param)) ldg_find("glMultiTexEnviEXT", lib); GL_CHECK(gl.MultiTexEnviEXT); gl.MultiTexEnvivEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLenum pname, const GLint *params)) ldg_find("glMultiTexEnvivEXT", lib); GL_CHECK(gl.MultiTexEnvivEXT); gl.MultiTexGendEXT = (void APIENTRY (*)(GLenum texunit, GLenum coord, GLenum pname, GLdouble param)) ldg_find("glMultiTexGendEXT", lib); GL_CHECK(gl.MultiTexGendEXT); gl.MultiTexGendvEXT = (void APIENTRY (*)(GLenum texunit, GLenum coord, GLenum pname, const GLdouble *params)) ldg_find("glMultiTexGendvEXT", lib); GL_CHECK(gl.MultiTexGendvEXT); gl.MultiTexGenfEXT = (void APIENTRY (*)(GLenum texunit, GLenum coord, GLenum pname, GLfloat param)) ldg_find("glMultiTexGenfEXT", lib); GL_CHECK(gl.MultiTexGenfEXT); gl.MultiTexGenfvEXT = (void APIENTRY (*)(GLenum texunit, GLenum coord, GLenum pname, const GLfloat *params)) ldg_find("glMultiTexGenfvEXT", lib); GL_CHECK(gl.MultiTexGenfvEXT); gl.MultiTexGeniEXT = (void APIENTRY (*)(GLenum texunit, GLenum coord, GLenum pname, GLint param)) ldg_find("glMultiTexGeniEXT", lib); GL_CHECK(gl.MultiTexGeniEXT); gl.MultiTexGenivEXT = (void APIENTRY (*)(GLenum texunit, GLenum coord, GLenum pname, const GLint *params)) ldg_find("glMultiTexGenivEXT", lib); GL_CHECK(gl.MultiTexGenivEXT); gl.MultiTexImage1DEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels)) ldg_find("glMultiTexImage1DEXT", lib); GL_CHECK(gl.MultiTexImage1DEXT); gl.MultiTexImage2DEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels)) ldg_find("glMultiTexImage2DEXT", lib); GL_CHECK(gl.MultiTexImage2DEXT); gl.MultiTexImage3DEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels)) ldg_find("glMultiTexImage3DEXT", lib); GL_CHECK(gl.MultiTexImage3DEXT); gl.MultiTexParameterIivEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLenum pname, const GLint *params)) ldg_find("glMultiTexParameterIivEXT", lib); GL_CHECK(gl.MultiTexParameterIivEXT); gl.MultiTexParameterIuivEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLenum pname, const GLuint *params)) ldg_find("glMultiTexParameterIuivEXT", lib); GL_CHECK(gl.MultiTexParameterIuivEXT); gl.MultiTexParameterfEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLenum pname, GLfloat param)) ldg_find("glMultiTexParameterfEXT", lib); GL_CHECK(gl.MultiTexParameterfEXT); gl.MultiTexParameterfvEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLenum pname, const GLfloat *params)) ldg_find("glMultiTexParameterfvEXT", lib); GL_CHECK(gl.MultiTexParameterfvEXT); gl.MultiTexParameteriEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLenum pname, GLint param)) ldg_find("glMultiTexParameteriEXT", lib); GL_CHECK(gl.MultiTexParameteriEXT); gl.MultiTexParameterivEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLenum pname, const GLint *params)) ldg_find("glMultiTexParameterivEXT", lib); GL_CHECK(gl.MultiTexParameterivEXT); gl.MultiTexRenderbufferEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLuint renderbuffer)) ldg_find("glMultiTexRenderbufferEXT", lib); GL_CHECK(gl.MultiTexRenderbufferEXT); gl.MultiTexSubImage1DEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels)) ldg_find("glMultiTexSubImage1DEXT", lib); GL_CHECK(gl.MultiTexSubImage1DEXT); gl.MultiTexSubImage2DEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels)) ldg_find("glMultiTexSubImage2DEXT", lib); GL_CHECK(gl.MultiTexSubImage2DEXT); gl.MultiTexSubImage3DEXT = (void APIENTRY (*)(GLenum texunit, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels)) ldg_find("glMultiTexSubImage3DEXT", lib); GL_CHECK(gl.MultiTexSubImage3DEXT); gl.NamedBufferDataEXT = (void APIENTRY (*)(GLuint buffer, GLsizeiptr size, const void *data, GLenum usage)) ldg_find("glNamedBufferDataEXT", lib); GL_CHECK(gl.NamedBufferDataEXT); gl.NamedBufferStorageEXT = (void APIENTRY (*)(GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags)) ldg_find("glNamedBufferStorageEXT", lib); GL_CHECK(gl.NamedBufferStorageEXT); gl.NamedBufferSubDataEXT = (void APIENTRY (*)(GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data)) ldg_find("glNamedBufferSubDataEXT", lib); GL_CHECK(gl.NamedBufferSubDataEXT); gl.NamedCopyBufferSubDataEXT = (void APIENTRY (*)(GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size)) ldg_find("glNamedCopyBufferSubDataEXT", lib); GL_CHECK(gl.NamedCopyBufferSubDataEXT); gl.NamedFramebufferParameteriEXT = (void APIENTRY (*)(GLuint framebuffer, GLenum pname, GLint param)) ldg_find("glNamedFramebufferParameteriEXT", lib); GL_CHECK(gl.NamedFramebufferParameteriEXT); gl.NamedFramebufferRenderbufferEXT = (void APIENTRY (*)(GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)) ldg_find("glNamedFramebufferRenderbufferEXT", lib); GL_CHECK(gl.NamedFramebufferRenderbufferEXT); gl.NamedFramebufferTexture1DEXT = (void APIENTRY (*)(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level)) ldg_find("glNamedFramebufferTexture1DEXT", lib); GL_CHECK(gl.NamedFramebufferTexture1DEXT); gl.NamedFramebufferTexture2DEXT = (void APIENTRY (*)(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level)) ldg_find("glNamedFramebufferTexture2DEXT", lib); GL_CHECK(gl.NamedFramebufferTexture2DEXT); gl.NamedFramebufferTexture3DEXT = (void APIENTRY (*)(GLuint framebuffer, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset)) ldg_find("glNamedFramebufferTexture3DEXT", lib); GL_CHECK(gl.NamedFramebufferTexture3DEXT); gl.NamedFramebufferTextureEXT = (void APIENTRY (*)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level)) ldg_find("glNamedFramebufferTextureEXT", lib); GL_CHECK(gl.NamedFramebufferTextureEXT); gl.NamedFramebufferTextureFaceEXT = (void APIENTRY (*)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLenum face)) ldg_find("glNamedFramebufferTextureFaceEXT", lib); GL_CHECK(gl.NamedFramebufferTextureFaceEXT); gl.NamedFramebufferTextureLayerEXT = (void APIENTRY (*)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer)) ldg_find("glNamedFramebufferTextureLayerEXT", lib); GL_CHECK(gl.NamedFramebufferTextureLayerEXT); gl.NamedProgramLocalParameter4dEXT = (void APIENTRY (*)(GLuint program, GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)) ldg_find("glNamedProgramLocalParameter4dEXT", lib); GL_CHECK(gl.NamedProgramLocalParameter4dEXT); gl.NamedProgramLocalParameter4dvEXT = (void APIENTRY (*)(GLuint program, GLenum target, GLuint index, const GLdouble *params)) ldg_find("glNamedProgramLocalParameter4dvEXT", lib); GL_CHECK(gl.NamedProgramLocalParameter4dvEXT); gl.NamedProgramLocalParameter4fEXT = (void APIENTRY (*)(GLuint program, GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)) ldg_find("glNamedProgramLocalParameter4fEXT", lib); GL_CHECK(gl.NamedProgramLocalParameter4fEXT); gl.NamedProgramLocalParameter4fvEXT = (void APIENTRY (*)(GLuint program, GLenum target, GLuint index, const GLfloat *params)) ldg_find("glNamedProgramLocalParameter4fvEXT", lib); GL_CHECK(gl.NamedProgramLocalParameter4fvEXT); gl.NamedProgramLocalParameterI4iEXT = (void APIENTRY (*)(GLuint program, GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w)) ldg_find("glNamedProgramLocalParameterI4iEXT", lib); GL_CHECK(gl.NamedProgramLocalParameterI4iEXT); gl.NamedProgramLocalParameterI4ivEXT = (void APIENTRY (*)(GLuint program, GLenum target, GLuint index, const GLint *params)) ldg_find("glNamedProgramLocalParameterI4ivEXT", lib); GL_CHECK(gl.NamedProgramLocalParameterI4ivEXT); gl.NamedProgramLocalParameterI4uiEXT = (void APIENTRY (*)(GLuint program, GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w)) ldg_find("glNamedProgramLocalParameterI4uiEXT", lib); GL_CHECK(gl.NamedProgramLocalParameterI4uiEXT); gl.NamedProgramLocalParameterI4uivEXT = (void APIENTRY (*)(GLuint program, GLenum target, GLuint index, const GLuint *params)) ldg_find("glNamedProgramLocalParameterI4uivEXT", lib); GL_CHECK(gl.NamedProgramLocalParameterI4uivEXT); gl.NamedProgramLocalParameters4fvEXT = (void APIENTRY (*)(GLuint program, GLenum target, GLuint index, GLsizei count, const GLfloat *params)) ldg_find("glNamedProgramLocalParameters4fvEXT", lib); GL_CHECK(gl.NamedProgramLocalParameters4fvEXT); gl.NamedProgramLocalParametersI4ivEXT = (void APIENTRY (*)(GLuint program, GLenum target, GLuint index, GLsizei count, const GLint *params)) ldg_find("glNamedProgramLocalParametersI4ivEXT", lib); GL_CHECK(gl.NamedProgramLocalParametersI4ivEXT); gl.NamedProgramLocalParametersI4uivEXT = (void APIENTRY (*)(GLuint program, GLenum target, GLuint index, GLsizei count, const GLuint *params)) ldg_find("glNamedProgramLocalParametersI4uivEXT", lib); GL_CHECK(gl.NamedProgramLocalParametersI4uivEXT); gl.NamedProgramStringEXT = (void APIENTRY (*)(GLuint program, GLenum target, GLenum format, GLsizei len, const void *string)) ldg_find("glNamedProgramStringEXT", lib); GL_CHECK(gl.NamedProgramStringEXT); gl.NamedRenderbufferStorageEXT = (void APIENTRY (*)(GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height)) ldg_find("glNamedRenderbufferStorageEXT", lib); GL_CHECK(gl.NamedRenderbufferStorageEXT); gl.NamedRenderbufferStorageMultisampleCoverageEXT = (void APIENTRY (*)(GLuint renderbuffer, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height)) ldg_find("glNamedRenderbufferStorageMultisampleCoverageEXT", lib); GL_CHECK(gl.NamedRenderbufferStorageMultisampleCoverageEXT); gl.NamedRenderbufferStorageMultisampleEXT = (void APIENTRY (*)(GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)) ldg_find("glNamedRenderbufferStorageMultisampleEXT", lib); GL_CHECK(gl.NamedRenderbufferStorageMultisampleEXT); gl.NamedStringARB = (void APIENTRY (*)(GLenum type, GLint namelen, const GLchar *name, GLint stringlen, const GLchar *string)) ldg_find("glNamedStringARB", lib); GL_CHECK(gl.NamedStringARB); gl.NewList = (void APIENTRY (*)(GLuint list, GLenum mode)) ldg_find("glNewList", lib); GL_CHECK(gl.NewList); gl.NewObjectBufferATI = (GLuint APIENTRY (*)(GLsizei size, const void *pointer, GLenum usage)) ldg_find("glNewObjectBufferATI", lib); GL_CHECK(gl.NewObjectBufferATI); gl.NewTraceMESA = (void APIENTRY (*)(GLbitfield mask, const GLubyte *traceName)) ldg_find("glNewTraceMESA", lib); GL_CHECK(gl.NewTraceMESA); gl.Normal3b = (void APIENTRY (*)(GLbyte32 nx, GLbyte32 ny, GLbyte32 nz)) ldg_find("glNormal3b", lib); GL_CHECK(gl.Normal3b); gl.Normal3bv = (void APIENTRY (*)(const GLbyte *v)) ldg_find("glNormal3bv", lib); GL_CHECK(gl.Normal3bv); gl.Normal3d = (void APIENTRY (*)(GLdouble nx, GLdouble ny, GLdouble nz)) ldg_find("glNormal3d", lib); GL_CHECK(gl.Normal3d); gl.Normal3dv = (void APIENTRY (*)(const GLdouble *v)) ldg_find("glNormal3dv", lib); GL_CHECK(gl.Normal3dv); gl.Normal3f = (void APIENTRY (*)(GLfloat nx, GLfloat ny, GLfloat nz)) ldg_find("glNormal3f", lib); GL_CHECK(gl.Normal3f); gl.Normal3fVertex3fSUN = (void APIENTRY (*)(GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z)) ldg_find("glNormal3fVertex3fSUN", lib); GL_CHECK(gl.Normal3fVertex3fSUN); gl.Normal3fVertex3fvSUN = (void APIENTRY (*)(const GLfloat *n, const GLfloat *v)) ldg_find("glNormal3fVertex3fvSUN", lib); GL_CHECK(gl.Normal3fVertex3fvSUN); gl.Normal3fv = (void APIENTRY (*)(const GLfloat *v)) ldg_find("glNormal3fv", lib); GL_CHECK(gl.Normal3fv); gl.Normal3hNV = (void APIENTRY (*)(GLhalfNV32 nx, GLhalfNV32 ny, GLhalfNV32 nz)) ldg_find("glNormal3hNV", lib); GL_CHECK(gl.Normal3hNV); gl.Normal3hvNV = (void APIENTRY (*)(const GLhalfNV *v)) ldg_find("glNormal3hvNV", lib); GL_CHECK(gl.Normal3hvNV); gl.Normal3i = (void APIENTRY (*)(GLint nx, GLint ny, GLint nz)) ldg_find("glNormal3i", lib); GL_CHECK(gl.Normal3i); gl.Normal3iv = (void APIENTRY (*)(const GLint *v)) ldg_find("glNormal3iv", lib); GL_CHECK(gl.Normal3iv); gl.Normal3s = (void APIENTRY (*)(GLshort32 nx, GLshort32 ny, GLshort32 nz)) ldg_find("glNormal3s", lib); GL_CHECK(gl.Normal3s); gl.Normal3sv = (void APIENTRY (*)(const GLshort *v)) ldg_find("glNormal3sv", lib); GL_CHECK(gl.Normal3sv); gl.Normal3xOES = (void APIENTRY (*)(GLfixed nx, GLfixed ny, GLfixed nz)) ldg_find("glNormal3xOES", lib); GL_CHECK(gl.Normal3xOES); gl.Normal3xvOES = (void APIENTRY (*)(const GLfixed *coords)) ldg_find("glNormal3xvOES", lib); GL_CHECK(gl.Normal3xvOES); gl.NormalFormatNV = (void APIENTRY (*)(GLenum type, GLsizei stride)) ldg_find("glNormalFormatNV", lib); GL_CHECK(gl.NormalFormatNV); gl.NormalP3ui = (void APIENTRY (*)(GLenum type, GLuint coords)) ldg_find("glNormalP3ui", lib); GL_CHECK(gl.NormalP3ui); gl.NormalP3uiv = (void APIENTRY (*)(GLenum type, const GLuint *coords)) ldg_find("glNormalP3uiv", lib); GL_CHECK(gl.NormalP3uiv); gl.NormalPointer = (void APIENTRY (*)(GLenum type, GLsizei stride, const GLvoid *pointer)) ldg_find("glNormalPointer", lib); GL_CHECK(gl.NormalPointer); gl.NormalPointerEXT = (void APIENTRY (*)(GLenum type, GLsizei stride, GLsizei count, const void *pointer)) ldg_find("glNormalPointerEXT", lib); GL_CHECK(gl.NormalPointerEXT); gl.NormalPointerListIBM = (void APIENTRY (*)(GLenum type, GLint stride, const void * *pointer, GLint ptrstride)) ldg_find("glNormalPointerListIBM", lib); GL_CHECK(gl.NormalPointerListIBM); gl.NormalPointervINTEL = (void APIENTRY (*)(GLenum type, const void * *pointer)) ldg_find("glNormalPointervINTEL", lib); GL_CHECK(gl.NormalPointervINTEL); gl.NormalStream3bATI = (void APIENTRY (*)(GLenum stream, GLbyte32 nx, GLbyte32 ny, GLbyte32 nz)) ldg_find("glNormalStream3bATI", lib); GL_CHECK(gl.NormalStream3bATI); gl.NormalStream3bvATI = (void APIENTRY (*)(GLenum stream, const GLbyte *coords)) ldg_find("glNormalStream3bvATI", lib); GL_CHECK(gl.NormalStream3bvATI); gl.NormalStream3dATI = (void APIENTRY (*)(GLenum stream, GLdouble nx, GLdouble ny, GLdouble nz)) ldg_find("glNormalStream3dATI", lib); GL_CHECK(gl.NormalStream3dATI); gl.NormalStream3dvATI = (void APIENTRY (*)(GLenum stream, const GLdouble *coords)) ldg_find("glNormalStream3dvATI", lib); GL_CHECK(gl.NormalStream3dvATI); gl.NormalStream3fATI = (void APIENTRY (*)(GLenum stream, GLfloat nx, GLfloat ny, GLfloat nz)) ldg_find("glNormalStream3fATI", lib); GL_CHECK(gl.NormalStream3fATI); gl.NormalStream3fvATI = (void APIENTRY (*)(GLenum stream, const GLfloat *coords)) ldg_find("glNormalStream3fvATI", lib); GL_CHECK(gl.NormalStream3fvATI); gl.NormalStream3iATI = (void APIENTRY (*)(GLenum stream, GLint nx, GLint ny, GLint nz)) ldg_find("glNormalStream3iATI", lib); GL_CHECK(gl.NormalStream3iATI); gl.NormalStream3ivATI = (void APIENTRY (*)(GLenum stream, const GLint *coords)) ldg_find("glNormalStream3ivATI", lib); GL_CHECK(gl.NormalStream3ivATI); gl.NormalStream3sATI = (void APIENTRY (*)(GLenum stream, GLshort32 nx, GLshort32 ny, GLshort32 nz)) ldg_find("glNormalStream3sATI", lib); GL_CHECK(gl.NormalStream3sATI); gl.NormalStream3svATI = (void APIENTRY (*)(GLenum stream, const GLshort *coords)) ldg_find("glNormalStream3svATI", lib); GL_CHECK(gl.NormalStream3svATI); gl.ObjectLabel = (void APIENTRY (*)(GLenum identifier, GLuint name, GLsizei length, const GLchar *label)) ldg_find("glObjectLabel", lib); GL_CHECK(gl.ObjectLabel); gl.ObjectPtrLabel = (void APIENTRY (*)(const void *ptr, GLsizei length, const GLchar *label)) ldg_find("glObjectPtrLabel", lib); GL_CHECK(gl.ObjectPtrLabel); gl.ObjectPurgeableAPPLE = (GLenum APIENTRY (*)(GLenum objectType, GLuint name, GLenum option)) ldg_find("glObjectPurgeableAPPLE", lib); GL_CHECK(gl.ObjectPurgeableAPPLE); gl.ObjectUnpurgeableAPPLE = (GLenum APIENTRY (*)(GLenum objectType, GLuint name, GLenum option)) ldg_find("glObjectUnpurgeableAPPLE", lib); GL_CHECK(gl.ObjectUnpurgeableAPPLE); gl.Ortho = (void APIENTRY (*)(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar)) ldg_find("glOrthod", lib); GL_CHECK(gl.Ortho); gl.Orthof = (void APIENTRY (*)(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat near_val, GLfloat far_val)) ldg_find("glOrtho", lib); GL_CHECK(gl.Orthof); gl.OrthofOES = (void APIENTRY (*)(GLfloat l, GLfloat r, GLfloat b, GLfloat t, GLfloat n, GLfloat f)) ldg_find("glOrthofOES", lib); GL_CHECK(gl.OrthofOES); gl.OrthoxOES = (void APIENTRY (*)(GLfixed l, GLfixed r, GLfixed b, GLfixed t, GLfixed n, GLfixed f)) ldg_find("glOrthoxOES", lib); GL_CHECK(gl.OrthoxOES); gl.PNTrianglesfATI = (void APIENTRY (*)(GLenum pname, GLfloat param)) ldg_find("glPNTrianglesfATI", lib); GL_CHECK(gl.PNTrianglesfATI); gl.PNTrianglesiATI = (void APIENTRY (*)(GLenum pname, GLint param)) ldg_find("glPNTrianglesiATI", lib); GL_CHECK(gl.PNTrianglesiATI); gl.PassTexCoordATI = (void APIENTRY (*)(GLuint dst, GLuint coord, GLenum swizzle)) ldg_find("glPassTexCoordATI", lib); GL_CHECK(gl.PassTexCoordATI); gl.PassThrough = (void APIENTRY (*)(GLfloat token)) ldg_find("glPassThrough", lib); GL_CHECK(gl.PassThrough); gl.PassThroughxOES = (void APIENTRY (*)(GLfixed token)) ldg_find("glPassThroughxOES", lib); GL_CHECK(gl.PassThroughxOES); gl.PatchParameterfv = (void APIENTRY (*)(GLenum pname, const GLfloat *values)) ldg_find("glPatchParameterfv", lib); GL_CHECK(gl.PatchParameterfv); gl.PatchParameteri = (void APIENTRY (*)(GLenum pname, GLint value)) ldg_find("glPatchParameteri", lib); GL_CHECK(gl.PatchParameteri); gl.PathColorGenNV = (void APIENTRY (*)(GLenum color, GLenum genMode, GLenum colorFormat, const GLfloat *coeffs)) ldg_find("glPathColorGenNV", lib); GL_CHECK(gl.PathColorGenNV); gl.PathCommandsNV = (void APIENTRY (*)(GLuint path, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords)) ldg_find("glPathCommandsNV", lib); GL_CHECK(gl.PathCommandsNV); gl.PathCoordsNV = (void APIENTRY (*)(GLuint path, GLsizei numCoords, GLenum coordType, const void *coords)) ldg_find("glPathCoordsNV", lib); GL_CHECK(gl.PathCoordsNV); gl.PathCoverDepthFuncNV = (void APIENTRY (*)(GLenum func)) ldg_find("glPathCoverDepthFuncNV", lib); GL_CHECK(gl.PathCoverDepthFuncNV); gl.PathDashArrayNV = (void APIENTRY (*)(GLuint path, GLsizei dashCount, const GLfloat *dashArray)) ldg_find("glPathDashArrayNV", lib); GL_CHECK(gl.PathDashArrayNV); gl.PathFogGenNV = (void APIENTRY (*)(GLenum genMode)) ldg_find("glPathFogGenNV", lib); GL_CHECK(gl.PathFogGenNV); gl.PathGlyphRangeNV = (void APIENTRY (*)(GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale)) ldg_find("glPathGlyphRangeNV", lib); GL_CHECK(gl.PathGlyphRangeNV); gl.PathGlyphsNV = (void APIENTRY (*)(GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const void *charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale)) ldg_find("glPathGlyphsNV", lib); GL_CHECK(gl.PathGlyphsNV); gl.PathParameterfNV = (void APIENTRY (*)(GLuint path, GLenum pname, GLfloat value)) ldg_find("glPathParameterfNV", lib); GL_CHECK(gl.PathParameterfNV); gl.PathParameterfvNV = (void APIENTRY (*)(GLuint path, GLenum pname, const GLfloat *value)) ldg_find("glPathParameterfvNV", lib); GL_CHECK(gl.PathParameterfvNV); gl.PathParameteriNV = (void APIENTRY (*)(GLuint path, GLenum pname, GLint value)) ldg_find("glPathParameteriNV", lib); GL_CHECK(gl.PathParameteriNV); gl.PathParameterivNV = (void APIENTRY (*)(GLuint path, GLenum pname, const GLint *value)) ldg_find("glPathParameterivNV", lib); GL_CHECK(gl.PathParameterivNV); gl.PathStencilDepthOffsetNV = (void APIENTRY (*)(GLfloat factor, GLfloat units)) ldg_find("glPathStencilDepthOffsetNV", lib); GL_CHECK(gl.PathStencilDepthOffsetNV); gl.PathStencilFuncNV = (void APIENTRY (*)(GLenum func, GLint ref, GLuint mask)) ldg_find("glPathStencilFuncNV", lib); GL_CHECK(gl.PathStencilFuncNV); gl.PathStringNV = (void APIENTRY (*)(GLuint path, GLenum format, GLsizei length, const void *pathString)) ldg_find("glPathStringNV", lib); GL_CHECK(gl.PathStringNV); gl.PathSubCommandsNV = (void APIENTRY (*)(GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords)) ldg_find("glPathSubCommandsNV", lib); GL_CHECK(gl.PathSubCommandsNV); gl.PathSubCoordsNV = (void APIENTRY (*)(GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const void *coords)) ldg_find("glPathSubCoordsNV", lib); GL_CHECK(gl.PathSubCoordsNV); gl.PathTexGenNV = (void APIENTRY (*)(GLenum texCoordSet, GLenum genMode, GLint components, const GLfloat *coeffs)) ldg_find("glPathTexGenNV", lib); GL_CHECK(gl.PathTexGenNV); gl.PauseTransformFeedback = (void APIENTRY (*)(void)) ldg_find("glPauseTransformFeedback", lib); GL_CHECK(gl.PauseTransformFeedback); gl.PauseTransformFeedbackNV = (void APIENTRY (*)(void)) ldg_find("glPauseTransformFeedbackNV", lib); GL_CHECK(gl.PauseTransformFeedbackNV); gl.PixelDataRangeNV = (void APIENTRY (*)(GLenum target, GLsizei length, const void *pointer)) ldg_find("glPixelDataRangeNV", lib); GL_CHECK(gl.PixelDataRangeNV); gl.PixelMapfv = (void APIENTRY (*)(GLenum map, GLsizei mapsize, const GLfloat *values)) ldg_find("glPixelMapfv", lib); GL_CHECK(gl.PixelMapfv); gl.PixelMapuiv = (void APIENTRY (*)(GLenum map, GLsizei mapsize, const GLuint *values)) ldg_find("glPixelMapuiv", lib); GL_CHECK(gl.PixelMapuiv); gl.PixelMapusv = (void APIENTRY (*)(GLenum map, GLsizei mapsize, const GLushort *values)) ldg_find("glPixelMapusv", lib); GL_CHECK(gl.PixelMapusv); gl.PixelMapx = (void APIENTRY (*)(GLenum map, GLint size, const GLfixed *values)) ldg_find("glPixelMapx", lib); GL_CHECK(gl.PixelMapx); gl.PixelStoref = (void APIENTRY (*)(GLenum pname, GLfloat param)) ldg_find("glPixelStoref", lib); GL_CHECK(gl.PixelStoref); gl.PixelStorei = (void APIENTRY (*)(GLenum pname, GLint param)) ldg_find("glPixelStorei", lib); GL_CHECK(gl.PixelStorei); gl.PixelStorex = (void APIENTRY (*)(GLenum pname, GLfixed param)) ldg_find("glPixelStorex", lib); GL_CHECK(gl.PixelStorex); gl.PixelTexGenParameterfSGIS = (void APIENTRY (*)(GLenum pname, GLfloat param)) ldg_find("glPixelTexGenParameterfSGIS", lib); GL_CHECK(gl.PixelTexGenParameterfSGIS); gl.PixelTexGenParameterfvSGIS = (void APIENTRY (*)(GLenum pname, const GLfloat *params)) ldg_find("glPixelTexGenParameterfvSGIS", lib); GL_CHECK(gl.PixelTexGenParameterfvSGIS); gl.PixelTexGenParameteriSGIS = (void APIENTRY (*)(GLenum pname, GLint param)) ldg_find("glPixelTexGenParameteriSGIS", lib); GL_CHECK(gl.PixelTexGenParameteriSGIS); gl.PixelTexGenParameterivSGIS = (void APIENTRY (*)(GLenum pname, const GLint *params)) ldg_find("glPixelTexGenParameterivSGIS", lib); GL_CHECK(gl.PixelTexGenParameterivSGIS); gl.PixelTexGenSGIX = (void APIENTRY (*)(GLenum mode)) ldg_find("glPixelTexGenSGIX", lib); GL_CHECK(gl.PixelTexGenSGIX); gl.PixelTransferf = (void APIENTRY (*)(GLenum pname, GLfloat param)) ldg_find("glPixelTransferf", lib); GL_CHECK(gl.PixelTransferf); gl.PixelTransferi = (void APIENTRY (*)(GLenum pname, GLint param)) ldg_find("glPixelTransferi", lib); GL_CHECK(gl.PixelTransferi); gl.PixelTransferxOES = (void APIENTRY (*)(GLenum pname, GLfixed param)) ldg_find("glPixelTransferxOES", lib); GL_CHECK(gl.PixelTransferxOES); gl.PixelTransformParameterfEXT = (void APIENTRY (*)(GLenum target, GLenum pname, GLfloat param)) ldg_find("glPixelTransformParameterfEXT", lib); GL_CHECK(gl.PixelTransformParameterfEXT); gl.PixelTransformParameterfvEXT = (void APIENTRY (*)(GLenum target, GLenum pname, const GLfloat *params)) ldg_find("glPixelTransformParameterfvEXT", lib); GL_CHECK(gl.PixelTransformParameterfvEXT); gl.PixelTransformParameteriEXT = (void APIENTRY (*)(GLenum target, GLenum pname, GLint param)) ldg_find("glPixelTransformParameteriEXT", lib); GL_CHECK(gl.PixelTransformParameteriEXT); gl.PixelTransformParameterivEXT = (void APIENTRY (*)(GLenum target, GLenum pname, const GLint *params)) ldg_find("glPixelTransformParameterivEXT", lib); GL_CHECK(gl.PixelTransformParameterivEXT); gl.PixelZoom = (void APIENTRY (*)(GLfloat xfactor, GLfloat yfactor)) ldg_find("glPixelZoom", lib); GL_CHECK(gl.PixelZoom); gl.PixelZoomxOES = (void APIENTRY (*)(GLfixed xfactor, GLfixed yfactor)) ldg_find("glPixelZoomxOES", lib); GL_CHECK(gl.PixelZoomxOES); gl.PointAlongPathNV = (GLboolean APIENTRY (*)(GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat *x, GLfloat *y, GLfloat *tangentX, GLfloat *tangentY)) ldg_find("glPointAlongPathNV", lib); GL_CHECK(gl.PointAlongPathNV); gl.PointParameterf = (void APIENTRY (*)(GLenum pname, GLfloat param)) ldg_find("glPointParameterf", lib); GL_CHECK(gl.PointParameterf); gl.PointParameterfARB = (void APIENTRY (*)(GLenum pname, GLfloat param)) ldg_find("glPointParameterfARB", lib); GL_CHECK(gl.PointParameterfARB); gl.PointParameterfEXT = (void APIENTRY (*)(GLenum pname, GLfloat param)) ldg_find("glPointParameterfEXT", lib); GL_CHECK(gl.PointParameterfEXT); gl.PointParameterfSGIS = (void APIENTRY (*)(GLenum pname, GLfloat param)) ldg_find("glPointParameterfSGIS", lib); GL_CHECK(gl.PointParameterfSGIS); gl.PointParameterfv = (void APIENTRY (*)(GLenum pname, const GLfloat *params)) ldg_find("glPointParameterfv", lib); GL_CHECK(gl.PointParameterfv); gl.PointParameterfvARB = (void APIENTRY (*)(GLenum pname, const GLfloat *params)) ldg_find("glPointParameterfvARB", lib); GL_CHECK(gl.PointParameterfvARB); gl.PointParameterfvEXT = (void APIENTRY (*)(GLenum pname, const GLfloat *params)) ldg_find("glPointParameterfvEXT", lib); GL_CHECK(gl.PointParameterfvEXT); gl.PointParameterfvSGIS = (void APIENTRY (*)(GLenum pname, const GLfloat *params)) ldg_find("glPointParameterfvSGIS", lib); GL_CHECK(gl.PointParameterfvSGIS); gl.PointParameteri = (void APIENTRY (*)(GLenum pname, GLint param)) ldg_find("glPointParameteri", lib); GL_CHECK(gl.PointParameteri); gl.PointParameteriNV = (void APIENTRY (*)(GLenum pname, GLint param)) ldg_find("glPointParameteriNV", lib); GL_CHECK(gl.PointParameteriNV); gl.PointParameteriv = (void APIENTRY (*)(GLenum pname, const GLint *params)) ldg_find("glPointParameteriv", lib); GL_CHECK(gl.PointParameteriv); gl.PointParameterivNV = (void APIENTRY (*)(GLenum pname, const GLint *params)) ldg_find("glPointParameterivNV", lib); GL_CHECK(gl.PointParameterivNV); gl.PointParameterxvOES = (void APIENTRY (*)(GLenum pname, const GLfixed *params)) ldg_find("glPointParameterxvOES", lib); GL_CHECK(gl.PointParameterxvOES); gl.PointSize = (void APIENTRY (*)(GLfloat size)) ldg_find("glPointSize", lib); GL_CHECK(gl.PointSize); gl.PointSizePointerAPPLE = (void APIENTRY (*)(GLenum type, GLsizei stride, const GLvoid *pointer)) ldg_find("glPointSizePointerAPPLE", lib); GL_CHECK(gl.PointSizePointerAPPLE); gl.PointSizexOES = (void APIENTRY (*)(GLfixed size)) ldg_find("glPointSizexOES", lib); GL_CHECK(gl.PointSizexOES); gl.PollAsyncSGIX = (GLint APIENTRY (*)(GLuint *markerp)) ldg_find("glPollAsyncSGIX", lib); GL_CHECK(gl.PollAsyncSGIX); gl.PollInstrumentsSGIX = (GLint APIENTRY (*)(GLint *marker_p)) ldg_find("glPollInstrumentsSGIX", lib); GL_CHECK(gl.PollInstrumentsSGIX); gl.PolygonMode = (void APIENTRY (*)(GLenum face, GLenum mode)) ldg_find("glPolygonMode", lib); GL_CHECK(gl.PolygonMode); gl.PolygonOffset = (void APIENTRY (*)(GLfloat factor, GLfloat units)) ldg_find("glPolygonOffset", lib); GL_CHECK(gl.PolygonOffset); gl.PolygonOffsetEXT = (void APIENTRY (*)(GLfloat factor, GLfloat bias)) ldg_find("glPolygonOffsetEXT", lib); GL_CHECK(gl.PolygonOffsetEXT); gl.PolygonOffsetxOES = (void APIENTRY (*)(GLfixed factor, GLfixed units)) ldg_find("glPolygonOffsetxOES", lib); GL_CHECK(gl.PolygonOffsetxOES); gl.PolygonStipple = (void APIENTRY (*)(const GLubyte *mask)) ldg_find("glPolygonStipple", lib); GL_CHECK(gl.PolygonStipple); gl.PopAttrib = (void APIENTRY (*)(void)) ldg_find("glPopAttrib", lib); GL_CHECK(gl.PopAttrib); gl.PopClientAttrib = (void APIENTRY (*)(void)) ldg_find("glPopClientAttrib", lib); GL_CHECK(gl.PopClientAttrib); gl.PopDebugGroup = (void APIENTRY (*)(void)) ldg_find("glPopDebugGroup", lib); GL_CHECK(gl.PopDebugGroup); gl.PopGroupMarkerEXT = (void APIENTRY (*)(void)) ldg_find("glPopGroupMarkerEXT", lib); GL_CHECK(gl.PopGroupMarkerEXT); gl.PopMatrix = (void APIENTRY (*)(void)) ldg_find("glPopMatrix", lib); GL_CHECK(gl.PopMatrix); gl.PopName = (void APIENTRY (*)(void)) ldg_find("glPopName", lib); GL_CHECK(gl.PopName); gl.PresentFrameDualFillNV = (void APIENTRY (*)(GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLenum target1, GLuint fill1, GLenum target2, GLuint fill2, GLenum target3, GLuint fill3)) ldg_find("glPresentFrameDualFillNV", lib); GL_CHECK(gl.PresentFrameDualFillNV); gl.PresentFrameKeyedNV = (void APIENTRY (*)(GLuint video_slot, GLuint64EXT minPresentTime, GLuint beginPresentTimeId, GLuint presentDurationId, GLenum type, GLenum target0, GLuint fill0, GLuint key0, GLenum target1, GLuint fill1, GLuint key1)) ldg_find("glPresentFrameKeyedNV", lib); GL_CHECK(gl.PresentFrameKeyedNV); gl.PrimitiveRestartIndex = (void APIENTRY (*)(GLuint index)) ldg_find("glPrimitiveRestartIndex", lib); GL_CHECK(gl.PrimitiveRestartIndex); gl.PrimitiveRestartIndexNV = (void APIENTRY (*)(GLuint index)) ldg_find("glPrimitiveRestartIndexNV", lib); GL_CHECK(gl.PrimitiveRestartIndexNV); gl.PrimitiveRestartNV = (void APIENTRY (*)(void)) ldg_find("glPrimitiveRestartNV", lib); GL_CHECK(gl.PrimitiveRestartNV); gl.PrioritizeTextures = (void APIENTRY (*)(GLsizei n, const GLuint *textures, const GLclampf *priorities)) ldg_find("glPrioritizeTextures", lib); GL_CHECK(gl.PrioritizeTextures); gl.PrioritizeTexturesEXT = (void APIENTRY (*)(GLsizei n, const GLuint *textures, const GLclampf *priorities)) ldg_find("glPrioritizeTexturesEXT", lib); GL_CHECK(gl.PrioritizeTexturesEXT); gl.PrioritizeTexturesxOES = (void APIENTRY (*)(GLsizei n, const GLuint *textures, const GLfixed *priorities)) ldg_find("glPrioritizeTexturesxOES", lib); GL_CHECK(gl.PrioritizeTexturesxOES); gl.ProgramBinary = (void APIENTRY (*)(GLuint program, GLenum binaryFormat, const void *binary, GLsizei length)) ldg_find("glProgramBinary", lib); GL_CHECK(gl.ProgramBinary); gl.ProgramBufferParametersIivNV = (void APIENTRY (*)(GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLint *params)) ldg_find("glProgramBufferParametersIivNV", lib); GL_CHECK(gl.ProgramBufferParametersIivNV); gl.ProgramBufferParametersIuivNV = (void APIENTRY (*)(GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLuint *params)) ldg_find("glProgramBufferParametersIuivNV", lib); GL_CHECK(gl.ProgramBufferParametersIuivNV); gl.ProgramBufferParametersfvNV = (void APIENTRY (*)(GLenum target, GLuint bindingIndex, GLuint wordIndex, GLsizei count, const GLfloat *params)) ldg_find("glProgramBufferParametersfvNV", lib); GL_CHECK(gl.ProgramBufferParametersfvNV); gl.ProgramCallbackMESA = (void APIENTRY (*)(GLenum target, GLprogramcallbackMESA callback, GLvoid *data)) ldg_find("glProgramCallbackMESA", lib); GL_CHECK(gl.ProgramCallbackMESA); gl.ProgramEnvParameter4dARB = (void APIENTRY (*)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)) ldg_find("glProgramEnvParameter4dARB", lib); GL_CHECK(gl.ProgramEnvParameter4dARB); gl.ProgramEnvParameter4dvARB = (void APIENTRY (*)(GLenum target, GLuint index, const GLdouble *params)) ldg_find("glProgramEnvParameter4dvARB", lib); GL_CHECK(gl.ProgramEnvParameter4dvARB); gl.ProgramEnvParameter4fARB = (void APIENTRY (*)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)) ldg_find("glProgramEnvParameter4fARB", lib); GL_CHECK(gl.ProgramEnvParameter4fARB); gl.ProgramEnvParameter4fvARB = (void APIENTRY (*)(GLenum target, GLuint index, const GLfloat *params)) ldg_find("glProgramEnvParameter4fvARB", lib); GL_CHECK(gl.ProgramEnvParameter4fvARB); gl.ProgramEnvParameterI4iNV = (void APIENTRY (*)(GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w)) ldg_find("glProgramEnvParameterI4iNV", lib); GL_CHECK(gl.ProgramEnvParameterI4iNV); gl.ProgramEnvParameterI4ivNV = (void APIENTRY (*)(GLenum target, GLuint index, const GLint *params)) ldg_find("glProgramEnvParameterI4ivNV", lib); GL_CHECK(gl.ProgramEnvParameterI4ivNV); gl.ProgramEnvParameterI4uiNV = (void APIENTRY (*)(GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w)) ldg_find("glProgramEnvParameterI4uiNV", lib); GL_CHECK(gl.ProgramEnvParameterI4uiNV); gl.ProgramEnvParameterI4uivNV = (void APIENTRY (*)(GLenum target, GLuint index, const GLuint *params)) ldg_find("glProgramEnvParameterI4uivNV", lib); GL_CHECK(gl.ProgramEnvParameterI4uivNV); gl.ProgramEnvParameters4fvEXT = (void APIENTRY (*)(GLenum target, GLuint index, GLsizei count, const GLfloat *params)) ldg_find("glProgramEnvParameters4fvEXT", lib); GL_CHECK(gl.ProgramEnvParameters4fvEXT); gl.ProgramEnvParametersI4ivNV = (void APIENTRY (*)(GLenum target, GLuint index, GLsizei count, const GLint *params)) ldg_find("glProgramEnvParametersI4ivNV", lib); GL_CHECK(gl.ProgramEnvParametersI4ivNV); gl.ProgramEnvParametersI4uivNV = (void APIENTRY (*)(GLenum target, GLuint index, GLsizei count, const GLuint *params)) ldg_find("glProgramEnvParametersI4uivNV", lib); GL_CHECK(gl.ProgramEnvParametersI4uivNV); gl.ProgramLocalParameter4dARB = (void APIENTRY (*)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)) ldg_find("glProgramLocalParameter4dARB", lib); GL_CHECK(gl.ProgramLocalParameter4dARB); gl.ProgramLocalParameter4dvARB = (void APIENTRY (*)(GLenum target, GLuint index, const GLdouble *params)) ldg_find("glProgramLocalParameter4dvARB", lib); GL_CHECK(gl.ProgramLocalParameter4dvARB); gl.ProgramLocalParameter4fARB = (void APIENTRY (*)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)) ldg_find("glProgramLocalParameter4fARB", lib); GL_CHECK(gl.ProgramLocalParameter4fARB); gl.ProgramLocalParameter4fvARB = (void APIENTRY (*)(GLenum target, GLuint index, const GLfloat *params)) ldg_find("glProgramLocalParameter4fvARB", lib); GL_CHECK(gl.ProgramLocalParameter4fvARB); gl.ProgramLocalParameterI4iNV = (void APIENTRY (*)(GLenum target, GLuint index, GLint x, GLint y, GLint z, GLint w)) ldg_find("glProgramLocalParameterI4iNV", lib); GL_CHECK(gl.ProgramLocalParameterI4iNV); gl.ProgramLocalParameterI4ivNV = (void APIENTRY (*)(GLenum target, GLuint index, const GLint *params)) ldg_find("glProgramLocalParameterI4ivNV", lib); GL_CHECK(gl.ProgramLocalParameterI4ivNV); gl.ProgramLocalParameterI4uiNV = (void APIENTRY (*)(GLenum target, GLuint index, GLuint x, GLuint y, GLuint z, GLuint w)) ldg_find("glProgramLocalParameterI4uiNV", lib); GL_CHECK(gl.ProgramLocalParameterI4uiNV); gl.ProgramLocalParameterI4uivNV = (void APIENTRY (*)(GLenum target, GLuint index, const GLuint *params)) ldg_find("glProgramLocalParameterI4uivNV", lib); GL_CHECK(gl.ProgramLocalParameterI4uivNV); gl.ProgramLocalParameters4fvEXT = (void APIENTRY (*)(GLenum target, GLuint index, GLsizei count, const GLfloat *params)) ldg_find("glProgramLocalParameters4fvEXT", lib); GL_CHECK(gl.ProgramLocalParameters4fvEXT); gl.ProgramLocalParametersI4ivNV = (void APIENTRY (*)(GLenum target, GLuint index, GLsizei count, const GLint *params)) ldg_find("glProgramLocalParametersI4ivNV", lib); GL_CHECK(gl.ProgramLocalParametersI4ivNV); gl.ProgramLocalParametersI4uivNV = (void APIENTRY (*)(GLenum target, GLuint index, GLsizei count, const GLuint *params)) ldg_find("glProgramLocalParametersI4uivNV", lib); GL_CHECK(gl.ProgramLocalParametersI4uivNV); gl.ProgramNamedParameter4dNV = (void APIENTRY (*)(GLuint id, GLsizei len, const GLubyte *name, GLdouble x, GLdouble y, GLdouble z, GLdouble w)) ldg_find("glProgramNamedParameter4dNV", lib); GL_CHECK(gl.ProgramNamedParameter4dNV); gl.ProgramNamedParameter4dvNV = (void APIENTRY (*)(GLuint id, GLsizei len, const GLubyte *name, const GLdouble *v)) ldg_find("glProgramNamedParameter4dvNV", lib); GL_CHECK(gl.ProgramNamedParameter4dvNV); gl.ProgramNamedParameter4fNV = (void APIENTRY (*)(GLuint id, GLsizei len, const GLubyte *name, GLfloat x, GLfloat y, GLfloat z, GLfloat w)) ldg_find("glProgramNamedParameter4fNV", lib); GL_CHECK(gl.ProgramNamedParameter4fNV); gl.ProgramNamedParameter4fvNV = (void APIENTRY (*)(GLuint id, GLsizei len, const GLubyte *name, const GLfloat *v)) ldg_find("glProgramNamedParameter4fvNV", lib); GL_CHECK(gl.ProgramNamedParameter4fvNV); gl.ProgramParameter4dNV = (void APIENTRY (*)(GLenum target, GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)) ldg_find("glProgramParameter4dNV", lib); GL_CHECK(gl.ProgramParameter4dNV); gl.ProgramParameter4dvNV = (void APIENTRY (*)(GLenum target, GLuint index, const GLdouble *v)) ldg_find("glProgramParameter4dvNV", lib); GL_CHECK(gl.ProgramParameter4dvNV); gl.ProgramParameter4fNV = (void APIENTRY (*)(GLenum target, GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)) ldg_find("glProgramParameter4fNV", lib); GL_CHECK(gl.ProgramParameter4fNV); gl.ProgramParameter4fvNV = (void APIENTRY (*)(GLenum target, GLuint index, const GLfloat *v)) ldg_find("glProgramParameter4fvNV", lib); GL_CHECK(gl.ProgramParameter4fvNV); gl.ProgramParameteri = (void APIENTRY (*)(GLuint program, GLenum pname, GLint value)) ldg_find("glProgramParameteri", lib); GL_CHECK(gl.ProgramParameteri); gl.ProgramParameteriARB = (void APIENTRY (*)(GLuint program, GLenum pname, GLint value)) ldg_find("glProgramParameteriARB", lib); GL_CHECK(gl.ProgramParameteriARB); gl.ProgramParameteriEXT = (void APIENTRY (*)(GLuint program, GLenum pname, GLint value)) ldg_find("glProgramParameteriEXT", lib); GL_CHECK(gl.ProgramParameteriEXT); gl.ProgramParameters4dvNV = (void APIENTRY (*)(GLenum target, GLuint index, GLsizei count, const GLdouble *v)) ldg_find("glProgramParameters4dvNV", lib); GL_CHECK(gl.ProgramParameters4dvNV); gl.ProgramParameters4fvNV = (void APIENTRY (*)(GLenum target, GLuint index, GLsizei count, const GLfloat *v)) ldg_find("glProgramParameters4fvNV", lib); GL_CHECK(gl.ProgramParameters4fvNV); gl.ProgramStringARB = (void APIENTRY (*)(GLenum target, GLenum format, GLsizei len, const void *string)) ldg_find("glProgramStringARB", lib); GL_CHECK(gl.ProgramStringARB); gl.ProgramSubroutineParametersuivNV = (void APIENTRY (*)(GLenum target, GLsizei count, const GLuint *params)) ldg_find("glProgramSubroutineParametersuivNV", lib); GL_CHECK(gl.ProgramSubroutineParametersuivNV); gl.ProgramUniform1d = (void APIENTRY (*)(GLuint program, GLint location, GLdouble v0)) ldg_find("glProgramUniform1d", lib); GL_CHECK(gl.ProgramUniform1d); gl.ProgramUniform1dEXT = (void APIENTRY (*)(GLuint program, GLint location, GLdouble x)) ldg_find("glProgramUniform1dEXT", lib); GL_CHECK(gl.ProgramUniform1dEXT); gl.ProgramUniform1dv = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLdouble *value)) ldg_find("glProgramUniform1dv", lib); GL_CHECK(gl.ProgramUniform1dv); gl.ProgramUniform1dvEXT = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLdouble *value)) ldg_find("glProgramUniform1dvEXT", lib); GL_CHECK(gl.ProgramUniform1dvEXT); gl.ProgramUniform1f = (void APIENTRY (*)(GLuint program, GLint location, GLfloat v0)) ldg_find("glProgramUniform1f", lib); GL_CHECK(gl.ProgramUniform1f); gl.ProgramUniform1fEXT = (void APIENTRY (*)(GLuint program, GLint location, GLfloat v0)) ldg_find("glProgramUniform1fEXT", lib); GL_CHECK(gl.ProgramUniform1fEXT); gl.ProgramUniform1fv = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLfloat *value)) ldg_find("glProgramUniform1fv", lib); GL_CHECK(gl.ProgramUniform1fv); gl.ProgramUniform1fvEXT = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLfloat *value)) ldg_find("glProgramUniform1fvEXT", lib); GL_CHECK(gl.ProgramUniform1fvEXT); gl.ProgramUniform1i = (void APIENTRY (*)(GLuint program, GLint location, GLint v0)) ldg_find("glProgramUniform1i", lib); GL_CHECK(gl.ProgramUniform1i); gl.ProgramUniform1i64NV = (void APIENTRY (*)(GLuint program, GLint location, GLint64EXT x)) ldg_find("glProgramUniform1i64NV", lib); GL_CHECK(gl.ProgramUniform1i64NV); gl.ProgramUniform1i64vNV = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLint64EXT *value)) ldg_find("glProgramUniform1i64vNV", lib); GL_CHECK(gl.ProgramUniform1i64vNV); gl.ProgramUniform1iEXT = (void APIENTRY (*)(GLuint program, GLint location, GLint v0)) ldg_find("glProgramUniform1iEXT", lib); GL_CHECK(gl.ProgramUniform1iEXT); gl.ProgramUniform1iv = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLint *value)) ldg_find("glProgramUniform1iv", lib); GL_CHECK(gl.ProgramUniform1iv); gl.ProgramUniform1ivEXT = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLint *value)) ldg_find("glProgramUniform1ivEXT", lib); GL_CHECK(gl.ProgramUniform1ivEXT); gl.ProgramUniform1ui = (void APIENTRY (*)(GLuint program, GLint location, GLuint v0)) ldg_find("glProgramUniform1ui", lib); GL_CHECK(gl.ProgramUniform1ui); gl.ProgramUniform1ui64NV = (void APIENTRY (*)(GLuint program, GLint location, GLuint64EXT x)) ldg_find("glProgramUniform1ui64NV", lib); GL_CHECK(gl.ProgramUniform1ui64NV); gl.ProgramUniform1ui64vNV = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value)) ldg_find("glProgramUniform1ui64vNV", lib); GL_CHECK(gl.ProgramUniform1ui64vNV); gl.ProgramUniform1uiEXT = (void APIENTRY (*)(GLuint program, GLint location, GLuint v0)) ldg_find("glProgramUniform1uiEXT", lib); GL_CHECK(gl.ProgramUniform1uiEXT); gl.ProgramUniform1uiv = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLuint *value)) ldg_find("glProgramUniform1uiv", lib); GL_CHECK(gl.ProgramUniform1uiv); gl.ProgramUniform1uivEXT = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLuint *value)) ldg_find("glProgramUniform1uivEXT", lib); GL_CHECK(gl.ProgramUniform1uivEXT); gl.ProgramUniform2d = (void APIENTRY (*)(GLuint program, GLint location, GLdouble v0, GLdouble v1)) ldg_find("glProgramUniform2d", lib); GL_CHECK(gl.ProgramUniform2d); gl.ProgramUniform2dEXT = (void APIENTRY (*)(GLuint program, GLint location, GLdouble x, GLdouble y)) ldg_find("glProgramUniform2dEXT", lib); GL_CHECK(gl.ProgramUniform2dEXT); gl.ProgramUniform2dv = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLdouble *value)) ldg_find("glProgramUniform2dv", lib); GL_CHECK(gl.ProgramUniform2dv); gl.ProgramUniform2dvEXT = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLdouble *value)) ldg_find("glProgramUniform2dvEXT", lib); GL_CHECK(gl.ProgramUniform2dvEXT); gl.ProgramUniform2f = (void APIENTRY (*)(GLuint program, GLint location, GLfloat v0, GLfloat v1)) ldg_find("glProgramUniform2f", lib); GL_CHECK(gl.ProgramUniform2f); gl.ProgramUniform2fEXT = (void APIENTRY (*)(GLuint program, GLint location, GLfloat v0, GLfloat v1)) ldg_find("glProgramUniform2fEXT", lib); GL_CHECK(gl.ProgramUniform2fEXT); gl.ProgramUniform2fv = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLfloat *value)) ldg_find("glProgramUniform2fv", lib); GL_CHECK(gl.ProgramUniform2fv); gl.ProgramUniform2fvEXT = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLfloat *value)) ldg_find("glProgramUniform2fvEXT", lib); GL_CHECK(gl.ProgramUniform2fvEXT); gl.ProgramUniform2i = (void APIENTRY (*)(GLuint program, GLint location, GLint v0, GLint v1)) ldg_find("glProgramUniform2i", lib); GL_CHECK(gl.ProgramUniform2i); gl.ProgramUniform2i64NV = (void APIENTRY (*)(GLuint program, GLint location, GLint64EXT x, GLint64EXT y)) ldg_find("glProgramUniform2i64NV", lib); GL_CHECK(gl.ProgramUniform2i64NV); gl.ProgramUniform2i64vNV = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLint64EXT *value)) ldg_find("glProgramUniform2i64vNV", lib); GL_CHECK(gl.ProgramUniform2i64vNV); gl.ProgramUniform2iEXT = (void APIENTRY (*)(GLuint program, GLint location, GLint v0, GLint v1)) ldg_find("glProgramUniform2iEXT", lib); GL_CHECK(gl.ProgramUniform2iEXT); gl.ProgramUniform2iv = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLint *value)) ldg_find("glProgramUniform2iv", lib); GL_CHECK(gl.ProgramUniform2iv); gl.ProgramUniform2ivEXT = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLint *value)) ldg_find("glProgramUniform2ivEXT", lib); GL_CHECK(gl.ProgramUniform2ivEXT); gl.ProgramUniform2ui = (void APIENTRY (*)(GLuint program, GLint location, GLuint v0, GLuint v1)) ldg_find("glProgramUniform2ui", lib); GL_CHECK(gl.ProgramUniform2ui); gl.ProgramUniform2ui64NV = (void APIENTRY (*)(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y)) ldg_find("glProgramUniform2ui64NV", lib); GL_CHECK(gl.ProgramUniform2ui64NV); gl.ProgramUniform2ui64vNV = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value)) ldg_find("glProgramUniform2ui64vNV", lib); GL_CHECK(gl.ProgramUniform2ui64vNV); gl.ProgramUniform2uiEXT = (void APIENTRY (*)(GLuint program, GLint location, GLuint v0, GLuint v1)) ldg_find("glProgramUniform2uiEXT", lib); GL_CHECK(gl.ProgramUniform2uiEXT); gl.ProgramUniform2uiv = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLuint *value)) ldg_find("glProgramUniform2uiv", lib); GL_CHECK(gl.ProgramUniform2uiv); gl.ProgramUniform2uivEXT = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLuint *value)) ldg_find("glProgramUniform2uivEXT", lib); GL_CHECK(gl.ProgramUniform2uivEXT); gl.ProgramUniform3d = (void APIENTRY (*)(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2)) ldg_find("glProgramUniform3d", lib); GL_CHECK(gl.ProgramUniform3d); gl.ProgramUniform3dEXT = (void APIENTRY (*)(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z)) ldg_find("glProgramUniform3dEXT", lib); GL_CHECK(gl.ProgramUniform3dEXT); gl.ProgramUniform3dv = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLdouble *value)) ldg_find("glProgramUniform3dv", lib); GL_CHECK(gl.ProgramUniform3dv); gl.ProgramUniform3dvEXT = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLdouble *value)) ldg_find("glProgramUniform3dvEXT", lib); GL_CHECK(gl.ProgramUniform3dvEXT); gl.ProgramUniform3f = (void APIENTRY (*)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2)) ldg_find("glProgramUniform3f", lib); GL_CHECK(gl.ProgramUniform3f); gl.ProgramUniform3fEXT = (void APIENTRY (*)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2)) ldg_find("glProgramUniform3fEXT", lib); GL_CHECK(gl.ProgramUniform3fEXT); gl.ProgramUniform3fv = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLfloat *value)) ldg_find("glProgramUniform3fv", lib); GL_CHECK(gl.ProgramUniform3fv); gl.ProgramUniform3fvEXT = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLfloat *value)) ldg_find("glProgramUniform3fvEXT", lib); GL_CHECK(gl.ProgramUniform3fvEXT); gl.ProgramUniform3i = (void APIENTRY (*)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2)) ldg_find("glProgramUniform3i", lib); GL_CHECK(gl.ProgramUniform3i); gl.ProgramUniform3i64NV = (void APIENTRY (*)(GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z)) ldg_find("glProgramUniform3i64NV", lib); GL_CHECK(gl.ProgramUniform3i64NV); gl.ProgramUniform3i64vNV = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLint64EXT *value)) ldg_find("glProgramUniform3i64vNV", lib); GL_CHECK(gl.ProgramUniform3i64vNV); gl.ProgramUniform3iEXT = (void APIENTRY (*)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2)) ldg_find("glProgramUniform3iEXT", lib); GL_CHECK(gl.ProgramUniform3iEXT); gl.ProgramUniform3iv = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLint *value)) ldg_find("glProgramUniform3iv", lib); GL_CHECK(gl.ProgramUniform3iv); gl.ProgramUniform3ivEXT = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLint *value)) ldg_find("glProgramUniform3ivEXT", lib); GL_CHECK(gl.ProgramUniform3ivEXT); gl.ProgramUniform3ui = (void APIENTRY (*)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2)) ldg_find("glProgramUniform3ui", lib); GL_CHECK(gl.ProgramUniform3ui); gl.ProgramUniform3ui64NV = (void APIENTRY (*)(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z)) ldg_find("glProgramUniform3ui64NV", lib); GL_CHECK(gl.ProgramUniform3ui64NV); gl.ProgramUniform3ui64vNV = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value)) ldg_find("glProgramUniform3ui64vNV", lib); GL_CHECK(gl.ProgramUniform3ui64vNV); gl.ProgramUniform3uiEXT = (void APIENTRY (*)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2)) ldg_find("glProgramUniform3uiEXT", lib); GL_CHECK(gl.ProgramUniform3uiEXT); gl.ProgramUniform3uiv = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLuint *value)) ldg_find("glProgramUniform3uiv", lib); GL_CHECK(gl.ProgramUniform3uiv); gl.ProgramUniform3uivEXT = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLuint *value)) ldg_find("glProgramUniform3uivEXT", lib); GL_CHECK(gl.ProgramUniform3uivEXT); gl.ProgramUniform4d = (void APIENTRY (*)(GLuint program, GLint location, GLdouble v0, GLdouble v1, GLdouble v2, GLdouble v3)) ldg_find("glProgramUniform4d", lib); GL_CHECK(gl.ProgramUniform4d); gl.ProgramUniform4dEXT = (void APIENTRY (*)(GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w)) ldg_find("glProgramUniform4dEXT", lib); GL_CHECK(gl.ProgramUniform4dEXT); gl.ProgramUniform4dv = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLdouble *value)) ldg_find("glProgramUniform4dv", lib); GL_CHECK(gl.ProgramUniform4dv); gl.ProgramUniform4dvEXT = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLdouble *value)) ldg_find("glProgramUniform4dvEXT", lib); GL_CHECK(gl.ProgramUniform4dvEXT); gl.ProgramUniform4f = (void APIENTRY (*)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)) ldg_find("glProgramUniform4f", lib); GL_CHECK(gl.ProgramUniform4f); gl.ProgramUniform4fEXT = (void APIENTRY (*)(GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)) ldg_find("glProgramUniform4fEXT", lib); GL_CHECK(gl.ProgramUniform4fEXT); gl.ProgramUniform4fv = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLfloat *value)) ldg_find("glProgramUniform4fv", lib); GL_CHECK(gl.ProgramUniform4fv); gl.ProgramUniform4fvEXT = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLfloat *value)) ldg_find("glProgramUniform4fvEXT", lib); GL_CHECK(gl.ProgramUniform4fvEXT); gl.ProgramUniform4i = (void APIENTRY (*)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3)) ldg_find("glProgramUniform4i", lib); GL_CHECK(gl.ProgramUniform4i); gl.ProgramUniform4i64NV = (void APIENTRY (*)(GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w)) ldg_find("glProgramUniform4i64NV", lib); GL_CHECK(gl.ProgramUniform4i64NV); gl.ProgramUniform4i64vNV = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLint64EXT *value)) ldg_find("glProgramUniform4i64vNV", lib); GL_CHECK(gl.ProgramUniform4i64vNV); gl.ProgramUniform4iEXT = (void APIENTRY (*)(GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3)) ldg_find("glProgramUniform4iEXT", lib); GL_CHECK(gl.ProgramUniform4iEXT); gl.ProgramUniform4iv = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLint *value)) ldg_find("glProgramUniform4iv", lib); GL_CHECK(gl.ProgramUniform4iv); gl.ProgramUniform4ivEXT = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLint *value)) ldg_find("glProgramUniform4ivEXT", lib); GL_CHECK(gl.ProgramUniform4ivEXT); gl.ProgramUniform4ui = (void APIENTRY (*)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)) ldg_find("glProgramUniform4ui", lib); GL_CHECK(gl.ProgramUniform4ui); gl.ProgramUniform4ui64NV = (void APIENTRY (*)(GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w)) ldg_find("glProgramUniform4ui64NV", lib); GL_CHECK(gl.ProgramUniform4ui64NV); gl.ProgramUniform4ui64vNV = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value)) ldg_find("glProgramUniform4ui64vNV", lib); GL_CHECK(gl.ProgramUniform4ui64vNV); gl.ProgramUniform4uiEXT = (void APIENTRY (*)(GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)) ldg_find("glProgramUniform4uiEXT", lib); GL_CHECK(gl.ProgramUniform4uiEXT); gl.ProgramUniform4uiv = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLuint *value)) ldg_find("glProgramUniform4uiv", lib); GL_CHECK(gl.ProgramUniform4uiv); gl.ProgramUniform4uivEXT = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLuint *value)) ldg_find("glProgramUniform4uivEXT", lib); GL_CHECK(gl.ProgramUniform4uivEXT); gl.ProgramUniformHandleui64ARB = (void APIENTRY (*)(GLuint program, GLint location, GLuint64 value)) ldg_find("glProgramUniformHandleui64ARB", lib); GL_CHECK(gl.ProgramUniformHandleui64ARB); gl.ProgramUniformHandleui64NV = (void APIENTRY (*)(GLuint program, GLint location, GLuint64 value)) ldg_find("glProgramUniformHandleui64NV", lib); GL_CHECK(gl.ProgramUniformHandleui64NV); gl.ProgramUniformHandleui64vARB = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLuint64 *values)) ldg_find("glProgramUniformHandleui64vARB", lib); GL_CHECK(gl.ProgramUniformHandleui64vARB); gl.ProgramUniformHandleui64vNV = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLuint64 *values)) ldg_find("glProgramUniformHandleui64vNV", lib); GL_CHECK(gl.ProgramUniformHandleui64vNV); gl.ProgramUniformMatrix2dv = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value)) ldg_find("glProgramUniformMatrix2dv", lib); GL_CHECK(gl.ProgramUniformMatrix2dv); gl.ProgramUniformMatrix2dvEXT = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value)) ldg_find("glProgramUniformMatrix2dvEXT", lib); GL_CHECK(gl.ProgramUniformMatrix2dvEXT); gl.ProgramUniformMatrix2fv = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value)) ldg_find("glProgramUniformMatrix2fv", lib); GL_CHECK(gl.ProgramUniformMatrix2fv); gl.ProgramUniformMatrix2fvEXT = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value)) ldg_find("glProgramUniformMatrix2fvEXT", lib); GL_CHECK(gl.ProgramUniformMatrix2fvEXT); gl.ProgramUniformMatrix2x3dv = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value)) ldg_find("glProgramUniformMatrix2x3dv", lib); GL_CHECK(gl.ProgramUniformMatrix2x3dv); gl.ProgramUniformMatrix2x3dvEXT = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value)) ldg_find("glProgramUniformMatrix2x3dvEXT", lib); GL_CHECK(gl.ProgramUniformMatrix2x3dvEXT); gl.ProgramUniformMatrix2x3fv = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value)) ldg_find("glProgramUniformMatrix2x3fv", lib); GL_CHECK(gl.ProgramUniformMatrix2x3fv); gl.ProgramUniformMatrix2x3fvEXT = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value)) ldg_find("glProgramUniformMatrix2x3fvEXT", lib); GL_CHECK(gl.ProgramUniformMatrix2x3fvEXT); gl.ProgramUniformMatrix2x4dv = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value)) ldg_find("glProgramUniformMatrix2x4dv", lib); GL_CHECK(gl.ProgramUniformMatrix2x4dv); gl.ProgramUniformMatrix2x4dvEXT = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value)) ldg_find("glProgramUniformMatrix2x4dvEXT", lib); GL_CHECK(gl.ProgramUniformMatrix2x4dvEXT); gl.ProgramUniformMatrix2x4fv = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value)) ldg_find("glProgramUniformMatrix2x4fv", lib); GL_CHECK(gl.ProgramUniformMatrix2x4fv); gl.ProgramUniformMatrix2x4fvEXT = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value)) ldg_find("glProgramUniformMatrix2x4fvEXT", lib); GL_CHECK(gl.ProgramUniformMatrix2x4fvEXT); gl.ProgramUniformMatrix3dv = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value)) ldg_find("glProgramUniformMatrix3dv", lib); GL_CHECK(gl.ProgramUniformMatrix3dv); gl.ProgramUniformMatrix3dvEXT = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value)) ldg_find("glProgramUniformMatrix3dvEXT", lib); GL_CHECK(gl.ProgramUniformMatrix3dvEXT); gl.ProgramUniformMatrix3fv = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value)) ldg_find("glProgramUniformMatrix3fv", lib); GL_CHECK(gl.ProgramUniformMatrix3fv); gl.ProgramUniformMatrix3fvEXT = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value)) ldg_find("glProgramUniformMatrix3fvEXT", lib); GL_CHECK(gl.ProgramUniformMatrix3fvEXT); gl.ProgramUniformMatrix3x2dv = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value)) ldg_find("glProgramUniformMatrix3x2dv", lib); GL_CHECK(gl.ProgramUniformMatrix3x2dv); gl.ProgramUniformMatrix3x2dvEXT = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value)) ldg_find("glProgramUniformMatrix3x2dvEXT", lib); GL_CHECK(gl.ProgramUniformMatrix3x2dvEXT); gl.ProgramUniformMatrix3x2fv = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value)) ldg_find("glProgramUniformMatrix3x2fv", lib); GL_CHECK(gl.ProgramUniformMatrix3x2fv); gl.ProgramUniformMatrix3x2fvEXT = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value)) ldg_find("glProgramUniformMatrix3x2fvEXT", lib); GL_CHECK(gl.ProgramUniformMatrix3x2fvEXT); gl.ProgramUniformMatrix3x4dv = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value)) ldg_find("glProgramUniformMatrix3x4dv", lib); GL_CHECK(gl.ProgramUniformMatrix3x4dv); gl.ProgramUniformMatrix3x4dvEXT = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value)) ldg_find("glProgramUniformMatrix3x4dvEXT", lib); GL_CHECK(gl.ProgramUniformMatrix3x4dvEXT); gl.ProgramUniformMatrix3x4fv = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value)) ldg_find("glProgramUniformMatrix3x4fv", lib); GL_CHECK(gl.ProgramUniformMatrix3x4fv); gl.ProgramUniformMatrix3x4fvEXT = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value)) ldg_find("glProgramUniformMatrix3x4fvEXT", lib); GL_CHECK(gl.ProgramUniformMatrix3x4fvEXT); gl.ProgramUniformMatrix4dv = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value)) ldg_find("glProgramUniformMatrix4dv", lib); GL_CHECK(gl.ProgramUniformMatrix4dv); gl.ProgramUniformMatrix4dvEXT = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value)) ldg_find("glProgramUniformMatrix4dvEXT", lib); GL_CHECK(gl.ProgramUniformMatrix4dvEXT); gl.ProgramUniformMatrix4fv = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value)) ldg_find("glProgramUniformMatrix4fv", lib); GL_CHECK(gl.ProgramUniformMatrix4fv); gl.ProgramUniformMatrix4fvEXT = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value)) ldg_find("glProgramUniformMatrix4fvEXT", lib); GL_CHECK(gl.ProgramUniformMatrix4fvEXT); gl.ProgramUniformMatrix4x2dv = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value)) ldg_find("glProgramUniformMatrix4x2dv", lib); GL_CHECK(gl.ProgramUniformMatrix4x2dv); gl.ProgramUniformMatrix4x2dvEXT = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value)) ldg_find("glProgramUniformMatrix4x2dvEXT", lib); GL_CHECK(gl.ProgramUniformMatrix4x2dvEXT); gl.ProgramUniformMatrix4x2fv = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value)) ldg_find("glProgramUniformMatrix4x2fv", lib); GL_CHECK(gl.ProgramUniformMatrix4x2fv); gl.ProgramUniformMatrix4x2fvEXT = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value)) ldg_find("glProgramUniformMatrix4x2fvEXT", lib); GL_CHECK(gl.ProgramUniformMatrix4x2fvEXT); gl.ProgramUniformMatrix4x3dv = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value)) ldg_find("glProgramUniformMatrix4x3dv", lib); GL_CHECK(gl.ProgramUniformMatrix4x3dv); gl.ProgramUniformMatrix4x3dvEXT = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value)) ldg_find("glProgramUniformMatrix4x3dvEXT", lib); GL_CHECK(gl.ProgramUniformMatrix4x3dvEXT); gl.ProgramUniformMatrix4x3fv = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value)) ldg_find("glProgramUniformMatrix4x3fv", lib); GL_CHECK(gl.ProgramUniformMatrix4x3fv); gl.ProgramUniformMatrix4x3fvEXT = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value)) ldg_find("glProgramUniformMatrix4x3fvEXT", lib); GL_CHECK(gl.ProgramUniformMatrix4x3fvEXT); gl.ProgramUniformui64NV = (void APIENTRY (*)(GLuint program, GLint location, GLuint64EXT value)) ldg_find("glProgramUniformui64NV", lib); GL_CHECK(gl.ProgramUniformui64NV); gl.ProgramUniformui64vNV = (void APIENTRY (*)(GLuint program, GLint location, GLsizei count, const GLuint64EXT *value)) ldg_find("glProgramUniformui64vNV", lib); GL_CHECK(gl.ProgramUniformui64vNV); gl.ProgramVertexLimitNV = (void APIENTRY (*)(GLenum target, GLint limit)) ldg_find("glProgramVertexLimitNV", lib); GL_CHECK(gl.ProgramVertexLimitNV); gl.ProvokingVertex = (void APIENTRY (*)(GLenum mode)) ldg_find("glProvokingVertex", lib); GL_CHECK(gl.ProvokingVertex); gl.ProvokingVertexEXT = (void APIENTRY (*)(GLenum mode)) ldg_find("glProvokingVertexEXT", lib); GL_CHECK(gl.ProvokingVertexEXT); gl.PushAttrib = (void APIENTRY (*)(GLbitfield mask)) ldg_find("glPushAttrib", lib); GL_CHECK(gl.PushAttrib); gl.PushClientAttrib = (void APIENTRY (*)(GLbitfield mask)) ldg_find("glPushClientAttrib", lib); GL_CHECK(gl.PushClientAttrib); gl.PushClientAttribDefaultEXT = (void APIENTRY (*)(GLbitfield mask)) ldg_find("glPushClientAttribDefaultEXT", lib); GL_CHECK(gl.PushClientAttribDefaultEXT); gl.PushDebugGroup = (void APIENTRY (*)(GLenum source, GLuint id, GLsizei length, const GLchar *message)) ldg_find("glPushDebugGroup", lib); GL_CHECK(gl.PushDebugGroup); gl.PushGroupMarkerEXT = (void APIENTRY (*)(GLsizei length, const GLchar *marker)) ldg_find("glPushGroupMarkerEXT", lib); GL_CHECK(gl.PushGroupMarkerEXT); gl.PushMatrix = (void APIENTRY (*)(void)) ldg_find("glPushMatrix", lib); GL_CHECK(gl.PushMatrix); gl.PushName = (void APIENTRY (*)(GLuint name)) ldg_find("glPushName", lib); GL_CHECK(gl.PushName); gl.QueryCounter = (void APIENTRY (*)(GLuint id, GLenum target)) ldg_find("glQueryCounter", lib); GL_CHECK(gl.QueryCounter); gl.QueryMatrixxOES = (GLbitfield APIENTRY (*)(GLfixed *mantissa, GLint *exponent)) ldg_find("glQueryMatrixxOES", lib); GL_CHECK(gl.QueryMatrixxOES); gl.QueryObjectParameteruiAMD = (void APIENTRY (*)(GLenum target, GLuint id, GLenum pname, GLuint param)) ldg_find("glQueryObjectParameteruiAMD", lib); GL_CHECK(gl.QueryObjectParameteruiAMD); gl.RasterPos2d = (void APIENTRY (*)(GLdouble x, GLdouble y)) ldg_find("glRasterPos2d", lib); GL_CHECK(gl.RasterPos2d); gl.RasterPos2dv = (void APIENTRY (*)(const GLdouble *v)) ldg_find("glRasterPos2dv", lib); GL_CHECK(gl.RasterPos2dv); gl.RasterPos2f = (void APIENTRY (*)(GLfloat x, GLfloat y)) ldg_find("glRasterPos2f", lib); GL_CHECK(gl.RasterPos2f); gl.RasterPos2fv = (void APIENTRY (*)(const GLfloat *v)) ldg_find("glRasterPos2fv", lib); GL_CHECK(gl.RasterPos2fv); gl.RasterPos2i = (void APIENTRY (*)(GLint x, GLint y)) ldg_find("glRasterPos2i", lib); GL_CHECK(gl.RasterPos2i); gl.RasterPos2iv = (void APIENTRY (*)(const GLint *v)) ldg_find("glRasterPos2iv", lib); GL_CHECK(gl.RasterPos2iv); gl.RasterPos2s = (void APIENTRY (*)(GLshort32 x, GLshort32 y)) ldg_find("glRasterPos2s", lib); GL_CHECK(gl.RasterPos2s); gl.RasterPos2sv = (void APIENTRY (*)(const GLshort *v)) ldg_find("glRasterPos2sv", lib); GL_CHECK(gl.RasterPos2sv); gl.RasterPos2xOES = (void APIENTRY (*)(GLfixed x, GLfixed y)) ldg_find("glRasterPos2xOES", lib); GL_CHECK(gl.RasterPos2xOES); gl.RasterPos2xvOES = (void APIENTRY (*)(const GLfixed *coords)) ldg_find("glRasterPos2xvOES", lib); GL_CHECK(gl.RasterPos2xvOES); gl.RasterPos3d = (void APIENTRY (*)(GLdouble x, GLdouble y, GLdouble z)) ldg_find("glRasterPos3d", lib); GL_CHECK(gl.RasterPos3d); gl.RasterPos3dv = (void APIENTRY (*)(const GLdouble *v)) ldg_find("glRasterPos3dv", lib); GL_CHECK(gl.RasterPos3dv); gl.RasterPos3f = (void APIENTRY (*)(GLfloat x, GLfloat y, GLfloat z)) ldg_find("glRasterPos3f", lib); GL_CHECK(gl.RasterPos3f); gl.RasterPos3fv = (void APIENTRY (*)(const GLfloat *v)) ldg_find("glRasterPos3fv", lib); GL_CHECK(gl.RasterPos3fv); gl.RasterPos3i = (void APIENTRY (*)(GLint x, GLint y, GLint z)) ldg_find("glRasterPos3i", lib); GL_CHECK(gl.RasterPos3i); gl.RasterPos3iv = (void APIENTRY (*)(const GLint *v)) ldg_find("glRasterPos3iv", lib); GL_CHECK(gl.RasterPos3iv); gl.RasterPos3s = (void APIENTRY (*)(GLshort32 x, GLshort32 y, GLshort32 z)) ldg_find("glRasterPos3s", lib); GL_CHECK(gl.RasterPos3s); gl.RasterPos3sv = (void APIENTRY (*)(const GLshort *v)) ldg_find("glRasterPos3sv", lib); GL_CHECK(gl.RasterPos3sv); gl.RasterPos3xOES = (void APIENTRY (*)(GLfixed x, GLfixed y, GLfixed z)) ldg_find("glRasterPos3xOES", lib); GL_CHECK(gl.RasterPos3xOES); gl.RasterPos3xvOES = (void APIENTRY (*)(const GLfixed *coords)) ldg_find("glRasterPos3xvOES", lib); GL_CHECK(gl.RasterPos3xvOES); gl.RasterPos4d = (void APIENTRY (*)(GLdouble x, GLdouble y, GLdouble z, GLdouble w)) ldg_find("glRasterPos4d", lib); GL_CHECK(gl.RasterPos4d); gl.RasterPos4dv = (void APIENTRY (*)(const GLdouble *v)) ldg_find("glRasterPos4dv", lib); GL_CHECK(gl.RasterPos4dv); gl.RasterPos4f = (void APIENTRY (*)(GLfloat x, GLfloat y, GLfloat z, GLfloat w)) ldg_find("glRasterPos4f", lib); GL_CHECK(gl.RasterPos4f); gl.RasterPos4fv = (void APIENTRY (*)(const GLfloat *v)) ldg_find("glRasterPos4fv", lib); GL_CHECK(gl.RasterPos4fv); gl.RasterPos4i = (void APIENTRY (*)(GLint x, GLint y, GLint z, GLint w)) ldg_find("glRasterPos4i", lib); GL_CHECK(gl.RasterPos4i); gl.RasterPos4iv = (void APIENTRY (*)(const GLint *v)) ldg_find("glRasterPos4iv", lib); GL_CHECK(gl.RasterPos4iv); gl.RasterPos4s = (void APIENTRY (*)(GLshort32 x, GLshort32 y, GLshort32 z, GLshort32 w)) ldg_find("glRasterPos4s", lib); GL_CHECK(gl.RasterPos4s); gl.RasterPos4sv = (void APIENTRY (*)(const GLshort *v)) ldg_find("glRasterPos4sv", lib); GL_CHECK(gl.RasterPos4sv); gl.RasterPos4xOES = (void APIENTRY (*)(GLfixed x, GLfixed y, GLfixed z, GLfixed w)) ldg_find("glRasterPos4xOES", lib); GL_CHECK(gl.RasterPos4xOES); gl.RasterPos4xvOES = (void APIENTRY (*)(const GLfixed *coords)) ldg_find("glRasterPos4xvOES", lib); GL_CHECK(gl.RasterPos4xvOES); gl.ReadBuffer = (void APIENTRY (*)(GLenum mode)) ldg_find("glReadBuffer", lib); GL_CHECK(gl.ReadBuffer); gl.ReadInstrumentsSGIX = (void APIENTRY (*)(GLint marker)) ldg_find("glReadInstrumentsSGIX", lib); GL_CHECK(gl.ReadInstrumentsSGIX); gl.ReadPixels = (void APIENTRY (*)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid *pixels)) ldg_find("glReadPixels", lib); GL_CHECK(gl.ReadPixels); gl.ReadnPixelsARB = (void APIENTRY (*)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data)) ldg_find("glReadnPixelsARB", lib); GL_CHECK(gl.ReadnPixelsARB); gl.Rectd = (void APIENTRY (*)(GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2)) ldg_find("glRectd", lib); GL_CHECK(gl.Rectd); gl.Rectdv = (void APIENTRY (*)(const GLdouble *v1, const GLdouble *v2)) ldg_find("glRectdv", lib); GL_CHECK(gl.Rectdv); gl.Rectf = (void APIENTRY (*)(GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2)) ldg_find("glRectf", lib); GL_CHECK(gl.Rectf); gl.Rectfv = (void APIENTRY (*)(const GLfloat *v1, const GLfloat *v2)) ldg_find("glRectfv", lib); GL_CHECK(gl.Rectfv); gl.Recti = (void APIENTRY (*)(GLint x1, GLint y1, GLint x2, GLint y2)) ldg_find("glRecti", lib); GL_CHECK(gl.Recti); gl.Rectiv = (void APIENTRY (*)(const GLint *v1, const GLint *v2)) ldg_find("glRectiv", lib); GL_CHECK(gl.Rectiv); gl.Rects = (void APIENTRY (*)(GLshort32 x1, GLshort32 y1, GLshort32 x2, GLshort32 y2)) ldg_find("glRects", lib); GL_CHECK(gl.Rects); gl.Rectsv = (void APIENTRY (*)(const GLshort *v1, const GLshort *v2)) ldg_find("glRectsv", lib); GL_CHECK(gl.Rectsv); gl.RectxOES = (void APIENTRY (*)(GLfixed x1, GLfixed y1, GLfixed x2, GLfixed y2)) ldg_find("glRectxOES", lib); GL_CHECK(gl.RectxOES); gl.RectxvOES = (void APIENTRY (*)(const GLfixed *v1, const GLfixed *v2)) ldg_find("glRectxvOES", lib); GL_CHECK(gl.RectxvOES); gl.ReferencePlaneSGIX = (void APIENTRY (*)(const GLdouble *equation)) ldg_find("glReferencePlaneSGIX", lib); GL_CHECK(gl.ReferencePlaneSGIX); gl.ReleaseShaderCompiler = (void APIENTRY (*)(void)) ldg_find("glReleaseShaderCompiler", lib); GL_CHECK(gl.ReleaseShaderCompiler); gl.RenderMode = (GLint APIENTRY (*)(GLenum mode)) ldg_find("glRenderMode", lib); GL_CHECK(gl.RenderMode); gl.RenderbufferStorage = (void APIENTRY (*)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)) ldg_find("glRenderbufferStorage", lib); GL_CHECK(gl.RenderbufferStorage); gl.RenderbufferStorageEXT = (void APIENTRY (*)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height)) ldg_find("glRenderbufferStorageEXT", lib); GL_CHECK(gl.RenderbufferStorageEXT); gl.RenderbufferStorageMultisample = (void APIENTRY (*)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)) ldg_find("glRenderbufferStorageMultisample", lib); GL_CHECK(gl.RenderbufferStorageMultisample); gl.RenderbufferStorageMultisampleCoverageNV = (void APIENTRY (*)(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLenum internalformat, GLsizei width, GLsizei height)) ldg_find("glRenderbufferStorageMultisampleCoverageNV", lib); GL_CHECK(gl.RenderbufferStorageMultisampleCoverageNV); gl.RenderbufferStorageMultisampleEXT = (void APIENTRY (*)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)) ldg_find("glRenderbufferStorageMultisampleEXT", lib); GL_CHECK(gl.RenderbufferStorageMultisampleEXT); gl.ReplacementCodePointerSUN = (void APIENTRY (*)(GLenum type, GLsizei stride, const void * *pointer)) ldg_find("glReplacementCodePointerSUN", lib); GL_CHECK(gl.ReplacementCodePointerSUN); gl.ReplacementCodeubSUN = (void APIENTRY (*)(GLubyte32 code)) ldg_find("glReplacementCodeubSUN", lib); GL_CHECK(gl.ReplacementCodeubSUN); gl.ReplacementCodeubvSUN = (void APIENTRY (*)(const GLubyte *code)) ldg_find("glReplacementCodeubvSUN", lib); GL_CHECK(gl.ReplacementCodeubvSUN); gl.ReplacementCodeuiColor3fVertex3fSUN = (void APIENTRY (*)(GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z)) ldg_find("glReplacementCodeuiColor3fVertex3fSUN", lib); GL_CHECK(gl.ReplacementCodeuiColor3fVertex3fSUN); gl.ReplacementCodeuiColor3fVertex3fvSUN = (void APIENTRY (*)(const GLuint *rc, const GLfloat *c, const GLfloat *v)) ldg_find("glReplacementCodeuiColor3fVertex3fvSUN", lib); GL_CHECK(gl.ReplacementCodeuiColor3fVertex3fvSUN); gl.ReplacementCodeuiColor4fNormal3fVertex3fSUN = (void APIENTRY (*)(GLuint rc, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z)) ldg_find("glReplacementCodeuiColor4fNormal3fVertex3fSUN", lib); GL_CHECK(gl.ReplacementCodeuiColor4fNormal3fVertex3fSUN); gl.ReplacementCodeuiColor4fNormal3fVertex3fvSUN = (void APIENTRY (*)(const GLuint *rc, const GLfloat *c, const GLfloat *n, const GLfloat *v)) ldg_find("glReplacementCodeuiColor4fNormal3fVertex3fvSUN", lib); GL_CHECK(gl.ReplacementCodeuiColor4fNormal3fVertex3fvSUN); gl.ReplacementCodeuiColor4ubVertex3fSUN = (void APIENTRY (*)(GLuint rc, GLubyte32 r, GLubyte32 g, GLubyte32 b, GLubyte32 a, GLfloat x, GLfloat y, GLfloat z)) ldg_find("glReplacementCodeuiColor4ubVertex3fSUN", lib); GL_CHECK(gl.ReplacementCodeuiColor4ubVertex3fSUN); gl.ReplacementCodeuiColor4ubVertex3fvSUN = (void APIENTRY (*)(const GLuint *rc, const GLubyte *c, const GLfloat *v)) ldg_find("glReplacementCodeuiColor4ubVertex3fvSUN", lib); GL_CHECK(gl.ReplacementCodeuiColor4ubVertex3fvSUN); gl.ReplacementCodeuiNormal3fVertex3fSUN = (void APIENTRY (*)(GLuint rc, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z)) ldg_find("glReplacementCodeuiNormal3fVertex3fSUN", lib); GL_CHECK(gl.ReplacementCodeuiNormal3fVertex3fSUN); gl.ReplacementCodeuiNormal3fVertex3fvSUN = (void APIENTRY (*)(const GLuint *rc, const GLfloat *n, const GLfloat *v)) ldg_find("glReplacementCodeuiNormal3fVertex3fvSUN", lib); GL_CHECK(gl.ReplacementCodeuiNormal3fVertex3fvSUN); gl.ReplacementCodeuiSUN = (void APIENTRY (*)(GLuint code)) ldg_find("glReplacementCodeuiSUN", lib); GL_CHECK(gl.ReplacementCodeuiSUN); gl.ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN = (void APIENTRY (*)(GLuint rc, GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z)) ldg_find("glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN", lib); GL_CHECK(gl.ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fSUN); gl.ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN = (void APIENTRY (*)(const GLuint *rc, const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v)) ldg_find("glReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN", lib); GL_CHECK(gl.ReplacementCodeuiTexCoord2fColor4fNormal3fVertex3fvSUN); gl.ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN = (void APIENTRY (*)(GLuint rc, GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z)) ldg_find("glReplacementCodeuiTexCoord2fNormal3fVertex3fSUN", lib); GL_CHECK(gl.ReplacementCodeuiTexCoord2fNormal3fVertex3fSUN); gl.ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN = (void APIENTRY (*)(const GLuint *rc, const GLfloat *tc, const GLfloat *n, const GLfloat *v)) ldg_find("glReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN", lib); GL_CHECK(gl.ReplacementCodeuiTexCoord2fNormal3fVertex3fvSUN); gl.ReplacementCodeuiTexCoord2fVertex3fSUN = (void APIENTRY (*)(GLuint rc, GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z)) ldg_find("glReplacementCodeuiTexCoord2fVertex3fSUN", lib); GL_CHECK(gl.ReplacementCodeuiTexCoord2fVertex3fSUN); gl.ReplacementCodeuiTexCoord2fVertex3fvSUN = (void APIENTRY (*)(const GLuint *rc, const GLfloat *tc, const GLfloat *v)) ldg_find("glReplacementCodeuiTexCoord2fVertex3fvSUN", lib); GL_CHECK(gl.ReplacementCodeuiTexCoord2fVertex3fvSUN); gl.ReplacementCodeuiVertex3fSUN = (void APIENTRY (*)(GLuint rc, GLfloat x, GLfloat y, GLfloat z)) ldg_find("glReplacementCodeuiVertex3fSUN", lib); GL_CHECK(gl.ReplacementCodeuiVertex3fSUN); gl.ReplacementCodeuiVertex3fvSUN = (void APIENTRY (*)(const GLuint *rc, const GLfloat *v)) ldg_find("glReplacementCodeuiVertex3fvSUN", lib); GL_CHECK(gl.ReplacementCodeuiVertex3fvSUN); gl.ReplacementCodeuivSUN = (void APIENTRY (*)(const GLuint *code)) ldg_find("glReplacementCodeuivSUN", lib); GL_CHECK(gl.ReplacementCodeuivSUN); gl.ReplacementCodeusSUN = (void APIENTRY (*)(GLushort32 code)) ldg_find("glReplacementCodeusSUN", lib); GL_CHECK(gl.ReplacementCodeusSUN); gl.ReplacementCodeusvSUN = (void APIENTRY (*)(const GLushort *code)) ldg_find("glReplacementCodeusvSUN", lib); GL_CHECK(gl.ReplacementCodeusvSUN); gl.RequestResidentProgramsNV = (void APIENTRY (*)(GLsizei n, const GLuint *programs)) ldg_find("glRequestResidentProgramsNV", lib); GL_CHECK(gl.RequestResidentProgramsNV); gl.ResetHistogram = (void APIENTRY (*)(GLenum target)) ldg_find("glResetHistogram", lib); GL_CHECK(gl.ResetHistogram); gl.ResetHistogramEXT = (void APIENTRY (*)(GLenum target)) ldg_find("glResetHistogramEXT", lib); GL_CHECK(gl.ResetHistogramEXT); gl.ResetMinmax = (void APIENTRY (*)(GLenum target)) ldg_find("glResetMinmax", lib); GL_CHECK(gl.ResetMinmax); gl.ResetMinmaxEXT = (void APIENTRY (*)(GLenum target)) ldg_find("glResetMinmaxEXT", lib); GL_CHECK(gl.ResetMinmaxEXT); gl.ResizeBuffersMESA = (void APIENTRY (*)(void)) ldg_find("glResizeBuffersMESA", lib); GL_CHECK(gl.ResizeBuffersMESA); gl.ResumeTransformFeedback = (void APIENTRY (*)(void)) ldg_find("glResumeTransformFeedback", lib); GL_CHECK(gl.ResumeTransformFeedback); gl.ResumeTransformFeedbackNV = (void APIENTRY (*)(void)) ldg_find("glResumeTransformFeedbackNV", lib); GL_CHECK(gl.ResumeTransformFeedbackNV); gl.Rotated = (void APIENTRY (*)(GLdouble angle, GLdouble x, GLdouble y, GLdouble z)) ldg_find("glRotated", lib); GL_CHECK(gl.Rotated); gl.Rotatef = (void APIENTRY (*)(GLfloat angle, GLfloat x, GLfloat y, GLfloat z)) ldg_find("glRotatef", lib); GL_CHECK(gl.Rotatef); gl.RotatexOES = (void APIENTRY (*)(GLfixed angle, GLfixed x, GLfixed y, GLfixed z)) ldg_find("glRotatexOES", lib); GL_CHECK(gl.RotatexOES); gl.SampleCoverage = (void APIENTRY (*)(GLfloat value, GLboolean32 invert)) ldg_find("glSampleCoverage", lib); GL_CHECK(gl.SampleCoverage); gl.SampleCoverageARB = (void APIENTRY (*)(GLfloat value, GLboolean32 invert)) ldg_find("glSampleCoverageARB", lib); GL_CHECK(gl.SampleCoverageARB); gl.SampleCoverageOES = (void APIENTRY (*)(GLfixed value, GLboolean32 invert)) ldg_find("glSampleCoverageOES", lib); GL_CHECK(gl.SampleCoverageOES); gl.SampleMapATI = (void APIENTRY (*)(GLuint dst, GLuint interp, GLenum swizzle)) ldg_find("glSampleMapATI", lib); GL_CHECK(gl.SampleMapATI); gl.SampleMaskEXT = (void APIENTRY (*)(GLclampf value, GLboolean32 invert)) ldg_find("glSampleMaskEXT", lib); GL_CHECK(gl.SampleMaskEXT); gl.SampleMaskIndexedNV = (void APIENTRY (*)(GLuint index, GLbitfield mask)) ldg_find("glSampleMaskIndexedNV", lib); GL_CHECK(gl.SampleMaskIndexedNV); gl.SampleMaskSGIS = (void APIENTRY (*)(GLclampf value, GLboolean32 invert)) ldg_find("glSampleMaskSGIS", lib); GL_CHECK(gl.SampleMaskSGIS); gl.SampleMaski = (void APIENTRY (*)(GLuint maskNumber, GLbitfield mask)) ldg_find("glSampleMaski", lib); GL_CHECK(gl.SampleMaski); gl.SamplePass = (void APIENTRY (*)(GLenum mode)) ldg_find("glSamplePass", lib); GL_CHECK(gl.SamplePass); gl.SamplePassARB = (void APIENTRY (*)(GLenum mode)) ldg_find("glSamplePassARB", lib); GL_CHECK(gl.SamplePassARB); gl.SamplePatternEXT = (void APIENTRY (*)(GLenum pattern)) ldg_find("glSamplePatternEXT", lib); GL_CHECK(gl.SamplePatternEXT); gl.SamplePatternSGIS = (void APIENTRY (*)(GLenum pattern)) ldg_find("glSamplePatternSGIS", lib); GL_CHECK(gl.SamplePatternSGIS); gl.SamplerParameterIiv = (void APIENTRY (*)(GLuint sampler, GLenum pname, const GLint *param)) ldg_find("glSamplerParameterIiv", lib); GL_CHECK(gl.SamplerParameterIiv); gl.SamplerParameterIuiv = (void APIENTRY (*)(GLuint sampler, GLenum pname, const GLuint *param)) ldg_find("glSamplerParameterIuiv", lib); GL_CHECK(gl.SamplerParameterIuiv); gl.SamplerParameterf = (void APIENTRY (*)(GLuint sampler, GLenum pname, GLfloat param)) ldg_find("glSamplerParameterf", lib); GL_CHECK(gl.SamplerParameterf); gl.SamplerParameterfv = (void APIENTRY (*)(GLuint sampler, GLenum pname, const GLfloat *param)) ldg_find("glSamplerParameterfv", lib); GL_CHECK(gl.SamplerParameterfv); gl.SamplerParameteri = (void APIENTRY (*)(GLuint sampler, GLenum pname, GLint param)) ldg_find("glSamplerParameteri", lib); GL_CHECK(gl.SamplerParameteri); gl.SamplerParameteriv = (void APIENTRY (*)(GLuint sampler, GLenum pname, const GLint *param)) ldg_find("glSamplerParameteriv", lib); GL_CHECK(gl.SamplerParameteriv); gl.Scaled = (void APIENTRY (*)(GLdouble x, GLdouble y, GLdouble z)) ldg_find("glScaled", lib); GL_CHECK(gl.Scaled); gl.Scalef = (void APIENTRY (*)(GLfloat x, GLfloat y, GLfloat z)) ldg_find("glScalef", lib); GL_CHECK(gl.Scalef); gl.ScalexOES = (void APIENTRY (*)(GLfixed x, GLfixed y, GLfixed z)) ldg_find("glScalexOES", lib); GL_CHECK(gl.ScalexOES); gl.Scissor = (void APIENTRY (*)(GLint x, GLint y, GLsizei width, GLsizei height)) ldg_find("glScissor", lib); GL_CHECK(gl.Scissor); gl.ScissorArrayv = (void APIENTRY (*)(GLuint first, GLsizei count, const GLint *v)) ldg_find("glScissorArrayv", lib); GL_CHECK(gl.ScissorArrayv); gl.ScissorIndexed = (void APIENTRY (*)(GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height)) ldg_find("glScissorIndexed", lib); GL_CHECK(gl.ScissorIndexed); gl.ScissorIndexedv = (void APIENTRY (*)(GLuint index, const GLint *v)) ldg_find("glScissorIndexedv", lib); GL_CHECK(gl.ScissorIndexedv); gl.SecondaryColor3b = (void APIENTRY (*)(GLbyte32 red, GLbyte32 green, GLbyte32 blue)) ldg_find("glSecondaryColor3b", lib); GL_CHECK(gl.SecondaryColor3b); gl.SecondaryColor3bEXT = (void APIENTRY (*)(GLbyte32 red, GLbyte32 green, GLbyte32 blue)) ldg_find("glSecondaryColor3bEXT", lib); GL_CHECK(gl.SecondaryColor3bEXT); gl.SecondaryColor3bv = (void APIENTRY (*)(const GLbyte *v)) ldg_find("glSecondaryColor3bv", lib); GL_CHECK(gl.SecondaryColor3bv); gl.SecondaryColor3bvEXT = (void APIENTRY (*)(const GLbyte *v)) ldg_find("glSecondaryColor3bvEXT", lib); GL_CHECK(gl.SecondaryColor3bvEXT); gl.SecondaryColor3d = (void APIENTRY (*)(GLdouble red, GLdouble green, GLdouble blue)) ldg_find("glSecondaryColor3d", lib); GL_CHECK(gl.SecondaryColor3d); gl.SecondaryColor3dEXT = (void APIENTRY (*)(GLdouble red, GLdouble green, GLdouble blue)) ldg_find("glSecondaryColor3dEXT", lib); GL_CHECK(gl.SecondaryColor3dEXT); gl.SecondaryColor3dv = (void APIENTRY (*)(const GLdouble *v)) ldg_find("glSecondaryColor3dv", lib); GL_CHECK(gl.SecondaryColor3dv); gl.SecondaryColor3dvEXT = (void APIENTRY (*)(const GLdouble *v)) ldg_find("glSecondaryColor3dvEXT", lib); GL_CHECK(gl.SecondaryColor3dvEXT); gl.SecondaryColor3f = (void APIENTRY (*)(GLfloat red, GLfloat green, GLfloat blue)) ldg_find("glSecondaryColor3f", lib); GL_CHECK(gl.SecondaryColor3f); gl.SecondaryColor3fEXT = (void APIENTRY (*)(GLfloat red, GLfloat green, GLfloat blue)) ldg_find("glSecondaryColor3fEXT", lib); GL_CHECK(gl.SecondaryColor3fEXT); gl.SecondaryColor3fv = (void APIENTRY (*)(const GLfloat *v)) ldg_find("glSecondaryColor3fv", lib); GL_CHECK(gl.SecondaryColor3fv); gl.SecondaryColor3fvEXT = (void APIENTRY (*)(const GLfloat *v)) ldg_find("glSecondaryColor3fvEXT", lib); GL_CHECK(gl.SecondaryColor3fvEXT); gl.SecondaryColor3hNV = (void APIENTRY (*)(GLhalfNV32 red, GLhalfNV32 green, GLhalfNV32 blue)) ldg_find("glSecondaryColor3hNV", lib); GL_CHECK(gl.SecondaryColor3hNV); gl.SecondaryColor3hvNV = (void APIENTRY (*)(const GLhalfNV *v)) ldg_find("glSecondaryColor3hvNV", lib); GL_CHECK(gl.SecondaryColor3hvNV); gl.SecondaryColor3i = (void APIENTRY (*)(GLint red, GLint green, GLint blue)) ldg_find("glSecondaryColor3i", lib); GL_CHECK(gl.SecondaryColor3i); gl.SecondaryColor3iEXT = (void APIENTRY (*)(GLint red, GLint green, GLint blue)) ldg_find("glSecondaryColor3iEXT", lib); GL_CHECK(gl.SecondaryColor3iEXT); gl.SecondaryColor3iv = (void APIENTRY (*)(const GLint *v)) ldg_find("glSecondaryColor3iv", lib); GL_CHECK(gl.SecondaryColor3iv); gl.SecondaryColor3ivEXT = (void APIENTRY (*)(const GLint *v)) ldg_find("glSecondaryColor3ivEXT", lib); GL_CHECK(gl.SecondaryColor3ivEXT); gl.SecondaryColor3s = (void APIENTRY (*)(GLshort32 red, GLshort32 green, GLshort32 blue)) ldg_find("glSecondaryColor3s", lib); GL_CHECK(gl.SecondaryColor3s); gl.SecondaryColor3sEXT = (void APIENTRY (*)(GLshort32 red, GLshort32 green, GLshort32 blue)) ldg_find("glSecondaryColor3sEXT", lib); GL_CHECK(gl.SecondaryColor3sEXT); gl.SecondaryColor3sv = (void APIENTRY (*)(const GLshort *v)) ldg_find("glSecondaryColor3sv", lib); GL_CHECK(gl.SecondaryColor3sv); gl.SecondaryColor3svEXT = (void APIENTRY (*)(const GLshort *v)) ldg_find("glSecondaryColor3svEXT", lib); GL_CHECK(gl.SecondaryColor3svEXT); gl.SecondaryColor3ub = (void APIENTRY (*)(GLubyte32 red, GLubyte32 green, GLubyte32 blue)) ldg_find("glSecondaryColor3ub", lib); GL_CHECK(gl.SecondaryColor3ub); gl.SecondaryColor3ubEXT = (void APIENTRY (*)(GLubyte32 red, GLubyte32 green, GLubyte32 blue)) ldg_find("glSecondaryColor3ubEXT", lib); GL_CHECK(gl.SecondaryColor3ubEXT); gl.SecondaryColor3ubv = (void APIENTRY (*)(const GLubyte *v)) ldg_find("glSecondaryColor3ubv", lib); GL_CHECK(gl.SecondaryColor3ubv); gl.SecondaryColor3ubvEXT = (void APIENTRY (*)(const GLubyte *v)) ldg_find("glSecondaryColor3ubvEXT", lib); GL_CHECK(gl.SecondaryColor3ubvEXT); gl.SecondaryColor3ui = (void APIENTRY (*)(GLuint red, GLuint green, GLuint blue)) ldg_find("glSecondaryColor3ui", lib); GL_CHECK(gl.SecondaryColor3ui); gl.SecondaryColor3uiEXT = (void APIENTRY (*)(GLuint red, GLuint green, GLuint blue)) ldg_find("glSecondaryColor3uiEXT", lib); GL_CHECK(gl.SecondaryColor3uiEXT); gl.SecondaryColor3uiv = (void APIENTRY (*)(const GLuint *v)) ldg_find("glSecondaryColor3uiv", lib); GL_CHECK(gl.SecondaryColor3uiv); gl.SecondaryColor3uivEXT = (void APIENTRY (*)(const GLuint *v)) ldg_find("glSecondaryColor3uivEXT", lib); GL_CHECK(gl.SecondaryColor3uivEXT); gl.SecondaryColor3us = (void APIENTRY (*)(GLushort32 red, GLushort32 green, GLushort32 blue)) ldg_find("glSecondaryColor3us", lib); GL_CHECK(gl.SecondaryColor3us); gl.SecondaryColor3usEXT = (void APIENTRY (*)(GLushort32 red, GLushort32 green, GLushort32 blue)) ldg_find("glSecondaryColor3usEXT", lib); GL_CHECK(gl.SecondaryColor3usEXT); gl.SecondaryColor3usv = (void APIENTRY (*)(const GLushort *v)) ldg_find("glSecondaryColor3usv", lib); GL_CHECK(gl.SecondaryColor3usv); gl.SecondaryColor3usvEXT = (void APIENTRY (*)(const GLushort *v)) ldg_find("glSecondaryColor3usvEXT", lib); GL_CHECK(gl.SecondaryColor3usvEXT); gl.SecondaryColorFormatNV = (void APIENTRY (*)(GLint size, GLenum type, GLsizei stride)) ldg_find("glSecondaryColorFormatNV", lib); GL_CHECK(gl.SecondaryColorFormatNV); gl.SecondaryColorP3ui = (void APIENTRY (*)(GLenum type, GLuint color)) ldg_find("glSecondaryColorP3ui", lib); GL_CHECK(gl.SecondaryColorP3ui); gl.SecondaryColorP3uiv = (void APIENTRY (*)(GLenum type, const GLuint *color)) ldg_find("glSecondaryColorP3uiv", lib); GL_CHECK(gl.SecondaryColorP3uiv); gl.SecondaryColorPointer = (void APIENTRY (*)(GLint size, GLenum type, GLsizei stride, const void *pointer)) ldg_find("glSecondaryColorPointer", lib); GL_CHECK(gl.SecondaryColorPointer); gl.SecondaryColorPointerEXT = (void APIENTRY (*)(GLint size, GLenum type, GLsizei stride, const void *pointer)) ldg_find("glSecondaryColorPointerEXT", lib); GL_CHECK(gl.SecondaryColorPointerEXT); gl.SecondaryColorPointerListIBM = (void APIENTRY (*)(GLint size, GLenum type, GLint stride, const void * *pointer, GLint ptrstride)) ldg_find("glSecondaryColorPointerListIBM", lib); GL_CHECK(gl.SecondaryColorPointerListIBM); gl.SelectBuffer = (void APIENTRY (*)(GLsizei size, GLuint *buffer)) ldg_find("glSelectBuffer", lib); GL_CHECK(gl.SelectBuffer); gl.SelectPerfMonitorCountersAMD = (void APIENTRY (*)(GLuint monitor, GLboolean32 enable, GLuint group, GLint numCounters, GLuint *counterList)) ldg_find("glSelectPerfMonitorCountersAMD", lib); GL_CHECK(gl.SelectPerfMonitorCountersAMD); gl.SeparableFilter2D = (void APIENTRY (*)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *row, const void *column)) ldg_find("glSeparableFilter2D", lib); GL_CHECK(gl.SeparableFilter2D); gl.SeparableFilter2DEXT = (void APIENTRY (*)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *row, const void *column)) ldg_find("glSeparableFilter2DEXT", lib); GL_CHECK(gl.SeparableFilter2DEXT); gl.SetFenceAPPLE = (void APIENTRY (*)(GLuint fence)) ldg_find("glSetFenceAPPLE", lib); GL_CHECK(gl.SetFenceAPPLE); gl.SetFenceNV = (void APIENTRY (*)(GLuint fence, GLenum condition)) ldg_find("glSetFenceNV", lib); GL_CHECK(gl.SetFenceNV); gl.SetFragmentShaderConstantATI = (void APIENTRY (*)(GLuint dst, const GLfloat *value)) ldg_find("glSetFragmentShaderConstantATI", lib); GL_CHECK(gl.SetFragmentShaderConstantATI); gl.SetInvariantEXT = (void APIENTRY (*)(GLuint id, GLenum type, const void *addr)) ldg_find("glSetInvariantEXT", lib); GL_CHECK(gl.SetInvariantEXT); gl.SetLocalConstantEXT = (void APIENTRY (*)(GLuint id, GLenum type, const void *addr)) ldg_find("glSetLocalConstantEXT", lib); GL_CHECK(gl.SetLocalConstantEXT); gl.SetMultisamplefvAMD = (void APIENTRY (*)(GLenum pname, GLuint index, const GLfloat *val)) ldg_find("glSetMultisamplefvAMD", lib); GL_CHECK(gl.SetMultisamplefvAMD); gl.ShadeModel = (void APIENTRY (*)(GLenum mode)) ldg_find("glShadeModel", lib); GL_CHECK(gl.ShadeModel); gl.ShaderBinary = (void APIENTRY (*)(GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length)) ldg_find("glShaderBinary", lib); GL_CHECK(gl.ShaderBinary); gl.ShaderOp1EXT = (void APIENTRY (*)(GLenum op, GLuint res, GLuint arg1)) ldg_find("glShaderOp1EXT", lib); GL_CHECK(gl.ShaderOp1EXT); gl.ShaderOp2EXT = (void APIENTRY (*)(GLenum op, GLuint res, GLuint arg1, GLuint arg2)) ldg_find("glShaderOp2EXT", lib); GL_CHECK(gl.ShaderOp2EXT); gl.ShaderOp3EXT = (void APIENTRY (*)(GLenum op, GLuint res, GLuint arg1, GLuint arg2, GLuint arg3)) ldg_find("glShaderOp3EXT", lib); GL_CHECK(gl.ShaderOp3EXT); gl.ShaderSource = (void APIENTRY (*)(GLuint shader, GLsizei count, const GLchar *const *string, const GLint *length)) ldg_find("glShaderSource", lib); GL_CHECK(gl.ShaderSource); gl.ShaderSourceARB = (void APIENTRY (*)(GLhandleARB shaderObj, GLsizei count, const GLcharARB * *string, const GLint *length)) ldg_find("glShaderSourceARB", lib); GL_CHECK(gl.ShaderSourceARB); gl.ShaderStorageBlockBinding = (void APIENTRY (*)(GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding)) ldg_find("glShaderStorageBlockBinding", lib); GL_CHECK(gl.ShaderStorageBlockBinding); gl.SharpenTexFuncSGIS = (void APIENTRY (*)(GLenum target, GLsizei n, const GLfloat *points)) ldg_find("glSharpenTexFuncSGIS", lib); GL_CHECK(gl.SharpenTexFuncSGIS); gl.SpriteParameterfSGIX = (void APIENTRY (*)(GLenum pname, GLfloat param)) ldg_find("glSpriteParameterfSGIX", lib); GL_CHECK(gl.SpriteParameterfSGIX); gl.SpriteParameterfvSGIX = (void APIENTRY (*)(GLenum pname, const GLfloat *params)) ldg_find("glSpriteParameterfvSGIX", lib); GL_CHECK(gl.SpriteParameterfvSGIX); gl.SpriteParameteriSGIX = (void APIENTRY (*)(GLenum pname, GLint param)) ldg_find("glSpriteParameteriSGIX", lib); GL_CHECK(gl.SpriteParameteriSGIX); gl.SpriteParameterivSGIX = (void APIENTRY (*)(GLenum pname, const GLint *params)) ldg_find("glSpriteParameterivSGIX", lib); GL_CHECK(gl.SpriteParameterivSGIX); gl.StartInstrumentsSGIX = (void APIENTRY (*)(void)) ldg_find("glStartInstrumentsSGIX", lib); GL_CHECK(gl.StartInstrumentsSGIX); gl.StencilClearTagEXT = (void APIENTRY (*)(GLsizei stencilTagBits, GLuint stencilClearTag)) ldg_find("glStencilClearTagEXT", lib); GL_CHECK(gl.StencilClearTagEXT); gl.StencilFillPathInstancedNV = (void APIENTRY (*)(GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues)) ldg_find("glStencilFillPathInstancedNV", lib); GL_CHECK(gl.StencilFillPathInstancedNV); gl.StencilFillPathNV = (void APIENTRY (*)(GLuint path, GLenum fillMode, GLuint mask)) ldg_find("glStencilFillPathNV", lib); GL_CHECK(gl.StencilFillPathNV); gl.StencilFunc = (void APIENTRY (*)(GLenum func, GLint ref, GLuint mask)) ldg_find("glStencilFunc", lib); GL_CHECK(gl.StencilFunc); gl.StencilFuncSeparate = (void APIENTRY (*)(GLenum face, GLenum func, GLint ref, GLuint mask)) ldg_find("glStencilFuncSeparate", lib); GL_CHECK(gl.StencilFuncSeparate); gl.StencilFuncSeparateATI = (void APIENTRY (*)(GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask)) ldg_find("glStencilFuncSeparateATI", lib); GL_CHECK(gl.StencilFuncSeparateATI); gl.StencilMask = (void APIENTRY (*)(GLuint mask)) ldg_find("glStencilMask", lib); GL_CHECK(gl.StencilMask); gl.StencilMaskSeparate = (void APIENTRY (*)(GLenum face, GLuint mask)) ldg_find("glStencilMaskSeparate", lib); GL_CHECK(gl.StencilMaskSeparate); gl.StencilOp = (void APIENTRY (*)(GLenum fail, GLenum zfail, GLenum zpass)) ldg_find("glStencilOp", lib); GL_CHECK(gl.StencilOp); gl.StencilOpSeparate = (void APIENTRY (*)(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass)) ldg_find("glStencilOpSeparate", lib); GL_CHECK(gl.StencilOpSeparate); gl.StencilOpSeparateATI = (void APIENTRY (*)(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass)) ldg_find("glStencilOpSeparateATI", lib); GL_CHECK(gl.StencilOpSeparateATI); gl.StencilOpValueAMD = (void APIENTRY (*)(GLenum face, GLuint value)) ldg_find("glStencilOpValueAMD", lib); GL_CHECK(gl.StencilOpValueAMD); gl.StencilStrokePathInstancedNV = (void APIENTRY (*)(GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues)) ldg_find("glStencilStrokePathInstancedNV", lib); GL_CHECK(gl.StencilStrokePathInstancedNV); gl.StencilStrokePathNV = (void APIENTRY (*)(GLuint path, GLint reference, GLuint mask)) ldg_find("glStencilStrokePathNV", lib); GL_CHECK(gl.StencilStrokePathNV); gl.StopInstrumentsSGIX = (void APIENTRY (*)(GLint marker)) ldg_find("glStopInstrumentsSGIX", lib); GL_CHECK(gl.StopInstrumentsSGIX); gl.StringMarkerGREMEDY = (void APIENTRY (*)(GLsizei len, const void *string)) ldg_find("glStringMarkerGREMEDY", lib); GL_CHECK(gl.StringMarkerGREMEDY); gl.SwapAPPLE = (void APIENTRY (*)(void)) ldg_find("glSwapAPPLE", lib); GL_CHECK(gl.SwapAPPLE); gl.SwizzleEXT = (void APIENTRY (*)(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW)) ldg_find("glSwizzleEXT", lib); GL_CHECK(gl.SwizzleEXT); gl.SyncTextureINTEL = (void APIENTRY (*)(GLuint texture)) ldg_find("glSyncTextureINTEL", lib); GL_CHECK(gl.SyncTextureINTEL); gl.TagSampleBufferSGIX = (void APIENTRY (*)(void)) ldg_find("glTagSampleBufferSGIX", lib); GL_CHECK(gl.TagSampleBufferSGIX); gl.Tangent3bEXT = (void APIENTRY (*)(GLbyte32 tx, GLbyte32 ty, GLbyte32 tz)) ldg_find("glTangent3bEXT", lib); GL_CHECK(gl.Tangent3bEXT); gl.Tangent3bvEXT = (void APIENTRY (*)(const GLbyte *v)) ldg_find("glTangent3bvEXT", lib); GL_CHECK(gl.Tangent3bvEXT); gl.Tangent3dEXT = (void APIENTRY (*)(GLdouble tx, GLdouble ty, GLdouble tz)) ldg_find("glTangent3dEXT", lib); GL_CHECK(gl.Tangent3dEXT); gl.Tangent3dvEXT = (void APIENTRY (*)(const GLdouble *v)) ldg_find("glTangent3dvEXT", lib); GL_CHECK(gl.Tangent3dvEXT); gl.Tangent3fEXT = (void APIENTRY (*)(GLfloat tx, GLfloat ty, GLfloat tz)) ldg_find("glTangent3fEXT", lib); GL_CHECK(gl.Tangent3fEXT); gl.Tangent3fvEXT = (void APIENTRY (*)(const GLfloat *v)) ldg_find("glTangent3fvEXT", lib); GL_CHECK(gl.Tangent3fvEXT); gl.Tangent3iEXT = (void APIENTRY (*)(GLint tx, GLint ty, GLint tz)) ldg_find("glTangent3iEXT", lib); GL_CHECK(gl.Tangent3iEXT); gl.Tangent3ivEXT = (void APIENTRY (*)(const GLint *v)) ldg_find("glTangent3ivEXT", lib); GL_CHECK(gl.Tangent3ivEXT); gl.Tangent3sEXT = (void APIENTRY (*)(GLshort32 tx, GLshort32 ty, GLshort32 tz)) ldg_find("glTangent3sEXT", lib); GL_CHECK(gl.Tangent3sEXT); gl.Tangent3svEXT = (void APIENTRY (*)(const GLshort *v)) ldg_find("glTangent3svEXT", lib); GL_CHECK(gl.Tangent3svEXT); gl.TangentPointerEXT = (void APIENTRY (*)(GLenum type, GLsizei stride, const void *pointer)) ldg_find("glTangentPointerEXT", lib); GL_CHECK(gl.TangentPointerEXT); gl.TbufferMask3DFX = (void APIENTRY (*)(GLuint mask)) ldg_find("glTbufferMask3DFX", lib); GL_CHECK(gl.TbufferMask3DFX); gl.TessellationFactorAMD = (void APIENTRY (*)(GLfloat factor)) ldg_find("glTessellationFactorAMD", lib); GL_CHECK(gl.TessellationFactorAMD); gl.TessellationModeAMD = (void APIENTRY (*)(GLenum mode)) ldg_find("glTessellationModeAMD", lib); GL_CHECK(gl.TessellationModeAMD); gl.TestFenceAPPLE = (GLboolean APIENTRY (*)(GLuint fence)) ldg_find("glTestFenceAPPLE", lib); GL_CHECK(gl.TestFenceAPPLE); gl.TestFenceNV = (GLboolean APIENTRY (*)(GLuint fence)) ldg_find("glTestFenceNV", lib); GL_CHECK(gl.TestFenceNV); gl.TestObjectAPPLE = (GLboolean APIENTRY (*)(GLenum object, GLuint name)) ldg_find("glTestObjectAPPLE", lib); GL_CHECK(gl.TestObjectAPPLE); gl.TexBuffer = (void APIENTRY (*)(GLenum target, GLenum internalformat, GLuint buffer)) ldg_find("glTexBuffer", lib); GL_CHECK(gl.TexBuffer); gl.TexBufferARB = (void APIENTRY (*)(GLenum target, GLenum internalformat, GLuint buffer)) ldg_find("glTexBufferARB", lib); GL_CHECK(gl.TexBufferARB); gl.TexBufferEXT = (void APIENTRY (*)(GLenum target, GLenum internalformat, GLuint buffer)) ldg_find("glTexBufferEXT", lib); GL_CHECK(gl.TexBufferEXT); gl.TexBufferRange = (void APIENTRY (*)(GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size)) ldg_find("glTexBufferRange", lib); GL_CHECK(gl.TexBufferRange); gl.TexBumpParameterfvATI = (void APIENTRY (*)(GLenum pname, const GLfloat *param)) ldg_find("glTexBumpParameterfvATI", lib); GL_CHECK(gl.TexBumpParameterfvATI); gl.TexBumpParameterivATI = (void APIENTRY (*)(GLenum pname, const GLint *param)) ldg_find("glTexBumpParameterivATI", lib); GL_CHECK(gl.TexBumpParameterivATI); gl.TexCoord1bOES = (void APIENTRY (*)(GLbyte32 s)) ldg_find("glTexCoord1bOES", lib); GL_CHECK(gl.TexCoord1bOES); gl.TexCoord1bvOES = (void APIENTRY (*)(const GLbyte *coords)) ldg_find("glTexCoord1bvOES", lib); GL_CHECK(gl.TexCoord1bvOES); gl.TexCoord1d = (void APIENTRY (*)(GLdouble s)) ldg_find("glTexCoord1d", lib); GL_CHECK(gl.TexCoord1d); gl.TexCoord1dv = (void APIENTRY (*)(const GLdouble *v)) ldg_find("glTexCoord1dv", lib); GL_CHECK(gl.TexCoord1dv); gl.TexCoord1f = (void APIENTRY (*)(GLfloat s)) ldg_find("glTexCoord1f", lib); GL_CHECK(gl.TexCoord1f); gl.TexCoord1fv = (void APIENTRY (*)(const GLfloat *v)) ldg_find("glTexCoord1fv", lib); GL_CHECK(gl.TexCoord1fv); gl.TexCoord1hNV = (void APIENTRY (*)(GLhalfNV32 s)) ldg_find("glTexCoord1hNV", lib); GL_CHECK(gl.TexCoord1hNV); gl.TexCoord1hvNV = (void APIENTRY (*)(const GLhalfNV *v)) ldg_find("glTexCoord1hvNV", lib); GL_CHECK(gl.TexCoord1hvNV); gl.TexCoord1i = (void APIENTRY (*)(GLint s)) ldg_find("glTexCoord1i", lib); GL_CHECK(gl.TexCoord1i); gl.TexCoord1iv = (void APIENTRY (*)(const GLint *v)) ldg_find("glTexCoord1iv", lib); GL_CHECK(gl.TexCoord1iv); gl.TexCoord1s = (void APIENTRY (*)(GLshort32 s)) ldg_find("glTexCoord1s", lib); GL_CHECK(gl.TexCoord1s); gl.TexCoord1sv = (void APIENTRY (*)(const GLshort *v)) ldg_find("glTexCoord1sv", lib); GL_CHECK(gl.TexCoord1sv); gl.TexCoord1xOES = (void APIENTRY (*)(GLfixed s)) ldg_find("glTexCoord1xOES", lib); GL_CHECK(gl.TexCoord1xOES); gl.TexCoord1xvOES = (void APIENTRY (*)(const GLfixed *coords)) ldg_find("glTexCoord1xvOES", lib); GL_CHECK(gl.TexCoord1xvOES); gl.TexCoord2bOES = (void APIENTRY (*)(GLbyte32 s, GLbyte32 t)) ldg_find("glTexCoord2bOES", lib); GL_CHECK(gl.TexCoord2bOES); gl.TexCoord2bvOES = (void APIENTRY (*)(const GLbyte *coords)) ldg_find("glTexCoord2bvOES", lib); GL_CHECK(gl.TexCoord2bvOES); gl.TexCoord2d = (void APIENTRY (*)(GLdouble s, GLdouble t)) ldg_find("glTexCoord2d", lib); GL_CHECK(gl.TexCoord2d); gl.TexCoord2dv = (void APIENTRY (*)(const GLdouble *v)) ldg_find("glTexCoord2dv", lib); GL_CHECK(gl.TexCoord2dv); gl.TexCoord2f = (void APIENTRY (*)(GLfloat s, GLfloat t)) ldg_find("glTexCoord2f", lib); GL_CHECK(gl.TexCoord2f); gl.TexCoord2fColor3fVertex3fSUN = (void APIENTRY (*)(GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat x, GLfloat y, GLfloat z)) ldg_find("glTexCoord2fColor3fVertex3fSUN", lib); GL_CHECK(gl.TexCoord2fColor3fVertex3fSUN); gl.TexCoord2fColor3fVertex3fvSUN = (void APIENTRY (*)(const GLfloat *tc, const GLfloat *c, const GLfloat *v)) ldg_find("glTexCoord2fColor3fVertex3fvSUN", lib); GL_CHECK(gl.TexCoord2fColor3fVertex3fvSUN); gl.TexCoord2fColor4fNormal3fVertex3fSUN = (void APIENTRY (*)(GLfloat s, GLfloat t, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z)) ldg_find("glTexCoord2fColor4fNormal3fVertex3fSUN", lib); GL_CHECK(gl.TexCoord2fColor4fNormal3fVertex3fSUN); gl.TexCoord2fColor4fNormal3fVertex3fvSUN = (void APIENTRY (*)(const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v)) ldg_find("glTexCoord2fColor4fNormal3fVertex3fvSUN", lib); GL_CHECK(gl.TexCoord2fColor4fNormal3fVertex3fvSUN); gl.TexCoord2fColor4ubVertex3fSUN = (void APIENTRY (*)(GLfloat s, GLfloat t, GLubyte32 r, GLubyte32 g, GLubyte32 b, GLubyte32 a, GLfloat x, GLfloat y, GLfloat z)) ldg_find("glTexCoord2fColor4ubVertex3fSUN", lib); GL_CHECK(gl.TexCoord2fColor4ubVertex3fSUN); gl.TexCoord2fColor4ubVertex3fvSUN = (void APIENTRY (*)(const GLfloat *tc, const GLubyte *c, const GLfloat *v)) ldg_find("glTexCoord2fColor4ubVertex3fvSUN", lib); GL_CHECK(gl.TexCoord2fColor4ubVertex3fvSUN); gl.TexCoord2fNormal3fVertex3fSUN = (void APIENTRY (*)(GLfloat s, GLfloat t, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z)) ldg_find("glTexCoord2fNormal3fVertex3fSUN", lib); GL_CHECK(gl.TexCoord2fNormal3fVertex3fSUN); gl.TexCoord2fNormal3fVertex3fvSUN = (void APIENTRY (*)(const GLfloat *tc, const GLfloat *n, const GLfloat *v)) ldg_find("glTexCoord2fNormal3fVertex3fvSUN", lib); GL_CHECK(gl.TexCoord2fNormal3fVertex3fvSUN); gl.TexCoord2fVertex3fSUN = (void APIENTRY (*)(GLfloat s, GLfloat t, GLfloat x, GLfloat y, GLfloat z)) ldg_find("glTexCoord2fVertex3fSUN", lib); GL_CHECK(gl.TexCoord2fVertex3fSUN); gl.TexCoord2fVertex3fvSUN = (void APIENTRY (*)(const GLfloat *tc, const GLfloat *v)) ldg_find("glTexCoord2fVertex3fvSUN", lib); GL_CHECK(gl.TexCoord2fVertex3fvSUN); gl.TexCoord2fv = (void APIENTRY (*)(const GLfloat *v)) ldg_find("glTexCoord2fv", lib); GL_CHECK(gl.TexCoord2fv); gl.TexCoord2hNV = (void APIENTRY (*)(GLhalfNV32 s, GLhalfNV32 t)) ldg_find("glTexCoord2hNV", lib); GL_CHECK(gl.TexCoord2hNV); gl.TexCoord2hvNV = (void APIENTRY (*)(const GLhalfNV *v)) ldg_find("glTexCoord2hvNV", lib); GL_CHECK(gl.TexCoord2hvNV); gl.TexCoord2i = (void APIENTRY (*)(GLint s, GLint t)) ldg_find("glTexCoord2i", lib); GL_CHECK(gl.TexCoord2i); gl.TexCoord2iv = (void APIENTRY (*)(const GLint *v)) ldg_find("glTexCoord2iv", lib); GL_CHECK(gl.TexCoord2iv); gl.TexCoord2s = (void APIENTRY (*)(GLshort32 s, GLshort32 t)) ldg_find("glTexCoord2s", lib); GL_CHECK(gl.TexCoord2s); gl.TexCoord2sv = (void APIENTRY (*)(const GLshort *v)) ldg_find("glTexCoord2sv", lib); GL_CHECK(gl.TexCoord2sv); gl.TexCoord2xOES = (void APIENTRY (*)(GLfixed s, GLfixed t)) ldg_find("glTexCoord2xOES", lib); GL_CHECK(gl.TexCoord2xOES); gl.TexCoord2xvOES = (void APIENTRY (*)(const GLfixed *coords)) ldg_find("glTexCoord2xvOES", lib); GL_CHECK(gl.TexCoord2xvOES); gl.TexCoord3bOES = (void APIENTRY (*)(GLbyte32 s, GLbyte32 t, GLbyte32 r)) ldg_find("glTexCoord3bOES", lib); GL_CHECK(gl.TexCoord3bOES); gl.TexCoord3bvOES = (void APIENTRY (*)(const GLbyte *coords)) ldg_find("glTexCoord3bvOES", lib); GL_CHECK(gl.TexCoord3bvOES); gl.TexCoord3d = (void APIENTRY (*)(GLdouble s, GLdouble t, GLdouble r)) ldg_find("glTexCoord3d", lib); GL_CHECK(gl.TexCoord3d); gl.TexCoord3dv = (void APIENTRY (*)(const GLdouble *v)) ldg_find("glTexCoord3dv", lib); GL_CHECK(gl.TexCoord3dv); gl.TexCoord3f = (void APIENTRY (*)(GLfloat s, GLfloat t, GLfloat r)) ldg_find("glTexCoord3f", lib); GL_CHECK(gl.TexCoord3f); gl.TexCoord3fv = (void APIENTRY (*)(const GLfloat *v)) ldg_find("glTexCoord3fv", lib); GL_CHECK(gl.TexCoord3fv); gl.TexCoord3hNV = (void APIENTRY (*)(GLhalfNV32 s, GLhalfNV32 t, GLhalfNV32 r)) ldg_find("glTexCoord3hNV", lib); GL_CHECK(gl.TexCoord3hNV); gl.TexCoord3hvNV = (void APIENTRY (*)(const GLhalfNV *v)) ldg_find("glTexCoord3hvNV", lib); GL_CHECK(gl.TexCoord3hvNV); gl.TexCoord3i = (void APIENTRY (*)(GLint s, GLint t, GLint r)) ldg_find("glTexCoord3i", lib); GL_CHECK(gl.TexCoord3i); gl.TexCoord3iv = (void APIENTRY (*)(const GLint *v)) ldg_find("glTexCoord3iv", lib); GL_CHECK(gl.TexCoord3iv); gl.TexCoord3s = (void APIENTRY (*)(GLshort32 s, GLshort32 t, GLshort32 r)) ldg_find("glTexCoord3s", lib); GL_CHECK(gl.TexCoord3s); gl.TexCoord3sv = (void APIENTRY (*)(const GLshort *v)) ldg_find("glTexCoord3sv", lib); GL_CHECK(gl.TexCoord3sv); gl.TexCoord3xOES = (void APIENTRY (*)(GLfixed s, GLfixed t, GLfixed r)) ldg_find("glTexCoord3xOES", lib); GL_CHECK(gl.TexCoord3xOES); gl.TexCoord3xvOES = (void APIENTRY (*)(const GLfixed *coords)) ldg_find("glTexCoord3xvOES", lib); GL_CHECK(gl.TexCoord3xvOES); gl.TexCoord4bOES = (void APIENTRY (*)(GLbyte32 s, GLbyte32 t, GLbyte32 r, GLbyte32 q)) ldg_find("glTexCoord4bOES", lib); GL_CHECK(gl.TexCoord4bOES); gl.TexCoord4bvOES = (void APIENTRY (*)(const GLbyte *coords)) ldg_find("glTexCoord4bvOES", lib); GL_CHECK(gl.TexCoord4bvOES); gl.TexCoord4d = (void APIENTRY (*)(GLdouble s, GLdouble t, GLdouble r, GLdouble q)) ldg_find("glTexCoord4d", lib); GL_CHECK(gl.TexCoord4d); gl.TexCoord4dv = (void APIENTRY (*)(const GLdouble *v)) ldg_find("glTexCoord4dv", lib); GL_CHECK(gl.TexCoord4dv); gl.TexCoord4f = (void APIENTRY (*)(GLfloat s, GLfloat t, GLfloat r, GLfloat q)) ldg_find("glTexCoord4f", lib); GL_CHECK(gl.TexCoord4f); gl.TexCoord4fColor4fNormal3fVertex4fSUN = (void APIENTRY (*)(GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat r, GLfloat g, GLfloat b, GLfloat a, GLfloat nx, GLfloat ny, GLfloat nz, GLfloat x, GLfloat y, GLfloat z, GLfloat w)) ldg_find("glTexCoord4fColor4fNormal3fVertex4fSUN", lib); GL_CHECK(gl.TexCoord4fColor4fNormal3fVertex4fSUN); gl.TexCoord4fColor4fNormal3fVertex4fvSUN = (void APIENTRY (*)(const GLfloat *tc, const GLfloat *c, const GLfloat *n, const GLfloat *v)) ldg_find("glTexCoord4fColor4fNormal3fVertex4fvSUN", lib); GL_CHECK(gl.TexCoord4fColor4fNormal3fVertex4fvSUN); gl.TexCoord4fVertex4fSUN = (void APIENTRY (*)(GLfloat s, GLfloat t, GLfloat p, GLfloat q, GLfloat x, GLfloat y, GLfloat z, GLfloat w)) ldg_find("glTexCoord4fVertex4fSUN", lib); GL_CHECK(gl.TexCoord4fVertex4fSUN); gl.TexCoord4fVertex4fvSUN = (void APIENTRY (*)(const GLfloat *tc, const GLfloat *v)) ldg_find("glTexCoord4fVertex4fvSUN", lib); GL_CHECK(gl.TexCoord4fVertex4fvSUN); gl.TexCoord4fv = (void APIENTRY (*)(const GLfloat *v)) ldg_find("glTexCoord4fv", lib); GL_CHECK(gl.TexCoord4fv); gl.TexCoord4hNV = (void APIENTRY (*)(GLhalfNV32 s, GLhalfNV32 t, GLhalfNV32 r, GLhalfNV32 q)) ldg_find("glTexCoord4hNV", lib); GL_CHECK(gl.TexCoord4hNV); gl.TexCoord4hvNV = (void APIENTRY (*)(const GLhalfNV *v)) ldg_find("glTexCoord4hvNV", lib); GL_CHECK(gl.TexCoord4hvNV); gl.TexCoord4i = (void APIENTRY (*)(GLint s, GLint t, GLint r, GLint q)) ldg_find("glTexCoord4i", lib); GL_CHECK(gl.TexCoord4i); gl.TexCoord4iv = (void APIENTRY (*)(const GLint *v)) ldg_find("glTexCoord4iv", lib); GL_CHECK(gl.TexCoord4iv); gl.TexCoord4s = (void APIENTRY (*)(GLshort32 s, GLshort32 t, GLshort32 r, GLshort32 q)) ldg_find("glTexCoord4s", lib); GL_CHECK(gl.TexCoord4s); gl.TexCoord4sv = (void APIENTRY (*)(const GLshort *v)) ldg_find("glTexCoord4sv", lib); GL_CHECK(gl.TexCoord4sv); gl.TexCoord4xOES = (void APIENTRY (*)(GLfixed s, GLfixed t, GLfixed r, GLfixed q)) ldg_find("glTexCoord4xOES", lib); GL_CHECK(gl.TexCoord4xOES); gl.TexCoord4xvOES = (void APIENTRY (*)(const GLfixed *coords)) ldg_find("glTexCoord4xvOES", lib); GL_CHECK(gl.TexCoord4xvOES); gl.TexCoordFormatNV = (void APIENTRY (*)(GLint size, GLenum type, GLsizei stride)) ldg_find("glTexCoordFormatNV", lib); GL_CHECK(gl.TexCoordFormatNV); gl.TexCoordP1ui = (void APIENTRY (*)(GLenum type, GLuint coords)) ldg_find("glTexCoordP1ui", lib); GL_CHECK(gl.TexCoordP1ui); gl.TexCoordP1uiv = (void APIENTRY (*)(GLenum type, const GLuint *coords)) ldg_find("glTexCoordP1uiv", lib); GL_CHECK(gl.TexCoordP1uiv); gl.TexCoordP2ui = (void APIENTRY (*)(GLenum type, GLuint coords)) ldg_find("glTexCoordP2ui", lib); GL_CHECK(gl.TexCoordP2ui); gl.TexCoordP2uiv = (void APIENTRY (*)(GLenum type, const GLuint *coords)) ldg_find("glTexCoordP2uiv", lib); GL_CHECK(gl.TexCoordP2uiv); gl.TexCoordP3ui = (void APIENTRY (*)(GLenum type, GLuint coords)) ldg_find("glTexCoordP3ui", lib); GL_CHECK(gl.TexCoordP3ui); gl.TexCoordP3uiv = (void APIENTRY (*)(GLenum type, const GLuint *coords)) ldg_find("glTexCoordP3uiv", lib); GL_CHECK(gl.TexCoordP3uiv); gl.TexCoordP4ui = (void APIENTRY (*)(GLenum type, GLuint coords)) ldg_find("glTexCoordP4ui", lib); GL_CHECK(gl.TexCoordP4ui); gl.TexCoordP4uiv = (void APIENTRY (*)(GLenum type, const GLuint *coords)) ldg_find("glTexCoordP4uiv", lib); GL_CHECK(gl.TexCoordP4uiv); gl.TexCoordPointer = (void APIENTRY (*)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)) ldg_find("glTexCoordPointer", lib); GL_CHECK(gl.TexCoordPointer); gl.TexCoordPointerEXT = (void APIENTRY (*)(GLint size, GLenum type, GLsizei stride, GLsizei count, const void *pointer)) ldg_find("glTexCoordPointerEXT", lib); GL_CHECK(gl.TexCoordPointerEXT); gl.TexCoordPointerListIBM = (void APIENTRY (*)(GLint size, GLenum type, GLint stride, const void * *pointer, GLint ptrstride)) ldg_find("glTexCoordPointerListIBM", lib); GL_CHECK(gl.TexCoordPointerListIBM); gl.TexCoordPointervINTEL = (void APIENTRY (*)(GLint size, GLenum type, const void * *pointer)) ldg_find("glTexCoordPointervINTEL", lib); GL_CHECK(gl.TexCoordPointervINTEL); gl.TexEnvf = (void APIENTRY (*)(GLenum target, GLenum pname, GLfloat param)) ldg_find("glTexEnvf", lib); GL_CHECK(gl.TexEnvf); gl.TexEnvfv = (void APIENTRY (*)(GLenum target, GLenum pname, const GLfloat *params)) ldg_find("glTexEnvfv", lib); GL_CHECK(gl.TexEnvfv); gl.TexEnvi = (void APIENTRY (*)(GLenum target, GLenum pname, GLint param)) ldg_find("glTexEnvi", lib); GL_CHECK(gl.TexEnvi); gl.TexEnviv = (void APIENTRY (*)(GLenum target, GLenum pname, const GLint *params)) ldg_find("glTexEnviv", lib); GL_CHECK(gl.TexEnviv); gl.TexEnvxOES = (void APIENTRY (*)(GLenum target, GLenum pname, GLfixed param)) ldg_find("glTexEnvxOES", lib); GL_CHECK(gl.TexEnvxOES); gl.TexEnvxvOES = (void APIENTRY (*)(GLenum target, GLenum pname, const GLfixed *params)) ldg_find("glTexEnvxvOES", lib); GL_CHECK(gl.TexEnvxvOES); gl.TexFilterFuncSGIS = (void APIENTRY (*)(GLenum target, GLenum filter, GLsizei n, const GLfloat *weights)) ldg_find("glTexFilterFuncSGIS", lib); GL_CHECK(gl.TexFilterFuncSGIS); gl.TexGend = (void APIENTRY (*)(GLenum coord, GLenum pname, GLdouble param)) ldg_find("glTexGend", lib); GL_CHECK(gl.TexGend); gl.TexGendv = (void APIENTRY (*)(GLenum coord, GLenum pname, const GLdouble *params)) ldg_find("glTexGendv", lib); GL_CHECK(gl.TexGendv); gl.TexGenf = (void APIENTRY (*)(GLenum coord, GLenum pname, GLfloat param)) ldg_find("glTexGenf", lib); GL_CHECK(gl.TexGenf); gl.TexGenfv = (void APIENTRY (*)(GLenum coord, GLenum pname, const GLfloat *params)) ldg_find("glTexGenfv", lib); GL_CHECK(gl.TexGenfv); gl.TexGeni = (void APIENTRY (*)(GLenum coord, GLenum pname, GLint param)) ldg_find("glTexGeni", lib); GL_CHECK(gl.TexGeni); gl.TexGeniv = (void APIENTRY (*)(GLenum coord, GLenum pname, const GLint *params)) ldg_find("glTexGeniv", lib); GL_CHECK(gl.TexGeniv); gl.TexGenxOES = (void APIENTRY (*)(GLenum coord, GLenum pname, GLfixed param)) ldg_find("glTexGenxOES", lib); GL_CHECK(gl.TexGenxOES); gl.TexGenxvOES = (void APIENTRY (*)(GLenum coord, GLenum pname, const GLfixed *params)) ldg_find("glTexGenxvOES", lib); GL_CHECK(gl.TexGenxvOES); gl.TexImage1D = (void APIENTRY (*)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const GLvoid *pixels)) ldg_find("glTexImage1D", lib); GL_CHECK(gl.TexImage1D); gl.TexImage2D = (void APIENTRY (*)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels)) ldg_find("glTexImage2D", lib); GL_CHECK(gl.TexImage2D); gl.TexImage2DMultisample = (void APIENTRY (*)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean32 fixedsamplelocations)) ldg_find("glTexImage2DMultisample", lib); GL_CHECK(gl.TexImage2DMultisample); gl.TexImage2DMultisampleCoverageNV = (void APIENTRY (*)(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean32 fixedSampleLocations)) ldg_find("glTexImage2DMultisampleCoverageNV", lib); GL_CHECK(gl.TexImage2DMultisampleCoverageNV); gl.TexImage3D = (void APIENTRY (*)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels)) ldg_find("glTexImage3D", lib); GL_CHECK(gl.TexImage3D); gl.TexImage3DEXT = (void APIENTRY (*)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels)) ldg_find("glTexImage3DEXT", lib); GL_CHECK(gl.TexImage3DEXT); gl.TexImage3DMultisample = (void APIENTRY (*)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean32 fixedsamplelocations)) ldg_find("glTexImage3DMultisample", lib); GL_CHECK(gl.TexImage3DMultisample); gl.TexImage3DMultisampleCoverageNV = (void APIENTRY (*)(GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean32 fixedSampleLocations)) ldg_find("glTexImage3DMultisampleCoverageNV", lib); GL_CHECK(gl.TexImage3DMultisampleCoverageNV); gl.TexImage4DSGIS = (void APIENTRY (*)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLint border, GLenum format, GLenum type, const void *pixels)) ldg_find("glTexImage4DSGIS", lib); GL_CHECK(gl.TexImage4DSGIS); gl.TexPageCommitmentARB = (void APIENTRY (*)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean32 resident)) ldg_find("glTexPageCommitmentARB", lib); GL_CHECK(gl.TexPageCommitmentARB); gl.TexParameterIiv = (void APIENTRY (*)(GLenum target, GLenum pname, const GLint *params)) ldg_find("glTexParameterIiv", lib); GL_CHECK(gl.TexParameterIiv); gl.TexParameterIivEXT = (void APIENTRY (*)(GLenum target, GLenum pname, const GLint *params)) ldg_find("glTexParameterIivEXT", lib); GL_CHECK(gl.TexParameterIivEXT); gl.TexParameterIuiv = (void APIENTRY (*)(GLenum target, GLenum pname, const GLuint *params)) ldg_find("glTexParameterIuiv", lib); GL_CHECK(gl.TexParameterIuiv); gl.TexParameterIuivEXT = (void APIENTRY (*)(GLenum target, GLenum pname, const GLuint *params)) ldg_find("glTexParameterIuivEXT", lib); GL_CHECK(gl.TexParameterIuivEXT); gl.TexParameterf = (void APIENTRY (*)(GLenum target, GLenum pname, GLfloat param)) ldg_find("glTexParameterf", lib); GL_CHECK(gl.TexParameterf); gl.TexParameterfv = (void APIENTRY (*)(GLenum target, GLenum pname, const GLfloat *params)) ldg_find("glTexParameterfv", lib); GL_CHECK(gl.TexParameterfv); gl.TexParameteri = (void APIENTRY (*)(GLenum target, GLenum pname, GLint param)) ldg_find("glTexParameteri", lib); GL_CHECK(gl.TexParameteri); gl.TexParameteriv = (void APIENTRY (*)(GLenum target, GLenum pname, const GLint *params)) ldg_find("glTexParameteriv", lib); GL_CHECK(gl.TexParameteriv); gl.TexParameterxOES = (void APIENTRY (*)(GLenum target, GLenum pname, GLfixed param)) ldg_find("glTexParameterxOES", lib); GL_CHECK(gl.TexParameterxOES); gl.TexParameterxvOES = (void APIENTRY (*)(GLenum target, GLenum pname, const GLfixed *params)) ldg_find("glTexParameterxvOES", lib); GL_CHECK(gl.TexParameterxvOES); gl.TexRenderbufferNV = (void APIENTRY (*)(GLenum target, GLuint renderbuffer)) ldg_find("glTexRenderbufferNV", lib); GL_CHECK(gl.TexRenderbufferNV); gl.TexScissorFuncINTEL = (void APIENTRY (*)(GLenum target, GLenum lfunc, GLenum hfunc)) ldg_find("glTexScissorFuncINTEL", lib); GL_CHECK(gl.TexScissorFuncINTEL); gl.TexScissorINTEL = (void APIENTRY (*)(GLenum target, GLclampf tlow, GLclampf thigh)) ldg_find("glTexScissorINTEL", lib); GL_CHECK(gl.TexScissorINTEL); gl.TexStorage1D = (void APIENTRY (*)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width)) ldg_find("glTexStorage1D", lib); GL_CHECK(gl.TexStorage1D); gl.TexStorage2D = (void APIENTRY (*)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height)) ldg_find("glTexStorage2D", lib); GL_CHECK(gl.TexStorage2D); gl.TexStorage2DMultisample = (void APIENTRY (*)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean32 fixedsamplelocations)) ldg_find("glTexStorage2DMultisample", lib); GL_CHECK(gl.TexStorage2DMultisample); gl.TexStorage3D = (void APIENTRY (*)(GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth)) ldg_find("glTexStorage3D", lib); GL_CHECK(gl.TexStorage3D); gl.TexStorage3DMultisample = (void APIENTRY (*)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean32 fixedsamplelocations)) ldg_find("glTexStorage3DMultisample", lib); GL_CHECK(gl.TexStorage3DMultisample); gl.TexStorageSparseAMD = (void APIENTRY (*)(GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags)) ldg_find("glTexStorageSparseAMD", lib); GL_CHECK(gl.TexStorageSparseAMD); gl.TexSubImage1D = (void APIENTRY (*)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const GLvoid *pixels)) ldg_find("glTexSubImage1D", lib); GL_CHECK(gl.TexSubImage1D); gl.TexSubImage1DEXT = (void APIENTRY (*)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels)) ldg_find("glTexSubImage1DEXT", lib); GL_CHECK(gl.TexSubImage1DEXT); gl.TexSubImage2D = (void APIENTRY (*)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels)) ldg_find("glTexSubImage2D", lib); GL_CHECK(gl.TexSubImage2D); gl.TexSubImage2DEXT = (void APIENTRY (*)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels)) ldg_find("glTexSubImage2DEXT", lib); GL_CHECK(gl.TexSubImage2DEXT); gl.TexSubImage3D = (void APIENTRY (*)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels)) ldg_find("glTexSubImage3D", lib); GL_CHECK(gl.TexSubImage3D); gl.TexSubImage3DEXT = (void APIENTRY (*)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels)) ldg_find("glTexSubImage3DEXT", lib); GL_CHECK(gl.TexSubImage3DEXT); gl.TexSubImage4DSGIS = (void APIENTRY (*)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint woffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei size4d, GLenum format, GLenum type, const void *pixels)) ldg_find("glTexSubImage4DSGIS", lib); GL_CHECK(gl.TexSubImage4DSGIS); gl.TextureBarrierNV = (void APIENTRY (*)(void)) ldg_find("glTextureBarrierNV", lib); GL_CHECK(gl.TextureBarrierNV); gl.TextureBufferEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer)) ldg_find("glTextureBufferEXT", lib); GL_CHECK(gl.TextureBufferEXT); gl.TextureBufferRangeEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size)) ldg_find("glTextureBufferRangeEXT", lib); GL_CHECK(gl.TextureBufferRangeEXT); gl.TextureColorMaskSGIS = (void APIENTRY (*)(GLboolean32 red, GLboolean32 green, GLboolean32 blue, GLboolean32 alpha)) ldg_find("glTextureColorMaskSGIS", lib); GL_CHECK(gl.TextureColorMaskSGIS); gl.TextureFogSGIX = (void APIENTRY (*)(GLenum pname)) ldg_find("glTextureFogSGIX", lib); GL_CHECK(gl.TextureFogSGIX); gl.TextureImage1DEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels)) ldg_find("glTextureImage1DEXT", lib); GL_CHECK(gl.TextureImage1DEXT); gl.TextureImage2DEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels)) ldg_find("glTextureImage2DEXT", lib); GL_CHECK(gl.TextureImage2DEXT); gl.TextureImage2DMultisampleCoverageNV = (void APIENTRY (*)(GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean32 fixedSampleLocations)) ldg_find("glTextureImage2DMultisampleCoverageNV", lib); GL_CHECK(gl.TextureImage2DMultisampleCoverageNV); gl.TextureImage2DMultisampleNV = (void APIENTRY (*)(GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLboolean32 fixedSampleLocations)) ldg_find("glTextureImage2DMultisampleNV", lib); GL_CHECK(gl.TextureImage2DMultisampleNV); gl.TextureImage3DEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels)) ldg_find("glTextureImage3DEXT", lib); GL_CHECK(gl.TextureImage3DEXT); gl.TextureImage3DMultisampleCoverageNV = (void APIENTRY (*)(GLuint texture, GLenum target, GLsizei coverageSamples, GLsizei colorSamples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean32 fixedSampleLocations)) ldg_find("glTextureImage3DMultisampleCoverageNV", lib); GL_CHECK(gl.TextureImage3DMultisampleCoverageNV); gl.TextureImage3DMultisampleNV = (void APIENTRY (*)(GLuint texture, GLenum target, GLsizei samples, GLint internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean32 fixedSampleLocations)) ldg_find("glTextureImage3DMultisampleNV", lib); GL_CHECK(gl.TextureImage3DMultisampleNV); gl.TextureLightEXT = (void APIENTRY (*)(GLenum pname)) ldg_find("glTextureLightEXT", lib); GL_CHECK(gl.TextureLightEXT); gl.TextureMaterialEXT = (void APIENTRY (*)(GLenum face, GLenum mode)) ldg_find("glTextureMaterialEXT", lib); GL_CHECK(gl.TextureMaterialEXT); gl.TextureNormalEXT = (void APIENTRY (*)(GLenum mode)) ldg_find("glTextureNormalEXT", lib); GL_CHECK(gl.TextureNormalEXT); gl.TexturePageCommitmentEXT = (void APIENTRY (*)(GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean32 resident)) ldg_find("glTexturePageCommitmentEXT", lib); GL_CHECK(gl.TexturePageCommitmentEXT); gl.TextureParameterIivEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLenum pname, const GLint *params)) ldg_find("glTextureParameterIivEXT", lib); GL_CHECK(gl.TextureParameterIivEXT); gl.TextureParameterIuivEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLenum pname, const GLuint *params)) ldg_find("glTextureParameterIuivEXT", lib); GL_CHECK(gl.TextureParameterIuivEXT); gl.TextureParameterfEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLenum pname, GLfloat param)) ldg_find("glTextureParameterfEXT", lib); GL_CHECK(gl.TextureParameterfEXT); gl.TextureParameterfvEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLenum pname, const GLfloat *params)) ldg_find("glTextureParameterfvEXT", lib); GL_CHECK(gl.TextureParameterfvEXT); gl.TextureParameteriEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLenum pname, GLint param)) ldg_find("glTextureParameteriEXT", lib); GL_CHECK(gl.TextureParameteriEXT); gl.TextureParameterivEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLenum pname, const GLint *params)) ldg_find("glTextureParameterivEXT", lib); GL_CHECK(gl.TextureParameterivEXT); gl.TextureRangeAPPLE = (void APIENTRY (*)(GLenum target, GLsizei length, const void *pointer)) ldg_find("glTextureRangeAPPLE", lib); GL_CHECK(gl.TextureRangeAPPLE); gl.TextureRenderbufferEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLuint renderbuffer)) ldg_find("glTextureRenderbufferEXT", lib); GL_CHECK(gl.TextureRenderbufferEXT); gl.TextureStorage1DEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width)) ldg_find("glTextureStorage1DEXT", lib); GL_CHECK(gl.TextureStorage1DEXT); gl.TextureStorage2DEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height)) ldg_find("glTextureStorage2DEXT", lib); GL_CHECK(gl.TextureStorage2DEXT); gl.TextureStorage2DMultisampleEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean32 fixedsamplelocations)) ldg_find("glTextureStorage2DMultisampleEXT", lib); GL_CHECK(gl.TextureStorage2DMultisampleEXT); gl.TextureStorage3DEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth)) ldg_find("glTextureStorage3DEXT", lib); GL_CHECK(gl.TextureStorage3DEXT); gl.TextureStorage3DMultisampleEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean32 fixedsamplelocations)) ldg_find("glTextureStorage3DMultisampleEXT", lib); GL_CHECK(gl.TextureStorage3DMultisampleEXT); gl.TextureStorageSparseAMD = (void APIENTRY (*)(GLuint texture, GLenum target, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLsizei layers, GLbitfield flags)) ldg_find("glTextureStorageSparseAMD", lib); GL_CHECK(gl.TextureStorageSparseAMD); gl.TextureSubImage1DEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels)) ldg_find("glTextureSubImage1DEXT", lib); GL_CHECK(gl.TextureSubImage1DEXT); gl.TextureSubImage2DEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels)) ldg_find("glTextureSubImage2DEXT", lib); GL_CHECK(gl.TextureSubImage2DEXT); gl.TextureSubImage3DEXT = (void APIENTRY (*)(GLuint texture, GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels)) ldg_find("glTextureSubImage3DEXT", lib); GL_CHECK(gl.TextureSubImage3DEXT); gl.TextureView = (void APIENTRY (*)(GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers)) ldg_find("glTextureView", lib); GL_CHECK(gl.TextureView); gl.TraceAssertAttribMESA = (void APIENTRY (*)(GLbitfield attribMask)) ldg_find("glTraceAssertAttribMESA", lib); GL_CHECK(gl.TraceAssertAttribMESA); gl.TraceCommentMESA = (void APIENTRY (*)(const GLubyte *comment)) ldg_find("glTraceCommentMESA", lib); GL_CHECK(gl.TraceCommentMESA); gl.TraceListMESA = (void APIENTRY (*)(GLuint name, const GLubyte *comment)) ldg_find("glTraceListMESA", lib); GL_CHECK(gl.TraceListMESA); gl.TracePointerMESA = (void APIENTRY (*)(GLvoid *pointer, const GLubyte *comment)) ldg_find("glTracePointerMESA", lib); GL_CHECK(gl.TracePointerMESA); gl.TracePointerRangeMESA = (void APIENTRY (*)(const GLvoid *first, const GLvoid *last, const GLubyte *comment)) ldg_find("glTracePointerRangeMESA", lib); GL_CHECK(gl.TracePointerRangeMESA); gl.TraceTextureMESA = (void APIENTRY (*)(GLuint name, const GLubyte *comment)) ldg_find("glTraceTextureMESA", lib); GL_CHECK(gl.TraceTextureMESA); gl.TrackMatrixNV = (void APIENTRY (*)(GLenum target, GLuint address, GLenum matrix, GLenum transform)) ldg_find("glTrackMatrixNV", lib); GL_CHECK(gl.TrackMatrixNV); gl.TransformFeedbackAttribsNV = (void APIENTRY (*)(GLuint count, const GLint *attribs, GLenum bufferMode)) ldg_find("glTransformFeedbackAttribsNV", lib); GL_CHECK(gl.TransformFeedbackAttribsNV); gl.TransformFeedbackStreamAttribsNV = (void APIENTRY (*)(GLsizei count, const GLint *attribs, GLsizei nbuffers, const GLint *bufstreams, GLenum bufferMode)) ldg_find("glTransformFeedbackStreamAttribsNV", lib); GL_CHECK(gl.TransformFeedbackStreamAttribsNV); gl.TransformFeedbackVaryings = (void APIENTRY (*)(GLuint program, GLsizei count, const GLchar *const *varyings, GLenum bufferMode)) ldg_find("glTransformFeedbackVaryings", lib); GL_CHECK(gl.TransformFeedbackVaryings); gl.TransformFeedbackVaryingsEXT = (void APIENTRY (*)(GLuint program, GLsizei count, const GLchar *const *varyings, GLenum bufferMode)) ldg_find("glTransformFeedbackVaryingsEXT", lib); GL_CHECK(gl.TransformFeedbackVaryingsEXT); gl.TransformFeedbackVaryingsNV = (void APIENTRY (*)(GLuint program, GLsizei count, const GLint *locations, GLenum bufferMode)) ldg_find("glTransformFeedbackVaryingsNV", lib); GL_CHECK(gl.TransformFeedbackVaryingsNV); gl.TransformPathNV = (void APIENTRY (*)(GLuint resultPath, GLuint srcPath, GLenum transformType, const GLfloat *transformValues)) ldg_find("glTransformPathNV", lib); GL_CHECK(gl.TransformPathNV); gl.Translated = (void APIENTRY (*)(GLdouble x, GLdouble y, GLdouble z)) ldg_find("glTranslated", lib); GL_CHECK(gl.Translated); gl.Translatef = (void APIENTRY (*)(GLfloat x, GLfloat y, GLfloat z)) ldg_find("glTranslatef", lib); GL_CHECK(gl.Translatef); gl.TranslatexOES = (void APIENTRY (*)(GLfixed x, GLfixed y, GLfixed z)) ldg_find("glTranslatexOES", lib); GL_CHECK(gl.TranslatexOES); gl.Uniform1d = (void APIENTRY (*)(GLint location, GLdouble x)) ldg_find("glUniform1d", lib); GL_CHECK(gl.Uniform1d); gl.Uniform1dv = (void APIENTRY (*)(GLint location, GLsizei count, const GLdouble *value)) ldg_find("glUniform1dv", lib); GL_CHECK(gl.Uniform1dv); gl.Uniform1f = (void APIENTRY (*)(GLint location, GLfloat v0)) ldg_find("glUniform1f", lib); GL_CHECK(gl.Uniform1f); gl.Uniform1fARB = (void APIENTRY (*)(GLint location, GLfloat v0)) ldg_find("glUniform1fARB", lib); GL_CHECK(gl.Uniform1fARB); gl.Uniform1fv = (void APIENTRY (*)(GLint location, GLsizei count, const GLfloat *value)) ldg_find("glUniform1fv", lib); GL_CHECK(gl.Uniform1fv); gl.Uniform1fvARB = (void APIENTRY (*)(GLint location, GLsizei count, const GLfloat *value)) ldg_find("glUniform1fvARB", lib); GL_CHECK(gl.Uniform1fvARB); gl.Uniform1i = (void APIENTRY (*)(GLint location, GLint v0)) ldg_find("glUniform1i", lib); GL_CHECK(gl.Uniform1i); gl.Uniform1i64NV = (void APIENTRY (*)(GLint location, GLint64EXT x)) ldg_find("glUniform1i64NV", lib); GL_CHECK(gl.Uniform1i64NV); gl.Uniform1i64vNV = (void APIENTRY (*)(GLint location, GLsizei count, const GLint64EXT *value)) ldg_find("glUniform1i64vNV", lib); GL_CHECK(gl.Uniform1i64vNV); gl.Uniform1iARB = (void APIENTRY (*)(GLint location, GLint v0)) ldg_find("glUniform1iARB", lib); GL_CHECK(gl.Uniform1iARB); gl.Uniform1iv = (void APIENTRY (*)(GLint location, GLsizei count, const GLint *value)) ldg_find("glUniform1iv", lib); GL_CHECK(gl.Uniform1iv); gl.Uniform1ivARB = (void APIENTRY (*)(GLint location, GLsizei count, const GLint *value)) ldg_find("glUniform1ivARB", lib); GL_CHECK(gl.Uniform1ivARB); gl.Uniform1ui = (void APIENTRY (*)(GLint location, GLuint v0)) ldg_find("glUniform1ui", lib); GL_CHECK(gl.Uniform1ui); gl.Uniform1ui64NV = (void APIENTRY (*)(GLint location, GLuint64EXT x)) ldg_find("glUniform1ui64NV", lib); GL_CHECK(gl.Uniform1ui64NV); gl.Uniform1ui64vNV = (void APIENTRY (*)(GLint location, GLsizei count, const GLuint64EXT *value)) ldg_find("glUniform1ui64vNV", lib); GL_CHECK(gl.Uniform1ui64vNV); gl.Uniform1uiEXT = (void APIENTRY (*)(GLint location, GLuint v0)) ldg_find("glUniform1uiEXT", lib); GL_CHECK(gl.Uniform1uiEXT); gl.Uniform1uiv = (void APIENTRY (*)(GLint location, GLsizei count, const GLuint *value)) ldg_find("glUniform1uiv", lib); GL_CHECK(gl.Uniform1uiv); gl.Uniform1uivEXT = (void APIENTRY (*)(GLint location, GLsizei count, const GLuint *value)) ldg_find("glUniform1uivEXT", lib); GL_CHECK(gl.Uniform1uivEXT); gl.Uniform2d = (void APIENTRY (*)(GLint location, GLdouble x, GLdouble y)) ldg_find("glUniform2d", lib); GL_CHECK(gl.Uniform2d); gl.Uniform2dv = (void APIENTRY (*)(GLint location, GLsizei count, const GLdouble *value)) ldg_find("glUniform2dv", lib); GL_CHECK(gl.Uniform2dv); gl.Uniform2f = (void APIENTRY (*)(GLint location, GLfloat v0, GLfloat v1)) ldg_find("glUniform2f", lib); GL_CHECK(gl.Uniform2f); gl.Uniform2fARB = (void APIENTRY (*)(GLint location, GLfloat v0, GLfloat v1)) ldg_find("glUniform2fARB", lib); GL_CHECK(gl.Uniform2fARB); gl.Uniform2fv = (void APIENTRY (*)(GLint location, GLsizei count, const GLfloat *value)) ldg_find("glUniform2fv", lib); GL_CHECK(gl.Uniform2fv); gl.Uniform2fvARB = (void APIENTRY (*)(GLint location, GLsizei count, const GLfloat *value)) ldg_find("glUniform2fvARB", lib); GL_CHECK(gl.Uniform2fvARB); gl.Uniform2i = (void APIENTRY (*)(GLint location, GLint v0, GLint v1)) ldg_find("glUniform2i", lib); GL_CHECK(gl.Uniform2i); gl.Uniform2i64NV = (void APIENTRY (*)(GLint location, GLint64EXT x, GLint64EXT y)) ldg_find("glUniform2i64NV", lib); GL_CHECK(gl.Uniform2i64NV); gl.Uniform2i64vNV = (void APIENTRY (*)(GLint location, GLsizei count, const GLint64EXT *value)) ldg_find("glUniform2i64vNV", lib); GL_CHECK(gl.Uniform2i64vNV); gl.Uniform2iARB = (void APIENTRY (*)(GLint location, GLint v0, GLint v1)) ldg_find("glUniform2iARB", lib); GL_CHECK(gl.Uniform2iARB); gl.Uniform2iv = (void APIENTRY (*)(GLint location, GLsizei count, const GLint *value)) ldg_find("glUniform2iv", lib); GL_CHECK(gl.Uniform2iv); gl.Uniform2ivARB = (void APIENTRY (*)(GLint location, GLsizei count, const GLint *value)) ldg_find("glUniform2ivARB", lib); GL_CHECK(gl.Uniform2ivARB); gl.Uniform2ui = (void APIENTRY (*)(GLint location, GLuint v0, GLuint v1)) ldg_find("glUniform2ui", lib); GL_CHECK(gl.Uniform2ui); gl.Uniform2ui64NV = (void APIENTRY (*)(GLint location, GLuint64EXT x, GLuint64EXT y)) ldg_find("glUniform2ui64NV", lib); GL_CHECK(gl.Uniform2ui64NV); gl.Uniform2ui64vNV = (void APIENTRY (*)(GLint location, GLsizei count, const GLuint64EXT *value)) ldg_find("glUniform2ui64vNV", lib); GL_CHECK(gl.Uniform2ui64vNV); gl.Uniform2uiEXT = (void APIENTRY (*)(GLint location, GLuint v0, GLuint v1)) ldg_find("glUniform2uiEXT", lib); GL_CHECK(gl.Uniform2uiEXT); gl.Uniform2uiv = (void APIENTRY (*)(GLint location, GLsizei count, const GLuint *value)) ldg_find("glUniform2uiv", lib); GL_CHECK(gl.Uniform2uiv); gl.Uniform2uivEXT = (void APIENTRY (*)(GLint location, GLsizei count, const GLuint *value)) ldg_find("glUniform2uivEXT", lib); GL_CHECK(gl.Uniform2uivEXT); gl.Uniform3d = (void APIENTRY (*)(GLint location, GLdouble x, GLdouble y, GLdouble z)) ldg_find("glUniform3d", lib); GL_CHECK(gl.Uniform3d); gl.Uniform3dv = (void APIENTRY (*)(GLint location, GLsizei count, const GLdouble *value)) ldg_find("glUniform3dv", lib); GL_CHECK(gl.Uniform3dv); gl.Uniform3f = (void APIENTRY (*)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2)) ldg_find("glUniform3f", lib); GL_CHECK(gl.Uniform3f); gl.Uniform3fARB = (void APIENTRY (*)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2)) ldg_find("glUniform3fARB", lib); GL_CHECK(gl.Uniform3fARB); gl.Uniform3fv = (void APIENTRY (*)(GLint location, GLsizei count, const GLfloat *value)) ldg_find("glUniform3fv", lib); GL_CHECK(gl.Uniform3fv); gl.Uniform3fvARB = (void APIENTRY (*)(GLint location, GLsizei count, const GLfloat *value)) ldg_find("glUniform3fvARB", lib); GL_CHECK(gl.Uniform3fvARB); gl.Uniform3i = (void APIENTRY (*)(GLint location, GLint v0, GLint v1, GLint v2)) ldg_find("glUniform3i", lib); GL_CHECK(gl.Uniform3i); gl.Uniform3i64NV = (void APIENTRY (*)(GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z)) ldg_find("glUniform3i64NV", lib); GL_CHECK(gl.Uniform3i64NV); gl.Uniform3i64vNV = (void APIENTRY (*)(GLint location, GLsizei count, const GLint64EXT *value)) ldg_find("glUniform3i64vNV", lib); GL_CHECK(gl.Uniform3i64vNV); gl.Uniform3iARB = (void APIENTRY (*)(GLint location, GLint v0, GLint v1, GLint v2)) ldg_find("glUniform3iARB", lib); GL_CHECK(gl.Uniform3iARB); gl.Uniform3iv = (void APIENTRY (*)(GLint location, GLsizei count, const GLint *value)) ldg_find("glUniform3iv", lib); GL_CHECK(gl.Uniform3iv); gl.Uniform3ivARB = (void APIENTRY (*)(GLint location, GLsizei count, const GLint *value)) ldg_find("glUniform3ivARB", lib); GL_CHECK(gl.Uniform3ivARB); gl.Uniform3ui = (void APIENTRY (*)(GLint location, GLuint v0, GLuint v1, GLuint v2)) ldg_find("glUniform3ui", lib); GL_CHECK(gl.Uniform3ui); gl.Uniform3ui64NV = (void APIENTRY (*)(GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z)) ldg_find("glUniform3ui64NV", lib); GL_CHECK(gl.Uniform3ui64NV); gl.Uniform3ui64vNV = (void APIENTRY (*)(GLint location, GLsizei count, const GLuint64EXT *value)) ldg_find("glUniform3ui64vNV", lib); GL_CHECK(gl.Uniform3ui64vNV); gl.Uniform3uiEXT = (void APIENTRY (*)(GLint location, GLuint v0, GLuint v1, GLuint v2)) ldg_find("glUniform3uiEXT", lib); GL_CHECK(gl.Uniform3uiEXT); gl.Uniform3uiv = (void APIENTRY (*)(GLint location, GLsizei count, const GLuint *value)) ldg_find("glUniform3uiv", lib); GL_CHECK(gl.Uniform3uiv); gl.Uniform3uivEXT = (void APIENTRY (*)(GLint location, GLsizei count, const GLuint *value)) ldg_find("glUniform3uivEXT", lib); GL_CHECK(gl.Uniform3uivEXT); gl.Uniform4d = (void APIENTRY (*)(GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w)) ldg_find("glUniform4d", lib); GL_CHECK(gl.Uniform4d); gl.Uniform4dv = (void APIENTRY (*)(GLint location, GLsizei count, const GLdouble *value)) ldg_find("glUniform4dv", lib); GL_CHECK(gl.Uniform4dv); gl.Uniform4f = (void APIENTRY (*)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)) ldg_find("glUniform4f", lib); GL_CHECK(gl.Uniform4f); gl.Uniform4fARB = (void APIENTRY (*)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3)) ldg_find("glUniform4fARB", lib); GL_CHECK(gl.Uniform4fARB); gl.Uniform4fv = (void APIENTRY (*)(GLint location, GLsizei count, const GLfloat *value)) ldg_find("glUniform4fv", lib); GL_CHECK(gl.Uniform4fv); gl.Uniform4fvARB = (void APIENTRY (*)(GLint location, GLsizei count, const GLfloat *value)) ldg_find("glUniform4fvARB", lib); GL_CHECK(gl.Uniform4fvARB); gl.Uniform4i = (void APIENTRY (*)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3)) ldg_find("glUniform4i", lib); GL_CHECK(gl.Uniform4i); gl.Uniform4i64NV = (void APIENTRY (*)(GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w)) ldg_find("glUniform4i64NV", lib); GL_CHECK(gl.Uniform4i64NV); gl.Uniform4i64vNV = (void APIENTRY (*)(GLint location, GLsizei count, const GLint64EXT *value)) ldg_find("glUniform4i64vNV", lib); GL_CHECK(gl.Uniform4i64vNV); gl.Uniform4iARB = (void APIENTRY (*)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3)) ldg_find("glUniform4iARB", lib); GL_CHECK(gl.Uniform4iARB); gl.Uniform4iv = (void APIENTRY (*)(GLint location, GLsizei count, const GLint *value)) ldg_find("glUniform4iv", lib); GL_CHECK(gl.Uniform4iv); gl.Uniform4ivARB = (void APIENTRY (*)(GLint location, GLsizei count, const GLint *value)) ldg_find("glUniform4ivARB", lib); GL_CHECK(gl.Uniform4ivARB); gl.Uniform4ui = (void APIENTRY (*)(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)) ldg_find("glUniform4ui", lib); GL_CHECK(gl.Uniform4ui); gl.Uniform4ui64NV = (void APIENTRY (*)(GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w)) ldg_find("glUniform4ui64NV", lib); GL_CHECK(gl.Uniform4ui64NV); gl.Uniform4ui64vNV = (void APIENTRY (*)(GLint location, GLsizei count, const GLuint64EXT *value)) ldg_find("glUniform4ui64vNV", lib); GL_CHECK(gl.Uniform4ui64vNV); gl.Uniform4uiEXT = (void APIENTRY (*)(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3)) ldg_find("glUniform4uiEXT", lib); GL_CHECK(gl.Uniform4uiEXT); gl.Uniform4uiv = (void APIENTRY (*)(GLint location, GLsizei count, const GLuint *value)) ldg_find("glUniform4uiv", lib); GL_CHECK(gl.Uniform4uiv); gl.Uniform4uivEXT = (void APIENTRY (*)(GLint location, GLsizei count, const GLuint *value)) ldg_find("glUniform4uivEXT", lib); GL_CHECK(gl.Uniform4uivEXT); gl.UniformBlockBinding = (void APIENTRY (*)(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding)) ldg_find("glUniformBlockBinding", lib); GL_CHECK(gl.UniformBlockBinding); gl.UniformBufferEXT = (void APIENTRY (*)(GLuint program, GLint location, GLuint buffer)) ldg_find("glUniformBufferEXT", lib); GL_CHECK(gl.UniformBufferEXT); gl.UniformHandleui64ARB = (void APIENTRY (*)(GLint location, GLuint64 value)) ldg_find("glUniformHandleui64ARB", lib); GL_CHECK(gl.UniformHandleui64ARB); gl.UniformHandleui64NV = (void APIENTRY (*)(GLint location, GLuint64 value)) ldg_find("glUniformHandleui64NV", lib); GL_CHECK(gl.UniformHandleui64NV); gl.UniformHandleui64vARB = (void APIENTRY (*)(GLint location, GLsizei count, const GLuint64 *value)) ldg_find("glUniformHandleui64vARB", lib); GL_CHECK(gl.UniformHandleui64vARB); gl.UniformHandleui64vNV = (void APIENTRY (*)(GLint location, GLsizei count, const GLuint64 *value)) ldg_find("glUniformHandleui64vNV", lib); GL_CHECK(gl.UniformHandleui64vNV); gl.UniformMatrix2dv = (void APIENTRY (*)(GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value)) ldg_find("glUniformMatrix2dv", lib); GL_CHECK(gl.UniformMatrix2dv); gl.UniformMatrix2fv = (void APIENTRY (*)(GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value)) ldg_find("glUniformMatrix2fv", lib); GL_CHECK(gl.UniformMatrix2fv); gl.UniformMatrix2fvARB = (void APIENTRY (*)(GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value)) ldg_find("glUniformMatrix2fvARB", lib); GL_CHECK(gl.UniformMatrix2fvARB); gl.UniformMatrix2x3dv = (void APIENTRY (*)(GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value)) ldg_find("glUniformMatrix2x3dv", lib); GL_CHECK(gl.UniformMatrix2x3dv); gl.UniformMatrix2x3fv = (void APIENTRY (*)(GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value)) ldg_find("glUniformMatrix2x3fv", lib); GL_CHECK(gl.UniformMatrix2x3fv); gl.UniformMatrix2x4dv = (void APIENTRY (*)(GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value)) ldg_find("glUniformMatrix2x4dv", lib); GL_CHECK(gl.UniformMatrix2x4dv); gl.UniformMatrix2x4fv = (void APIENTRY (*)(GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value)) ldg_find("glUniformMatrix2x4fv", lib); GL_CHECK(gl.UniformMatrix2x4fv); gl.UniformMatrix3dv = (void APIENTRY (*)(GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value)) ldg_find("glUniformMatrix3dv", lib); GL_CHECK(gl.UniformMatrix3dv); gl.UniformMatrix3fv = (void APIENTRY (*)(GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value)) ldg_find("glUniformMatrix3fv", lib); GL_CHECK(gl.UniformMatrix3fv); gl.UniformMatrix3fvARB = (void APIENTRY (*)(GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value)) ldg_find("glUniformMatrix3fvARB", lib); GL_CHECK(gl.UniformMatrix3fvARB); gl.UniformMatrix3x2dv = (void APIENTRY (*)(GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value)) ldg_find("glUniformMatrix3x2dv", lib); GL_CHECK(gl.UniformMatrix3x2dv); gl.UniformMatrix3x2fv = (void APIENTRY (*)(GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value)) ldg_find("glUniformMatrix3x2fv", lib); GL_CHECK(gl.UniformMatrix3x2fv); gl.UniformMatrix3x4dv = (void APIENTRY (*)(GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value)) ldg_find("glUniformMatrix3x4dv", lib); GL_CHECK(gl.UniformMatrix3x4dv); gl.UniformMatrix3x4fv = (void APIENTRY (*)(GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value)) ldg_find("glUniformMatrix3x4fv", lib); GL_CHECK(gl.UniformMatrix3x4fv); gl.UniformMatrix4dv = (void APIENTRY (*)(GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value)) ldg_find("glUniformMatrix4dv", lib); GL_CHECK(gl.UniformMatrix4dv); gl.UniformMatrix4fv = (void APIENTRY (*)(GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value)) ldg_find("glUniformMatrix4fv", lib); GL_CHECK(gl.UniformMatrix4fv); gl.UniformMatrix4fvARB = (void APIENTRY (*)(GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value)) ldg_find("glUniformMatrix4fvARB", lib); GL_CHECK(gl.UniformMatrix4fvARB); gl.UniformMatrix4x2dv = (void APIENTRY (*)(GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value)) ldg_find("glUniformMatrix4x2dv", lib); GL_CHECK(gl.UniformMatrix4x2dv); gl.UniformMatrix4x2fv = (void APIENTRY (*)(GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value)) ldg_find("glUniformMatrix4x2fv", lib); GL_CHECK(gl.UniformMatrix4x2fv); gl.UniformMatrix4x3dv = (void APIENTRY (*)(GLint location, GLsizei count, GLboolean32 transpose, const GLdouble *value)) ldg_find("glUniformMatrix4x3dv", lib); GL_CHECK(gl.UniformMatrix4x3dv); gl.UniformMatrix4x3fv = (void APIENTRY (*)(GLint location, GLsizei count, GLboolean32 transpose, const GLfloat *value)) ldg_find("glUniformMatrix4x3fv", lib); GL_CHECK(gl.UniformMatrix4x3fv); gl.UniformSubroutinesuiv = (void APIENTRY (*)(GLenum shadertype, GLsizei count, const GLuint *indices)) ldg_find("glUniformSubroutinesuiv", lib); GL_CHECK(gl.UniformSubroutinesuiv); gl.Uniformui64NV = (void APIENTRY (*)(GLint location, GLuint64EXT value)) ldg_find("glUniformui64NV", lib); GL_CHECK(gl.Uniformui64NV); gl.Uniformui64vNV = (void APIENTRY (*)(GLint location, GLsizei count, const GLuint64EXT *value)) ldg_find("glUniformui64vNV", lib); GL_CHECK(gl.Uniformui64vNV); gl.UnlockArraysEXT = (void APIENTRY (*)(void)) ldg_find("glUnlockArraysEXT", lib); GL_CHECK(gl.UnlockArraysEXT); gl.UnmapBuffer = (GLboolean APIENTRY (*)(GLenum target)) ldg_find("glUnmapBuffer", lib); GL_CHECK(gl.UnmapBuffer); gl.UnmapBufferARB = (GLboolean APIENTRY (*)(GLenum target)) ldg_find("glUnmapBufferARB", lib); GL_CHECK(gl.UnmapBufferARB); gl.UnmapNamedBufferEXT = (GLboolean APIENTRY (*)(GLuint buffer)) ldg_find("glUnmapNamedBufferEXT", lib); GL_CHECK(gl.UnmapNamedBufferEXT); gl.UnmapObjectBufferATI = (void APIENTRY (*)(GLuint buffer)) ldg_find("glUnmapObjectBufferATI", lib); GL_CHECK(gl.UnmapObjectBufferATI); gl.UnmapTexture2DINTEL = (void APIENTRY (*)(GLuint texture, GLint level)) ldg_find("glUnmapTexture2DINTEL", lib); GL_CHECK(gl.UnmapTexture2DINTEL); gl.UpdateObjectBufferATI = (void APIENTRY (*)(GLuint buffer, GLuint offset, GLsizei size, const void *pointer, GLenum preserve)) ldg_find("glUpdateObjectBufferATI", lib); GL_CHECK(gl.UpdateObjectBufferATI); gl.UseProgram = (void APIENTRY (*)(GLuint program)) ldg_find("glUseProgram", lib); GL_CHECK(gl.UseProgram); gl.UseProgramObjectARB = (void APIENTRY (*)(GLhandleARB programObj)) ldg_find("glUseProgramObjectARB", lib); GL_CHECK(gl.UseProgramObjectARB); gl.UseProgramStages = (void APIENTRY (*)(GLuint pipeline, GLbitfield stages, GLuint program)) ldg_find("glUseProgramStages", lib); GL_CHECK(gl.UseProgramStages); gl.UseShaderProgramEXT = (void APIENTRY (*)(GLenum type, GLuint program)) ldg_find("glUseShaderProgramEXT", lib); GL_CHECK(gl.UseShaderProgramEXT); gl.VDPAUFiniNV = (void APIENTRY (*)(void)) ldg_find("glVDPAUFiniNV", lib); GL_CHECK(gl.VDPAUFiniNV); gl.VDPAUGetSurfaceivNV = (void APIENTRY (*)(GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values)) ldg_find("glVDPAUGetSurfaceivNV", lib); GL_CHECK(gl.VDPAUGetSurfaceivNV); gl.VDPAUInitNV = (void APIENTRY (*)(const void *vdpDevice, const void *getProcAddress)) ldg_find("glVDPAUInitNV", lib); GL_CHECK(gl.VDPAUInitNV); gl.VDPAUIsSurfaceNV = (GLboolean APIENTRY (*)(GLvdpauSurfaceNV surface)) ldg_find("glVDPAUIsSurfaceNV", lib); GL_CHECK(gl.VDPAUIsSurfaceNV); gl.VDPAUMapSurfacesNV = (void APIENTRY (*)(GLsizei numSurfaces, const GLvdpauSurfaceNV *surfaces)) ldg_find("glVDPAUMapSurfacesNV", lib); GL_CHECK(gl.VDPAUMapSurfacesNV); gl.VDPAURegisterOutputSurfaceNV = (GLvdpauSurfaceNV APIENTRY (*)(const void *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames)) ldg_find("glVDPAURegisterOutputSurfaceNV", lib); GL_CHECK(gl.VDPAURegisterOutputSurfaceNV); gl.VDPAURegisterVideoSurfaceNV = (GLvdpauSurfaceNV APIENTRY (*)(const void *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames)) ldg_find("glVDPAURegisterVideoSurfaceNV", lib); GL_CHECK(gl.VDPAURegisterVideoSurfaceNV); gl.VDPAUSurfaceAccessNV = (void APIENTRY (*)(GLvdpauSurfaceNV surface, GLenum access)) ldg_find("glVDPAUSurfaceAccessNV", lib); GL_CHECK(gl.VDPAUSurfaceAccessNV); gl.VDPAUUnmapSurfacesNV = (void APIENTRY (*)(GLsizei numSurface, const GLvdpauSurfaceNV *surfaces)) ldg_find("glVDPAUUnmapSurfacesNV", lib); GL_CHECK(gl.VDPAUUnmapSurfacesNV); gl.VDPAUUnregisterSurfaceNV = (void APIENTRY (*)(GLvdpauSurfaceNV surface)) ldg_find("glVDPAUUnregisterSurfaceNV", lib); GL_CHECK(gl.VDPAUUnregisterSurfaceNV); gl.ValidateProgram = (void APIENTRY (*)(GLuint program)) ldg_find("glValidateProgram", lib); GL_CHECK(gl.ValidateProgram); gl.ValidateProgramARB = (void APIENTRY (*)(GLhandleARB programObj)) ldg_find("glValidateProgramARB", lib); GL_CHECK(gl.ValidateProgramARB); gl.ValidateProgramPipeline = (void APIENTRY (*)(GLuint pipeline)) ldg_find("glValidateProgramPipeline", lib); GL_CHECK(gl.ValidateProgramPipeline); gl.VariantArrayObjectATI = (void APIENTRY (*)(GLuint id, GLenum type, GLsizei stride, GLuint buffer, GLuint offset)) ldg_find("glVariantArrayObjectATI", lib); GL_CHECK(gl.VariantArrayObjectATI); gl.VariantPointerEXT = (void APIENTRY (*)(GLuint id, GLenum type, GLuint stride, const void *addr)) ldg_find("glVariantPointerEXT", lib); GL_CHECK(gl.VariantPointerEXT); gl.VariantbvEXT = (void APIENTRY (*)(GLuint id, const GLbyte *addr)) ldg_find("glVariantbvEXT", lib); GL_CHECK(gl.VariantbvEXT); gl.VariantdvEXT = (void APIENTRY (*)(GLuint id, const GLdouble *addr)) ldg_find("glVariantdvEXT", lib); GL_CHECK(gl.VariantdvEXT); gl.VariantfvEXT = (void APIENTRY (*)(GLuint id, const GLfloat *addr)) ldg_find("glVariantfvEXT", lib); GL_CHECK(gl.VariantfvEXT); gl.VariantivEXT = (void APIENTRY (*)(GLuint id, const GLint *addr)) ldg_find("glVariantivEXT", lib); GL_CHECK(gl.VariantivEXT); gl.VariantsvEXT = (void APIENTRY (*)(GLuint id, const GLshort *addr)) ldg_find("glVariantsvEXT", lib); GL_CHECK(gl.VariantsvEXT); gl.VariantubvEXT = (void APIENTRY (*)(GLuint id, const GLubyte *addr)) ldg_find("glVariantubvEXT", lib); GL_CHECK(gl.VariantubvEXT); gl.VariantuivEXT = (void APIENTRY (*)(GLuint id, const GLuint *addr)) ldg_find("glVariantuivEXT", lib); GL_CHECK(gl.VariantuivEXT); gl.VariantusvEXT = (void APIENTRY (*)(GLuint id, const GLushort *addr)) ldg_find("glVariantusvEXT", lib); GL_CHECK(gl.VariantusvEXT); gl.Vertex2bOES = (void APIENTRY (*)(GLbyte32 x)) ldg_find("glVertex2bOES", lib); GL_CHECK(gl.Vertex2bOES); gl.Vertex2bvOES = (void APIENTRY (*)(const GLbyte *coords)) ldg_find("glVertex2bvOES", lib); GL_CHECK(gl.Vertex2bvOES); gl.Vertex2d = (void APIENTRY (*)(GLdouble x, GLdouble y)) ldg_find("glVertex2d", lib); GL_CHECK(gl.Vertex2d); gl.Vertex2dv = (void APIENTRY (*)(const GLdouble *v)) ldg_find("glVertex2dv", lib); GL_CHECK(gl.Vertex2dv); gl.Vertex2f = (void APIENTRY (*)(GLfloat x, GLfloat y)) ldg_find("glVertex2f", lib); GL_CHECK(gl.Vertex2f); gl.Vertex2fv = (void APIENTRY (*)(const GLfloat *v)) ldg_find("glVertex2fv", lib); GL_CHECK(gl.Vertex2fv); gl.Vertex2hNV = (void APIENTRY (*)(GLhalfNV32 x, GLhalfNV32 y)) ldg_find("glVertex2hNV", lib); GL_CHECK(gl.Vertex2hNV); gl.Vertex2hvNV = (void APIENTRY (*)(const GLhalfNV *v)) ldg_find("glVertex2hvNV", lib); GL_CHECK(gl.Vertex2hvNV); gl.Vertex2i = (void APIENTRY (*)(GLint x, GLint y)) ldg_find("glVertex2i", lib); GL_CHECK(gl.Vertex2i); gl.Vertex2iv = (void APIENTRY (*)(const GLint *v)) ldg_find("glVertex2iv", lib); GL_CHECK(gl.Vertex2iv); gl.Vertex2s = (void APIENTRY (*)(GLshort32 x, GLshort32 y)) ldg_find("glVertex2s", lib); GL_CHECK(gl.Vertex2s); gl.Vertex2sv = (void APIENTRY (*)(const GLshort *v)) ldg_find("glVertex2sv", lib); GL_CHECK(gl.Vertex2sv); gl.Vertex2xOES = (void APIENTRY (*)(GLfixed x)) ldg_find("glVertex2xOES", lib); GL_CHECK(gl.Vertex2xOES); gl.Vertex2xvOES = (void APIENTRY (*)(const GLfixed *coords)) ldg_find("glVertex2xvOES", lib); GL_CHECK(gl.Vertex2xvOES); gl.Vertex3bOES = (void APIENTRY (*)(GLbyte32 x, GLbyte32 y)) ldg_find("glVertex3bOES", lib); GL_CHECK(gl.Vertex3bOES); gl.Vertex3bvOES = (void APIENTRY (*)(const GLbyte *coords)) ldg_find("glVertex3bvOES", lib); GL_CHECK(gl.Vertex3bvOES); gl.Vertex3d = (void APIENTRY (*)(GLdouble x, GLdouble y, GLdouble z)) ldg_find("glVertex3d", lib); GL_CHECK(gl.Vertex3d); gl.Vertex3dv = (void APIENTRY (*)(const GLdouble *v)) ldg_find("glVertex3dv", lib); GL_CHECK(gl.Vertex3dv); gl.Vertex3f = (void APIENTRY (*)(GLfloat x, GLfloat y, GLfloat z)) ldg_find("glVertex3f", lib); GL_CHECK(gl.Vertex3f); gl.Vertex3fv = (void APIENTRY (*)(const GLfloat *v)) ldg_find("glVertex3fv", lib); GL_CHECK(gl.Vertex3fv); gl.Vertex3hNV = (void APIENTRY (*)(GLhalfNV32 x, GLhalfNV32 y, GLhalfNV32 z)) ldg_find("glVertex3hNV", lib); GL_CHECK(gl.Vertex3hNV); gl.Vertex3hvNV = (void APIENTRY (*)(const GLhalfNV *v)) ldg_find("glVertex3hvNV", lib); GL_CHECK(gl.Vertex3hvNV); gl.Vertex3i = (void APIENTRY (*)(GLint x, GLint y, GLint z)) ldg_find("glVertex3i", lib); GL_CHECK(gl.Vertex3i); gl.Vertex3iv = (void APIENTRY (*)(const GLint *v)) ldg_find("glVertex3iv", lib); GL_CHECK(gl.Vertex3iv); gl.Vertex3s = (void APIENTRY (*)(GLshort32 x, GLshort32 y, GLshort32 z)) ldg_find("glVertex3s", lib); GL_CHECK(gl.Vertex3s); gl.Vertex3sv = (void APIENTRY (*)(const GLshort *v)) ldg_find("glVertex3sv", lib); GL_CHECK(gl.Vertex3sv); gl.Vertex3xOES = (void APIENTRY (*)(GLfixed x, GLfixed y)) ldg_find("glVertex3xOES", lib); GL_CHECK(gl.Vertex3xOES); gl.Vertex3xvOES = (void APIENTRY (*)(const GLfixed *coords)) ldg_find("glVertex3xvOES", lib); GL_CHECK(gl.Vertex3xvOES); gl.Vertex4bOES = (void APIENTRY (*)(GLbyte32 x, GLbyte32 y, GLbyte32 z)) ldg_find("glVertex4bOES", lib); GL_CHECK(gl.Vertex4bOES); gl.Vertex4bvOES = (void APIENTRY (*)(const GLbyte *coords)) ldg_find("glVertex4bvOES", lib); GL_CHECK(gl.Vertex4bvOES); gl.Vertex4d = (void APIENTRY (*)(GLdouble x, GLdouble y, GLdouble z, GLdouble w)) ldg_find("glVertex4d", lib); GL_CHECK(gl.Vertex4d); gl.Vertex4dv = (void APIENTRY (*)(const GLdouble *v)) ldg_find("glVertex4dv", lib); GL_CHECK(gl.Vertex4dv); gl.Vertex4f = (void APIENTRY (*)(GLfloat x, GLfloat y, GLfloat z, GLfloat w)) ldg_find("glVertex4f", lib); GL_CHECK(gl.Vertex4f); gl.Vertex4fv = (void APIENTRY (*)(const GLfloat *v)) ldg_find("glVertex4fv", lib); GL_CHECK(gl.Vertex4fv); gl.Vertex4hNV = (void APIENTRY (*)(GLhalfNV32 x, GLhalfNV32 y, GLhalfNV32 z, GLhalfNV32 w)) ldg_find("glVertex4hNV", lib); GL_CHECK(gl.Vertex4hNV); gl.Vertex4hvNV = (void APIENTRY (*)(const GLhalfNV *v)) ldg_find("glVertex4hvNV", lib); GL_CHECK(gl.Vertex4hvNV); gl.Vertex4i = (void APIENTRY (*)(GLint x, GLint y, GLint z, GLint w)) ldg_find("glVertex4i", lib); GL_CHECK(gl.Vertex4i); gl.Vertex4iv = (void APIENTRY (*)(const GLint *v)) ldg_find("glVertex4iv", lib); GL_CHECK(gl.Vertex4iv); gl.Vertex4s = (void APIENTRY (*)(GLshort32 x, GLshort32 y, GLshort32 z, GLshort32 w)) ldg_find("glVertex4s", lib); GL_CHECK(gl.Vertex4s); gl.Vertex4sv = (void APIENTRY (*)(const GLshort *v)) ldg_find("glVertex4sv", lib); GL_CHECK(gl.Vertex4sv); gl.Vertex4xOES = (void APIENTRY (*)(GLfixed x, GLfixed y, GLfixed z)) ldg_find("glVertex4xOES", lib); GL_CHECK(gl.Vertex4xOES); gl.Vertex4xvOES = (void APIENTRY (*)(const GLfixed *coords)) ldg_find("glVertex4xvOES", lib); GL_CHECK(gl.Vertex4xvOES); gl.VertexArrayBindVertexBufferEXT = (void APIENTRY (*)(GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride)) ldg_find("glVertexArrayBindVertexBufferEXT", lib); GL_CHECK(gl.VertexArrayBindVertexBufferEXT); gl.VertexArrayColorOffsetEXT = (void APIENTRY (*)(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset)) ldg_find("glVertexArrayColorOffsetEXT", lib); GL_CHECK(gl.VertexArrayColorOffsetEXT); gl.VertexArrayEdgeFlagOffsetEXT = (void APIENTRY (*)(GLuint vaobj, GLuint buffer, GLsizei stride, GLintptr offset)) ldg_find("glVertexArrayEdgeFlagOffsetEXT", lib); GL_CHECK(gl.VertexArrayEdgeFlagOffsetEXT); gl.VertexArrayFogCoordOffsetEXT = (void APIENTRY (*)(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset)) ldg_find("glVertexArrayFogCoordOffsetEXT", lib); GL_CHECK(gl.VertexArrayFogCoordOffsetEXT); gl.VertexArrayIndexOffsetEXT = (void APIENTRY (*)(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset)) ldg_find("glVertexArrayIndexOffsetEXT", lib); GL_CHECK(gl.VertexArrayIndexOffsetEXT); gl.VertexArrayMultiTexCoordOffsetEXT = (void APIENTRY (*)(GLuint vaobj, GLuint buffer, GLenum texunit, GLint size, GLenum type, GLsizei stride, GLintptr offset)) ldg_find("glVertexArrayMultiTexCoordOffsetEXT", lib); GL_CHECK(gl.VertexArrayMultiTexCoordOffsetEXT); gl.VertexArrayNormalOffsetEXT = (void APIENTRY (*)(GLuint vaobj, GLuint buffer, GLenum type, GLsizei stride, GLintptr offset)) ldg_find("glVertexArrayNormalOffsetEXT", lib); GL_CHECK(gl.VertexArrayNormalOffsetEXT); gl.VertexArrayParameteriAPPLE = (void APIENTRY (*)(GLenum pname, GLint param)) ldg_find("glVertexArrayParameteriAPPLE", lib); GL_CHECK(gl.VertexArrayParameteriAPPLE); gl.VertexArrayRangeAPPLE = (void APIENTRY (*)(GLsizei length, void *pointer)) ldg_find("glVertexArrayRangeAPPLE", lib); GL_CHECK(gl.VertexArrayRangeAPPLE); gl.VertexArrayRangeNV = (void APIENTRY (*)(GLsizei length, const void *pointer)) ldg_find("glVertexArrayRangeNV", lib); GL_CHECK(gl.VertexArrayRangeNV); gl.VertexArraySecondaryColorOffsetEXT = (void APIENTRY (*)(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset)) ldg_find("glVertexArraySecondaryColorOffsetEXT", lib); GL_CHECK(gl.VertexArraySecondaryColorOffsetEXT); gl.VertexArrayTexCoordOffsetEXT = (void APIENTRY (*)(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset)) ldg_find("glVertexArrayTexCoordOffsetEXT", lib); GL_CHECK(gl.VertexArrayTexCoordOffsetEXT); gl.VertexArrayVertexAttribBindingEXT = (void APIENTRY (*)(GLuint vaobj, GLuint attribindex, GLuint bindingindex)) ldg_find("glVertexArrayVertexAttribBindingEXT", lib); GL_CHECK(gl.VertexArrayVertexAttribBindingEXT); gl.VertexArrayVertexAttribDivisorEXT = (void APIENTRY (*)(GLuint vaobj, GLuint index, GLuint divisor)) ldg_find("glVertexArrayVertexAttribDivisorEXT", lib); GL_CHECK(gl.VertexArrayVertexAttribDivisorEXT); gl.VertexArrayVertexAttribFormatEXT = (void APIENTRY (*)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean32 normalized, GLuint relativeoffset)) ldg_find("glVertexArrayVertexAttribFormatEXT", lib); GL_CHECK(gl.VertexArrayVertexAttribFormatEXT); gl.VertexArrayVertexAttribIFormatEXT = (void APIENTRY (*)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset)) ldg_find("glVertexArrayVertexAttribIFormatEXT", lib); GL_CHECK(gl.VertexArrayVertexAttribIFormatEXT); gl.VertexArrayVertexAttribIOffsetEXT = (void APIENTRY (*)(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset)) ldg_find("glVertexArrayVertexAttribIOffsetEXT", lib); GL_CHECK(gl.VertexArrayVertexAttribIOffsetEXT); gl.VertexArrayVertexAttribLFormatEXT = (void APIENTRY (*)(GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset)) ldg_find("glVertexArrayVertexAttribLFormatEXT", lib); GL_CHECK(gl.VertexArrayVertexAttribLFormatEXT); gl.VertexArrayVertexAttribLOffsetEXT = (void APIENTRY (*)(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset)) ldg_find("glVertexArrayVertexAttribLOffsetEXT", lib); GL_CHECK(gl.VertexArrayVertexAttribLOffsetEXT); gl.VertexArrayVertexAttribOffsetEXT = (void APIENTRY (*)(GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLboolean32 normalized, GLsizei stride, GLintptr offset)) ldg_find("glVertexArrayVertexAttribOffsetEXT", lib); GL_CHECK(gl.VertexArrayVertexAttribOffsetEXT); gl.VertexArrayVertexBindingDivisorEXT = (void APIENTRY (*)(GLuint vaobj, GLuint bindingindex, GLuint divisor)) ldg_find("glVertexArrayVertexBindingDivisorEXT", lib); GL_CHECK(gl.VertexArrayVertexBindingDivisorEXT); gl.VertexArrayVertexOffsetEXT = (void APIENTRY (*)(GLuint vaobj, GLuint buffer, GLint size, GLenum type, GLsizei stride, GLintptr offset)) ldg_find("glVertexArrayVertexOffsetEXT", lib); GL_CHECK(gl.VertexArrayVertexOffsetEXT); gl.VertexAttrib1d = (void APIENTRY (*)(GLuint index, GLdouble x)) ldg_find("glVertexAttrib1d", lib); GL_CHECK(gl.VertexAttrib1d); gl.VertexAttrib1dARB = (void APIENTRY (*)(GLuint index, GLdouble x)) ldg_find("glVertexAttrib1dARB", lib); GL_CHECK(gl.VertexAttrib1dARB); gl.VertexAttrib1dNV = (void APIENTRY (*)(GLuint index, GLdouble x)) ldg_find("glVertexAttrib1dNV", lib); GL_CHECK(gl.VertexAttrib1dNV); gl.VertexAttrib1dv = (void APIENTRY (*)(GLuint index, const GLdouble *v)) ldg_find("glVertexAttrib1dv", lib); GL_CHECK(gl.VertexAttrib1dv); gl.VertexAttrib1dvARB = (void APIENTRY (*)(GLuint index, const GLdouble *v)) ldg_find("glVertexAttrib1dvARB", lib); GL_CHECK(gl.VertexAttrib1dvARB); gl.VertexAttrib1dvNV = (void APIENTRY (*)(GLuint index, const GLdouble *v)) ldg_find("glVertexAttrib1dvNV", lib); GL_CHECK(gl.VertexAttrib1dvNV); gl.VertexAttrib1f = (void APIENTRY (*)(GLuint index, GLfloat x)) ldg_find("glVertexAttrib1f", lib); GL_CHECK(gl.VertexAttrib1f); gl.VertexAttrib1fARB = (void APIENTRY (*)(GLuint index, GLfloat x)) ldg_find("glVertexAttrib1fARB", lib); GL_CHECK(gl.VertexAttrib1fARB); gl.VertexAttrib1fNV = (void APIENTRY (*)(GLuint index, GLfloat x)) ldg_find("glVertexAttrib1fNV", lib); GL_CHECK(gl.VertexAttrib1fNV); gl.VertexAttrib1fv = (void APIENTRY (*)(GLuint index, const GLfloat *v)) ldg_find("glVertexAttrib1fv", lib); GL_CHECK(gl.VertexAttrib1fv); gl.VertexAttrib1fvARB = (void APIENTRY (*)(GLuint index, const GLfloat *v)) ldg_find("glVertexAttrib1fvARB", lib); GL_CHECK(gl.VertexAttrib1fvARB); gl.VertexAttrib1fvNV = (void APIENTRY (*)(GLuint index, const GLfloat *v)) ldg_find("glVertexAttrib1fvNV", lib); GL_CHECK(gl.VertexAttrib1fvNV); gl.VertexAttrib1hNV = (void APIENTRY (*)(GLuint index, GLhalfNV32 x)) ldg_find("glVertexAttrib1hNV", lib); GL_CHECK(gl.VertexAttrib1hNV); gl.VertexAttrib1hvNV = (void APIENTRY (*)(GLuint index, const GLhalfNV *v)) ldg_find("glVertexAttrib1hvNV", lib); GL_CHECK(gl.VertexAttrib1hvNV); gl.VertexAttrib1s = (void APIENTRY (*)(GLuint index, GLshort32 x)) ldg_find("glVertexAttrib1s", lib); GL_CHECK(gl.VertexAttrib1s); gl.VertexAttrib1sARB = (void APIENTRY (*)(GLuint index, GLshort32 x)) ldg_find("glVertexAttrib1sARB", lib); GL_CHECK(gl.VertexAttrib1sARB); gl.VertexAttrib1sNV = (void APIENTRY (*)(GLuint index, GLshort32 x)) ldg_find("glVertexAttrib1sNV", lib); GL_CHECK(gl.VertexAttrib1sNV); gl.VertexAttrib1sv = (void APIENTRY (*)(GLuint index, const GLshort *v)) ldg_find("glVertexAttrib1sv", lib); GL_CHECK(gl.VertexAttrib1sv); gl.VertexAttrib1svARB = (void APIENTRY (*)(GLuint index, const GLshort *v)) ldg_find("glVertexAttrib1svARB", lib); GL_CHECK(gl.VertexAttrib1svARB); gl.VertexAttrib1svNV = (void APIENTRY (*)(GLuint index, const GLshort *v)) ldg_find("glVertexAttrib1svNV", lib); GL_CHECK(gl.VertexAttrib1svNV); gl.VertexAttrib2d = (void APIENTRY (*)(GLuint index, GLdouble x, GLdouble y)) ldg_find("glVertexAttrib2d", lib); GL_CHECK(gl.VertexAttrib2d); gl.VertexAttrib2dARB = (void APIENTRY (*)(GLuint index, GLdouble x, GLdouble y)) ldg_find("glVertexAttrib2dARB", lib); GL_CHECK(gl.VertexAttrib2dARB); gl.VertexAttrib2dNV = (void APIENTRY (*)(GLuint index, GLdouble x, GLdouble y)) ldg_find("glVertexAttrib2dNV", lib); GL_CHECK(gl.VertexAttrib2dNV); gl.VertexAttrib2dv = (void APIENTRY (*)(GLuint index, const GLdouble *v)) ldg_find("glVertexAttrib2dv", lib); GL_CHECK(gl.VertexAttrib2dv); gl.VertexAttrib2dvARB = (void APIENTRY (*)(GLuint index, const GLdouble *v)) ldg_find("glVertexAttrib2dvARB", lib); GL_CHECK(gl.VertexAttrib2dvARB); gl.VertexAttrib2dvNV = (void APIENTRY (*)(GLuint index, const GLdouble *v)) ldg_find("glVertexAttrib2dvNV", lib); GL_CHECK(gl.VertexAttrib2dvNV); gl.VertexAttrib2f = (void APIENTRY (*)(GLuint index, GLfloat x, GLfloat y)) ldg_find("glVertexAttrib2f", lib); GL_CHECK(gl.VertexAttrib2f); gl.VertexAttrib2fARB = (void APIENTRY (*)(GLuint index, GLfloat x, GLfloat y)) ldg_find("glVertexAttrib2fARB", lib); GL_CHECK(gl.VertexAttrib2fARB); gl.VertexAttrib2fNV = (void APIENTRY (*)(GLuint index, GLfloat x, GLfloat y)) ldg_find("glVertexAttrib2fNV", lib); GL_CHECK(gl.VertexAttrib2fNV); gl.VertexAttrib2fv = (void APIENTRY (*)(GLuint index, const GLfloat *v)) ldg_find("glVertexAttrib2fv", lib); GL_CHECK(gl.VertexAttrib2fv); gl.VertexAttrib2fvARB = (void APIENTRY (*)(GLuint index, const GLfloat *v)) ldg_find("glVertexAttrib2fvARB", lib); GL_CHECK(gl.VertexAttrib2fvARB); gl.VertexAttrib2fvNV = (void APIENTRY (*)(GLuint index, const GLfloat *v)) ldg_find("glVertexAttrib2fvNV", lib); GL_CHECK(gl.VertexAttrib2fvNV); gl.VertexAttrib2hNV = (void APIENTRY (*)(GLuint index, GLhalfNV32 x, GLhalfNV32 y)) ldg_find("glVertexAttrib2hNV", lib); GL_CHECK(gl.VertexAttrib2hNV); gl.VertexAttrib2hvNV = (void APIENTRY (*)(GLuint index, const GLhalfNV *v)) ldg_find("glVertexAttrib2hvNV", lib); GL_CHECK(gl.VertexAttrib2hvNV); gl.VertexAttrib2s = (void APIENTRY (*)(GLuint index, GLshort32 x, GLshort32 y)) ldg_find("glVertexAttrib2s", lib); GL_CHECK(gl.VertexAttrib2s); gl.VertexAttrib2sARB = (void APIENTRY (*)(GLuint index, GLshort32 x, GLshort32 y)) ldg_find("glVertexAttrib2sARB", lib); GL_CHECK(gl.VertexAttrib2sARB); gl.VertexAttrib2sNV = (void APIENTRY (*)(GLuint index, GLshort32 x, GLshort32 y)) ldg_find("glVertexAttrib2sNV", lib); GL_CHECK(gl.VertexAttrib2sNV); gl.VertexAttrib2sv = (void APIENTRY (*)(GLuint index, const GLshort *v)) ldg_find("glVertexAttrib2sv", lib); GL_CHECK(gl.VertexAttrib2sv); gl.VertexAttrib2svARB = (void APIENTRY (*)(GLuint index, const GLshort *v)) ldg_find("glVertexAttrib2svARB", lib); GL_CHECK(gl.VertexAttrib2svARB); gl.VertexAttrib2svNV = (void APIENTRY (*)(GLuint index, const GLshort *v)) ldg_find("glVertexAttrib2svNV", lib); GL_CHECK(gl.VertexAttrib2svNV); gl.VertexAttrib3d = (void APIENTRY (*)(GLuint index, GLdouble x, GLdouble y, GLdouble z)) ldg_find("glVertexAttrib3d", lib); GL_CHECK(gl.VertexAttrib3d); gl.VertexAttrib3dARB = (void APIENTRY (*)(GLuint index, GLdouble x, GLdouble y, GLdouble z)) ldg_find("glVertexAttrib3dARB", lib); GL_CHECK(gl.VertexAttrib3dARB); gl.VertexAttrib3dNV = (void APIENTRY (*)(GLuint index, GLdouble x, GLdouble y, GLdouble z)) ldg_find("glVertexAttrib3dNV", lib); GL_CHECK(gl.VertexAttrib3dNV); gl.VertexAttrib3dv = (void APIENTRY (*)(GLuint index, const GLdouble *v)) ldg_find("glVertexAttrib3dv", lib); GL_CHECK(gl.VertexAttrib3dv); gl.VertexAttrib3dvARB = (void APIENTRY (*)(GLuint index, const GLdouble *v)) ldg_find("glVertexAttrib3dvARB", lib); GL_CHECK(gl.VertexAttrib3dvARB); gl.VertexAttrib3dvNV = (void APIENTRY (*)(GLuint index, const GLdouble *v)) ldg_find("glVertexAttrib3dvNV", lib); GL_CHECK(gl.VertexAttrib3dvNV); gl.VertexAttrib3f = (void APIENTRY (*)(GLuint index, GLfloat x, GLfloat y, GLfloat z)) ldg_find("glVertexAttrib3f", lib); GL_CHECK(gl.VertexAttrib3f); gl.VertexAttrib3fARB = (void APIENTRY (*)(GLuint index, GLfloat x, GLfloat y, GLfloat z)) ldg_find("glVertexAttrib3fARB", lib); GL_CHECK(gl.VertexAttrib3fARB); gl.VertexAttrib3fNV = (void APIENTRY (*)(GLuint index, GLfloat x, GLfloat y, GLfloat z)) ldg_find("glVertexAttrib3fNV", lib); GL_CHECK(gl.VertexAttrib3fNV); gl.VertexAttrib3fv = (void APIENTRY (*)(GLuint index, const GLfloat *v)) ldg_find("glVertexAttrib3fv", lib); GL_CHECK(gl.VertexAttrib3fv); gl.VertexAttrib3fvARB = (void APIENTRY (*)(GLuint index, const GLfloat *v)) ldg_find("glVertexAttrib3fvARB", lib); GL_CHECK(gl.VertexAttrib3fvARB); gl.VertexAttrib3fvNV = (void APIENTRY (*)(GLuint index, const GLfloat *v)) ldg_find("glVertexAttrib3fvNV", lib); GL_CHECK(gl.VertexAttrib3fvNV); gl.VertexAttrib3hNV = (void APIENTRY (*)(GLuint index, GLhalfNV32 x, GLhalfNV32 y, GLhalfNV32 z)) ldg_find("glVertexAttrib3hNV", lib); GL_CHECK(gl.VertexAttrib3hNV); gl.VertexAttrib3hvNV = (void APIENTRY (*)(GLuint index, const GLhalfNV *v)) ldg_find("glVertexAttrib3hvNV", lib); GL_CHECK(gl.VertexAttrib3hvNV); gl.VertexAttrib3s = (void APIENTRY (*)(GLuint index, GLshort32 x, GLshort32 y, GLshort32 z)) ldg_find("glVertexAttrib3s", lib); GL_CHECK(gl.VertexAttrib3s); gl.VertexAttrib3sARB = (void APIENTRY (*)(GLuint index, GLshort32 x, GLshort32 y, GLshort32 z)) ldg_find("glVertexAttrib3sARB", lib); GL_CHECK(gl.VertexAttrib3sARB); gl.VertexAttrib3sNV = (void APIENTRY (*)(GLuint index, GLshort32 x, GLshort32 y, GLshort32 z)) ldg_find("glVertexAttrib3sNV", lib); GL_CHECK(gl.VertexAttrib3sNV); gl.VertexAttrib3sv = (void APIENTRY (*)(GLuint index, const GLshort *v)) ldg_find("glVertexAttrib3sv", lib); GL_CHECK(gl.VertexAttrib3sv); gl.VertexAttrib3svARB = (void APIENTRY (*)(GLuint index, const GLshort *v)) ldg_find("glVertexAttrib3svARB", lib); GL_CHECK(gl.VertexAttrib3svARB); gl.VertexAttrib3svNV = (void APIENTRY (*)(GLuint index, const GLshort *v)) ldg_find("glVertexAttrib3svNV", lib); GL_CHECK(gl.VertexAttrib3svNV); gl.VertexAttrib4Nbv = (void APIENTRY (*)(GLuint index, const GLbyte *v)) ldg_find("glVertexAttrib4Nbv", lib); GL_CHECK(gl.VertexAttrib4Nbv); gl.VertexAttrib4NbvARB = (void APIENTRY (*)(GLuint index, const GLbyte *v)) ldg_find("glVertexAttrib4NbvARB", lib); GL_CHECK(gl.VertexAttrib4NbvARB); gl.VertexAttrib4Niv = (void APIENTRY (*)(GLuint index, const GLint *v)) ldg_find("glVertexAttrib4Niv", lib); GL_CHECK(gl.VertexAttrib4Niv); gl.VertexAttrib4NivARB = (void APIENTRY (*)(GLuint index, const GLint *v)) ldg_find("glVertexAttrib4NivARB", lib); GL_CHECK(gl.VertexAttrib4NivARB); gl.VertexAttrib4Nsv = (void APIENTRY (*)(GLuint index, const GLshort *v)) ldg_find("glVertexAttrib4Nsv", lib); GL_CHECK(gl.VertexAttrib4Nsv); gl.VertexAttrib4NsvARB = (void APIENTRY (*)(GLuint index, const GLshort *v)) ldg_find("glVertexAttrib4NsvARB", lib); GL_CHECK(gl.VertexAttrib4NsvARB); gl.VertexAttrib4Nub = (void APIENTRY (*)(GLuint index, GLubyte32 x, GLubyte32 y, GLubyte32 z, GLubyte32 w)) ldg_find("glVertexAttrib4Nub", lib); GL_CHECK(gl.VertexAttrib4Nub); gl.VertexAttrib4NubARB = (void APIENTRY (*)(GLuint index, GLubyte32 x, GLubyte32 y, GLubyte32 z, GLubyte32 w)) ldg_find("glVertexAttrib4NubARB", lib); GL_CHECK(gl.VertexAttrib4NubARB); gl.VertexAttrib4Nubv = (void APIENTRY (*)(GLuint index, const GLubyte *v)) ldg_find("glVertexAttrib4Nubv", lib); GL_CHECK(gl.VertexAttrib4Nubv); gl.VertexAttrib4NubvARB = (void APIENTRY (*)(GLuint index, const GLubyte *v)) ldg_find("glVertexAttrib4NubvARB", lib); GL_CHECK(gl.VertexAttrib4NubvARB); gl.VertexAttrib4Nuiv = (void APIENTRY (*)(GLuint index, const GLuint *v)) ldg_find("glVertexAttrib4Nuiv", lib); GL_CHECK(gl.VertexAttrib4Nuiv); gl.VertexAttrib4NuivARB = (void APIENTRY (*)(GLuint index, const GLuint *v)) ldg_find("glVertexAttrib4NuivARB", lib); GL_CHECK(gl.VertexAttrib4NuivARB); gl.VertexAttrib4Nusv = (void APIENTRY (*)(GLuint index, const GLushort *v)) ldg_find("glVertexAttrib4Nusv", lib); GL_CHECK(gl.VertexAttrib4Nusv); gl.VertexAttrib4NusvARB = (void APIENTRY (*)(GLuint index, const GLushort *v)) ldg_find("glVertexAttrib4NusvARB", lib); GL_CHECK(gl.VertexAttrib4NusvARB); gl.VertexAttrib4bv = (void APIENTRY (*)(GLuint index, const GLbyte *v)) ldg_find("glVertexAttrib4bv", lib); GL_CHECK(gl.VertexAttrib4bv); gl.VertexAttrib4bvARB = (void APIENTRY (*)(GLuint index, const GLbyte *v)) ldg_find("glVertexAttrib4bvARB", lib); GL_CHECK(gl.VertexAttrib4bvARB); gl.VertexAttrib4d = (void APIENTRY (*)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)) ldg_find("glVertexAttrib4d", lib); GL_CHECK(gl.VertexAttrib4d); gl.VertexAttrib4dARB = (void APIENTRY (*)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)) ldg_find("glVertexAttrib4dARB", lib); GL_CHECK(gl.VertexAttrib4dARB); gl.VertexAttrib4dNV = (void APIENTRY (*)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)) ldg_find("glVertexAttrib4dNV", lib); GL_CHECK(gl.VertexAttrib4dNV); gl.VertexAttrib4dv = (void APIENTRY (*)(GLuint index, const GLdouble *v)) ldg_find("glVertexAttrib4dv", lib); GL_CHECK(gl.VertexAttrib4dv); gl.VertexAttrib4dvARB = (void APIENTRY (*)(GLuint index, const GLdouble *v)) ldg_find("glVertexAttrib4dvARB", lib); GL_CHECK(gl.VertexAttrib4dvARB); gl.VertexAttrib4dvNV = (void APIENTRY (*)(GLuint index, const GLdouble *v)) ldg_find("glVertexAttrib4dvNV", lib); GL_CHECK(gl.VertexAttrib4dvNV); gl.VertexAttrib4f = (void APIENTRY (*)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)) ldg_find("glVertexAttrib4f", lib); GL_CHECK(gl.VertexAttrib4f); gl.VertexAttrib4fARB = (void APIENTRY (*)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)) ldg_find("glVertexAttrib4fARB", lib); GL_CHECK(gl.VertexAttrib4fARB); gl.VertexAttrib4fNV = (void APIENTRY (*)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w)) ldg_find("glVertexAttrib4fNV", lib); GL_CHECK(gl.VertexAttrib4fNV); gl.VertexAttrib4fv = (void APIENTRY (*)(GLuint index, const GLfloat *v)) ldg_find("glVertexAttrib4fv", lib); GL_CHECK(gl.VertexAttrib4fv); gl.VertexAttrib4fvARB = (void APIENTRY (*)(GLuint index, const GLfloat *v)) ldg_find("glVertexAttrib4fvARB", lib); GL_CHECK(gl.VertexAttrib4fvARB); gl.VertexAttrib4fvNV = (void APIENTRY (*)(GLuint index, const GLfloat *v)) ldg_find("glVertexAttrib4fvNV", lib); GL_CHECK(gl.VertexAttrib4fvNV); gl.VertexAttrib4hNV = (void APIENTRY (*)(GLuint index, GLhalfNV32 x, GLhalfNV32 y, GLhalfNV32 z, GLhalfNV32 w)) ldg_find("glVertexAttrib4hNV", lib); GL_CHECK(gl.VertexAttrib4hNV); gl.VertexAttrib4hvNV = (void APIENTRY (*)(GLuint index, const GLhalfNV *v)) ldg_find("glVertexAttrib4hvNV", lib); GL_CHECK(gl.VertexAttrib4hvNV); gl.VertexAttrib4iv = (void APIENTRY (*)(GLuint index, const GLint *v)) ldg_find("glVertexAttrib4iv", lib); GL_CHECK(gl.VertexAttrib4iv); gl.VertexAttrib4ivARB = (void APIENTRY (*)(GLuint index, const GLint *v)) ldg_find("glVertexAttrib4ivARB", lib); GL_CHECK(gl.VertexAttrib4ivARB); gl.VertexAttrib4s = (void APIENTRY (*)(GLuint index, GLshort32 x, GLshort32 y, GLshort32 z, GLshort32 w)) ldg_find("glVertexAttrib4s", lib); GL_CHECK(gl.VertexAttrib4s); gl.VertexAttrib4sARB = (void APIENTRY (*)(GLuint index, GLshort32 x, GLshort32 y, GLshort32 z, GLshort32 w)) ldg_find("glVertexAttrib4sARB", lib); GL_CHECK(gl.VertexAttrib4sARB); gl.VertexAttrib4sNV = (void APIENTRY (*)(GLuint index, GLshort32 x, GLshort32 y, GLshort32 z, GLshort32 w)) ldg_find("glVertexAttrib4sNV", lib); GL_CHECK(gl.VertexAttrib4sNV); gl.VertexAttrib4sv = (void APIENTRY (*)(GLuint index, const GLshort *v)) ldg_find("glVertexAttrib4sv", lib); GL_CHECK(gl.VertexAttrib4sv); gl.VertexAttrib4svARB = (void APIENTRY (*)(GLuint index, const GLshort *v)) ldg_find("glVertexAttrib4svARB", lib); GL_CHECK(gl.VertexAttrib4svARB); gl.VertexAttrib4svNV = (void APIENTRY (*)(GLuint index, const GLshort *v)) ldg_find("glVertexAttrib4svNV", lib); GL_CHECK(gl.VertexAttrib4svNV); gl.VertexAttrib4ubNV = (void APIENTRY (*)(GLuint index, GLubyte32 x, GLubyte32 y, GLubyte32 z, GLubyte32 w)) ldg_find("glVertexAttrib4ubNV", lib); GL_CHECK(gl.VertexAttrib4ubNV); gl.VertexAttrib4ubv = (void APIENTRY (*)(GLuint index, const GLubyte *v)) ldg_find("glVertexAttrib4ubv", lib); GL_CHECK(gl.VertexAttrib4ubv); gl.VertexAttrib4ubvARB = (void APIENTRY (*)(GLuint index, const GLubyte *v)) ldg_find("glVertexAttrib4ubvARB", lib); GL_CHECK(gl.VertexAttrib4ubvARB); gl.VertexAttrib4ubvNV = (void APIENTRY (*)(GLuint index, const GLubyte *v)) ldg_find("glVertexAttrib4ubvNV", lib); GL_CHECK(gl.VertexAttrib4ubvNV); gl.VertexAttrib4uiv = (void APIENTRY (*)(GLuint index, const GLuint *v)) ldg_find("glVertexAttrib4uiv", lib); GL_CHECK(gl.VertexAttrib4uiv); gl.VertexAttrib4uivARB = (void APIENTRY (*)(GLuint index, const GLuint *v)) ldg_find("glVertexAttrib4uivARB", lib); GL_CHECK(gl.VertexAttrib4uivARB); gl.VertexAttrib4usv = (void APIENTRY (*)(GLuint index, const GLushort *v)) ldg_find("glVertexAttrib4usv", lib); GL_CHECK(gl.VertexAttrib4usv); gl.VertexAttrib4usvARB = (void APIENTRY (*)(GLuint index, const GLushort *v)) ldg_find("glVertexAttrib4usvARB", lib); GL_CHECK(gl.VertexAttrib4usvARB); gl.VertexAttribArrayObjectATI = (void APIENTRY (*)(GLuint index, GLint size, GLenum type, GLboolean32 normalized, GLsizei stride, GLuint buffer, GLuint offset)) ldg_find("glVertexAttribArrayObjectATI", lib); GL_CHECK(gl.VertexAttribArrayObjectATI); gl.VertexAttribBinding = (void APIENTRY (*)(GLuint attribindex, GLuint bindingindex)) ldg_find("glVertexAttribBinding", lib); GL_CHECK(gl.VertexAttribBinding); gl.VertexAttribDivisor = (void APIENTRY (*)(GLuint index, GLuint divisor)) ldg_find("glVertexAttribDivisor", lib); GL_CHECK(gl.VertexAttribDivisor); gl.VertexAttribDivisorARB = (void APIENTRY (*)(GLuint index, GLuint divisor)) ldg_find("glVertexAttribDivisorARB", lib); GL_CHECK(gl.VertexAttribDivisorARB); gl.VertexAttribFormat = (void APIENTRY (*)(GLuint attribindex, GLint size, GLenum type, GLboolean32 normalized, GLuint relativeoffset)) ldg_find("glVertexAttribFormat", lib); GL_CHECK(gl.VertexAttribFormat); gl.VertexAttribFormatNV = (void APIENTRY (*)(GLuint index, GLint size, GLenum type, GLboolean32 normalized, GLsizei stride)) ldg_find("glVertexAttribFormatNV", lib); GL_CHECK(gl.VertexAttribFormatNV); gl.VertexAttribI1i = (void APIENTRY (*)(GLuint index, GLint x)) ldg_find("glVertexAttribI1i", lib); GL_CHECK(gl.VertexAttribI1i); gl.VertexAttribI1iEXT = (void APIENTRY (*)(GLuint index, GLint x)) ldg_find("glVertexAttribI1iEXT", lib); GL_CHECK(gl.VertexAttribI1iEXT); gl.VertexAttribI1iv = (void APIENTRY (*)(GLuint index, const GLint *v)) ldg_find("glVertexAttribI1iv", lib); GL_CHECK(gl.VertexAttribI1iv); gl.VertexAttribI1ivEXT = (void APIENTRY (*)(GLuint index, const GLint *v)) ldg_find("glVertexAttribI1ivEXT", lib); GL_CHECK(gl.VertexAttribI1ivEXT); gl.VertexAttribI1ui = (void APIENTRY (*)(GLuint index, GLuint x)) ldg_find("glVertexAttribI1ui", lib); GL_CHECK(gl.VertexAttribI1ui); gl.VertexAttribI1uiEXT = (void APIENTRY (*)(GLuint index, GLuint x)) ldg_find("glVertexAttribI1uiEXT", lib); GL_CHECK(gl.VertexAttribI1uiEXT); gl.VertexAttribI1uiv = (void APIENTRY (*)(GLuint index, const GLuint *v)) ldg_find("glVertexAttribI1uiv", lib); GL_CHECK(gl.VertexAttribI1uiv); gl.VertexAttribI1uivEXT = (void APIENTRY (*)(GLuint index, const GLuint *v)) ldg_find("glVertexAttribI1uivEXT", lib); GL_CHECK(gl.VertexAttribI1uivEXT); gl.VertexAttribI2i = (void APIENTRY (*)(GLuint index, GLint x, GLint y)) ldg_find("glVertexAttribI2i", lib); GL_CHECK(gl.VertexAttribI2i); gl.VertexAttribI2iEXT = (void APIENTRY (*)(GLuint index, GLint x, GLint y)) ldg_find("glVertexAttribI2iEXT", lib); GL_CHECK(gl.VertexAttribI2iEXT); gl.VertexAttribI2iv = (void APIENTRY (*)(GLuint index, const GLint *v)) ldg_find("glVertexAttribI2iv", lib); GL_CHECK(gl.VertexAttribI2iv); gl.VertexAttribI2ivEXT = (void APIENTRY (*)(GLuint index, const GLint *v)) ldg_find("glVertexAttribI2ivEXT", lib); GL_CHECK(gl.VertexAttribI2ivEXT); gl.VertexAttribI2ui = (void APIENTRY (*)(GLuint index, GLuint x, GLuint y)) ldg_find("glVertexAttribI2ui", lib); GL_CHECK(gl.VertexAttribI2ui); gl.VertexAttribI2uiEXT = (void APIENTRY (*)(GLuint index, GLuint x, GLuint y)) ldg_find("glVertexAttribI2uiEXT", lib); GL_CHECK(gl.VertexAttribI2uiEXT); gl.VertexAttribI2uiv = (void APIENTRY (*)(GLuint index, const GLuint *v)) ldg_find("glVertexAttribI2uiv", lib); GL_CHECK(gl.VertexAttribI2uiv); gl.VertexAttribI2uivEXT = (void APIENTRY (*)(GLuint index, const GLuint *v)) ldg_find("glVertexAttribI2uivEXT", lib); GL_CHECK(gl.VertexAttribI2uivEXT); gl.VertexAttribI3i = (void APIENTRY (*)(GLuint index, GLint x, GLint y, GLint z)) ldg_find("glVertexAttribI3i", lib); GL_CHECK(gl.VertexAttribI3i); gl.VertexAttribI3iEXT = (void APIENTRY (*)(GLuint index, GLint x, GLint y, GLint z)) ldg_find("glVertexAttribI3iEXT", lib); GL_CHECK(gl.VertexAttribI3iEXT); gl.VertexAttribI3iv = (void APIENTRY (*)(GLuint index, const GLint *v)) ldg_find("glVertexAttribI3iv", lib); GL_CHECK(gl.VertexAttribI3iv); gl.VertexAttribI3ivEXT = (void APIENTRY (*)(GLuint index, const GLint *v)) ldg_find("glVertexAttribI3ivEXT", lib); GL_CHECK(gl.VertexAttribI3ivEXT); gl.VertexAttribI3ui = (void APIENTRY (*)(GLuint index, GLuint x, GLuint y, GLuint z)) ldg_find("glVertexAttribI3ui", lib); GL_CHECK(gl.VertexAttribI3ui); gl.VertexAttribI3uiEXT = (void APIENTRY (*)(GLuint index, GLuint x, GLuint y, GLuint z)) ldg_find("glVertexAttribI3uiEXT", lib); GL_CHECK(gl.VertexAttribI3uiEXT); gl.VertexAttribI3uiv = (void APIENTRY (*)(GLuint index, const GLuint *v)) ldg_find("glVertexAttribI3uiv", lib); GL_CHECK(gl.VertexAttribI3uiv); gl.VertexAttribI3uivEXT = (void APIENTRY (*)(GLuint index, const GLuint *v)) ldg_find("glVertexAttribI3uivEXT", lib); GL_CHECK(gl.VertexAttribI3uivEXT); gl.VertexAttribI4bv = (void APIENTRY (*)(GLuint index, const GLbyte *v)) ldg_find("glVertexAttribI4bv", lib); GL_CHECK(gl.VertexAttribI4bv); gl.VertexAttribI4bvEXT = (void APIENTRY (*)(GLuint index, const GLbyte *v)) ldg_find("glVertexAttribI4bvEXT", lib); GL_CHECK(gl.VertexAttribI4bvEXT); gl.VertexAttribI4i = (void APIENTRY (*)(GLuint index, GLint x, GLint y, GLint z, GLint w)) ldg_find("glVertexAttribI4i", lib); GL_CHECK(gl.VertexAttribI4i); gl.VertexAttribI4iEXT = (void APIENTRY (*)(GLuint index, GLint x, GLint y, GLint z, GLint w)) ldg_find("glVertexAttribI4iEXT", lib); GL_CHECK(gl.VertexAttribI4iEXT); gl.VertexAttribI4iv = (void APIENTRY (*)(GLuint index, const GLint *v)) ldg_find("glVertexAttribI4iv", lib); GL_CHECK(gl.VertexAttribI4iv); gl.VertexAttribI4ivEXT = (void APIENTRY (*)(GLuint index, const GLint *v)) ldg_find("glVertexAttribI4ivEXT", lib); GL_CHECK(gl.VertexAttribI4ivEXT); gl.VertexAttribI4sv = (void APIENTRY (*)(GLuint index, const GLshort *v)) ldg_find("glVertexAttribI4sv", lib); GL_CHECK(gl.VertexAttribI4sv); gl.VertexAttribI4svEXT = (void APIENTRY (*)(GLuint index, const GLshort *v)) ldg_find("glVertexAttribI4svEXT", lib); GL_CHECK(gl.VertexAttribI4svEXT); gl.VertexAttribI4ubv = (void APIENTRY (*)(GLuint index, const GLubyte *v)) ldg_find("glVertexAttribI4ubv", lib); GL_CHECK(gl.VertexAttribI4ubv); gl.VertexAttribI4ubvEXT = (void APIENTRY (*)(GLuint index, const GLubyte *v)) ldg_find("glVertexAttribI4ubvEXT", lib); GL_CHECK(gl.VertexAttribI4ubvEXT); gl.VertexAttribI4ui = (void APIENTRY (*)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w)) ldg_find("glVertexAttribI4ui", lib); GL_CHECK(gl.VertexAttribI4ui); gl.VertexAttribI4uiEXT = (void APIENTRY (*)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w)) ldg_find("glVertexAttribI4uiEXT", lib); GL_CHECK(gl.VertexAttribI4uiEXT); gl.VertexAttribI4uiv = (void APIENTRY (*)(GLuint index, const GLuint *v)) ldg_find("glVertexAttribI4uiv", lib); GL_CHECK(gl.VertexAttribI4uiv); gl.VertexAttribI4uivEXT = (void APIENTRY (*)(GLuint index, const GLuint *v)) ldg_find("glVertexAttribI4uivEXT", lib); GL_CHECK(gl.VertexAttribI4uivEXT); gl.VertexAttribI4usv = (void APIENTRY (*)(GLuint index, const GLushort *v)) ldg_find("glVertexAttribI4usv", lib); GL_CHECK(gl.VertexAttribI4usv); gl.VertexAttribI4usvEXT = (void APIENTRY (*)(GLuint index, const GLushort *v)) ldg_find("glVertexAttribI4usvEXT", lib); GL_CHECK(gl.VertexAttribI4usvEXT); gl.VertexAttribIFormat = (void APIENTRY (*)(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset)) ldg_find("glVertexAttribIFormat", lib); GL_CHECK(gl.VertexAttribIFormat); gl.VertexAttribIFormatNV = (void APIENTRY (*)(GLuint index, GLint size, GLenum type, GLsizei stride)) ldg_find("glVertexAttribIFormatNV", lib); GL_CHECK(gl.VertexAttribIFormatNV); gl.VertexAttribIPointer = (void APIENTRY (*)(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer)) ldg_find("glVertexAttribIPointer", lib); GL_CHECK(gl.VertexAttribIPointer); gl.VertexAttribIPointerEXT = (void APIENTRY (*)(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer)) ldg_find("glVertexAttribIPointerEXT", lib); GL_CHECK(gl.VertexAttribIPointerEXT); gl.VertexAttribL1d = (void APIENTRY (*)(GLuint index, GLdouble x)) ldg_find("glVertexAttribL1d", lib); GL_CHECK(gl.VertexAttribL1d); gl.VertexAttribL1dEXT = (void APIENTRY (*)(GLuint index, GLdouble x)) ldg_find("glVertexAttribL1dEXT", lib); GL_CHECK(gl.VertexAttribL1dEXT); gl.VertexAttribL1dv = (void APIENTRY (*)(GLuint index, const GLdouble *v)) ldg_find("glVertexAttribL1dv", lib); GL_CHECK(gl.VertexAttribL1dv); gl.VertexAttribL1dvEXT = (void APIENTRY (*)(GLuint index, const GLdouble *v)) ldg_find("glVertexAttribL1dvEXT", lib); GL_CHECK(gl.VertexAttribL1dvEXT); gl.VertexAttribL1i64NV = (void APIENTRY (*)(GLuint index, GLint64EXT x)) ldg_find("glVertexAttribL1i64NV", lib); GL_CHECK(gl.VertexAttribL1i64NV); gl.VertexAttribL1i64vNV = (void APIENTRY (*)(GLuint index, const GLint64EXT *v)) ldg_find("glVertexAttribL1i64vNV", lib); GL_CHECK(gl.VertexAttribL1i64vNV); gl.VertexAttribL1ui64ARB = (void APIENTRY (*)(GLuint index, GLuint64EXT x)) ldg_find("glVertexAttribL1ui64ARB", lib); GL_CHECK(gl.VertexAttribL1ui64ARB); gl.VertexAttribL1ui64NV = (void APIENTRY (*)(GLuint index, GLuint64EXT x)) ldg_find("glVertexAttribL1ui64NV", lib); GL_CHECK(gl.VertexAttribL1ui64NV); gl.VertexAttribL1ui64vARB = (void APIENTRY (*)(GLuint index, const GLuint64EXT *v)) ldg_find("glVertexAttribL1ui64vARB", lib); GL_CHECK(gl.VertexAttribL1ui64vARB); gl.VertexAttribL1ui64vNV = (void APIENTRY (*)(GLuint index, const GLuint64EXT *v)) ldg_find("glVertexAttribL1ui64vNV", lib); GL_CHECK(gl.VertexAttribL1ui64vNV); gl.VertexAttribL2d = (void APIENTRY (*)(GLuint index, GLdouble x, GLdouble y)) ldg_find("glVertexAttribL2d", lib); GL_CHECK(gl.VertexAttribL2d); gl.VertexAttribL2dEXT = (void APIENTRY (*)(GLuint index, GLdouble x, GLdouble y)) ldg_find("glVertexAttribL2dEXT", lib); GL_CHECK(gl.VertexAttribL2dEXT); gl.VertexAttribL2dv = (void APIENTRY (*)(GLuint index, const GLdouble *v)) ldg_find("glVertexAttribL2dv", lib); GL_CHECK(gl.VertexAttribL2dv); gl.VertexAttribL2dvEXT = (void APIENTRY (*)(GLuint index, const GLdouble *v)) ldg_find("glVertexAttribL2dvEXT", lib); GL_CHECK(gl.VertexAttribL2dvEXT); gl.VertexAttribL2i64NV = (void APIENTRY (*)(GLuint index, GLint64EXT x, GLint64EXT y)) ldg_find("glVertexAttribL2i64NV", lib); GL_CHECK(gl.VertexAttribL2i64NV); gl.VertexAttribL2i64vNV = (void APIENTRY (*)(GLuint index, const GLint64EXT *v)) ldg_find("glVertexAttribL2i64vNV", lib); GL_CHECK(gl.VertexAttribL2i64vNV); gl.VertexAttribL2ui64NV = (void APIENTRY (*)(GLuint index, GLuint64EXT x, GLuint64EXT y)) ldg_find("glVertexAttribL2ui64NV", lib); GL_CHECK(gl.VertexAttribL2ui64NV); gl.VertexAttribL2ui64vNV = (void APIENTRY (*)(GLuint index, const GLuint64EXT *v)) ldg_find("glVertexAttribL2ui64vNV", lib); GL_CHECK(gl.VertexAttribL2ui64vNV); gl.VertexAttribL3d = (void APIENTRY (*)(GLuint index, GLdouble x, GLdouble y, GLdouble z)) ldg_find("glVertexAttribL3d", lib); GL_CHECK(gl.VertexAttribL3d); gl.VertexAttribL3dEXT = (void APIENTRY (*)(GLuint index, GLdouble x, GLdouble y, GLdouble z)) ldg_find("glVertexAttribL3dEXT", lib); GL_CHECK(gl.VertexAttribL3dEXT); gl.VertexAttribL3dv = (void APIENTRY (*)(GLuint index, const GLdouble *v)) ldg_find("glVertexAttribL3dv", lib); GL_CHECK(gl.VertexAttribL3dv); gl.VertexAttribL3dvEXT = (void APIENTRY (*)(GLuint index, const GLdouble *v)) ldg_find("glVertexAttribL3dvEXT", lib); GL_CHECK(gl.VertexAttribL3dvEXT); gl.VertexAttribL3i64NV = (void APIENTRY (*)(GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z)) ldg_find("glVertexAttribL3i64NV", lib); GL_CHECK(gl.VertexAttribL3i64NV); gl.VertexAttribL3i64vNV = (void APIENTRY (*)(GLuint index, const GLint64EXT *v)) ldg_find("glVertexAttribL3i64vNV", lib); GL_CHECK(gl.VertexAttribL3i64vNV); gl.VertexAttribL3ui64NV = (void APIENTRY (*)(GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z)) ldg_find("glVertexAttribL3ui64NV", lib); GL_CHECK(gl.VertexAttribL3ui64NV); gl.VertexAttribL3ui64vNV = (void APIENTRY (*)(GLuint index, const GLuint64EXT *v)) ldg_find("glVertexAttribL3ui64vNV", lib); GL_CHECK(gl.VertexAttribL3ui64vNV); gl.VertexAttribL4d = (void APIENTRY (*)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)) ldg_find("glVertexAttribL4d", lib); GL_CHECK(gl.VertexAttribL4d); gl.VertexAttribL4dEXT = (void APIENTRY (*)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)) ldg_find("glVertexAttribL4dEXT", lib); GL_CHECK(gl.VertexAttribL4dEXT); gl.VertexAttribL4dv = (void APIENTRY (*)(GLuint index, const GLdouble *v)) ldg_find("glVertexAttribL4dv", lib); GL_CHECK(gl.VertexAttribL4dv); gl.VertexAttribL4dvEXT = (void APIENTRY (*)(GLuint index, const GLdouble *v)) ldg_find("glVertexAttribL4dvEXT", lib); GL_CHECK(gl.VertexAttribL4dvEXT); gl.VertexAttribL4i64NV = (void APIENTRY (*)(GLuint index, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w)) ldg_find("glVertexAttribL4i64NV", lib); GL_CHECK(gl.VertexAttribL4i64NV); gl.VertexAttribL4i64vNV = (void APIENTRY (*)(GLuint index, const GLint64EXT *v)) ldg_find("glVertexAttribL4i64vNV", lib); GL_CHECK(gl.VertexAttribL4i64vNV); gl.VertexAttribL4ui64NV = (void APIENTRY (*)(GLuint index, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w)) ldg_find("glVertexAttribL4ui64NV", lib); GL_CHECK(gl.VertexAttribL4ui64NV); gl.VertexAttribL4ui64vNV = (void APIENTRY (*)(GLuint index, const GLuint64EXT *v)) ldg_find("glVertexAttribL4ui64vNV", lib); GL_CHECK(gl.VertexAttribL4ui64vNV); gl.VertexAttribLFormat = (void APIENTRY (*)(GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset)) ldg_find("glVertexAttribLFormat", lib); GL_CHECK(gl.VertexAttribLFormat); gl.VertexAttribLFormatNV = (void APIENTRY (*)(GLuint index, GLint size, GLenum type, GLsizei stride)) ldg_find("glVertexAttribLFormatNV", lib); GL_CHECK(gl.VertexAttribLFormatNV); gl.VertexAttribLPointer = (void APIENTRY (*)(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer)) ldg_find("glVertexAttribLPointer", lib); GL_CHECK(gl.VertexAttribLPointer); gl.VertexAttribLPointerEXT = (void APIENTRY (*)(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer)) ldg_find("glVertexAttribLPointerEXT", lib); GL_CHECK(gl.VertexAttribLPointerEXT); gl.VertexAttribP1ui = (void APIENTRY (*)(GLuint index, GLenum type, GLboolean32 normalized, GLuint value)) ldg_find("glVertexAttribP1ui", lib); GL_CHECK(gl.VertexAttribP1ui); gl.VertexAttribP1uiv = (void APIENTRY (*)(GLuint index, GLenum type, GLboolean32 normalized, const GLuint *value)) ldg_find("glVertexAttribP1uiv", lib); GL_CHECK(gl.VertexAttribP1uiv); gl.VertexAttribP2ui = (void APIENTRY (*)(GLuint index, GLenum type, GLboolean32 normalized, GLuint value)) ldg_find("glVertexAttribP2ui", lib); GL_CHECK(gl.VertexAttribP2ui); gl.VertexAttribP2uiv = (void APIENTRY (*)(GLuint index, GLenum type, GLboolean32 normalized, const GLuint *value)) ldg_find("glVertexAttribP2uiv", lib); GL_CHECK(gl.VertexAttribP2uiv); gl.VertexAttribP3ui = (void APIENTRY (*)(GLuint index, GLenum type, GLboolean32 normalized, GLuint value)) ldg_find("glVertexAttribP3ui", lib); GL_CHECK(gl.VertexAttribP3ui); gl.VertexAttribP3uiv = (void APIENTRY (*)(GLuint index, GLenum type, GLboolean32 normalized, const GLuint *value)) ldg_find("glVertexAttribP3uiv", lib); GL_CHECK(gl.VertexAttribP3uiv); gl.VertexAttribP4ui = (void APIENTRY (*)(GLuint index, GLenum type, GLboolean32 normalized, GLuint value)) ldg_find("glVertexAttribP4ui", lib); GL_CHECK(gl.VertexAttribP4ui); gl.VertexAttribP4uiv = (void APIENTRY (*)(GLuint index, GLenum type, GLboolean32 normalized, const GLuint *value)) ldg_find("glVertexAttribP4uiv", lib); GL_CHECK(gl.VertexAttribP4uiv); gl.VertexAttribParameteriAMD = (void APIENTRY (*)(GLuint index, GLenum pname, GLint param)) ldg_find("glVertexAttribParameteriAMD", lib); GL_CHECK(gl.VertexAttribParameteriAMD); gl.VertexAttribPointer = (void APIENTRY (*)(GLuint index, GLint size, GLenum type, GLboolean32 normalized, GLsizei stride, const void *pointer)) ldg_find("glVertexAttribPointer", lib); GL_CHECK(gl.VertexAttribPointer); gl.VertexAttribPointerARB = (void APIENTRY (*)(GLuint index, GLint size, GLenum type, GLboolean32 normalized, GLsizei stride, const void *pointer)) ldg_find("glVertexAttribPointerARB", lib); GL_CHECK(gl.VertexAttribPointerARB); gl.VertexAttribPointerNV = (void APIENTRY (*)(GLuint index, GLint fsize, GLenum type, GLsizei stride, const void *pointer)) ldg_find("glVertexAttribPointerNV", lib); GL_CHECK(gl.VertexAttribPointerNV); gl.VertexAttribs1dvNV = (void APIENTRY (*)(GLuint index, GLsizei count, const GLdouble *v)) ldg_find("glVertexAttribs1dvNV", lib); GL_CHECK(gl.VertexAttribs1dvNV); gl.VertexAttribs1fvNV = (void APIENTRY (*)(GLuint index, GLsizei count, const GLfloat *v)) ldg_find("glVertexAttribs1fvNV", lib); GL_CHECK(gl.VertexAttribs1fvNV); gl.VertexAttribs1hvNV = (void APIENTRY (*)(GLuint index, GLsizei n, const GLhalfNV *v)) ldg_find("glVertexAttribs1hvNV", lib); GL_CHECK(gl.VertexAttribs1hvNV); gl.VertexAttribs1svNV = (void APIENTRY (*)(GLuint index, GLsizei count, const GLshort *v)) ldg_find("glVertexAttribs1svNV", lib); GL_CHECK(gl.VertexAttribs1svNV); gl.VertexAttribs2dvNV = (void APIENTRY (*)(GLuint index, GLsizei count, const GLdouble *v)) ldg_find("glVertexAttribs2dvNV", lib); GL_CHECK(gl.VertexAttribs2dvNV); gl.VertexAttribs2fvNV = (void APIENTRY (*)(GLuint index, GLsizei count, const GLfloat *v)) ldg_find("glVertexAttribs2fvNV", lib); GL_CHECK(gl.VertexAttribs2fvNV); gl.VertexAttribs2hvNV = (void APIENTRY (*)(GLuint index, GLsizei n, const GLhalfNV *v)) ldg_find("glVertexAttribs2hvNV", lib); GL_CHECK(gl.VertexAttribs2hvNV); gl.VertexAttribs2svNV = (void APIENTRY (*)(GLuint index, GLsizei count, const GLshort *v)) ldg_find("glVertexAttribs2svNV", lib); GL_CHECK(gl.VertexAttribs2svNV); gl.VertexAttribs3dvNV = (void APIENTRY (*)(GLuint index, GLsizei count, const GLdouble *v)) ldg_find("glVertexAttribs3dvNV", lib); GL_CHECK(gl.VertexAttribs3dvNV); gl.VertexAttribs3fvNV = (void APIENTRY (*)(GLuint index, GLsizei count, const GLfloat *v)) ldg_find("glVertexAttribs3fvNV", lib); GL_CHECK(gl.VertexAttribs3fvNV); gl.VertexAttribs3hvNV = (void APIENTRY (*)(GLuint index, GLsizei n, const GLhalfNV *v)) ldg_find("glVertexAttribs3hvNV", lib); GL_CHECK(gl.VertexAttribs3hvNV); gl.VertexAttribs3svNV = (void APIENTRY (*)(GLuint index, GLsizei count, const GLshort *v)) ldg_find("glVertexAttribs3svNV", lib); GL_CHECK(gl.VertexAttribs3svNV); gl.VertexAttribs4dvNV = (void APIENTRY (*)(GLuint index, GLsizei count, const GLdouble *v)) ldg_find("glVertexAttribs4dvNV", lib); GL_CHECK(gl.VertexAttribs4dvNV); gl.VertexAttribs4fvNV = (void APIENTRY (*)(GLuint index, GLsizei count, const GLfloat *v)) ldg_find("glVertexAttribs4fvNV", lib); GL_CHECK(gl.VertexAttribs4fvNV); gl.VertexAttribs4hvNV = (void APIENTRY (*)(GLuint index, GLsizei n, const GLhalfNV *v)) ldg_find("glVertexAttribs4hvNV", lib); GL_CHECK(gl.VertexAttribs4hvNV); gl.VertexAttribs4svNV = (void APIENTRY (*)(GLuint index, GLsizei count, const GLshort *v)) ldg_find("glVertexAttribs4svNV", lib); GL_CHECK(gl.VertexAttribs4svNV); gl.VertexAttribs4ubvNV = (void APIENTRY (*)(GLuint index, GLsizei count, const GLubyte *v)) ldg_find("glVertexAttribs4ubvNV", lib); GL_CHECK(gl.VertexAttribs4ubvNV); gl.VertexBindingDivisor = (void APIENTRY (*)(GLuint bindingindex, GLuint divisor)) ldg_find("glVertexBindingDivisor", lib); GL_CHECK(gl.VertexBindingDivisor); gl.VertexBlendARB = (void APIENTRY (*)(GLint count)) ldg_find("glVertexBlendARB", lib); GL_CHECK(gl.VertexBlendARB); gl.VertexBlendEnvfATI = (void APIENTRY (*)(GLenum pname, GLfloat param)) ldg_find("glVertexBlendEnvfATI", lib); GL_CHECK(gl.VertexBlendEnvfATI); gl.VertexBlendEnviATI = (void APIENTRY (*)(GLenum pname, GLint param)) ldg_find("glVertexBlendEnviATI", lib); GL_CHECK(gl.VertexBlendEnviATI); gl.VertexFormatNV = (void APIENTRY (*)(GLint size, GLenum type, GLsizei stride)) ldg_find("glVertexFormatNV", lib); GL_CHECK(gl.VertexFormatNV); gl.VertexP2ui = (void APIENTRY (*)(GLenum type, GLuint value)) ldg_find("glVertexP2ui", lib); GL_CHECK(gl.VertexP2ui); gl.VertexP2uiv = (void APIENTRY (*)(GLenum type, const GLuint *value)) ldg_find("glVertexP2uiv", lib); GL_CHECK(gl.VertexP2uiv); gl.VertexP3ui = (void APIENTRY (*)(GLenum type, GLuint value)) ldg_find("glVertexP3ui", lib); GL_CHECK(gl.VertexP3ui); gl.VertexP3uiv = (void APIENTRY (*)(GLenum type, const GLuint *value)) ldg_find("glVertexP3uiv", lib); GL_CHECK(gl.VertexP3uiv); gl.VertexP4ui = (void APIENTRY (*)(GLenum type, GLuint value)) ldg_find("glVertexP4ui", lib); GL_CHECK(gl.VertexP4ui); gl.VertexP4uiv = (void APIENTRY (*)(GLenum type, const GLuint *value)) ldg_find("glVertexP4uiv", lib); GL_CHECK(gl.VertexP4uiv); gl.VertexPointSizefAPPLE = (void APIENTRY (*)(GLfloat size)) ldg_find("glVertexPointSizefAPPLE", lib); GL_CHECK(gl.VertexPointSizefAPPLE); gl.VertexPointer = (void APIENTRY (*)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)) ldg_find("glVertexPointer", lib); GL_CHECK(gl.VertexPointer); gl.VertexPointerEXT = (void APIENTRY (*)(GLint size, GLenum type, GLsizei stride, GLsizei count, const void *pointer)) ldg_find("glVertexPointerEXT", lib); GL_CHECK(gl.VertexPointerEXT); gl.VertexPointerListIBM = (void APIENTRY (*)(GLint size, GLenum type, GLint stride, const void * *pointer, GLint ptrstride)) ldg_find("glVertexPointerListIBM", lib); GL_CHECK(gl.VertexPointerListIBM); gl.VertexPointervINTEL = (void APIENTRY (*)(GLint size, GLenum type, const void * *pointer)) ldg_find("glVertexPointervINTEL", lib); GL_CHECK(gl.VertexPointervINTEL); gl.VertexStream1dATI = (void APIENTRY (*)(GLenum stream, GLdouble x)) ldg_find("glVertexStream1dATI", lib); GL_CHECK(gl.VertexStream1dATI); gl.VertexStream1dvATI = (void APIENTRY (*)(GLenum stream, const GLdouble *coords)) ldg_find("glVertexStream1dvATI", lib); GL_CHECK(gl.VertexStream1dvATI); gl.VertexStream1fATI = (void APIENTRY (*)(GLenum stream, GLfloat x)) ldg_find("glVertexStream1fATI", lib); GL_CHECK(gl.VertexStream1fATI); gl.VertexStream1fvATI = (void APIENTRY (*)(GLenum stream, const GLfloat *coords)) ldg_find("glVertexStream1fvATI", lib); GL_CHECK(gl.VertexStream1fvATI); gl.VertexStream1iATI = (void APIENTRY (*)(GLenum stream, GLint x)) ldg_find("glVertexStream1iATI", lib); GL_CHECK(gl.VertexStream1iATI); gl.VertexStream1ivATI = (void APIENTRY (*)(GLenum stream, const GLint *coords)) ldg_find("glVertexStream1ivATI", lib); GL_CHECK(gl.VertexStream1ivATI); gl.VertexStream1sATI = (void APIENTRY (*)(GLenum stream, GLshort32 x)) ldg_find("glVertexStream1sATI", lib); GL_CHECK(gl.VertexStream1sATI); gl.VertexStream1svATI = (void APIENTRY (*)(GLenum stream, const GLshort *coords)) ldg_find("glVertexStream1svATI", lib); GL_CHECK(gl.VertexStream1svATI); gl.VertexStream2dATI = (void APIENTRY (*)(GLenum stream, GLdouble x, GLdouble y)) ldg_find("glVertexStream2dATI", lib); GL_CHECK(gl.VertexStream2dATI); gl.VertexStream2dvATI = (void APIENTRY (*)(GLenum stream, const GLdouble *coords)) ldg_find("glVertexStream2dvATI", lib); GL_CHECK(gl.VertexStream2dvATI); gl.VertexStream2fATI = (void APIENTRY (*)(GLenum stream, GLfloat x, GLfloat y)) ldg_find("glVertexStream2fATI", lib); GL_CHECK(gl.VertexStream2fATI); gl.VertexStream2fvATI = (void APIENTRY (*)(GLenum stream, const GLfloat *coords)) ldg_find("glVertexStream2fvATI", lib); GL_CHECK(gl.VertexStream2fvATI); gl.VertexStream2iATI = (void APIENTRY (*)(GLenum stream, GLint x, GLint y)) ldg_find("glVertexStream2iATI", lib); GL_CHECK(gl.VertexStream2iATI); gl.VertexStream2ivATI = (void APIENTRY (*)(GLenum stream, const GLint *coords)) ldg_find("glVertexStream2ivATI", lib); GL_CHECK(gl.VertexStream2ivATI); gl.VertexStream2sATI = (void APIENTRY (*)(GLenum stream, GLshort32 x, GLshort32 y)) ldg_find("glVertexStream2sATI", lib); GL_CHECK(gl.VertexStream2sATI); gl.VertexStream2svATI = (void APIENTRY (*)(GLenum stream, const GLshort *coords)) ldg_find("glVertexStream2svATI", lib); GL_CHECK(gl.VertexStream2svATI); gl.VertexStream3dATI = (void APIENTRY (*)(GLenum stream, GLdouble x, GLdouble y, GLdouble z)) ldg_find("glVertexStream3dATI", lib); GL_CHECK(gl.VertexStream3dATI); gl.VertexStream3dvATI = (void APIENTRY (*)(GLenum stream, const GLdouble *coords)) ldg_find("glVertexStream3dvATI", lib); GL_CHECK(gl.VertexStream3dvATI); gl.VertexStream3fATI = (void APIENTRY (*)(GLenum stream, GLfloat x, GLfloat y, GLfloat z)) ldg_find("glVertexStream3fATI", lib); GL_CHECK(gl.VertexStream3fATI); gl.VertexStream3fvATI = (void APIENTRY (*)(GLenum stream, const GLfloat *coords)) ldg_find("glVertexStream3fvATI", lib); GL_CHECK(gl.VertexStream3fvATI); gl.VertexStream3iATI = (void APIENTRY (*)(GLenum stream, GLint x, GLint y, GLint z)) ldg_find("glVertexStream3iATI", lib); GL_CHECK(gl.VertexStream3iATI); gl.VertexStream3ivATI = (void APIENTRY (*)(GLenum stream, const GLint *coords)) ldg_find("glVertexStream3ivATI", lib); GL_CHECK(gl.VertexStream3ivATI); gl.VertexStream3sATI = (void APIENTRY (*)(GLenum stream, GLshort32 x, GLshort32 y, GLshort32 z)) ldg_find("glVertexStream3sATI", lib); GL_CHECK(gl.VertexStream3sATI); gl.VertexStream3svATI = (void APIENTRY (*)(GLenum stream, const GLshort *coords)) ldg_find("glVertexStream3svATI", lib); GL_CHECK(gl.VertexStream3svATI); gl.VertexStream4dATI = (void APIENTRY (*)(GLenum stream, GLdouble x, GLdouble y, GLdouble z, GLdouble w)) ldg_find("glVertexStream4dATI", lib); GL_CHECK(gl.VertexStream4dATI); gl.VertexStream4dvATI = (void APIENTRY (*)(GLenum stream, const GLdouble *coords)) ldg_find("glVertexStream4dvATI", lib); GL_CHECK(gl.VertexStream4dvATI); gl.VertexStream4fATI = (void APIENTRY (*)(GLenum stream, GLfloat x, GLfloat y, GLfloat z, GLfloat w)) ldg_find("glVertexStream4fATI", lib); GL_CHECK(gl.VertexStream4fATI); gl.VertexStream4fvATI = (void APIENTRY (*)(GLenum stream, const GLfloat *coords)) ldg_find("glVertexStream4fvATI", lib); GL_CHECK(gl.VertexStream4fvATI); gl.VertexStream4iATI = (void APIENTRY (*)(GLenum stream, GLint x, GLint y, GLint z, GLint w)) ldg_find("glVertexStream4iATI", lib); GL_CHECK(gl.VertexStream4iATI); gl.VertexStream4ivATI = (void APIENTRY (*)(GLenum stream, const GLint *coords)) ldg_find("glVertexStream4ivATI", lib); GL_CHECK(gl.VertexStream4ivATI); gl.VertexStream4sATI = (void APIENTRY (*)(GLenum stream, GLshort32 x, GLshort32 y, GLshort32 z, GLshort32 w)) ldg_find("glVertexStream4sATI", lib); GL_CHECK(gl.VertexStream4sATI); gl.VertexStream4svATI = (void APIENTRY (*)(GLenum stream, const GLshort *coords)) ldg_find("glVertexStream4svATI", lib); GL_CHECK(gl.VertexStream4svATI); gl.VertexWeightPointerEXT = (void APIENTRY (*)(GLint size, GLenum type, GLsizei stride, const void *pointer)) ldg_find("glVertexWeightPointerEXT", lib); GL_CHECK(gl.VertexWeightPointerEXT); gl.VertexWeightfEXT = (void APIENTRY (*)(GLfloat weight)) ldg_find("glVertexWeightfEXT", lib); GL_CHECK(gl.VertexWeightfEXT); gl.VertexWeightfvEXT = (void APIENTRY (*)(const GLfloat *weight)) ldg_find("glVertexWeightfvEXT", lib); GL_CHECK(gl.VertexWeightfvEXT); gl.VertexWeighthNV = (void APIENTRY (*)(GLhalfNV32 weight)) ldg_find("glVertexWeighthNV", lib); GL_CHECK(gl.VertexWeighthNV); gl.VertexWeighthvNV = (void APIENTRY (*)(const GLhalfNV *weight)) ldg_find("glVertexWeighthvNV", lib); GL_CHECK(gl.VertexWeighthvNV); gl.VideoCaptureNV = (GLenum APIENTRY (*)(GLuint video_capture_slot, GLuint *sequence_num, GLuint64EXT *capture_time)) ldg_find("glVideoCaptureNV", lib); GL_CHECK(gl.VideoCaptureNV); gl.VideoCaptureStreamParameterdvNV = (void APIENTRY (*)(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLdouble *params)) ldg_find("glVideoCaptureStreamParameterdvNV", lib); GL_CHECK(gl.VideoCaptureStreamParameterdvNV); gl.VideoCaptureStreamParameterfvNV = (void APIENTRY (*)(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLfloat *params)) ldg_find("glVideoCaptureStreamParameterfvNV", lib); GL_CHECK(gl.VideoCaptureStreamParameterfvNV); gl.VideoCaptureStreamParameterivNV = (void APIENTRY (*)(GLuint video_capture_slot, GLuint stream, GLenum pname, const GLint *params)) ldg_find("glVideoCaptureStreamParameterivNV", lib); GL_CHECK(gl.VideoCaptureStreamParameterivNV); gl.Viewport = (void APIENTRY (*)(GLint x, GLint y, GLsizei width, GLsizei height)) ldg_find("glViewport", lib); GL_CHECK(gl.Viewport); gl.ViewportArrayv = (void APIENTRY (*)(GLuint first, GLsizei count, const GLfloat *v)) ldg_find("glViewportArrayv", lib); GL_CHECK(gl.ViewportArrayv); gl.ViewportIndexedf = (void APIENTRY (*)(GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h)) ldg_find("glViewportIndexedf", lib); GL_CHECK(gl.ViewportIndexedf); gl.ViewportIndexedfv = (void APIENTRY (*)(GLuint index, const GLfloat *v)) ldg_find("glViewportIndexedfv", lib); GL_CHECK(gl.ViewportIndexedfv); gl.WaitSync = (void APIENTRY (*)(GLsync sync, GLbitfield flags, GLuint64 timeout)) ldg_find("glWaitSync", lib); GL_CHECK(gl.WaitSync); gl.WeightPathsNV = (void APIENTRY (*)(GLuint resultPath, GLsizei numPaths, const GLuint *paths, const GLfloat *weights)) ldg_find("glWeightPathsNV", lib); GL_CHECK(gl.WeightPathsNV); gl.WeightPointerARB = (void APIENTRY (*)(GLint size, GLenum type, GLsizei stride, const void *pointer)) ldg_find("glWeightPointerARB", lib); GL_CHECK(gl.WeightPointerARB); gl.WeightbvARB = (void APIENTRY (*)(GLint size, const GLbyte *weights)) ldg_find("glWeightbvARB", lib); GL_CHECK(gl.WeightbvARB); gl.WeightdvARB = (void APIENTRY (*)(GLint size, const GLdouble *weights)) ldg_find("glWeightdvARB", lib); GL_CHECK(gl.WeightdvARB); gl.WeightfvARB = (void APIENTRY (*)(GLint size, const GLfloat *weights)) ldg_find("glWeightfvARB", lib); GL_CHECK(gl.WeightfvARB); gl.WeightivARB = (void APIENTRY (*)(GLint size, const GLint *weights)) ldg_find("glWeightivARB", lib); GL_CHECK(gl.WeightivARB); gl.WeightsvARB = (void APIENTRY (*)(GLint size, const GLshort *weights)) ldg_find("glWeightsvARB", lib); GL_CHECK(gl.WeightsvARB); gl.WeightubvARB = (void APIENTRY (*)(GLint size, const GLubyte *weights)) ldg_find("glWeightubvARB", lib); GL_CHECK(gl.WeightubvARB); gl.WeightuivARB = (void APIENTRY (*)(GLint size, const GLuint *weights)) ldg_find("glWeightuivARB", lib); GL_CHECK(gl.WeightuivARB); gl.WeightusvARB = (void APIENTRY (*)(GLint size, const GLushort *weights)) ldg_find("glWeightusvARB", lib); GL_CHECK(gl.WeightusvARB); gl.WindowPos2d = (void APIENTRY (*)(GLdouble x, GLdouble y)) ldg_find("glWindowPos2d", lib); GL_CHECK(gl.WindowPos2d); gl.WindowPos2dARB = (void APIENTRY (*)(GLdouble x, GLdouble y)) ldg_find("glWindowPos2dARB", lib); GL_CHECK(gl.WindowPos2dARB); gl.WindowPos2dMESA = (void APIENTRY (*)(GLdouble x, GLdouble y)) ldg_find("glWindowPos2dMESA", lib); GL_CHECK(gl.WindowPos2dMESA); gl.WindowPos2dv = (void APIENTRY (*)(const GLdouble *v)) ldg_find("glWindowPos2dv", lib); GL_CHECK(gl.WindowPos2dv); gl.WindowPos2dvARB = (void APIENTRY (*)(const GLdouble *v)) ldg_find("glWindowPos2dvARB", lib); GL_CHECK(gl.WindowPos2dvARB); gl.WindowPos2dvMESA = (void APIENTRY (*)(const GLdouble *v)) ldg_find("glWindowPos2dvMESA", lib); GL_CHECK(gl.WindowPos2dvMESA); gl.WindowPos2f = (void APIENTRY (*)(GLfloat x, GLfloat y)) ldg_find("glWindowPos2f", lib); GL_CHECK(gl.WindowPos2f); gl.WindowPos2fARB = (void APIENTRY (*)(GLfloat x, GLfloat y)) ldg_find("glWindowPos2fARB", lib); GL_CHECK(gl.WindowPos2fARB); gl.WindowPos2fMESA = (void APIENTRY (*)(GLfloat x, GLfloat y)) ldg_find("glWindowPos2fMESA", lib); GL_CHECK(gl.WindowPos2fMESA); gl.WindowPos2fv = (void APIENTRY (*)(const GLfloat *v)) ldg_find("glWindowPos2fv", lib); GL_CHECK(gl.WindowPos2fv); gl.WindowPos2fvARB = (void APIENTRY (*)(const GLfloat *v)) ldg_find("glWindowPos2fvARB", lib); GL_CHECK(gl.WindowPos2fvARB); gl.WindowPos2fvMESA = (void APIENTRY (*)(const GLfloat *v)) ldg_find("glWindowPos2fvMESA", lib); GL_CHECK(gl.WindowPos2fvMESA); gl.WindowPos2i = (void APIENTRY (*)(GLint x, GLint y)) ldg_find("glWindowPos2i", lib); GL_CHECK(gl.WindowPos2i); gl.WindowPos2iARB = (void APIENTRY (*)(GLint x, GLint y)) ldg_find("glWindowPos2iARB", lib); GL_CHECK(gl.WindowPos2iARB); gl.WindowPos2iMESA = (void APIENTRY (*)(GLint x, GLint y)) ldg_find("glWindowPos2iMESA", lib); GL_CHECK(gl.WindowPos2iMESA); gl.WindowPos2iv = (void APIENTRY (*)(const GLint *v)) ldg_find("glWindowPos2iv", lib); GL_CHECK(gl.WindowPos2iv); gl.WindowPos2ivARB = (void APIENTRY (*)(const GLint *v)) ldg_find("glWindowPos2ivARB", lib); GL_CHECK(gl.WindowPos2ivARB); gl.WindowPos2ivMESA = (void APIENTRY (*)(const GLint *v)) ldg_find("glWindowPos2ivMESA", lib); GL_CHECK(gl.WindowPos2ivMESA); gl.WindowPos2s = (void APIENTRY (*)(GLshort32 x, GLshort32 y)) ldg_find("glWindowPos2s", lib); GL_CHECK(gl.WindowPos2s); gl.WindowPos2sARB = (void APIENTRY (*)(GLshort32 x, GLshort32 y)) ldg_find("glWindowPos2sARB", lib); GL_CHECK(gl.WindowPos2sARB); gl.WindowPos2sMESA = (void APIENTRY (*)(GLshort32 x, GLshort32 y)) ldg_find("glWindowPos2sMESA", lib); GL_CHECK(gl.WindowPos2sMESA); gl.WindowPos2sv = (void APIENTRY (*)(const GLshort *v)) ldg_find("glWindowPos2sv", lib); GL_CHECK(gl.WindowPos2sv); gl.WindowPos2svARB = (void APIENTRY (*)(const GLshort *v)) ldg_find("glWindowPos2svARB", lib); GL_CHECK(gl.WindowPos2svARB); gl.WindowPos2svMESA = (void APIENTRY (*)(const GLshort *v)) ldg_find("glWindowPos2svMESA", lib); GL_CHECK(gl.WindowPos2svMESA); gl.WindowPos3d = (void APIENTRY (*)(GLdouble x, GLdouble y, GLdouble z)) ldg_find("glWindowPos3d", lib); GL_CHECK(gl.WindowPos3d); gl.WindowPos3dARB = (void APIENTRY (*)(GLdouble x, GLdouble y, GLdouble z)) ldg_find("glWindowPos3dARB", lib); GL_CHECK(gl.WindowPos3dARB); gl.WindowPos3dMESA = (void APIENTRY (*)(GLdouble x, GLdouble y, GLdouble z)) ldg_find("glWindowPos3dMESA", lib); GL_CHECK(gl.WindowPos3dMESA); gl.WindowPos3dv = (void APIENTRY (*)(const GLdouble *v)) ldg_find("glWindowPos3dv", lib); GL_CHECK(gl.WindowPos3dv); gl.WindowPos3dvARB = (void APIENTRY (*)(const GLdouble *v)) ldg_find("glWindowPos3dvARB", lib); GL_CHECK(gl.WindowPos3dvARB); gl.WindowPos3dvMESA = (void APIENTRY (*)(const GLdouble *v)) ldg_find("glWindowPos3dvMESA", lib); GL_CHECK(gl.WindowPos3dvMESA); gl.WindowPos3f = (void APIENTRY (*)(GLfloat x, GLfloat y, GLfloat z)) ldg_find("glWindowPos3f", lib); GL_CHECK(gl.WindowPos3f); gl.WindowPos3fARB = (void APIENTRY (*)(GLfloat x, GLfloat y, GLfloat z)) ldg_find("glWindowPos3fARB", lib); GL_CHECK(gl.WindowPos3fARB); gl.WindowPos3fMESA = (void APIENTRY (*)(GLfloat x, GLfloat y, GLfloat z)) ldg_find("glWindowPos3fMESA", lib); GL_CHECK(gl.WindowPos3fMESA); gl.WindowPos3fv = (void APIENTRY (*)(const GLfloat *v)) ldg_find("glWindowPos3fv", lib); GL_CHECK(gl.WindowPos3fv); gl.WindowPos3fvARB = (void APIENTRY (*)(const GLfloat *v)) ldg_find("glWindowPos3fvARB", lib); GL_CHECK(gl.WindowPos3fvARB); gl.WindowPos3fvMESA = (void APIENTRY (*)(const GLfloat *v)) ldg_find("glWindowPos3fvMESA", lib); GL_CHECK(gl.WindowPos3fvMESA); gl.WindowPos3i = (void APIENTRY (*)(GLint x, GLint y, GLint z)) ldg_find("glWindowPos3i", lib); GL_CHECK(gl.WindowPos3i); gl.WindowPos3iARB = (void APIENTRY (*)(GLint x, GLint y, GLint z)) ldg_find("glWindowPos3iARB", lib); GL_CHECK(gl.WindowPos3iARB); gl.WindowPos3iMESA = (void APIENTRY (*)(GLint x, GLint y, GLint z)) ldg_find("glWindowPos3iMESA", lib); GL_CHECK(gl.WindowPos3iMESA); gl.WindowPos3iv = (void APIENTRY (*)(const GLint *v)) ldg_find("glWindowPos3iv", lib); GL_CHECK(gl.WindowPos3iv); gl.WindowPos3ivARB = (void APIENTRY (*)(const GLint *v)) ldg_find("glWindowPos3ivARB", lib); GL_CHECK(gl.WindowPos3ivARB); gl.WindowPos3ivMESA = (void APIENTRY (*)(const GLint *v)) ldg_find("glWindowPos3ivMESA", lib); GL_CHECK(gl.WindowPos3ivMESA); gl.WindowPos3s = (void APIENTRY (*)(GLshort32 x, GLshort32 y, GLshort32 z)) ldg_find("glWindowPos3s", lib); GL_CHECK(gl.WindowPos3s); gl.WindowPos3sARB = (void APIENTRY (*)(GLshort32 x, GLshort32 y, GLshort32 z)) ldg_find("glWindowPos3sARB", lib); GL_CHECK(gl.WindowPos3sARB); gl.WindowPos3sMESA = (void APIENTRY (*)(GLshort32 x, GLshort32 y, GLshort32 z)) ldg_find("glWindowPos3sMESA", lib); GL_CHECK(gl.WindowPos3sMESA); gl.WindowPos3sv = (void APIENTRY (*)(const GLshort *v)) ldg_find("glWindowPos3sv", lib); GL_CHECK(gl.WindowPos3sv); gl.WindowPos3svARB = (void APIENTRY (*)(const GLshort *v)) ldg_find("glWindowPos3svARB", lib); GL_CHECK(gl.WindowPos3svARB); gl.WindowPos3svMESA = (void APIENTRY (*)(const GLshort *v)) ldg_find("glWindowPos3svMESA", lib); GL_CHECK(gl.WindowPos3svMESA); gl.WindowPos4dMESA = (void APIENTRY (*)(GLdouble x, GLdouble y, GLdouble z, GLdouble w)) ldg_find("glWindowPos4dMESA", lib); GL_CHECK(gl.WindowPos4dMESA); gl.WindowPos4dvMESA = (void APIENTRY (*)(const GLdouble *v)) ldg_find("glWindowPos4dvMESA", lib); GL_CHECK(gl.WindowPos4dvMESA); gl.WindowPos4fMESA = (void APIENTRY (*)(GLfloat x, GLfloat y, GLfloat z, GLfloat w)) ldg_find("glWindowPos4fMESA", lib); GL_CHECK(gl.WindowPos4fMESA); gl.WindowPos4fvMESA = (void APIENTRY (*)(const GLfloat *v)) ldg_find("glWindowPos4fvMESA", lib); GL_CHECK(gl.WindowPos4fvMESA); gl.WindowPos4iMESA = (void APIENTRY (*)(GLint x, GLint y, GLint z, GLint w)) ldg_find("glWindowPos4iMESA", lib); GL_CHECK(gl.WindowPos4iMESA); gl.WindowPos4ivMESA = (void APIENTRY (*)(const GLint *v)) ldg_find("glWindowPos4ivMESA", lib); GL_CHECK(gl.WindowPos4ivMESA); gl.WindowPos4sMESA = (void APIENTRY (*)(GLshort32 x, GLshort32 y, GLshort32 z, GLshort32 w)) ldg_find("glWindowPos4sMESA", lib); GL_CHECK(gl.WindowPos4sMESA); gl.WindowPos4svMESA = (void APIENTRY (*)(const GLshort *v)) ldg_find("glWindowPos4svMESA", lib); GL_CHECK(gl.WindowPos4svMESA); gl.WriteMaskEXT = (void APIENTRY (*)(GLuint res, GLuint in, GLenum outX, GLenum outY, GLenum outZ, GLenum outW)) ldg_find("glWriteMaskEXT", lib); GL_CHECK(gl.WriteMaskEXT); gl.gluLookAt = (void APIENTRY (*)(GLdouble eyeX, GLdouble eyeY, GLdouble eyeZ, GLdouble centerX, GLdouble centerY, GLdouble centerZ, GLdouble upX, GLdouble upY, GLdouble upZ)) ldg_find("gluLookAtd", lib); GL_CHECK(gl.gluLookAt); gl.gluLookAtf = (void APIENTRY (*)(GLfloat eyeX, GLfloat eyeY, GLfloat eyeZ, GLfloat centerX, GLfloat centerY, GLfloat centerZ, GLfloat upX, GLfloat upY, GLfloat upZ)) ldg_find("gluLookAt", lib); GL_CHECK(gl.gluLookAtf); gl.information = (void APIENTRY (*)(void)) ldg_find("information", lib); GL_CHECK(gl.information); gl.max_height = (GLsizei APIENTRY (*)(void)) ldg_find("max_height", lib); GL_CHECK(gl.max_height); gl.max_width = (GLsizei APIENTRY (*)(void)) ldg_find("max_width", lib); GL_CHECK(gl.max_width); gl.swapbuffer = (void APIENTRY (*)(void *buffer)) ldg_find("swapbuffer", lib); GL_CHECK(gl.swapbuffer); return result; } #undef GL_CHECK LDG *ldg_load_osmesa(const char *libname, _WORD *gl) { LDG *lib; if (libname == NULL) libname = "osmesa.ldg"; if (gl == NULL) gl = ldg_global; lib = ldg_open(libname, gl); if (lib != NULL) ldg_init_osmesa(lib); return lib; } void ldg_unload_osmesa(LDG *lib, _WORD *gl) { if (lib != NULL) { if (gl == NULL) gl = ldg_global; ldg_close(lib, gl); } } #ifdef TEST #include int main(void) { LDG *lib; lib = ldg_load_osmesa(0, 0); if (lib == NULL) lib = ldg_load_osmesa("c:/gemsys/ldg/osmesa.ldg", 0); if (lib == NULL) { nf_debugprintf("osmesa.ldg not found\n"); return 1; } nf_debugprintf("%s: %lx\n", "glBegin", gl.Begin); nf_debugprintf("%s: %lx\n", "glOrtho", gl.Ortho); nf_debugprintf("%s: %lx\n", "glOrthof", gl.Orthof); ldg_unload_osmesa(lib, NULL); return 0; } #endif aranym-1.0.2/atari/nfosmesa/slb/000077500000000000000000000000001242022243000164635ustar00rootroot00000000000000aranym-1.0.2/atari/nfosmesa/slb/tiny_gl.h000066400000000000000000001426731242022243000203160ustar00rootroot00000000000000#ifndef __SLB_TINY_GL_H__ #define __SLB_TINY_GL_H__ #ifndef __TINY_GL_H__ # define __TINY_GL_H__ 1 #endif #include #include #include #if !defined(__MSHORT__) && (defined(__PUREC__) && __PUREC__ < 0x400) # define __MSHORT__ 1 #endif #if (!defined(__PUREC__) || !defined(__MSHORT__) || defined(__GEMLIB__)) && !defined(__USE_GEMLIB) #define __USE_GEMLIB 1 #endif #ifndef _WORD # if defined(__GEMLIB__) || defined(__USE_GEMLIB) # define _WORD short # else # define _WORD int # endif #endif /* * load & initialize TinyGL */ long slb_load_tiny_gl(const char *libname, const char *path, long min_version); /* * unload TinyGL */ void slb_unload_tiny_gl(void); #if !defined(__MSHORT__) && (defined(__PUREC__) && __PUREC__ < 0x400) # define __MSHORT__ 1 #endif #ifdef __cplusplus extern "C" { #endif #ifndef APIENTRY #if defined(_WIN32) || defined(__CYGWIN__) #define APIENTRY __stdcall #elif defined(__PUREC__) #define APIENTRY __CDECL #else #define APIENTRY #endif #endif #ifndef CALLBACK #define CALLBACK APIENTRY #endif #ifndef GLAPIENTRY #define GLAPIENTRY APIENTRY #endif #ifndef GLAPI #define GLAPI extern #endif #if !defined(__CDECL) #if defined(__PUREC__) #define __CDECL cdecl #else #define __CDECL #endif #endif #ifndef GL_VERSION_1_1 #define GL_VERSION_1_1 1 #ifdef __MSHORT__ typedef long GLint; /* 4-byte signed */ typedef unsigned long GLuint; /* 4-byte unsigned */ typedef unsigned long GLenum; /* 4-byte unsigned */ typedef unsigned long GLbitfield; /* 4-byte unsigned */ typedef long GLsizei; #else typedef int GLint; /* 4-byte signed */ typedef unsigned int GLuint; /* 4-byte unsigned */ typedef unsigned int GLenum; /* 4-byte unsigned */ typedef unsigned int GLbitfield; /* 4-byte unsigned */ typedef int GLsizei; #endif typedef unsigned char GLboolean; typedef signed char GLbyte; /* 1-byte signed */ typedef unsigned char GLubyte; /* 1-byte unsigned */ typedef short GLshort; /* 2-byte signed */ typedef unsigned short GLushort; /* 2-byte unsigned */ typedef float GLfloat; /* single precision float */ typedef float GLclampf; /* single precision float in [0, 1] */ typedef double GLdouble; /* double precision float */ typedef double GLclampd; /* double precision float in [0, 1] */ typedef void GLvoid; /* Boolean values */ #define GL_FALSE 0 #define GL_TRUE 1 /* Data types */ #define GL_BYTE 0x1400 #define GL_UNSIGNED_BYTE 0x1401 #define GL_SHORT 0x1402 #define GL_UNSIGNED_SHORT 0x1403 #define GL_INT 0x1404 #define GL_UNSIGNED_INT 0x1405 #define GL_FLOAT 0x1406 #define GL_DOUBLE 0x140A #define GL_2_BYTES 0x1407 #define GL_3_BYTES 0x1408 #define GL_4_BYTES 0x1409 /* Primitives */ #define GL_LINES 0x0001 #define GL_POINTS 0x0000 #define GL_LINE_STRIP 0x0003 #define GL_LINE_LOOP 0x0002 #define GL_TRIANGLES 0x0004 #define GL_TRIANGLE_STRIP 0x0005 #define GL_TRIANGLE_FAN 0x0006 #define GL_QUADS 0x0007 #define GL_QUAD_STRIP 0x0008 #define GL_POLYGON 0x0009 #define GL_EDGE_FLAG 0x0B43 /* Vertex Arrays */ #define GL_VERTEX_ARRAY 0x8074 #define GL_NORMAL_ARRAY 0x8075 #define GL_COLOR_ARRAY 0x8076 #define GL_INDEX_ARRAY 0x8077 #define GL_TEXTURE_COORD_ARRAY 0x8078 #define GL_EDGE_FLAG_ARRAY 0x8079 #define GL_VERTEX_ARRAY_SIZE 0x807A #define GL_VERTEX_ARRAY_TYPE 0x807B #define GL_VERTEX_ARRAY_STRIDE 0x807C #define GL_VERTEX_ARRAY_COUNT 0x807D #define GL_NORMAL_ARRAY_TYPE 0x807E #define GL_NORMAL_ARRAY_STRIDE 0x807F #define GL_NORMAL_ARRAY_COUNT 0x8080 #define GL_COLOR_ARRAY_SIZE 0x8081 #define GL_COLOR_ARRAY_TYPE 0x8082 #define GL_COLOR_ARRAY_STRIDE 0x8083 #define GL_COLOR_ARRAY_COUNT 0x8084 #define GL_INDEX_ARRAY_TYPE 0x8085 #define GL_INDEX_ARRAY_STRIDE 0x8086 #define GL_INDEX_ARRAY_COUNT 0x8087 #define GL_TEXTURE_COORD_ARRAY_SIZE 0x8088 #define GL_TEXTURE_COORD_ARRAY_TYPE 0x8089 #define GL_TEXTURE_COORD_ARRAY_STRIDE 0x808A #define GL_TEXTURE_COORD_ARRAY_COUNT 0x808B #define GL_EDGE_FLAG_ARRAY_STRIDE 0x808C #define GL_EDGE_FLAG_ARRAY_COUNT 0x808D #define GL_VERTEX_ARRAY_POINTER 0x808E #define GL_NORMAL_ARRAY_POINTER 0x808F #define GL_COLOR_ARRAY_POINTER 0x8090 #define GL_INDEX_ARRAY_POINTER 0x8091 #define GL_TEXTURE_COORD_ARRAY_POINTER 0x8092 #define GL_EDGE_FLAG_ARRAY_POINTER 0x8093 #define GL_V2F 0x2A20 #define GL_V3F 0x2A21 #define GL_C4UB_V2F 0x2A22 #define GL_C4UB_V3F 0x2A23 #define GL_C3F_V3F 0x2A24 #define GL_N3F_V3F 0x2A25 #define GL_C4F_N3F_V3F 0x2A26 #define GL_T2F_V3F 0x2A27 #define GL_T4F_V4F 0x2A28 #define GL_T2F_C4UB_V3F 0x2A29 #define GL_T2F_C3F_V3F 0x2A2A #define GL_T2F_N3F_V3F 0x2A2B #define GL_T2F_C4F_N3F_V3F 0x2A2C #define GL_T4F_C4F_N3F_V4F 0x2A2D /* Matrix Mode */ #define GL_MATRIX_MODE 0x0BA0 #define GL_MODELVIEW 0x1700 #define GL_PROJECTION 0x1701 #define GL_TEXTURE 0x1702 /* Points */ #define GL_POINT_SMOOTH 0x0B10 #define GL_POINT_SIZE 0x0B11 #define GL_POINT_SIZE_GRANULARITY 0x0B13 #define GL_POINT_SIZE_RANGE 0x0B12 /* Lines */ #define GL_LINE_SMOOTH 0x0B20 #define GL_LINE_STIPPLE 0x0B24 #define GL_LINE_STIPPLE_PATTERN 0x0B25 #define GL_LINE_STIPPLE_REPEAT 0x0B26 #define GL_LINE_WIDTH 0x0B21 #define GL_LINE_WIDTH_GRANULARITY 0x0B23 #define GL_LINE_WIDTH_RANGE 0x0B22 /* Polygons */ #define GL_POINT 0x1B00 #define GL_LINE 0x1B01 #define GL_FILL 0x1B02 #define GL_CCW 0x0901 #define GL_CW 0x0900 #define GL_FRONT 0x0404 #define GL_BACK 0x0405 #define GL_CULL_FACE 0x0B44 #define GL_CULL_FACE_MODE 0x0B45 #define GL_POLYGON_SMOOTH 0x0B41 #define GL_POLYGON_STIPPLE 0x0B42 #define GL_FRONT_FACE 0x0B46 #define GL_POLYGON_MODE 0x0B40 #define GL_POLYGON_OFFSET_FACTOR 0x8038 #define GL_POLYGON_OFFSET_UNITS 0x2A00 #define GL_POLYGON_OFFSET_POINT 0x2A01 #define GL_POLYGON_OFFSET_LINE 0x2A02 #define GL_POLYGON_OFFSET_FILL 0x8037 /* Display Lists */ #define GL_COMPILE 0x1300 #define GL_COMPILE_AND_EXECUTE 0x1301 #define GL_LIST_BASE 0x0B32 #define GL_LIST_INDEX 0x0B33 #define GL_LIST_MODE 0x0B30 /* Depth buffer */ #define GL_NEVER 0x0200 #define GL_LESS 0x0201 #define GL_GEQUAL 0x0206 #define GL_LEQUAL 0x0203 #define GL_GREATER 0x0204 #define GL_NOTEQUAL 0x0205 #define GL_EQUAL 0x0202 #define GL_ALWAYS 0x0207 #define GL_DEPTH_TEST 0x0B71 #define GL_DEPTH_BITS 0x0D56 #define GL_DEPTH_CLEAR_VALUE 0x0B73 #define GL_DEPTH_FUNC 0x0B74 #define GL_DEPTH_RANGE 0x0B70 #define GL_DEPTH_WRITEMASK 0x0B72 #define GL_DEPTH_COMPONENT 0x1902 /* Lighting */ #define GL_LIGHTING 0x0B50 #define GL_LIGHT0 0x4000 #define GL_LIGHT1 0x4001 #define GL_LIGHT2 0x4002 #define GL_LIGHT3 0x4003 #define GL_LIGHT4 0x4004 #define GL_LIGHT5 0x4005 #define GL_LIGHT6 0x4006 #define GL_LIGHT7 0x4007 #define GL_SPOT_EXPONENT 0x1205 #define GL_SPOT_CUTOFF 0x1206 #define GL_CONSTANT_ATTENUATION 0x1207 #define GL_LINEAR_ATTENUATION 0x1208 #define GL_QUADRATIC_ATTENUATION 0x1209 #define GL_AMBIENT 0x1200 #define GL_DIFFUSE 0x1201 #define GL_SPECULAR 0x1202 #define GL_SHININESS 0x1601 #define GL_EMISSION 0x1600 #define GL_POSITION 0x1203 #define GL_SPOT_DIRECTION 0x1204 #define GL_AMBIENT_AND_DIFFUSE 0x1602 #define GL_COLOR_INDEXES 0x1603 #define GL_LIGHT_MODEL_TWO_SIDE 0x0B52 #define GL_LIGHT_MODEL_LOCAL_VIEWER 0x0B51 #define GL_LIGHT_MODEL_AMBIENT 0x0B53 #define GL_FRONT_AND_BACK 0x0408 #define GL_SHADE_MODEL 0x0B54 #define GL_FLAT 0x1D00 #define GL_SMOOTH 0x1D01 #define GL_COLOR_MATERIAL 0x0B57 #define GL_COLOR_MATERIAL_FACE 0x0B55 #define GL_COLOR_MATERIAL_PARAMETER 0x0B56 #define GL_NORMALIZE 0x0BA1 /* User clipping planes */ #define GL_CLIP_PLANE0 0x3000 #define GL_CLIP_PLANE1 0x3001 #define GL_CLIP_PLANE2 0x3002 #define GL_CLIP_PLANE3 0x3003 #define GL_CLIP_PLANE4 0x3004 #define GL_CLIP_PLANE5 0x3005 /* Accumulation buffer */ #define GL_ACCUM_RED_BITS 0x0D58 #define GL_ACCUM_GREEN_BITS 0x0D59 #define GL_ACCUM_BLUE_BITS 0x0D5A #define GL_ACCUM_ALPHA_BITS 0x0D5B #define GL_ACCUM_CLEAR_VALUE 0x0B80 #define GL_ACCUM 0x0100 #define GL_ADD 0x0104 #define GL_LOAD 0x0101 #define GL_MULT 0x0103 #define GL_RETURN 0x0102 /* Alpha testing */ #define GL_ALPHA_TEST 0x0BC0 #define GL_ALPHA_TEST_REF 0x0BC2 #define GL_ALPHA_TEST_FUNC 0x0BC1 /* Blending */ #define GL_BLEND 0x0BE2 #define GL_BLEND_SRC 0x0BE1 #define GL_BLEND_DST 0x0BE0 #define GL_ZERO 0 #define GL_ONE 1 #define GL_SRC_COLOR 0x0300 #define GL_ONE_MINUS_SRC_COLOR 0x0301 #define GL_DST_COLOR 0x0306 #define GL_ONE_MINUS_DST_COLOR 0x0307 #define GL_SRC_ALPHA 0x0302 #define GL_ONE_MINUS_SRC_ALPHA 0x0303 #define GL_DST_ALPHA 0x0304 #define GL_ONE_MINUS_DST_ALPHA 0x0305 #define GL_SRC_ALPHA_SATURATE 0x0308 #define GL_CONSTANT_COLOR 0x8001 #define GL_ONE_MINUS_CONSTANT_COLOR 0x8002 #define GL_CONSTANT_ALPHA 0x8003 #define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004 /* Render Mode */ #define GL_FEEDBACK 0x1C01 #define GL_RENDER 0x1C00 #define GL_SELECT 0x1C02 /* Feedback */ #define GL_2D 0x0600 #define GL_3D 0x0601 #define GL_3D_COLOR 0x0602 #define GL_3D_COLOR_TEXTURE 0x0603 #define GL_4D_COLOR_TEXTURE 0x0604 #define GL_POINT_TOKEN 0x0701 #define GL_LINE_TOKEN 0x0702 #define GL_LINE_RESET_TOKEN 0x0707 #define GL_POLYGON_TOKEN 0x0703 #define GL_BITMAP_TOKEN 0x0704 #define GL_DRAW_PIXEL_TOKEN 0x0705 #define GL_COPY_PIXEL_TOKEN 0x0706 #define GL_PASS_THROUGH_TOKEN 0x0700 #define GL_FEEDBACK_BUFFER_POINTER 0x0DF0 #define GL_FEEDBACK_BUFFER_SIZE 0x0DF1 #define GL_FEEDBACK_BUFFER_TYPE 0x0DF2 /* Fog */ #define GL_FOG 0x0B60 #define GL_FOG_MODE 0x0B65 #define GL_FOG_DENSITY 0x0B62 #define GL_FOG_COLOR 0x0B66 #define GL_FOG_INDEX 0x0B61 #define GL_FOG_START 0x0B63 #define GL_FOG_END 0x0B64 #define GL_LINEAR 0x2601 #define GL_EXP 0x0800 #define GL_EXP2 0x0801 /* Logic Ops */ #define GL_LOGIC_OP 0x0BF1 #define GL_INDEX_LOGIC_OP 0x0BF1 #define GL_COLOR_LOGIC_OP 0x0BF2 #define GL_LOGIC_OP_MODE 0x0BF0 #define GL_CLEAR 0x1500 #define GL_SET 0x150F #define GL_COPY 0x1503 #define GL_COPY_INVERTED 0x150C #define GL_NOOP 0x1505 #define GL_INVERT 0x150A #define GL_AND 0x1501 #define GL_NAND 0x150E #define GL_OR 0x1507 #define GL_NOR 0x1508 #define GL_XOR 0x1506 #define GL_EQUIV 0x1509 #define GL_AND_REVERSE 0x1502 #define GL_AND_INVERTED 0x1504 #define GL_OR_REVERSE 0x150B #define GL_OR_INVERTED 0x150D /* Stencil */ #define GL_STENCIL_TEST 0x0B90 #define GL_STENCIL_WRITEMASK 0x0B98 #define GL_STENCIL_BITS 0x0D57 #define GL_STENCIL_FUNC 0x0B92 #define GL_STENCIL_VALUE_MASK 0x0B93 #define GL_STENCIL_REF 0x0B97 #define GL_STENCIL_FAIL 0x0B94 #define GL_STENCIL_PASS_DEPTH_PASS 0x0B96 #define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95 #define GL_STENCIL_CLEAR_VALUE 0x0B91 #define GL_STENCIL_INDEX 0x1901 #define GL_KEEP 0x1E00 #define GL_REPLACE 0x1E01 #define GL_INCR 0x1E02 #define GL_DECR 0x1E03 /* Buffers, Pixel Drawing/Reading */ #define GL_NONE 0 #define GL_LEFT 0x0406 #define GL_RIGHT 0x0407 #define GL_FRONT_LEFT 0x0400 #define GL_FRONT_RIGHT 0x0401 #define GL_BACK_LEFT 0x0402 #define GL_BACK_RIGHT 0x0403 #define GL_AUX0 0x0409 #define GL_AUX1 0x040A #define GL_AUX2 0x040B #define GL_AUX3 0x040C #define GL_COLOR_INDEX 0x1900 #define GL_RED 0x1903 #define GL_GREEN 0x1904 #define GL_BLUE 0x1905 #define GL_ALPHA 0x1906 #define GL_LUMINANCE 0x1909 #define GL_LUMINANCE_ALPHA 0x190A #define GL_ALPHA_BITS 0x0D55 #define GL_RED_BITS 0x0D52 #define GL_GREEN_BITS 0x0D53 #define GL_BLUE_BITS 0x0D54 #define GL_INDEX_BITS 0x0D51 #define GL_SUBPIXEL_BITS 0x0D50 #define GL_AUX_BUFFERS 0x0C00 #define GL_READ_BUFFER 0x0C02 #define GL_DRAW_BUFFER 0x0C01 #define GL_DOUBLEBUFFER 0x0C32 #define GL_STEREO 0x0C33 #define GL_BITMAP 0x1A00 #define GL_COLOR 0x1800 #define GL_DEPTH 0x1801 #define GL_STENCIL 0x1802 #define GL_DITHER 0x0BD0 #define GL_RGB 0x1907 #define GL_RGBA 0x1908 /* Implementation limits */ #define GL_MAX_LIST_NESTING 0x0B31 #define GL_MAX_ATTRIB_STACK_DEPTH 0x0D35 #define GL_MAX_MODELVIEW_STACK_DEPTH 0x0D36 #define GL_MAX_NAME_STACK_DEPTH 0x0D37 #define GL_MAX_PROJECTION_STACK_DEPTH 0x0D38 #define GL_MAX_TEXTURE_STACK_DEPTH 0x0D39 #define GL_MAX_EVAL_ORDER 0x0D30 #define GL_MAX_LIGHTS 0x0D31 #define GL_MAX_CLIP_PLANES 0x0D32 #define GL_MAX_TEXTURE_SIZE 0x0D33 #define GL_MAX_PIXEL_MAP_TABLE 0x0D34 #define GL_MAX_VIEWPORT_DIMS 0x0D3A #define GL_MAX_CLIENT_ATTRIB_STACK_DEPTH 0x0D3B #define GL_MAX_COLOR_MATRIX_STACK_DEPTH 0x80B3 /* Gets */ #define GL_ATTRIB_STACK_DEPTH 0x0BB0 #define GL_CLIENT_ATTRIB_STACK_DEPTH 0x0BB1 #define GL_COLOR_CLEAR_VALUE 0x0C22 #define GL_COLOR_WRITEMASK 0x0C23 #define GL_CURRENT_INDEX 0x0B01 #define GL_CURRENT_COLOR 0x0B00 #define GL_CURRENT_NORMAL 0x0B02 #define GL_CURRENT_RASTER_COLOR 0x0B04 #define GL_CURRENT_RASTER_DISTANCE 0x0B09 #define GL_CURRENT_RASTER_INDEX 0x0B05 #define GL_CURRENT_RASTER_POSITION 0x0B07 #define GL_CURRENT_RASTER_TEXTURE_COORDS 0x0B06 #define GL_CURRENT_RASTER_POSITION_VALID 0x0B08 #define GL_CURRENT_TEXTURE_COORDS 0x0B03 #define GL_INDEX_CLEAR_VALUE 0x0C20 #define GL_INDEX_MODE 0x0C30 #define GL_INDEX_WRITEMASK 0x0C21 #define GL_MODELVIEW_MATRIX 0x0BA6 #define GL_MODELVIEW_STACK_DEPTH 0x0BA3 #define GL_NAME_STACK_DEPTH 0x0D70 #define GL_PROJECTION_MATRIX 0x0BA7 #define GL_PROJECTION_STACK_DEPTH 0x0BA4 #define GL_RENDER_MODE 0x0C40 #define GL_RGBA_MODE 0x0C31 #define GL_TEXTURE_MATRIX 0x0BA8 #define GL_TEXTURE_STACK_DEPTH 0x0BA5 #define GL_VIEWPORT 0x0BA2 #define GL_COLOR_MATRIX 0x80B1 #define GL_COLOR_MATRIX_STACK_DEPTH 0x80B2 /* Evaluators */ #define GL_AUTO_NORMAL 0x0D80 #define GL_MAP1_COLOR_4 0x0D90 #define GL_MAP1_GRID_DOMAIN 0x0DD0 #define GL_MAP1_GRID_SEGMENTS 0x0DD1 #define GL_MAP1_INDEX 0x0D91 #define GL_MAP1_NORMAL 0x0D92 #define GL_MAP1_TEXTURE_COORD_1 0x0D93 #define GL_MAP1_TEXTURE_COORD_2 0x0D94 #define GL_MAP1_TEXTURE_COORD_3 0x0D95 #define GL_MAP1_TEXTURE_COORD_4 0x0D96 #define GL_MAP1_VERTEX_3 0x0D97 #define GL_MAP1_VERTEX_4 0x0D98 #define GL_MAP2_COLOR_4 0x0DB0 #define GL_MAP2_GRID_DOMAIN 0x0DD2 #define GL_MAP2_GRID_SEGMENTS 0x0DD3 #define GL_MAP2_INDEX 0x0DB1 #define GL_MAP2_NORMAL 0x0DB2 #define GL_MAP2_TEXTURE_COORD_1 0x0DB3 #define GL_MAP2_TEXTURE_COORD_2 0x0DB4 #define GL_MAP2_TEXTURE_COORD_3 0x0DB5 #define GL_MAP2_TEXTURE_COORD_4 0x0DB6 #define GL_MAP2_VERTEX_3 0x0DB7 #define GL_MAP2_VERTEX_4 0x0DB8 #define GL_COEFF 0x0A00 #define GL_DOMAIN 0x0A02 #define GL_ORDER 0x0A01 /* Hints */ #define GL_FOG_HINT 0x0C54 #define GL_LINE_SMOOTH_HINT 0x0C52 #define GL_PERSPECTIVE_CORRECTION_HINT 0x0C50 #define GL_POINT_SMOOTH_HINT 0x0C51 #define GL_POLYGON_SMOOTH_HINT 0x0C53 #define GL_DONT_CARE 0x1100 #define GL_FASTEST 0x1101 #define GL_NICEST 0x1102 /* Scissor box */ #define GL_SCISSOR_TEST 0x0C11 #define GL_SCISSOR_BOX 0x0C10 /* Pixel Mode / Transfer */ #define GL_MAP_COLOR 0x0D10 #define GL_MAP_STENCIL 0x0D11 #define GL_INDEX_SHIFT 0x0D12 #define GL_INDEX_OFFSET 0x0D13 #define GL_RED_SCALE 0x0D14 #define GL_RED_BIAS 0x0D15 #define GL_GREEN_SCALE 0x0D18 #define GL_GREEN_BIAS 0x0D19 #define GL_BLUE_SCALE 0x0D1A #define GL_BLUE_BIAS 0x0D1B #define GL_ALPHA_SCALE 0x0D1C #define GL_ALPHA_BIAS 0x0D1D #define GL_DEPTH_SCALE 0x0D1E #define GL_DEPTH_BIAS 0x0D1F #define GL_PIXEL_MAP_S_TO_S_SIZE 0x0CB1 #define GL_PIXEL_MAP_I_TO_I_SIZE 0x0CB0 #define GL_PIXEL_MAP_I_TO_R_SIZE 0x0CB2 #define GL_PIXEL_MAP_I_TO_G_SIZE 0x0CB3 #define GL_PIXEL_MAP_I_TO_B_SIZE 0x0CB4 #define GL_PIXEL_MAP_I_TO_A_SIZE 0x0CB5 #define GL_PIXEL_MAP_R_TO_R_SIZE 0x0CB6 #define GL_PIXEL_MAP_G_TO_G_SIZE 0x0CB7 #define GL_PIXEL_MAP_B_TO_B_SIZE 0x0CB8 #define GL_PIXEL_MAP_A_TO_A_SIZE 0x0CB9 #define GL_PIXEL_MAP_S_TO_S 0x0C71 #define GL_PIXEL_MAP_I_TO_I 0x0C70 #define GL_PIXEL_MAP_I_TO_R 0x0C72 #define GL_PIXEL_MAP_I_TO_G 0x0C73 #define GL_PIXEL_MAP_I_TO_B 0x0C74 #define GL_PIXEL_MAP_I_TO_A 0x0C75 #define GL_PIXEL_MAP_R_TO_R 0x0C76 #define GL_PIXEL_MAP_G_TO_G 0x0C77 #define GL_PIXEL_MAP_B_TO_B 0x0C78 #define GL_PIXEL_MAP_A_TO_A 0x0C79 #define GL_PACK_ALIGNMENT 0x0D05 #define GL_PACK_LSB_FIRST 0x0D01 #define GL_PACK_ROW_LENGTH 0x0D02 #define GL_PACK_SKIP_PIXELS 0x0D04 #define GL_PACK_SKIP_ROWS 0x0D03 #define GL_PACK_SWAP_BYTES 0x0D00 #define GL_UNPACK_ALIGNMENT 0x0CF5 #define GL_UNPACK_LSB_FIRST 0x0CF1 #define GL_UNPACK_ROW_LENGTH 0x0CF2 #define GL_UNPACK_SKIP_PIXELS 0x0CF4 #define GL_UNPACK_SKIP_ROWS 0x0CF3 #define GL_UNPACK_SWAP_BYTES 0x0CF0 #define GL_ZOOM_X 0x0D16 #define GL_ZOOM_Y 0x0D17 /* Texture mapping */ #define GL_TEXTURE_ENV 0x2300 #define GL_TEXTURE_ENV_MODE 0x2200 #define GL_TEXTURE_1D 0x0DE0 #define GL_TEXTURE_2D 0x0DE1 #define GL_TEXTURE_WRAP_S 0x2802 #define GL_TEXTURE_WRAP_T 0x2803 #define GL_TEXTURE_MAG_FILTER 0x2800 #define GL_TEXTURE_MIN_FILTER 0x2801 #define GL_TEXTURE_ENV_COLOR 0x2201 #define GL_TEXTURE_GEN_S 0x0C60 #define GL_TEXTURE_GEN_T 0x0C61 #define GL_TEXTURE_GEN_MODE 0x2500 #define GL_TEXTURE_BORDER_COLOR 0x1004 #define GL_TEXTURE_WIDTH 0x1000 #define GL_TEXTURE_HEIGHT 0x1001 #define GL_TEXTURE_BORDER 0x1005 #define GL_TEXTURE_COMPONENTS 0x1003 #define GL_TEXTURE_RED_SIZE 0x805C #define GL_TEXTURE_GREEN_SIZE 0x805D #define GL_TEXTURE_BLUE_SIZE 0x805E #define GL_TEXTURE_ALPHA_SIZE 0x805F #define GL_TEXTURE_LUMINANCE_SIZE 0x8060 #define GL_TEXTURE_INTENSITY_SIZE 0x8061 #define GL_NEAREST_MIPMAP_NEAREST 0x2700 #define GL_NEAREST_MIPMAP_LINEAR 0x2702 #define GL_LINEAR_MIPMAP_NEAREST 0x2701 #define GL_LINEAR_MIPMAP_LINEAR 0x2703 #define GL_OBJECT_LINEAR 0x2401 #define GL_OBJECT_PLANE 0x2501 #define GL_EYE_LINEAR 0x2400 #define GL_EYE_PLANE 0x2502 #define GL_SPHERE_MAP 0x2402 #define GL_DECAL 0x2101 #define GL_MODULATE 0x2100 #define GL_NEAREST 0x2600 #define GL_REPEAT 0x2901 #define GL_CLAMP 0x2900 #define GL_S 0x2000 #define GL_T 0x2001 #define GL_R 0x2002 #define GL_Q 0x2003 #define GL_TEXTURE_GEN_R 0x0C62 #define GL_TEXTURE_GEN_Q 0x0C63 #define GL_PROXY_TEXTURE_1D 0x8063 #define GL_PROXY_TEXTURE_2D 0x8064 #define GL_TEXTURE_PRIORITY 0x8066 #define GL_TEXTURE_RESIDENT 0x8067 #define GL_TEXTURE_BINDING_1D 0x8068 #define GL_TEXTURE_BINDING_2D 0x8069 /* Internal texture formats */ #define GL_ALPHA4 0x803B #define GL_ALPHA8 0x803C #define GL_ALPHA12 0x803D #define GL_ALPHA16 0x803E #define GL_LUMINANCE4 0x803F #define GL_LUMINANCE8 0x8040 #define GL_LUMINANCE12 0x8041 #define GL_LUMINANCE16 0x8042 #define GL_LUMINANCE4_ALPHA4 0x8043 #define GL_LUMINANCE6_ALPHA2 0x8044 #define GL_LUMINANCE8_ALPHA8 0x8045 #define GL_LUMINANCE12_ALPHA4 0x8046 #define GL_LUMINANCE12_ALPHA12 0x8047 #define GL_LUMINANCE16_ALPHA16 0x8048 #define GL_INTENSITY 0x8049 #define GL_INTENSITY4 0x804A #define GL_INTENSITY8 0x804B #define GL_INTENSITY12 0x804C #define GL_INTENSITY16 0x804D #define GL_R3_G3_B2 0x2A10 #define GL_RGB4 0x804F #define GL_RGB5 0x8050 #define GL_RGB8 0x8051 #define GL_RGB10 0x8052 #define GL_RGB12 0x8053 #define GL_RGB16 0x8054 #define GL_RGBA2 0x8055 #define GL_RGBA4 0x8056 #define GL_RGB5_A1 0x8057 #define GL_RGBA8 0x8058 #define GL_RGB10_A2 0x8059 #define GL_RGBA12 0x805A #define GL_RGBA16 0x805B /* Utility */ #define GL_VENDOR 0x1F00 #define GL_RENDERER 0x1F01 #define GL_VERSION 0x1F02 #define GL_EXTENSIONS 0x1F03 /* Errors */ #define GL_INVALID_VALUE 0x0501 #define GL_INVALID_ENUM 0x0500 #define GL_INVALID_OPERATION 0x0502 #define GL_STACK_OVERFLOW 0x0503 #define GL_STACK_UNDERFLOW 0x0504 #define GL_OUT_OF_MEMORY 0x0505 /* * 1.0 Extensions */ /* GL_EXT_blend_minmax and GL_EXT_blend_color */ #define GL_CONSTANT_COLOR_EXT 0x8001 #define GL_ONE_MINUS_CONSTANT_COLOR_EXT 0x8002 #define GL_CONSTANT_ALPHA_EXT 0x8003 #define GL_ONE_MINUS_CONSTANT_ALPHA_EXT 0x8004 #define GL_BLEND_EQUATION_EXT 0x8009 #define GL_MIN_EXT 0x8007 #define GL_MAX_EXT 0x8008 #define GL_FUNC_ADD_EXT 0x8006 #define GL_FUNC_SUBTRACT_EXT 0x800A #define GL_FUNC_REVERSE_SUBTRACT_EXT 0x800B #define GL_BLEND_COLOR_EXT 0x8005 /* GL_EXT_polygon_offset */ #define GL_POLYGON_OFFSET_EXT 0x8037 #define GL_POLYGON_OFFSET_FACTOR_EXT 0x8038 #define GL_POLYGON_OFFSET_BIAS_EXT 0x8039 /* GL_EXT_vertex_array */ #define GL_VERTEX_ARRAY_EXT 0x8074 #define GL_NORMAL_ARRAY_EXT 0x8075 #define GL_COLOR_ARRAY_EXT 0x8076 #define GL_INDEX_ARRAY_EXT 0x8077 #define GL_TEXTURE_COORD_ARRAY_EXT 0x8078 #define GL_EDGE_FLAG_ARRAY_EXT 0x8079 #define GL_VERTEX_ARRAY_SIZE_EXT 0x807A #define GL_VERTEX_ARRAY_TYPE_EXT 0x807B #define GL_VERTEX_ARRAY_STRIDE_EXT 0x807C #define GL_VERTEX_ARRAY_COUNT_EXT 0x807D #define GL_NORMAL_ARRAY_TYPE_EXT 0x807E #define GL_NORMAL_ARRAY_STRIDE_EXT 0x807F #define GL_NORMAL_ARRAY_COUNT_EXT 0x8080 #define GL_COLOR_ARRAY_SIZE_EXT 0x8081 #define GL_COLOR_ARRAY_TYPE_EXT 0x8082 #define GL_COLOR_ARRAY_STRIDE_EXT 0x8083 #define GL_COLOR_ARRAY_COUNT_EXT 0x8084 #define GL_INDEX_ARRAY_TYPE_EXT 0x8085 #define GL_INDEX_ARRAY_STRIDE_EXT 0x8086 #define GL_INDEX_ARRAY_COUNT_EXT 0x8087 #define GL_TEXTURE_COORD_ARRAY_SIZE_EXT 0x8088 #define GL_TEXTURE_COORD_ARRAY_TYPE_EXT 0x8089 #define GL_TEXTURE_COORD_ARRAY_STRIDE_EXT 0x808A #define GL_TEXTURE_COORD_ARRAY_COUNT_EXT 0x808B #define GL_EDGE_FLAG_ARRAY_STRIDE_EXT 0x808C #define GL_EDGE_FLAG_ARRAY_COUNT_EXT 0x808D #define GL_VERTEX_ARRAY_POINTER_EXT 0x808E #define GL_NORMAL_ARRAY_POINTER_EXT 0x808F #define GL_COLOR_ARRAY_POINTER_EXT 0x8090 #define GL_INDEX_ARRAY_POINTER_EXT 0x8091 #define GL_TEXTURE_COORD_ARRAY_POINTER_EXT 0x8092 #define GL_EDGE_FLAG_ARRAY_POINTER_EXT 0x8093 /* GL_EXT_texture_object */ #define GL_TEXTURE_PRIORITY_EXT 0x8066 #define GL_TEXTURE_RESIDENT_EXT 0x8067 #define GL_TEXTURE_1D_BINDING_EXT 0x8068 #define GL_TEXTURE_2D_BINDING_EXT 0x8069 /* GL_EXT_texture3D */ #define GL_PACK_SKIP_IMAGES_EXT 0x806B #define GL_PACK_IMAGE_HEIGHT_EXT 0x806C #define GL_UNPACK_SKIP_IMAGES_EXT 0x806D #define GL_UNPACK_IMAGE_HEIGHT_EXT 0x806E #define GL_TEXTURE_3D_EXT 0x806F #define GL_PROXY_TEXTURE_3D_EXT 0x8070 #define GL_TEXTURE_DEPTH_EXT 0x8071 #define GL_TEXTURE_WRAP_R_EXT 0x8072 #define GL_MAX_3D_TEXTURE_SIZE_EXT 0x8073 #define GL_TEXTURE_3D_BINDING_EXT 0x806A /* GL_EXT_paletted_texture */ #define GL_TABLE_TOO_LARGE_EXT 0x8031 #define GL_COLOR_TABLE_FORMAT_EXT 0x80D8 #define GL_COLOR_TABLE_WIDTH_EXT 0x80D9 #define GL_COLOR_TABLE_RED_SIZE_EXT 0x80DA #define GL_COLOR_TABLE_GREEN_SIZE_EXT 0x80DB #define GL_COLOR_TABLE_BLUE_SIZE_EXT 0x80DC #define GL_COLOR_TABLE_ALPHA_SIZE_EXT 0x80DD #define GL_COLOR_TABLE_LUMINANCE_SIZE_EXT 0x80DE #define GL_COLOR_TABLE_INTENSITY_SIZE_EXT 0x80DF #define GL_TEXTURE_INDEX_SIZE_EXT 0x80ED #define GL_COLOR_INDEX1_EXT 0x80E2 #define GL_COLOR_INDEX2_EXT 0x80E3 #define GL_COLOR_INDEX4_EXT 0x80E4 #define GL_COLOR_INDEX8_EXT 0x80E5 #define GL_COLOR_INDEX12_EXT 0x80E6 #define GL_COLOR_INDEX16_EXT 0x80E7 /* GL_EXT_shared_texture_palette */ #define GL_SHARED_TEXTURE_PALETTE_EXT 0x81FB #if 0 /* GL_SGIS_texture_lod */ #define GL_TEXTURE_MIN_LOD_SGIS 0x813A #define GL_TEXTURE_MAX_LOD_SGIS 0x813B #define GL_TEXTURE_BASE_LEVEL_SGIS 0x813C #define GL_TEXTURE_MAX_LEVEL_SGIS 0x813D #endif /* GL_EXT_point_parameters */ #define GL_POINT_SIZE_MIN_EXT 0x8126 #define GL_POINT_SIZE_MAX_EXT 0x8127 #define GL_POINT_FADE_THRESHOLD_SIZE_EXT 0x8128 #define GL_DISTANCE_ATTENUATION_EXT 0x8129 #define GL_CURRENT_BIT 0x00000001L #define GL_POINT_BIT 0x00000002L #define GL_LINE_BIT 0x00000004L #define GL_POLYGON_BIT 0x00000008L #define GL_POLYGON_STIPPLE_BIT 0x00000010L #define GL_PIXEL_MODE_BIT 0x00000020L #define GL_LIGHTING_BIT 0x00000040L #define GL_FOG_BIT 0x00000080L #define GL_DEPTH_BUFFER_BIT 0x00000100L #define GL_ACCUM_BUFFER_BIT 0x00000200L #define GL_STENCIL_BUFFER_BIT 0x00000400L #define GL_VIEWPORT_BIT 0x00000800L #define GL_TRANSFORM_BIT 0x00001000L #define GL_ENABLE_BIT 0x00002000L #define GL_COLOR_BUFFER_BIT 0x00004000L #define GL_HINT_BIT 0x00008000L #define GL_EVAL_BIT 0x00010000L #define GL_LIST_BIT 0x00020000L #define GL_TEXTURE_BIT 0x00040000L #define GL_SCISSOR_BIT 0x00080000L #define GL_ALL_ATTRIB_BITS 0x000fffffL #define GL_CLIENT_PIXEL_STORE_BIT 0x00000001L #define GL_CLIENT_VERTEX_ARRAY_BIT 0x00000002L #define GL_CLIENT_ALL_ATTRIB_BITS 0x0000FFFFL GLAPI void GLAPIENTRY glEnable(GLenum cap); GLAPI void GLAPIENTRY glDisable(GLenum cap); GLAPI void GLAPIENTRY glShadeModel(GLenum mode); GLAPI void GLAPIENTRY glCullFace(GLenum mode); GLAPI void GLAPIENTRY glPolygonMode(GLenum face, GLenum mode); GLAPI void GLAPIENTRY glBegin(GLenum mode); GLAPI void GLAPIENTRY glEnd(void); GLAPI void GLAPIENTRY glVertex2f(GLfloat x, GLfloat y); GLAPI void GLAPIENTRY glVertex2d(GLdouble x, GLdouble y); GLAPI void GLAPIENTRY glVertex2fv(const GLfloat *v); GLAPI void GLAPIENTRY glVertex2dv(const GLdouble *v); GLAPI void GLAPIENTRY glVertex3f(GLfloat x, GLfloat y, GLfloat z); GLAPI void GLAPIENTRY glVertex3d(GLdouble x, GLdouble y, GLdouble z); GLAPI void GLAPIENTRY glVertex3fv(const GLfloat *v); GLAPI void GLAPIENTRY glVertex3dv(const GLdouble *v); GLAPI void GLAPIENTRY glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w); GLAPI void GLAPIENTRY glVertex4d(GLdouble x, GLdouble y, GLdouble z, GLdouble w); GLAPI void GLAPIENTRY glVertex4fv(const GLfloat *v); GLAPI void GLAPIENTRY glVertex4dv(const GLdouble *v); GLAPI void GLAPIENTRY glColor3f(GLfloat red, GLfloat green, GLfloat blue); GLAPI void GLAPIENTRY glColor3d(GLdouble red, GLdouble green, GLdouble blue); GLAPI void GLAPIENTRY glColor3fv(const GLfloat *v); GLAPI void GLAPIENTRY glColor3dv(const GLdouble *v); GLAPI void GLAPIENTRY glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); GLAPI void GLAPIENTRY glColor4d(GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha); GLAPI void GLAPIENTRY glColor4fv(const GLfloat *v); GLAPI void GLAPIENTRY glColor4dv(const GLdouble *v); GLAPI void GLAPIENTRY glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz); GLAPI void GLAPIENTRY glNormal3d(GLdouble nx, GLdouble ny, GLdouble nz); GLAPI void GLAPIENTRY glNormal3fv(const GLfloat *v); GLAPI void GLAPIENTRY glNormal3dv(const GLdouble *v); GLAPI void GLAPIENTRY glTexCoord1f(GLfloat s); GLAPI void GLAPIENTRY glTexCoord1d(GLdouble s); GLAPI void GLAPIENTRY glTexCoord1fv(const GLfloat *v); GLAPI void GLAPIENTRY glTexCoord1dv(const GLdouble *v); GLAPI void GLAPIENTRY glTexCoord2f(GLfloat s, GLfloat t); GLAPI void GLAPIENTRY glTexCoord2d(GLdouble s, GLdouble t); GLAPI void GLAPIENTRY glTexCoord2fv(const GLfloat *v); GLAPI void GLAPIENTRY glTexCoord2dv(const GLdouble *v); GLAPI void GLAPIENTRY glTexCoord3f(GLfloat s, GLfloat t, GLfloat r); GLAPI void GLAPIENTRY glTexCoord3d(GLdouble s, GLdouble t, GLdouble r); GLAPI void GLAPIENTRY glTexCoord3fv(const GLfloat *v); GLAPI void GLAPIENTRY glTexCoord3dv(const GLdouble *v); GLAPI void GLAPIENTRY glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q); GLAPI void GLAPIENTRY glTexCoord4d(GLdouble s, GLdouble t, GLdouble r, GLdouble q); GLAPI void GLAPIENTRY glTexCoord4fv(const GLfloat *v); GLAPI void GLAPIENTRY glTexCoord4dv(const GLdouble *v); GLAPI void GLAPIENTRY glEdgeFlag(GLboolean flag); /* matrix */ GLAPI void GLAPIENTRY glMatrixMode(GLenum mode); GLAPI void GLAPIENTRY glLoadMatrixf(const GLfloat *m); GLAPI void GLAPIENTRY glLoadIdentity(void); GLAPI void GLAPIENTRY glMultMatrixf(const GLfloat *m); GLAPI void GLAPIENTRY glPushMatrix(void); GLAPI void GLAPIENTRY glPopMatrix(void); GLAPI void GLAPIENTRY glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z); GLAPI void GLAPIENTRY glTranslatef(GLfloat x, GLfloat y, GLfloat z); GLAPI void GLAPIENTRY glScalef(GLfloat x, GLfloat y, GLfloat z); GLAPI void GLAPIENTRY glViewport(GLint x, GLint y, GLint width, GLint height); GLAPI void GLAPIENTRY glFrustum(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near_val, GLdouble far_val); GLAPI void GLAPIENTRY glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near_val, GLdouble far_val); /* lists */ GLAPI GLuint GLAPIENTRY glGenLists(GLsizei range); GLAPI GLboolean GLAPIENTRY glIsList(GLuint list); GLAPI void GLAPIENTRY glNewList(GLuint list, GLenum mode); GLAPI void GLAPIENTRY glEndList(void); GLAPI void GLAPIENTRY glCallList(GLuint list); GLAPI void GLAPIENTRY glDeleteLists(GLuint list, GLsizei range); /* clear */ GLAPI void GLAPIENTRY glClear(GLbitfield mask); GLAPI void GLAPIENTRY glClearColor(GLfloat r, GLfloat g, GLfloat b, GLfloat a); GLAPI void GLAPIENTRY glClearDepth(GLdouble depth); GLAPI void GLAPIENTRY glClearDepthf(GLfloat depth); /* selection */ GLAPI GLint GLAPIENTRY glRenderMode(GLenum mode); GLAPI void GLAPIENTRY glSelectBuffer(GLsizei size, GLuint *buf); GLAPI void GLAPIENTRY glInitNames(void); GLAPI void GLAPIENTRY glPushName(GLuint name); GLAPI void GLAPIENTRY glPopName(void); GLAPI void GLAPIENTRY glLoadName(GLuint name); /* textures */ GLAPI void GLAPIENTRY glGenTextures(GLsizei n, GLuint *textures); GLAPI void GLAPIENTRY glDeleteTextures(GLsizei n, const GLuint *textures); GLAPI void GLAPIENTRY glBindTexture(GLenum target, GLuint texture); GLAPI void GLAPIENTRY glTexImage2D(GLenum target, GLint level, GLint components, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels); GLAPI void GLAPIENTRY glTexEnvi(GLenum target, GLenum pname, GLint param); GLAPI void GLAPIENTRY glTexParameteri(GLenum target, GLenum pname, GLint param); GLAPI void GLAPIENTRY glPixelStorei(GLenum pname, GLint param); /* lighting */ GLAPI void GLAPIENTRY glMaterialfv(GLenum face, GLenum pname, const GLfloat *v); GLAPI void GLAPIENTRY glMaterialf(GLenum mode, GLenum pname, GLfloat v); GLAPI void GLAPIENTRY glColorMaterial(GLenum face, GLenum mode); GLAPI void GLAPIENTRY glLightfv(GLenum light, GLenum pname, const GLfloat *v); GLAPI void GLAPIENTRY glLightf(GLenum light, GLenum pname, GLfloat v); GLAPI void GLAPIENTRY glLightModeli(GLenum pname, GLint param); GLAPI void GLAPIENTRY glLightModelfv(GLenum pname, const GLfloat *param); /* misc */ GLAPI void GLAPIENTRY glFlush(void); GLAPI void GLAPIENTRY glHint(GLenum target, GLenum mode); GLAPI void GLAPIENTRY glGetIntegerv(GLenum pname, GLint *params); GLAPI void GLAPIENTRY glGetFloatv(GLenum pname, GLfloat *v); GLAPI void GLAPIENTRY glFrontFace(GLenum mode); /* opengl 1.2 arrays */ GLAPI void GLAPIENTRY glEnableClientState(GLenum array); GLAPI void GLAPIENTRY glDisableClientState(GLenum array); GLAPI void GLAPIENTRY glArrayElement(GLint i); GLAPI void GLAPIENTRY glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); GLAPI void GLAPIENTRY glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); GLAPI void GLAPIENTRY glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer); GLAPI void GLAPIENTRY glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); /* opengl 1.2 polygon offset */ GLAPI void GLAPIENTRY glPolygonOffset(GLfloat factor, GLfloat units); #endif /* GL_VERSION_1_1 */ #ifndef GL_VERSION_1_5 #define GL_VERSION_1_5 1 typedef ptrdiff_t GLintptr; typedef ptrdiff_t GLsizeiptr; #endif #ifndef GL_VERSION_2_0 #define GL_VERSION_2_0 1 typedef char GLchar; #endif #ifndef GL_ARB_vertex_buffer_object #define GL_ARB_vertex_buffer_object 1 typedef ptrdiff_t GLsizeiptrARB; typedef ptrdiff_t GLintptrARB; #endif #ifndef GL_NV_half_float #define GL_NV_half_float 1 typedef unsigned short GLhalfNV; #endif #ifndef GL_NV_vdpau_interop #define GL_NV_vdpau_interop 1 typedef GLintptr GLvdpauSurfaceNV; #endif #ifndef GL_ARB_cl_event #define GL_ARB_cl_event 1 #ifdef __PUREC__ struct _cl_context { int dummy; }; struct _cl_event { int dummy; }; #else struct _cl_context; struct _cl_event; #endif #endif #if !defined(GL_ARB_sync) && !defined(__TINY_GL_H__) #define GL_ARB_sync 1 #if defined(__GNUC__) || (defined(LLONG_MAX) && LLONG_MAX > 2147483647L) typedef int64_t GLint64; typedef uint64_t GLuint64; #else typedef struct { long hi; unsigned long lo; } GLint64; typedef struct { unsigned long hi; unsigned long lo; } GLuint64; #endif #ifdef __PUREC__ struct __GLsync { int dummy; }; #endif typedef struct __GLsync *GLsync; #endif #if !defined(GL_EXT_timer_query) && !defined(__TINY_GL_H__) #define GL_EXT_timer_query 1 typedef GLint64 GLint64EXT; typedef GLuint64 GLuint64EXT; #endif #ifndef GL_OES_fixed_point #define GL_OES_fixed_point 1 typedef GLint GLfixed; #endif #ifndef GL_ARB_shader_objects #define GL_ARB_shader_objects 1 typedef char GLcharARB; typedef GLuint GLhandleARB; #endif #ifndef GL_KHR_debug #define GL_KHR_debug 1 typedef void CALLBACK (*GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message, const void *userParam); #endif #ifndef GL_ARB_debug_output #define GL_ARB_debug_output 1 typedef void CALLBACK (*GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message, const void *userParam); #endif #ifndef GL_AMD_debug_output #define GL_AMD_debug_output typedef void CALLBACK (*GLDEBUGPROCAMD)(GLuint id,GLenum category, GLenum severity, GLsizei length, const GLchar *message, void *userParam); #endif #ifndef GL_MESA_program_debug #define GL_MESA_program_debug 1 typedef void CALLBACK (*GLprogramcallbackMESA)(GLenum target, GLvoid *data); #endif /* * Mesa Off-Screen rendering interface. * * Copyright (C) 1999-2005 Brian Paul All Rights Reserved. * */ #define OSMESA_VERSION_NUMBER(major, minor, patch) ((major) * 10000 + (minor) * 100 + patch) #define OSMESA_VERSION OSMESA_VERSION_NUMBER(OSMESA_MAJOR_VERSION, OSMESA_MINOR_VERSION, OSMESA_PATCH_VERSION) #if !defined(OSMESA_MAJOR_VERSION) #define OSMESA_MAJOR_VERSION 6 #define OSMESA_MINOR_VERSION 3 #define OSMESA_PATCH_VERSION 0 /* * Values for the format parameter of OSMesaCreateLDG() * Mesa_gl.ldg version 0.8 (Mesa 2.6) */ #define OSMESA_COLOR_INDEX GL_COLOR_INDEX #define OSMESA_RGBA GL_RGBA #define OSMESA_BGRA 0x1 #define OSMESA_ARGB 0x2 #define OSMESA_RGB GL_RGB #define OSMESA_BGR 0x4 #define OSMESA_RGB_565 0x5 #define VDI_ARGB 0x8 #define VDI_RGB 0xf #define DIRECT_VDI_ARGB 0x10 /* * OSMesaPixelStore() parameters: */ #define OSMESA_ROW_LENGTH 0x10 #define OSMESA_Y_UP 0x11 /* * Accepted by OSMesaGetIntegerv: */ #define OSMESA_WIDTH 0x20 #define OSMESA_HEIGHT 0x21 #define OSMESA_FORMAT 0x22 #define OSMESA_TYPE 0x23 #define OSMESA_MAX_WIDTH 0x24 /* new in 4.0 */ #define OSMESA_MAX_HEIGHT 0x25 /* new in 4.0 */ #ifdef __PUREC__ struct osmesa_context { int dummy; }; #endif typedef struct osmesa_context *OSMesaContext; typedef void (*OSMESAproc)(void); GLAPI OSMesaContext GLAPIENTRY OSMesaCreateContext( GLenum format, OSMesaContext sharelist ); GLAPI OSMesaContext GLAPIENTRY OSMesaCreateContextExt( GLenum format, GLint depthBits, GLint stencilBits, GLint accumBits, OSMesaContext sharelist); GLAPI void GLAPIENTRY OSMesaDestroyContext( OSMesaContext ctx ); GLAPI GLboolean GLAPIENTRY OSMesaMakeCurrent( OSMesaContext ctx, void *buffer, GLenum type, GLsizei width, GLsizei height ); GLAPI OSMesaContext GLAPIENTRY OSMesaGetCurrentContext( void ); GLAPI void GLAPIENTRY OSMesaPixelStore( GLint pname, GLint value ); GLAPI void GLAPIENTRY OSMesaGetIntegerv( GLint pname, GLint *value ); GLAPI GLboolean GLAPIENTRY OSMesaGetDepthBuffer( OSMesaContext c, GLint *width, GLint *height, GLint *bytesPerValue, void **buffer ); GLAPI GLboolean GLAPIENTRY OSMesaGetColorBuffer( OSMesaContext c, GLint *width, GLint *height, GLint *format, void **buffer ); GLAPI OSMESAproc GLAPIENTRY OSMesaGetProcAddress( const char *funcName ); GLAPI void GLAPIENTRY OSMesaColorClamp(GLboolean enable); GLAPI void GLAPIENTRY OSMesaPostprocess(OSMesaContext osmesa, const char *filter, GLuint enable_value); #elif OSMESA_VERSION < OSMESA_VERSION_NUMBER(6, 3, 0) typedef void (*OSMESAproc)(void); #endif /* * integral types that need to be promoted to * 32bit type when passed by value */ #ifndef GL_nfosmesa_short_promotions #define GL_nfosmesa_short_promotions 1 #ifdef __MSHORT__ typedef long GLshort32; typedef unsigned long GLushort32; typedef unsigned long GLboolean32; typedef long GLchar32; typedef unsigned long GLubyte32; typedef signed long GLbyte32; typedef unsigned long GLhalfNV32; #else typedef GLshort GLshort32; typedef GLushort GLushort32; typedef GLboolean GLboolean32; typedef GLchar GLchar32; typedef GLubyte GLubyte32; typedef GLbyte GLbyte32; typedef GLhalfNV GLhalfNV32; #endif #endif #ifdef __cplusplus } #endif /* * old LDG functions */ #ifdef __cplusplus extern "C" { #endif GLAPI void *GLAPIENTRY OSMesaCreateLDG(GLenum format, GLenum type, GLint width, GLint height); GLAPI void GLAPIENTRY OSMesaDestroyLDG(void); GLAPI GLsizei GLAPIENTRY max_width(void); GLAPI GLsizei GLAPIENTRY max_height(void); GLAPI void GLAPIENTRY swapbuffer(void *buf); GLAPI void GLAPIENTRY exception_error(void CALLBACK (*exception)(GLenum param)); GLAPI void GLAPIENTRY information(void); GLAPI void GLAPIENTRY glOrthof(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat near_val, GLfloat far_val); GLAPI void GLAPIENTRY glFrustumf(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat near_val, GLfloat far_val); GLAPI void GLAPIENTRY glClearDepthf(GLfloat depth); GLAPI void GLAPIENTRY gluLookAtf(GLfloat eyeX, GLfloat eyeY, GLfloat eyeZ, GLfloat centerX, GLfloat centerY, GLfloat centerZ, GLfloat upX, GLfloat upY, GLfloat upZ); struct _gl_tiny { void APIENTRY (*information)(void); void APIENTRY (*Begin)(GLenum mode); void APIENTRY (*Clear)(GLbitfield mask); void APIENTRY (*ClearColor)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); void APIENTRY (*Color3f)(GLfloat red, GLfloat green, GLfloat blue); void APIENTRY (*Disable)(GLenum cap); void APIENTRY (*Enable)(GLenum cap); void APIENTRY (*End)(void); void APIENTRY (*Lightfv)(GLenum light, GLenum pname, const GLfloat *params); void APIENTRY (*LoadIdentity)(void); void APIENTRY (*Materialfv)(GLenum face, GLenum pname, const GLfloat *params); void APIENTRY (*MatrixMode)(GLenum mode); void APIENTRY (*Orthof)(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat near_val, GLfloat far_val); void APIENTRY (*PopMatrix)(void); void APIENTRY (*PushMatrix)(void); void APIENTRY (*Rotatef)(GLfloat angle, GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*TexEnvi)(GLenum target, GLenum pname, GLint param); void APIENTRY (*TexParameteri)(GLenum target, GLenum pname, GLint param); void APIENTRY (*Translatef)(GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*Vertex2f)(GLfloat x, GLfloat y); void APIENTRY (*Vertex3f)(GLfloat x, GLfloat y, GLfloat z); void * APIENTRY (*OSMesaCreateLDG)(GLenum format, GLenum type, GLint width, GLint height); void APIENTRY (*OSMesaDestroyLDG)(void); void APIENTRY (*ArrayElement)(GLint i); void APIENTRY (*BindTexture)(GLenum target, GLuint texture); void APIENTRY (*CallList)(GLuint list); void APIENTRY (*ClearDepthf)(GLfloat d); void APIENTRY (*Color4f)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); void APIENTRY (*Color3fv)(const GLfloat *v); void APIENTRY (*Color4fv)(const GLfloat *v); void APIENTRY (*ColorMaterial)(GLenum face, GLenum mode); void APIENTRY (*ColorPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); void APIENTRY (*CullFace)(GLenum mode); void APIENTRY (*DeleteTextures)(GLsizei n, const GLuint *textures); void APIENTRY (*DisableClientState)(GLenum array); void APIENTRY (*EnableClientState)(GLenum array); void APIENTRY (*EndList)(void); void APIENTRY (*EdgeFlag)(GLboolean32 flag); void APIENTRY (*Flush)(void); void APIENTRY (*FrontFace)(GLenum mode); void APIENTRY (*Frustumf)(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat near_val, GLfloat far_val); GLuint APIENTRY (*GenLists)(GLsizei range); void APIENTRY (*GenTextures)(GLsizei n, GLuint *textures); void APIENTRY (*GetFloatv)(GLenum pname, GLfloat *params); void APIENTRY (*GetIntegerv)(GLenum pname, GLint *params); void APIENTRY (*Hint)(GLenum target, GLenum mode); void APIENTRY (*InitNames)(void); GLboolean APIENTRY (*IsList)(GLuint list); void APIENTRY (*Lightf)(GLenum light, GLenum pname, GLfloat param); void APIENTRY (*LightModeli)(GLenum pname, GLint param); void APIENTRY (*LightModelfv)(GLenum pname, const GLfloat *params); void APIENTRY (*LoadMatrixf)(const GLfloat *m); void APIENTRY (*LoadName)(GLuint name); void APIENTRY (*Materialf)(GLenum face, GLenum pname, GLfloat param); void APIENTRY (*MultMatrixf)(const GLfloat *m); void APIENTRY (*NewList)(GLuint list, GLenum mode); void APIENTRY (*Normal3f)(GLfloat nx, GLfloat ny, GLfloat nz); void APIENTRY (*Normal3fv)(const GLfloat *v); void APIENTRY (*NormalPointer)(GLenum type, GLsizei stride, const GLvoid *pointer); void APIENTRY (*PixelStorei)(GLenum pname, GLint param); void APIENTRY (*PolygonMode)(GLenum face, GLenum mode); void APIENTRY (*PolygonOffset)(GLfloat factor, GLfloat units); void APIENTRY (*PopName)(void); void APIENTRY (*PushName)(GLuint name); GLint APIENTRY (*RenderMode)(GLenum mode); void APIENTRY (*SelectBuffer)(GLsizei size, GLuint *buffer); void APIENTRY (*Scalef)(GLfloat x, GLfloat y, GLfloat z); void APIENTRY (*ShadeModel)(GLenum mode); void APIENTRY (*TexCoord2f)(GLfloat s, GLfloat t); void APIENTRY (*TexCoord4f)(GLfloat s, GLfloat t, GLfloat r, GLfloat q); void APIENTRY (*TexCoord2fv)(const GLfloat *v); void APIENTRY (*TexCoordPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); void APIENTRY (*TexImage2D)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels); void APIENTRY (*Vertex4f)(GLfloat x, GLfloat y, GLfloat z, GLfloat w); void APIENTRY (*Vertex3fv)(const GLfloat *v); void APIENTRY (*VertexPointer)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer); void APIENTRY (*Viewport)(GLint x, GLint y, GLsizei width, GLsizei height); void APIENTRY (*swapbuffer)(void *buffer); GLsizei APIENTRY (*max_width)(void); GLsizei APIENTRY (*max_height)(void); void APIENTRY (*DeleteLists)(GLuint list, GLsizei range); void APIENTRY (*gluLookAtf)(GLfloat eyeX, GLfloat eyeY, GLfloat eyeZ, GLfloat centerX, GLfloat centerY, GLfloat centerZ, GLfloat upX, GLfloat upY, GLfloat upZ); void APIENTRY (*exception_error)(void (CALLBACK *exception)(GLenum param) ); }; extern struct _gl_tiny gl; extern SLB_HANDLE gl_slb; extern SLB_EXEC gl_exec; #ifdef __cplusplus } #endif #ifndef NFOSMESA_NO_MANGLE #undef information #define information (gl.information) #undef glBegin #define glBegin (gl.Begin) #undef glClear #define glClear (gl.Clear) #undef glClearColor #define glClearColor (gl.ClearColor) #undef glColor3f #define glColor3f (gl.Color3f) #undef glDisable #define glDisable (gl.Disable) #undef glEnable #define glEnable (gl.Enable) #undef glEnd #define glEnd (gl.End) #undef glLightfv #define glLightfv (gl.Lightfv) #undef glLoadIdentity #define glLoadIdentity (gl.LoadIdentity) #undef glMaterialfv #define glMaterialfv (gl.Materialfv) #undef glMatrixMode #define glMatrixMode (gl.MatrixMode) #undef glOrthof #define glOrthof (gl.Orthof) #undef glPopMatrix #define glPopMatrix (gl.PopMatrix) #undef glPushMatrix #define glPushMatrix (gl.PushMatrix) #undef glRotatef #define glRotatef (gl.Rotatef) #undef glTexEnvi #define glTexEnvi (gl.TexEnvi) #undef glTexParameteri #define glTexParameteri (gl.TexParameteri) #undef glTranslatef #define glTranslatef (gl.Translatef) #undef glVertex2f #define glVertex2f (gl.Vertex2f) #undef glVertex3f #define glVertex3f (gl.Vertex3f) #undef OSMesaCreateLDG #define OSMesaCreateLDG (gl.OSMesaCreateLDG) #undef OSMesaDestroyLDG #define OSMesaDestroyLDG (gl.OSMesaDestroyLDG) #undef glArrayElement #define glArrayElement (gl.ArrayElement) #undef glBindTexture #define glBindTexture (gl.BindTexture) #undef glCallList #define glCallList (gl.CallList) #undef glClearDepthf #define glClearDepthf (gl.ClearDepthf) #undef glColor4f #define glColor4f (gl.Color4f) #undef glColor3fv #define glColor3fv (gl.Color3fv) #undef glColor4fv #define glColor4fv (gl.Color4fv) #undef glColorMaterial #define glColorMaterial (gl.ColorMaterial) #undef glColorPointer #define glColorPointer (gl.ColorPointer) #undef glCullFace #define glCullFace (gl.CullFace) #undef glDeleteTextures #define glDeleteTextures (gl.DeleteTextures) #undef glDisableClientState #define glDisableClientState (gl.DisableClientState) #undef glEnableClientState #define glEnableClientState (gl.EnableClientState) #undef glEndList #define glEndList (gl.EndList) #undef glEdgeFlag #define glEdgeFlag (gl.EdgeFlag) #undef glFlush #define glFlush (gl.Flush) #undef glFrontFace #define glFrontFace (gl.FrontFace) #undef glFrustumf #define glFrustumf (gl.Frustumf) #undef glGenLists #define glGenLists (gl.GenLists) #undef glGenTextures #define glGenTextures (gl.GenTextures) #undef glGetFloatv #define glGetFloatv (gl.GetFloatv) #undef glGetIntegerv #define glGetIntegerv (gl.GetIntegerv) #undef glHint #define glHint (gl.Hint) #undef glInitNames #define glInitNames (gl.InitNames) #undef glIsList #define glIsList (gl.IsList) #undef glLightf #define glLightf (gl.Lightf) #undef glLightModeli #define glLightModeli (gl.LightModeli) #undef glLightModelfv #define glLightModelfv (gl.LightModelfv) #undef glLoadMatrixf #define glLoadMatrixf (gl.LoadMatrixf) #undef glLoadName #define glLoadName (gl.LoadName) #undef glMaterialf #define glMaterialf (gl.Materialf) #undef glMultMatrixf #define glMultMatrixf (gl.MultMatrixf) #undef glNewList #define glNewList (gl.NewList) #undef glNormal3f #define glNormal3f (gl.Normal3f) #undef glNormal3fv #define glNormal3fv (gl.Normal3fv) #undef glNormalPointer #define glNormalPointer (gl.NormalPointer) #undef glPixelStorei #define glPixelStorei (gl.PixelStorei) #undef glPolygonMode #define glPolygonMode (gl.PolygonMode) #undef glPolygonOffset #define glPolygonOffset (gl.PolygonOffset) #undef glPopName #define glPopName (gl.PopName) #undef glPushName #define glPushName (gl.PushName) #undef glRenderMode #define glRenderMode (gl.RenderMode) #undef glSelectBuffer #define glSelectBuffer (gl.SelectBuffer) #undef glScalef #define glScalef (gl.Scalef) #undef glShadeModel #define glShadeModel (gl.ShadeModel) #undef glTexCoord2f #define glTexCoord2f (gl.TexCoord2f) #undef glTexCoord4f #define glTexCoord4f (gl.TexCoord4f) #undef glTexCoord2fv #define glTexCoord2fv (gl.TexCoord2fv) #undef glTexCoordPointer #define glTexCoordPointer (gl.TexCoordPointer) #undef glTexImage2D #define glTexImage2D (gl.TexImage2D) #undef glVertex4f #define glVertex4f (gl.Vertex4f) #undef glVertex3fv #define glVertex3fv (gl.Vertex3fv) #undef glVertexPointer #define glVertexPointer (gl.VertexPointer) #undef glViewport #define glViewport (gl.Viewport) #undef swapbuffer #define swapbuffer (gl.swapbuffer) #undef max_width #define max_width (gl.max_width) #undef max_height #define max_height (gl.max_height) #undef glDeleteLists #define glDeleteLists (gl.DeleteLists) #undef gluLookAtf #define gluLookAtf (gl.gluLookAtf) #undef exception_error #define exception_error (gl.exception_error) #endif /* * Functions exported from TinyGL that take float arguments, * and conflict with OpenGL functions of the same name */ #undef glFrustum #define glFrustum glFrustumf #undef glClearDepth #define glClearDepth glClearDepthf #undef glOrtho #define glOrtho glOrthof #undef gluLookAt #define gluLookAt gluLookAtf /* * no-ops in TinyGL */ #undef glFinish #define glFinish() /* * Functions from OpenGL that are not implemented in TinyGL */ #define glPointSize(size) glPointSize_not_supported_by_tinygl() #define glLineWidth(width) glLineWidth_not_supported_by_tinygl() #define glDepthFunc(func) glDepthFunc_not_supported_by_tinygl() #define glBlendFunc(sfactor, dfactor) glBlendFunc_not_supported_by_tinygl() #define glTexEnvf(target, pname, param) glTexEnvf_not_supported_by_tinygl() #define glVertex2i(x, y) glVertex2i_not_supported_by_tinygl() #define glDepthMask(flag) glDepthMask_not_supported_by_tinygl() #define glFogi(pname, param) glFogi_not_supported_by_tinygl() #define glFogf(pname, param) glFogf_not_supported_by_tinygl() #define glFogiv(pname, params) glFogiv_not_supported_by_tinygl() #define glFogfv(pname, params) glFogfv_not_supported_by_tinygl() #define glRasterPos2f(x, y) glRasterPos2f_not_supported_by_tinygl() #define glPolygonStipple(mask) glPolygonStipple_not_supported_by_tinygl() #define glTexParameterf(target, pname, param) glTexParameterf_not_supported_by_tinygl() /* Functions generated: 83 */ #endif /* __SLB_TINY_GL_H__ */ aranym-1.0.2/atari/nfosmesa/tiny_gl_slb.c000066400000000000000000000063011242022243000203540ustar00rootroot00000000000000#ifndef __GNUC__ #error "this file is for GNU-C only" #endif #include #include "nfosmesa_nfapi.h" #include #define __CDECL typedef long __CDECL (*SLB_FUNC)(BASEPAGE *pd, long fn, short nargs, ...); #define UNDERSCORE "_" /* The file header of a shared library */ struct slb_head { long slh_magic; /* Magic value (0x70004afc) */ const char *slh_name; /* Name of the library */ long slh_version; /* Version number */ long slh_flags; /* Flags, currently 0L and unused */ long __CDECL (*slh_slb_init)(void); /* Pointer to init()-function */ void __CDECL (*slh_slb_exit)(void); /* Pointer to exit()-function */ long __CDECL (*slh_slb_open)(BASEPAGE *b); /* Pointer to open()-function */ long __CDECL (*slh_slb_close)(BASEPAGE *b); /* Pointer to close()-function */ const char *const *slh_names; /* Pointer to functions names, or 0L */ long slh_reserved[8]; /* Currently 0L and unused */ long slh_no_funcs; /* Number of functions */ SLB_FUNC slh_functions[]; /* The function pointers */ }; #ifndef __STRINGIFY #define __STRINGIFY(x) __STRINGIFY1(x) #define __STRINGIFY1(x) #x #endif /* first include is onyl to get definition of NUM_TINYGL_PROCS */ #define GL_PROC(name, f, desc) #include "link-tinygl.h" /* * This replaces the startup code, and must be the first thing in this file, * and also in the resulting executable */ #define SLB_HEAD(version, flags, no_funcs) \ __asm__ ("\ .text\n\ .dc.l 0x70004afc\n\ .dc.l slh_name\n\ .dc.l " __STRINGIFY(version) "\n\ .dc.l " __STRINGIFY(flags) "\n\ .dc.l " UNDERSCORE "slb_init\n\ .dc.l " UNDERSCORE "slb_exit\n\ .dc.l " UNDERSCORE "slb_open\n\ .dc.l " UNDERSCORE "slb_close\n\ .dc.l slh_names\n\ .dc.l 0,0,0,0,0,0,0,0\n\ .dc.l " __STRINGIFY(no_funcs) "\n"); /* spit out the header */ SLB_HEAD(1, 0, NUM_TINYGL_PROCS) /* generate the function table */ #define GL_PROC(name, f, desc) __asm__(".dc.l " UNDERSCORE #f "_execwrap\n"); #include "link-tinygl.h" __asm__ ("\ slh_name: .asciz \"tiny_gl.slb\"\n\ slh_names:\n"); /* generate the function names */ #define GL_PROC(name, f, desc) __asm__(".asciz \"" name "\"\n"); #include "link-tinygl.h" __asm__ (".even\n"); /* generate the wrapper functions */ /* move return pc, and pop BASEPAGE *, function #, and number of args */ #define GL_PROC(name, f, desc) \ __asm__(UNDERSCORE #f "_execwrap:\n\ move.l (sp),10(sp)\n\ lea 10(sp),sp\n\ braw " UNDERSCORE #f "\n"); #include "link-tinygl.h" int err_old_nfapi(void) { /* not an error for TinyGL; the 83 functions should always be present */ return 0; } /* * these are not optional and cannot be set * to zero in the header, even if they * currently don't do anything */ static __attribute__((used)) long __CDECL slb_init(void) { return 0; } static __attribute__((used)) void __CDECL slb_exit(void) { } static __attribute__((used)) long __CDECL slb_open(BASEPAGE *pd) { (void) pd; return 0; } static __attribute__((used)) void __CDECL slb_close(BASEPAGE *pd) { (void) pd; } #include "versinfo.h" void APIENTRY tinyglinformation(void) { (void) Cconws("TinyGL NFOSMesa API Version " __STRINGIFY(ARANFOSMESA_NFAPI_VERSION) " " ASCII_ARCH_TARGET " " ASCII_COMPILER "\r\n"); } aranym-1.0.2/atari/nfosmesa/tinygl_load.c000066400000000000000000000263051242022243000203620ustar00rootroot00000000000000/* Bindings of tiny_gl.ldg * Compile this module and link it with the application client */ #include #include #define NFOSMESA_NO_MANGLE #include #ifndef TRUE # define TRUE 1 # define FALSE 0 #endif struct _gl_tiny gl; #define GL_CHECK(x) if (x == 0) result = FALSE int ldg_init_tiny_gl(LDG *lib) { int result = TRUE; #undef glFrustum #undef glOrtho #undef gluLookAt #undef glClearDepth gl.information = (void APIENTRY (*)(void)) ldg_find("information", lib); GL_CHECK(gl.information); gl.Begin = (void APIENTRY (*)(GLenum mode)) ldg_find("glBegin", lib); GL_CHECK(gl.Begin); gl.Clear = (void APIENTRY (*)(GLbitfield mask)) ldg_find("glClear", lib); GL_CHECK(gl.Clear); gl.ClearColor = (void APIENTRY (*)(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)) ldg_find("glClearColor", lib); GL_CHECK(gl.ClearColor); gl.Color3f = (void APIENTRY (*)(GLfloat red, GLfloat green, GLfloat blue)) ldg_find("glColor3f", lib); GL_CHECK(gl.Color3f); gl.Disable = (void APIENTRY (*)(GLenum cap)) ldg_find("glDisable", lib); GL_CHECK(gl.Disable); gl.Enable = (void APIENTRY (*)(GLenum cap)) ldg_find("glEnable", lib); GL_CHECK(gl.Enable); gl.End = (void APIENTRY (*)(void)) ldg_find("glEnd", lib); GL_CHECK(gl.End); gl.Lightfv = (void APIENTRY (*)(GLenum light, GLenum pname, const GLfloat *params)) ldg_find("glLightfv", lib); GL_CHECK(gl.Lightfv); gl.LoadIdentity = (void APIENTRY (*)(void)) ldg_find("glLoadIdentity", lib); GL_CHECK(gl.LoadIdentity); gl.Materialfv = (void APIENTRY (*)(GLenum face, GLenum pname, const GLfloat *params)) ldg_find("glMaterialfv", lib); GL_CHECK(gl.Materialfv); gl.MatrixMode = (void APIENTRY (*)(GLenum mode)) ldg_find("glMatrixMode", lib); GL_CHECK(gl.MatrixMode); gl.Orthof = (void APIENTRY (*)(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat near_val, GLfloat far_val)) ldg_find("glOrtho", lib); GL_CHECK(gl.Orthof); gl.PopMatrix = (void APIENTRY (*)(void)) ldg_find("glPopMatrix", lib); GL_CHECK(gl.PopMatrix); gl.PushMatrix = (void APIENTRY (*)(void)) ldg_find("glPushMatrix", lib); GL_CHECK(gl.PushMatrix); gl.Rotatef = (void APIENTRY (*)(GLfloat angle, GLfloat x, GLfloat y, GLfloat z)) ldg_find("glRotatef", lib); GL_CHECK(gl.Rotatef); gl.TexEnvi = (void APIENTRY (*)(GLenum target, GLenum pname, GLint param)) ldg_find("glTexEnvi", lib); GL_CHECK(gl.TexEnvi); gl.TexParameteri = (void APIENTRY (*)(GLenum target, GLenum pname, GLint param)) ldg_find("glTexParameteri", lib); GL_CHECK(gl.TexParameteri); gl.Translatef = (void APIENTRY (*)(GLfloat x, GLfloat y, GLfloat z)) ldg_find("glTranslatef", lib); GL_CHECK(gl.Translatef); gl.Vertex2f = (void APIENTRY (*)(GLfloat x, GLfloat y)) ldg_find("glVertex2f", lib); GL_CHECK(gl.Vertex2f); gl.Vertex3f = (void APIENTRY (*)(GLfloat x, GLfloat y, GLfloat z)) ldg_find("glVertex3f", lib); GL_CHECK(gl.Vertex3f); gl.OSMesaCreateLDG = (void * APIENTRY (*)(GLenum format, GLenum type, GLint width, GLint height)) ldg_find("OSMesaCreateLDG", lib); GL_CHECK(gl.OSMesaCreateLDG); gl.OSMesaDestroyLDG = (void APIENTRY (*)(void)) ldg_find("OSMesaDestroyLDG", lib); GL_CHECK(gl.OSMesaDestroyLDG); gl.ArrayElement = (void APIENTRY (*)(GLint i)) ldg_find("glArrayElement", lib); GL_CHECK(gl.ArrayElement); gl.BindTexture = (void APIENTRY (*)(GLenum target, GLuint texture)) ldg_find("glBindTexture", lib); GL_CHECK(gl.BindTexture); gl.CallList = (void APIENTRY (*)(GLuint list)) ldg_find("glCallList", lib); GL_CHECK(gl.CallList); gl.ClearDepthf = (void APIENTRY (*)(GLfloat d)) ldg_find("glClearDepth", lib); GL_CHECK(gl.ClearDepthf); gl.Color4f = (void APIENTRY (*)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha)) ldg_find("glColor4f", lib); GL_CHECK(gl.Color4f); gl.Color3fv = (void APIENTRY (*)(const GLfloat *v)) ldg_find("glColor3fv", lib); GL_CHECK(gl.Color3fv); gl.Color4fv = (void APIENTRY (*)(const GLfloat *v)) ldg_find("glColor4fv", lib); GL_CHECK(gl.Color4fv); gl.ColorMaterial = (void APIENTRY (*)(GLenum face, GLenum mode)) ldg_find("glColorMaterial", lib); GL_CHECK(gl.ColorMaterial); gl.ColorPointer = (void APIENTRY (*)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)) ldg_find("glColorPointer", lib); GL_CHECK(gl.ColorPointer); gl.CullFace = (void APIENTRY (*)(GLenum mode)) ldg_find("glCullFace", lib); GL_CHECK(gl.CullFace); gl.DeleteTextures = (void APIENTRY (*)(GLsizei n, const GLuint *textures)) ldg_find("glDeleteTextures", lib); GL_CHECK(gl.DeleteTextures); gl.DisableClientState = (void APIENTRY (*)(GLenum array)) ldg_find("glDisableClientState", lib); GL_CHECK(gl.DisableClientState); gl.EnableClientState = (void APIENTRY (*)(GLenum array)) ldg_find("glEnableClientState", lib); GL_CHECK(gl.EnableClientState); gl.EndList = (void APIENTRY (*)(void)) ldg_find("glEndList", lib); GL_CHECK(gl.EndList); gl.EdgeFlag = (void APIENTRY (*)(GLboolean32 flag)) ldg_find("glEdgeFlag", lib); GL_CHECK(gl.EdgeFlag); gl.Flush = (void APIENTRY (*)(void)) ldg_find("glFlush", lib); GL_CHECK(gl.Flush); gl.FrontFace = (void APIENTRY (*)(GLenum mode)) ldg_find("glFrontFace", lib); GL_CHECK(gl.FrontFace); gl.Frustumf = (void APIENTRY (*)(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat near_val, GLfloat far_val)) ldg_find("glFrustum", lib); GL_CHECK(gl.Frustumf); gl.GenLists = (GLuint APIENTRY (*)(GLsizei range)) ldg_find("glGenLists", lib); GL_CHECK(gl.GenLists); gl.GenTextures = (void APIENTRY (*)(GLsizei n, GLuint *textures)) ldg_find("glGenTextures", lib); GL_CHECK(gl.GenTextures); gl.GetFloatv = (void APIENTRY (*)(GLenum pname, GLfloat *params)) ldg_find("glGetFloatv", lib); GL_CHECK(gl.GetFloatv); gl.GetIntegerv = (void APIENTRY (*)(GLenum pname, GLint *params)) ldg_find("glGetIntegerv", lib); GL_CHECK(gl.GetIntegerv); gl.Hint = (void APIENTRY (*)(GLenum target, GLenum mode)) ldg_find("glHint", lib); GL_CHECK(gl.Hint); gl.InitNames = (void APIENTRY (*)(void)) ldg_find("glInitNames", lib); GL_CHECK(gl.InitNames); gl.IsList = (GLboolean APIENTRY (*)(GLuint list)) ldg_find("glIsList", lib); GL_CHECK(gl.IsList); gl.Lightf = (void APIENTRY (*)(GLenum light, GLenum pname, GLfloat param)) ldg_find("glLightf", lib); GL_CHECK(gl.Lightf); gl.LightModeli = (void APIENTRY (*)(GLenum pname, GLint param)) ldg_find("glLightModeli", lib); GL_CHECK(gl.LightModeli); gl.LightModelfv = (void APIENTRY (*)(GLenum pname, const GLfloat *params)) ldg_find("glLightModelfv", lib); GL_CHECK(gl.LightModelfv); gl.LoadMatrixf = (void APIENTRY (*)(const GLfloat *m)) ldg_find("glLoadMatrixf", lib); GL_CHECK(gl.LoadMatrixf); gl.LoadName = (void APIENTRY (*)(GLuint name)) ldg_find("glLoadName", lib); GL_CHECK(gl.LoadName); gl.Materialf = (void APIENTRY (*)(GLenum face, GLenum pname, GLfloat param)) ldg_find("glMaterialf", lib); GL_CHECK(gl.Materialf); gl.MultMatrixf = (void APIENTRY (*)(const GLfloat *m)) ldg_find("glMultMatrixf", lib); GL_CHECK(gl.MultMatrixf); gl.NewList = (void APIENTRY (*)(GLuint list, GLenum mode)) ldg_find("glNewList", lib); GL_CHECK(gl.NewList); gl.Normal3f = (void APIENTRY (*)(GLfloat nx, GLfloat ny, GLfloat nz)) ldg_find("glNormal3f", lib); GL_CHECK(gl.Normal3f); gl.Normal3fv = (void APIENTRY (*)(const GLfloat *v)) ldg_find("glNormal3fv", lib); GL_CHECK(gl.Normal3fv); gl.NormalPointer = (void APIENTRY (*)(GLenum type, GLsizei stride, const GLvoid *pointer)) ldg_find("glNormalPointer", lib); GL_CHECK(gl.NormalPointer); gl.PixelStorei = (void APIENTRY (*)(GLenum pname, GLint param)) ldg_find("glPixelStorei", lib); GL_CHECK(gl.PixelStorei); gl.PolygonMode = (void APIENTRY (*)(GLenum face, GLenum mode)) ldg_find("glPolygonMode", lib); GL_CHECK(gl.PolygonMode); gl.PolygonOffset = (void APIENTRY (*)(GLfloat factor, GLfloat units)) ldg_find("glPolygonOffset", lib); GL_CHECK(gl.PolygonOffset); gl.PopName = (void APIENTRY (*)(void)) ldg_find("glPopName", lib); GL_CHECK(gl.PopName); gl.PushName = (void APIENTRY (*)(GLuint name)) ldg_find("glPushName", lib); GL_CHECK(gl.PushName); gl.RenderMode = (GLint APIENTRY (*)(GLenum mode)) ldg_find("glRenderMode", lib); GL_CHECK(gl.RenderMode); gl.SelectBuffer = (void APIENTRY (*)(GLsizei size, GLuint *buffer)) ldg_find("glSelectBuffer", lib); GL_CHECK(gl.SelectBuffer); gl.Scalef = (void APIENTRY (*)(GLfloat x, GLfloat y, GLfloat z)) ldg_find("glScalef", lib); GL_CHECK(gl.Scalef); gl.ShadeModel = (void APIENTRY (*)(GLenum mode)) ldg_find("glShadeModel", lib); GL_CHECK(gl.ShadeModel); gl.TexCoord2f = (void APIENTRY (*)(GLfloat s, GLfloat t)) ldg_find("glTexCoord2f", lib); GL_CHECK(gl.TexCoord2f); gl.TexCoord4f = (void APIENTRY (*)(GLfloat s, GLfloat t, GLfloat r, GLfloat q)) ldg_find("glTexCoord4f", lib); GL_CHECK(gl.TexCoord4f); gl.TexCoord2fv = (void APIENTRY (*)(const GLfloat *v)) ldg_find("glTexCoord2fv", lib); GL_CHECK(gl.TexCoord2fv); gl.TexCoordPointer = (void APIENTRY (*)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)) ldg_find("glTexCoordPointer", lib); GL_CHECK(gl.TexCoordPointer); gl.TexImage2D = (void APIENTRY (*)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels)) ldg_find("glTexImage2D", lib); GL_CHECK(gl.TexImage2D); gl.Vertex4f = (void APIENTRY (*)(GLfloat x, GLfloat y, GLfloat z, GLfloat w)) ldg_find("glVertex4f", lib); GL_CHECK(gl.Vertex4f); gl.Vertex3fv = (void APIENTRY (*)(const GLfloat *v)) ldg_find("glVertex3fv", lib); GL_CHECK(gl.Vertex3fv); gl.VertexPointer = (void APIENTRY (*)(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer)) ldg_find("glVertexPointer", lib); GL_CHECK(gl.VertexPointer); gl.Viewport = (void APIENTRY (*)(GLint x, GLint y, GLsizei width, GLsizei height)) ldg_find("glViewport", lib); GL_CHECK(gl.Viewport); gl.swapbuffer = (void APIENTRY (*)(void *buffer)) ldg_find("swapbuffer", lib); GL_CHECK(gl.swapbuffer); gl.max_width = (GLsizei APIENTRY (*)(void)) ldg_find("max_width", lib); GL_CHECK(gl.max_width); gl.max_height = (GLsizei APIENTRY (*)(void)) ldg_find("max_height", lib); GL_CHECK(gl.max_height); gl.DeleteLists = (void APIENTRY (*)(GLuint list, GLsizei range)) ldg_find("glDeleteLists", lib); GL_CHECK(gl.DeleteLists); gl.gluLookAtf = (void APIENTRY (*)(GLfloat eyeX, GLfloat eyeY, GLfloat eyeZ, GLfloat centerX, GLfloat centerY, GLfloat centerZ, GLfloat upX, GLfloat upY, GLfloat upZ)) ldg_find("gluLookAt", lib); GL_CHECK(gl.gluLookAtf); gl.exception_error = (void APIENTRY (*)(void (CALLBACK *exception)(GLenum param) )) ldg_find("exception_error", lib); GL_CHECK(gl.exception_error); return result; } #undef GL_CHECK LDG *ldg_load_tiny_gl(const char *libname, _WORD *gl) { LDG *lib; if (libname == NULL) libname = "tiny_gl.ldg"; if (gl == NULL) gl = ldg_global; lib = ldg_open(libname, gl); if (lib != NULL) ldg_init_tiny_gl(lib); return lib; } void ldg_unload_tiny_gl(LDG *lib, _WORD *gl) { if (lib != NULL) { if (gl == NULL) gl = ldg_global; ldg_close(lib, gl); } } #ifdef TEST #include int main(void) { LDG *lib; lib = ldg_load_tiny_gl(0, 0); if (lib == NULL) lib = ldg_load_tiny_gl("c:/gemsys/ldg/tin_gl.ldg", 0); if (lib == NULL) { nf_debugprintf("tiny_gl.ldg not found\n"); return 1; } nf_debugprintf("%s: %lx\n", "glBegin", gl.Begin); nf_debugprintf("%s: %lx\n", "glOrthof", gl.Orthof); ldg_unload_tiny_gl(lib, NULL); return 0; } #endif aranym-1.0.2/atari/nfosmesa/tinygl_loadslb.c000066400000000000000000001067671242022243000210760ustar00rootroot00000000000000/* Bindings of tiny_gl.slb * Compile this module and link it with the application client */ #include #include #include #include #ifndef TRUE # define TRUE 1 # define FALSE 0 #endif #ifdef __PUREC__ #pragma warn -stv #endif struct _gl_tiny gl; #undef glFrustum #undef glOrtho #undef gluLookAt #undef glClearDepth static void APIENTRY exec_information(void) { struct information_args { SLB_HANDLE slb; long fn; short nwords; } args; void __CDECL (*exec)(struct information_args) = (void __CDECL (*)(struct information_args))gl_exec; args.slb = gl_slb; args.fn = 0; args.nwords = 0; (*exec)(args); } static void APIENTRY exec_glBegin(GLenum mode) { struct Begin_args { SLB_HANDLE slb; long fn; short nwords; GLenum mode; } args; void __CDECL (*exec)(struct Begin_args) = (void __CDECL (*)(struct Begin_args))gl_exec; args.slb = gl_slb; args.fn = 1; args.nwords = 2; args.mode = mode; (*exec)(args); } static void APIENTRY exec_glClear(GLbitfield mask) { struct Clear_args { SLB_HANDLE slb; long fn; short nwords; GLbitfield mask; } args; void __CDECL (*exec)(struct Clear_args) = (void __CDECL (*)(struct Clear_args))gl_exec; args.slb = gl_slb; args.fn = 2; args.nwords = 2; args.mask = mask; (*exec)(args); } static void APIENTRY exec_glClearColor(GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha) { struct ClearColor_args { SLB_HANDLE slb; long fn; short nwords; GLclampf red; GLclampf green; GLclampf blue; GLclampf alpha; } args; void __CDECL (*exec)(struct ClearColor_args) = (void __CDECL (*)(struct ClearColor_args))gl_exec; args.slb = gl_slb; args.fn = 3; args.nwords = 8; args.red = red; args.green = green; args.blue = blue; args.alpha = alpha; (*exec)(args); } static void APIENTRY exec_glColor3f(GLfloat red, GLfloat green, GLfloat blue) { struct Color3f_args { SLB_HANDLE slb; long fn; short nwords; GLfloat red; GLfloat green; GLfloat blue; } args; void __CDECL (*exec)(struct Color3f_args) = (void __CDECL (*)(struct Color3f_args))gl_exec; args.slb = gl_slb; args.fn = 4; args.nwords = 6; args.red = red; args.green = green; args.blue = blue; (*exec)(args); } static void APIENTRY exec_glDisable(GLenum cap) { struct Disable_args { SLB_HANDLE slb; long fn; short nwords; GLenum cap; } args; void __CDECL (*exec)(struct Disable_args) = (void __CDECL (*)(struct Disable_args))gl_exec; args.slb = gl_slb; args.fn = 5; args.nwords = 2; args.cap = cap; (*exec)(args); } static void APIENTRY exec_glEnable(GLenum cap) { struct Enable_args { SLB_HANDLE slb; long fn; short nwords; GLenum cap; } args; void __CDECL (*exec)(struct Enable_args) = (void __CDECL (*)(struct Enable_args))gl_exec; args.slb = gl_slb; args.fn = 6; args.nwords = 2; args.cap = cap; (*exec)(args); } static void APIENTRY exec_glEnd(void) { struct End_args { SLB_HANDLE slb; long fn; short nwords; } args; void __CDECL (*exec)(struct End_args) = (void __CDECL (*)(struct End_args))gl_exec; args.slb = gl_slb; args.fn = 7; args.nwords = 0; (*exec)(args); } static void APIENTRY exec_glLightfv(GLenum light, GLenum pname, const GLfloat *params) { struct Lightfv_args { SLB_HANDLE slb; long fn; short nwords; GLenum light; GLenum pname; const GLfloat *params; } args; void __CDECL (*exec)(struct Lightfv_args) = (void __CDECL (*)(struct Lightfv_args))gl_exec; args.slb = gl_slb; args.fn = 8; args.nwords = 6; args.light = light; args.pname = pname; args.params = params; (*exec)(args); } static void APIENTRY exec_glLoadIdentity(void) { struct LoadIdentity_args { SLB_HANDLE slb; long fn; short nwords; } args; void __CDECL (*exec)(struct LoadIdentity_args) = (void __CDECL (*)(struct LoadIdentity_args))gl_exec; args.slb = gl_slb; args.fn = 9; args.nwords = 0; (*exec)(args); } static void APIENTRY exec_glMaterialfv(GLenum face, GLenum pname, const GLfloat *params) { struct Materialfv_args { SLB_HANDLE slb; long fn; short nwords; GLenum face; GLenum pname; const GLfloat *params; } args; void __CDECL (*exec)(struct Materialfv_args) = (void __CDECL (*)(struct Materialfv_args))gl_exec; args.slb = gl_slb; args.fn = 10; args.nwords = 6; args.face = face; args.pname = pname; args.params = params; (*exec)(args); } static void APIENTRY exec_glMatrixMode(GLenum mode) { struct MatrixMode_args { SLB_HANDLE slb; long fn; short nwords; GLenum mode; } args; void __CDECL (*exec)(struct MatrixMode_args) = (void __CDECL (*)(struct MatrixMode_args))gl_exec; args.slb = gl_slb; args.fn = 11; args.nwords = 2; args.mode = mode; (*exec)(args); } static void APIENTRY exec_glOrthof(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat near_val, GLfloat far_val) { struct Orthof_args { SLB_HANDLE slb; long fn; short nwords; GLfloat left; GLfloat right; GLfloat bottom; GLfloat top; GLfloat near_val; GLfloat far_val; } args; void __CDECL (*exec)(struct Orthof_args) = (void __CDECL (*)(struct Orthof_args))gl_exec; args.slb = gl_slb; args.fn = 12; args.nwords = 12; args.left = left; args.right = right; args.bottom = bottom; args.top = top; args.near_val = near_val; args.far_val = far_val; (*exec)(args); } static void APIENTRY exec_glPopMatrix(void) { struct PopMatrix_args { SLB_HANDLE slb; long fn; short nwords; } args; void __CDECL (*exec)(struct PopMatrix_args) = (void __CDECL (*)(struct PopMatrix_args))gl_exec; args.slb = gl_slb; args.fn = 13; args.nwords = 0; (*exec)(args); } static void APIENTRY exec_glPushMatrix(void) { struct PushMatrix_args { SLB_HANDLE slb; long fn; short nwords; } args; void __CDECL (*exec)(struct PushMatrix_args) = (void __CDECL (*)(struct PushMatrix_args))gl_exec; args.slb = gl_slb; args.fn = 14; args.nwords = 0; (*exec)(args); } static void APIENTRY exec_glRotatef(GLfloat angle, GLfloat x, GLfloat y, GLfloat z) { struct Rotatef_args { SLB_HANDLE slb; long fn; short nwords; GLfloat angle; GLfloat x; GLfloat y; GLfloat z; } args; void __CDECL (*exec)(struct Rotatef_args) = (void __CDECL (*)(struct Rotatef_args))gl_exec; args.slb = gl_slb; args.fn = 15; args.nwords = 8; args.angle = angle; args.x = x; args.y = y; args.z = z; (*exec)(args); } static void APIENTRY exec_glTexEnvi(GLenum target, GLenum pname, GLint param) { struct TexEnvi_args { SLB_HANDLE slb; long fn; short nwords; GLenum target; GLenum pname; GLint param; } args; void __CDECL (*exec)(struct TexEnvi_args) = (void __CDECL (*)(struct TexEnvi_args))gl_exec; args.slb = gl_slb; args.fn = 16; args.nwords = 6; args.target = target; args.pname = pname; args.param = param; (*exec)(args); } static void APIENTRY exec_glTexParameteri(GLenum target, GLenum pname, GLint param) { struct TexParameteri_args { SLB_HANDLE slb; long fn; short nwords; GLenum target; GLenum pname; GLint param; } args; void __CDECL (*exec)(struct TexParameteri_args) = (void __CDECL (*)(struct TexParameteri_args))gl_exec; args.slb = gl_slb; args.fn = 17; args.nwords = 6; args.target = target; args.pname = pname; args.param = param; (*exec)(args); } static void APIENTRY exec_glTranslatef(GLfloat x, GLfloat y, GLfloat z) { struct Translatef_args { SLB_HANDLE slb; long fn; short nwords; GLfloat x; GLfloat y; GLfloat z; } args; void __CDECL (*exec)(struct Translatef_args) = (void __CDECL (*)(struct Translatef_args))gl_exec; args.slb = gl_slb; args.fn = 18; args.nwords = 6; args.x = x; args.y = y; args.z = z; (*exec)(args); } static void APIENTRY exec_glVertex2f(GLfloat x, GLfloat y) { struct Vertex2f_args { SLB_HANDLE slb; long fn; short nwords; GLfloat x; GLfloat y; } args; void __CDECL (*exec)(struct Vertex2f_args) = (void __CDECL (*)(struct Vertex2f_args))gl_exec; args.slb = gl_slb; args.fn = 19; args.nwords = 4; args.x = x; args.y = y; (*exec)(args); } static void APIENTRY exec_glVertex3f(GLfloat x, GLfloat y, GLfloat z) { struct Vertex3f_args { SLB_HANDLE slb; long fn; short nwords; GLfloat x; GLfloat y; GLfloat z; } args; void __CDECL (*exec)(struct Vertex3f_args) = (void __CDECL (*)(struct Vertex3f_args))gl_exec; args.slb = gl_slb; args.fn = 20; args.nwords = 6; args.x = x; args.y = y; args.z = z; (*exec)(args); } static void * APIENTRY exec_OSMesaCreateLDG(GLenum format, GLenum type, GLint width, GLint height) { struct OSMesaCreateLDG_args { SLB_HANDLE slb; long fn; short nwords; GLenum format; GLenum type; GLint width; GLint height; } args; void * __CDECL (*exec)(struct OSMesaCreateLDG_args) = (void * __CDECL (*)(struct OSMesaCreateLDG_args))gl_exec; args.slb = gl_slb; args.fn = 21; args.nwords = 8; args.format = format; args.type = type; args.width = width; args.height = height; return (*exec)(args); } static void APIENTRY exec_OSMesaDestroyLDG(void) { struct OSMesaDestroyLDG_args { SLB_HANDLE slb; long fn; short nwords; } args; void __CDECL (*exec)(struct OSMesaDestroyLDG_args) = (void __CDECL (*)(struct OSMesaDestroyLDG_args))gl_exec; args.slb = gl_slb; args.fn = 22; args.nwords = 0; (*exec)(args); } static void APIENTRY exec_glArrayElement(GLint i) { struct ArrayElement_args { SLB_HANDLE slb; long fn; short nwords; GLint i; } args; void __CDECL (*exec)(struct ArrayElement_args) = (void __CDECL (*)(struct ArrayElement_args))gl_exec; args.slb = gl_slb; args.fn = 23; args.nwords = 2; args.i = i; (*exec)(args); } static void APIENTRY exec_glBindTexture(GLenum target, GLuint texture) { struct BindTexture_args { SLB_HANDLE slb; long fn; short nwords; GLenum target; GLuint texture; } args; void __CDECL (*exec)(struct BindTexture_args) = (void __CDECL (*)(struct BindTexture_args))gl_exec; args.slb = gl_slb; args.fn = 24; args.nwords = 4; args.target = target; args.texture = texture; (*exec)(args); } static void APIENTRY exec_glCallList(GLuint list) { struct CallList_args { SLB_HANDLE slb; long fn; short nwords; GLuint list; } args; void __CDECL (*exec)(struct CallList_args) = (void __CDECL (*)(struct CallList_args))gl_exec; args.slb = gl_slb; args.fn = 25; args.nwords = 2; args.list = list; (*exec)(args); } static void APIENTRY exec_glClearDepthf(GLfloat d) { struct ClearDepthf_args { SLB_HANDLE slb; long fn; short nwords; GLfloat d; } args; void __CDECL (*exec)(struct ClearDepthf_args) = (void __CDECL (*)(struct ClearDepthf_args))gl_exec; args.slb = gl_slb; args.fn = 26; args.nwords = 2; args.d = d; (*exec)(args); } static void APIENTRY exec_glColor4f(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha) { struct Color4f_args { SLB_HANDLE slb; long fn; short nwords; GLfloat red; GLfloat green; GLfloat blue; GLfloat alpha; } args; void __CDECL (*exec)(struct Color4f_args) = (void __CDECL (*)(struct Color4f_args))gl_exec; args.slb = gl_slb; args.fn = 27; args.nwords = 8; args.red = red; args.green = green; args.blue = blue; args.alpha = alpha; (*exec)(args); } static void APIENTRY exec_glColor3fv(const GLfloat *v) { struct Color3fv_args { SLB_HANDLE slb; long fn; short nwords; const GLfloat *v; } args; void __CDECL (*exec)(struct Color3fv_args) = (void __CDECL (*)(struct Color3fv_args))gl_exec; args.slb = gl_slb; args.fn = 28; args.nwords = 2; args.v = v; (*exec)(args); } static void APIENTRY exec_glColor4fv(const GLfloat *v) { struct Color4fv_args { SLB_HANDLE slb; long fn; short nwords; const GLfloat *v; } args; void __CDECL (*exec)(struct Color4fv_args) = (void __CDECL (*)(struct Color4fv_args))gl_exec; args.slb = gl_slb; args.fn = 29; args.nwords = 2; args.v = v; (*exec)(args); } static void APIENTRY exec_glColorMaterial(GLenum face, GLenum mode) { struct ColorMaterial_args { SLB_HANDLE slb; long fn; short nwords; GLenum face; GLenum mode; } args; void __CDECL (*exec)(struct ColorMaterial_args) = (void __CDECL (*)(struct ColorMaterial_args))gl_exec; args.slb = gl_slb; args.fn = 30; args.nwords = 4; args.face = face; args.mode = mode; (*exec)(args); } static void APIENTRY exec_glColorPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { struct ColorPointer_args { SLB_HANDLE slb; long fn; short nwords; GLint size; GLenum type; GLsizei stride; const GLvoid *pointer; } args; void __CDECL (*exec)(struct ColorPointer_args) = (void __CDECL (*)(struct ColorPointer_args))gl_exec; args.slb = gl_slb; args.fn = 31; args.nwords = 8; args.size = size; args.type = type; args.stride = stride; args.pointer = pointer; (*exec)(args); } static void APIENTRY exec_glCullFace(GLenum mode) { struct CullFace_args { SLB_HANDLE slb; long fn; short nwords; GLenum mode; } args; void __CDECL (*exec)(struct CullFace_args) = (void __CDECL (*)(struct CullFace_args))gl_exec; args.slb = gl_slb; args.fn = 32; args.nwords = 2; args.mode = mode; (*exec)(args); } static void APIENTRY exec_glDeleteTextures(GLsizei n, const GLuint *textures) { struct DeleteTextures_args { SLB_HANDLE slb; long fn; short nwords; GLsizei n; const GLuint *textures; } args; void __CDECL (*exec)(struct DeleteTextures_args) = (void __CDECL (*)(struct DeleteTextures_args))gl_exec; args.slb = gl_slb; args.fn = 33; args.nwords = 4; args.n = n; args.textures = textures; (*exec)(args); } static void APIENTRY exec_glDisableClientState(GLenum array) { struct DisableClientState_args { SLB_HANDLE slb; long fn; short nwords; GLenum array; } args; void __CDECL (*exec)(struct DisableClientState_args) = (void __CDECL (*)(struct DisableClientState_args))gl_exec; args.slb = gl_slb; args.fn = 34; args.nwords = 2; args.array = array; (*exec)(args); } static void APIENTRY exec_glEnableClientState(GLenum array) { struct EnableClientState_args { SLB_HANDLE slb; long fn; short nwords; GLenum array; } args; void __CDECL (*exec)(struct EnableClientState_args) = (void __CDECL (*)(struct EnableClientState_args))gl_exec; args.slb = gl_slb; args.fn = 35; args.nwords = 2; args.array = array; (*exec)(args); } static void APIENTRY exec_glEndList(void) { struct EndList_args { SLB_HANDLE slb; long fn; short nwords; } args; void __CDECL (*exec)(struct EndList_args) = (void __CDECL (*)(struct EndList_args))gl_exec; args.slb = gl_slb; args.fn = 36; args.nwords = 0; (*exec)(args); } static void APIENTRY exec_glEdgeFlag(GLboolean32 flag) { struct EdgeFlag_args { SLB_HANDLE slb; long fn; short nwords; GLboolean32 flag; } args; void __CDECL (*exec)(struct EdgeFlag_args) = (void __CDECL (*)(struct EdgeFlag_args))gl_exec; args.slb = gl_slb; args.fn = 37; args.nwords = 2; args.flag = flag; (*exec)(args); } static void APIENTRY exec_glFlush(void) { struct Flush_args { SLB_HANDLE slb; long fn; short nwords; } args; void __CDECL (*exec)(struct Flush_args) = (void __CDECL (*)(struct Flush_args))gl_exec; args.slb = gl_slb; args.fn = 38; args.nwords = 0; (*exec)(args); } static void APIENTRY exec_glFrontFace(GLenum mode) { struct FrontFace_args { SLB_HANDLE slb; long fn; short nwords; GLenum mode; } args; void __CDECL (*exec)(struct FrontFace_args) = (void __CDECL (*)(struct FrontFace_args))gl_exec; args.slb = gl_slb; args.fn = 39; args.nwords = 2; args.mode = mode; (*exec)(args); } static void APIENTRY exec_glFrustumf(GLfloat left, GLfloat right, GLfloat bottom, GLfloat top, GLfloat near_val, GLfloat far_val) { struct Frustumf_args { SLB_HANDLE slb; long fn; short nwords; GLfloat left; GLfloat right; GLfloat bottom; GLfloat top; GLfloat near_val; GLfloat far_val; } args; void __CDECL (*exec)(struct Frustumf_args) = (void __CDECL (*)(struct Frustumf_args))gl_exec; args.slb = gl_slb; args.fn = 40; args.nwords = 12; args.left = left; args.right = right; args.bottom = bottom; args.top = top; args.near_val = near_val; args.far_val = far_val; (*exec)(args); } static GLuint APIENTRY exec_glGenLists(GLsizei range) { struct GenLists_args { SLB_HANDLE slb; long fn; short nwords; GLsizei range; } args; GLuint __CDECL (*exec)(struct GenLists_args) = (GLuint __CDECL (*)(struct GenLists_args))gl_exec; args.slb = gl_slb; args.fn = 41; args.nwords = 2; args.range = range; return (*exec)(args); } static void APIENTRY exec_glGenTextures(GLsizei n, GLuint *textures) { struct GenTextures_args { SLB_HANDLE slb; long fn; short nwords; GLsizei n; GLuint *textures; } args; void __CDECL (*exec)(struct GenTextures_args) = (void __CDECL (*)(struct GenTextures_args))gl_exec; args.slb = gl_slb; args.fn = 42; args.nwords = 4; args.n = n; args.textures = textures; (*exec)(args); } static void APIENTRY exec_glGetFloatv(GLenum pname, GLfloat *params) { struct GetFloatv_args { SLB_HANDLE slb; long fn; short nwords; GLenum pname; GLfloat *params; } args; void __CDECL (*exec)(struct GetFloatv_args) = (void __CDECL (*)(struct GetFloatv_args))gl_exec; args.slb = gl_slb; args.fn = 43; args.nwords = 4; args.pname = pname; args.params = params; (*exec)(args); } static void APIENTRY exec_glGetIntegerv(GLenum pname, GLint *params) { struct GetIntegerv_args { SLB_HANDLE slb; long fn; short nwords; GLenum pname; GLint *params; } args; void __CDECL (*exec)(struct GetIntegerv_args) = (void __CDECL (*)(struct GetIntegerv_args))gl_exec; args.slb = gl_slb; args.fn = 44; args.nwords = 4; args.pname = pname; args.params = params; (*exec)(args); } static void APIENTRY exec_glHint(GLenum target, GLenum mode) { struct Hint_args { SLB_HANDLE slb; long fn; short nwords; GLenum target; GLenum mode; } args; void __CDECL (*exec)(struct Hint_args) = (void __CDECL (*)(struct Hint_args))gl_exec; args.slb = gl_slb; args.fn = 45; args.nwords = 4; args.target = target; args.mode = mode; (*exec)(args); } static void APIENTRY exec_glInitNames(void) { struct InitNames_args { SLB_HANDLE slb; long fn; short nwords; } args; void __CDECL (*exec)(struct InitNames_args) = (void __CDECL (*)(struct InitNames_args))gl_exec; args.slb = gl_slb; args.fn = 46; args.nwords = 0; (*exec)(args); } static GLboolean APIENTRY exec_glIsList(GLuint list) { struct IsList_args { SLB_HANDLE slb; long fn; short nwords; GLuint list; } args; GLboolean __CDECL (*exec)(struct IsList_args) = (GLboolean __CDECL (*)(struct IsList_args))gl_exec; args.slb = gl_slb; args.fn = 47; args.nwords = 2; args.list = list; return (*exec)(args); } static void APIENTRY exec_glLightf(GLenum light, GLenum pname, GLfloat param) { struct Lightf_args { SLB_HANDLE slb; long fn; short nwords; GLenum light; GLenum pname; GLfloat param; } args; void __CDECL (*exec)(struct Lightf_args) = (void __CDECL (*)(struct Lightf_args))gl_exec; args.slb = gl_slb; args.fn = 48; args.nwords = 6; args.light = light; args.pname = pname; args.param = param; (*exec)(args); } static void APIENTRY exec_glLightModeli(GLenum pname, GLint param) { struct LightModeli_args { SLB_HANDLE slb; long fn; short nwords; GLenum pname; GLint param; } args; void __CDECL (*exec)(struct LightModeli_args) = (void __CDECL (*)(struct LightModeli_args))gl_exec; args.slb = gl_slb; args.fn = 49; args.nwords = 4; args.pname = pname; args.param = param; (*exec)(args); } static void APIENTRY exec_glLightModelfv(GLenum pname, const GLfloat *params) { struct LightModelfv_args { SLB_HANDLE slb; long fn; short nwords; GLenum pname; const GLfloat *params; } args; void __CDECL (*exec)(struct LightModelfv_args) = (void __CDECL (*)(struct LightModelfv_args))gl_exec; args.slb = gl_slb; args.fn = 50; args.nwords = 4; args.pname = pname; args.params = params; (*exec)(args); } static void APIENTRY exec_glLoadMatrixf(const GLfloat *m) { struct LoadMatrixf_args { SLB_HANDLE slb; long fn; short nwords; const GLfloat *m; } args; void __CDECL (*exec)(struct LoadMatrixf_args) = (void __CDECL (*)(struct LoadMatrixf_args))gl_exec; args.slb = gl_slb; args.fn = 51; args.nwords = 2; args.m = m; (*exec)(args); } static void APIENTRY exec_glLoadName(GLuint name) { struct LoadName_args { SLB_HANDLE slb; long fn; short nwords; GLuint name; } args; void __CDECL (*exec)(struct LoadName_args) = (void __CDECL (*)(struct LoadName_args))gl_exec; args.slb = gl_slb; args.fn = 52; args.nwords = 2; args.name = name; (*exec)(args); } static void APIENTRY exec_glMaterialf(GLenum face, GLenum pname, GLfloat param) { struct Materialf_args { SLB_HANDLE slb; long fn; short nwords; GLenum face; GLenum pname; GLfloat param; } args; void __CDECL (*exec)(struct Materialf_args) = (void __CDECL (*)(struct Materialf_args))gl_exec; args.slb = gl_slb; args.fn = 53; args.nwords = 6; args.face = face; args.pname = pname; args.param = param; (*exec)(args); } static void APIENTRY exec_glMultMatrixf(const GLfloat *m) { struct MultMatrixf_args { SLB_HANDLE slb; long fn; short nwords; const GLfloat *m; } args; void __CDECL (*exec)(struct MultMatrixf_args) = (void __CDECL (*)(struct MultMatrixf_args))gl_exec; args.slb = gl_slb; args.fn = 54; args.nwords = 2; args.m = m; (*exec)(args); } static void APIENTRY exec_glNewList(GLuint list, GLenum mode) { struct NewList_args { SLB_HANDLE slb; long fn; short nwords; GLuint list; GLenum mode; } args; void __CDECL (*exec)(struct NewList_args) = (void __CDECL (*)(struct NewList_args))gl_exec; args.slb = gl_slb; args.fn = 55; args.nwords = 4; args.list = list; args.mode = mode; (*exec)(args); } static void APIENTRY exec_glNormal3f(GLfloat nx, GLfloat ny, GLfloat nz) { struct Normal3f_args { SLB_HANDLE slb; long fn; short nwords; GLfloat nx; GLfloat ny; GLfloat nz; } args; void __CDECL (*exec)(struct Normal3f_args) = (void __CDECL (*)(struct Normal3f_args))gl_exec; args.slb = gl_slb; args.fn = 56; args.nwords = 6; args.nx = nx; args.ny = ny; args.nz = nz; (*exec)(args); } static void APIENTRY exec_glNormal3fv(const GLfloat *v) { struct Normal3fv_args { SLB_HANDLE slb; long fn; short nwords; const GLfloat *v; } args; void __CDECL (*exec)(struct Normal3fv_args) = (void __CDECL (*)(struct Normal3fv_args))gl_exec; args.slb = gl_slb; args.fn = 57; args.nwords = 2; args.v = v; (*exec)(args); } static void APIENTRY exec_glNormalPointer(GLenum type, GLsizei stride, const GLvoid *pointer) { struct NormalPointer_args { SLB_HANDLE slb; long fn; short nwords; GLenum type; GLsizei stride; const GLvoid *pointer; } args; void __CDECL (*exec)(struct NormalPointer_args) = (void __CDECL (*)(struct NormalPointer_args))gl_exec; args.slb = gl_slb; args.fn = 58; args.nwords = 6; args.type = type; args.stride = stride; args.pointer = pointer; (*exec)(args); } static void APIENTRY exec_glPixelStorei(GLenum pname, GLint param) { struct PixelStorei_args { SLB_HANDLE slb; long fn; short nwords; GLenum pname; GLint param; } args; void __CDECL (*exec)(struct PixelStorei_args) = (void __CDECL (*)(struct PixelStorei_args))gl_exec; args.slb = gl_slb; args.fn = 59; args.nwords = 4; args.pname = pname; args.param = param; (*exec)(args); } static void APIENTRY exec_glPolygonMode(GLenum face, GLenum mode) { struct PolygonMode_args { SLB_HANDLE slb; long fn; short nwords; GLenum face; GLenum mode; } args; void __CDECL (*exec)(struct PolygonMode_args) = (void __CDECL (*)(struct PolygonMode_args))gl_exec; args.slb = gl_slb; args.fn = 60; args.nwords = 4; args.face = face; args.mode = mode; (*exec)(args); } static void APIENTRY exec_glPolygonOffset(GLfloat factor, GLfloat units) { struct PolygonOffset_args { SLB_HANDLE slb; long fn; short nwords; GLfloat factor; GLfloat units; } args; void __CDECL (*exec)(struct PolygonOffset_args) = (void __CDECL (*)(struct PolygonOffset_args))gl_exec; args.slb = gl_slb; args.fn = 61; args.nwords = 4; args.factor = factor; args.units = units; (*exec)(args); } static void APIENTRY exec_glPopName(void) { struct PopName_args { SLB_HANDLE slb; long fn; short nwords; } args; void __CDECL (*exec)(struct PopName_args) = (void __CDECL (*)(struct PopName_args))gl_exec; args.slb = gl_slb; args.fn = 62; args.nwords = 0; (*exec)(args); } static void APIENTRY exec_glPushName(GLuint name) { struct PushName_args { SLB_HANDLE slb; long fn; short nwords; GLuint name; } args; void __CDECL (*exec)(struct PushName_args) = (void __CDECL (*)(struct PushName_args))gl_exec; args.slb = gl_slb; args.fn = 63; args.nwords = 2; args.name = name; (*exec)(args); } static GLint APIENTRY exec_glRenderMode(GLenum mode) { struct RenderMode_args { SLB_HANDLE slb; long fn; short nwords; GLenum mode; } args; GLint __CDECL (*exec)(struct RenderMode_args) = (GLint __CDECL (*)(struct RenderMode_args))gl_exec; args.slb = gl_slb; args.fn = 64; args.nwords = 2; args.mode = mode; return (*exec)(args); } static void APIENTRY exec_glSelectBuffer(GLsizei size, GLuint *buffer) { struct SelectBuffer_args { SLB_HANDLE slb; long fn; short nwords; GLsizei size; GLuint *buffer; } args; void __CDECL (*exec)(struct SelectBuffer_args) = (void __CDECL (*)(struct SelectBuffer_args))gl_exec; args.slb = gl_slb; args.fn = 65; args.nwords = 4; args.size = size; args.buffer = buffer; (*exec)(args); } static void APIENTRY exec_glScalef(GLfloat x, GLfloat y, GLfloat z) { struct Scalef_args { SLB_HANDLE slb; long fn; short nwords; GLfloat x; GLfloat y; GLfloat z; } args; void __CDECL (*exec)(struct Scalef_args) = (void __CDECL (*)(struct Scalef_args))gl_exec; args.slb = gl_slb; args.fn = 66; args.nwords = 6; args.x = x; args.y = y; args.z = z; (*exec)(args); } static void APIENTRY exec_glShadeModel(GLenum mode) { struct ShadeModel_args { SLB_HANDLE slb; long fn; short nwords; GLenum mode; } args; void __CDECL (*exec)(struct ShadeModel_args) = (void __CDECL (*)(struct ShadeModel_args))gl_exec; args.slb = gl_slb; args.fn = 67; args.nwords = 2; args.mode = mode; (*exec)(args); } static void APIENTRY exec_glTexCoord2f(GLfloat s, GLfloat t) { struct TexCoord2f_args { SLB_HANDLE slb; long fn; short nwords; GLfloat s; GLfloat t; } args; void __CDECL (*exec)(struct TexCoord2f_args) = (void __CDECL (*)(struct TexCoord2f_args))gl_exec; args.slb = gl_slb; args.fn = 68; args.nwords = 4; args.s = s; args.t = t; (*exec)(args); } static void APIENTRY exec_glTexCoord4f(GLfloat s, GLfloat t, GLfloat r, GLfloat q) { struct TexCoord4f_args { SLB_HANDLE slb; long fn; short nwords; GLfloat s; GLfloat t; GLfloat r; GLfloat q; } args; void __CDECL (*exec)(struct TexCoord4f_args) = (void __CDECL (*)(struct TexCoord4f_args))gl_exec; args.slb = gl_slb; args.fn = 69; args.nwords = 8; args.s = s; args.t = t; args.r = r; args.q = q; (*exec)(args); } static void APIENTRY exec_glTexCoord2fv(const GLfloat *v) { struct TexCoord2fv_args { SLB_HANDLE slb; long fn; short nwords; const GLfloat *v; } args; void __CDECL (*exec)(struct TexCoord2fv_args) = (void __CDECL (*)(struct TexCoord2fv_args))gl_exec; args.slb = gl_slb; args.fn = 70; args.nwords = 2; args.v = v; (*exec)(args); } static void APIENTRY exec_glTexCoordPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { struct TexCoordPointer_args { SLB_HANDLE slb; long fn; short nwords; GLint size; GLenum type; GLsizei stride; const GLvoid *pointer; } args; void __CDECL (*exec)(struct TexCoordPointer_args) = (void __CDECL (*)(struct TexCoordPointer_args))gl_exec; args.slb = gl_slb; args.fn = 71; args.nwords = 8; args.size = size; args.type = type; args.stride = stride; args.pointer = pointer; (*exec)(args); } static void APIENTRY exec_glTexImage2D(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid *pixels) { struct TexImage2D_args { SLB_HANDLE slb; long fn; short nwords; GLenum target; GLint level; GLint internalformat; GLsizei width; GLsizei height; GLint border; GLenum format; GLenum type; const GLvoid *pixels; } args; void __CDECL (*exec)(struct TexImage2D_args) = (void __CDECL (*)(struct TexImage2D_args))gl_exec; args.slb = gl_slb; args.fn = 72; args.nwords = 18; args.target = target; args.level = level; args.internalformat = internalformat; args.width = width; args.height = height; args.border = border; args.format = format; args.type = type; args.pixels = pixels; (*exec)(args); } static void APIENTRY exec_glVertex4f(GLfloat x, GLfloat y, GLfloat z, GLfloat w) { struct Vertex4f_args { SLB_HANDLE slb; long fn; short nwords; GLfloat x; GLfloat y; GLfloat z; GLfloat w; } args; void __CDECL (*exec)(struct Vertex4f_args) = (void __CDECL (*)(struct Vertex4f_args))gl_exec; args.slb = gl_slb; args.fn = 73; args.nwords = 8; args.x = x; args.y = y; args.z = z; args.w = w; (*exec)(args); } static void APIENTRY exec_glVertex3fv(const GLfloat *v) { struct Vertex3fv_args { SLB_HANDLE slb; long fn; short nwords; const GLfloat *v; } args; void __CDECL (*exec)(struct Vertex3fv_args) = (void __CDECL (*)(struct Vertex3fv_args))gl_exec; args.slb = gl_slb; args.fn = 74; args.nwords = 2; args.v = v; (*exec)(args); } static void APIENTRY exec_glVertexPointer(GLint size, GLenum type, GLsizei stride, const GLvoid *pointer) { struct VertexPointer_args { SLB_HANDLE slb; long fn; short nwords; GLint size; GLenum type; GLsizei stride; const GLvoid *pointer; } args; void __CDECL (*exec)(struct VertexPointer_args) = (void __CDECL (*)(struct VertexPointer_args))gl_exec; args.slb = gl_slb; args.fn = 75; args.nwords = 8; args.size = size; args.type = type; args.stride = stride; args.pointer = pointer; (*exec)(args); } static void APIENTRY exec_glViewport(GLint x, GLint y, GLsizei width, GLsizei height) { struct Viewport_args { SLB_HANDLE slb; long fn; short nwords; GLint x; GLint y; GLsizei width; GLsizei height; } args; void __CDECL (*exec)(struct Viewport_args) = (void __CDECL (*)(struct Viewport_args))gl_exec; args.slb = gl_slb; args.fn = 76; args.nwords = 8; args.x = x; args.y = y; args.width = width; args.height = height; (*exec)(args); } static void APIENTRY exec_swapbuffer(void *buffer) { struct swapbuffer_args { SLB_HANDLE slb; long fn; short nwords; void *buffer; } args; void __CDECL (*exec)(struct swapbuffer_args) = (void __CDECL (*)(struct swapbuffer_args))gl_exec; args.slb = gl_slb; args.fn = 77; args.nwords = 2; args.buffer = buffer; (*exec)(args); } static GLsizei APIENTRY exec_max_width(void) { struct max_width_args { SLB_HANDLE slb; long fn; short nwords; } args; GLsizei __CDECL (*exec)(struct max_width_args) = (GLsizei __CDECL (*)(struct max_width_args))gl_exec; args.slb = gl_slb; args.fn = 78; args.nwords = 0; return (*exec)(args); } static GLsizei APIENTRY exec_max_height(void) { struct max_height_args { SLB_HANDLE slb; long fn; short nwords; } args; GLsizei __CDECL (*exec)(struct max_height_args) = (GLsizei __CDECL (*)(struct max_height_args))gl_exec; args.slb = gl_slb; args.fn = 79; args.nwords = 0; return (*exec)(args); } static void APIENTRY exec_glDeleteLists(GLuint list, GLsizei range) { struct DeleteLists_args { SLB_HANDLE slb; long fn; short nwords; GLuint list; GLsizei range; } args; void __CDECL (*exec)(struct DeleteLists_args) = (void __CDECL (*)(struct DeleteLists_args))gl_exec; args.slb = gl_slb; args.fn = 80; args.nwords = 4; args.list = list; args.range = range; (*exec)(args); } static void APIENTRY exec_gluLookAtf(GLfloat eyeX, GLfloat eyeY, GLfloat eyeZ, GLfloat centerX, GLfloat centerY, GLfloat centerZ, GLfloat upX, GLfloat upY, GLfloat upZ) { struct LookAtf_args { SLB_HANDLE slb; long fn; short nwords; GLfloat eyeX; GLfloat eyeY; GLfloat eyeZ; GLfloat centerX; GLfloat centerY; GLfloat centerZ; GLfloat upX; GLfloat upY; GLfloat upZ; } args; void __CDECL (*exec)(struct LookAtf_args) = (void __CDECL (*)(struct LookAtf_args))gl_exec; args.slb = gl_slb; args.fn = 81; args.nwords = 18; args.eyeX = eyeX; args.eyeY = eyeY; args.eyeZ = eyeZ; args.centerX = centerX; args.centerY = centerY; args.centerZ = centerZ; args.upX = upX; args.upY = upY; args.upZ = upZ; (*exec)(args); } static void APIENTRY exec_exception_error(void (CALLBACK *exception)(GLenum param) ) { struct exception_error_args { SLB_HANDLE slb; long fn; short nwords; void (CALLBACK *exception)(GLenum param) ; } args; void __CDECL (*exec)(struct exception_error_args) = (void __CDECL (*)(struct exception_error_args))gl_exec; args.slb = gl_slb; args.fn = 82; args.nwords = 2; args.exception = exception; (*exec)(args); } static void slb_init_tiny_gl(void) { gl.information = exec_information; gl.Begin = exec_glBegin; gl.Clear = exec_glClear; gl.ClearColor = exec_glClearColor; gl.Color3f = exec_glColor3f; gl.Disable = exec_glDisable; gl.Enable = exec_glEnable; gl.End = exec_glEnd; gl.Lightfv = exec_glLightfv; gl.LoadIdentity = exec_glLoadIdentity; gl.Materialfv = exec_glMaterialfv; gl.MatrixMode = exec_glMatrixMode; gl.Orthof = exec_glOrthof; gl.PopMatrix = exec_glPopMatrix; gl.PushMatrix = exec_glPushMatrix; gl.Rotatef = exec_glRotatef; gl.TexEnvi = exec_glTexEnvi; gl.TexParameteri = exec_glTexParameteri; gl.Translatef = exec_glTranslatef; gl.Vertex2f = exec_glVertex2f; gl.Vertex3f = exec_glVertex3f; gl.OSMesaCreateLDG = exec_OSMesaCreateLDG; gl.OSMesaDestroyLDG = exec_OSMesaDestroyLDG; gl.ArrayElement = exec_glArrayElement; gl.BindTexture = exec_glBindTexture; gl.CallList = exec_glCallList; gl.ClearDepthf = exec_glClearDepthf; gl.Color4f = exec_glColor4f; gl.Color3fv = exec_glColor3fv; gl.Color4fv = exec_glColor4fv; gl.ColorMaterial = exec_glColorMaterial; gl.ColorPointer = exec_glColorPointer; gl.CullFace = exec_glCullFace; gl.DeleteTextures = exec_glDeleteTextures; gl.DisableClientState = exec_glDisableClientState; gl.EnableClientState = exec_glEnableClientState; gl.EndList = exec_glEndList; gl.EdgeFlag = exec_glEdgeFlag; gl.Flush = exec_glFlush; gl.FrontFace = exec_glFrontFace; gl.Frustumf = exec_glFrustumf; gl.GenLists = exec_glGenLists; gl.GenTextures = exec_glGenTextures; gl.GetFloatv = exec_glGetFloatv; gl.GetIntegerv = exec_glGetIntegerv; gl.Hint = exec_glHint; gl.InitNames = exec_glInitNames; gl.IsList = exec_glIsList; gl.Lightf = exec_glLightf; gl.LightModeli = exec_glLightModeli; gl.LightModelfv = exec_glLightModelfv; gl.LoadMatrixf = exec_glLoadMatrixf; gl.LoadName = exec_glLoadName; gl.Materialf = exec_glMaterialf; gl.MultMatrixf = exec_glMultMatrixf; gl.NewList = exec_glNewList; gl.Normal3f = exec_glNormal3f; gl.Normal3fv = exec_glNormal3fv; gl.NormalPointer = exec_glNormalPointer; gl.PixelStorei = exec_glPixelStorei; gl.PolygonMode = exec_glPolygonMode; gl.PolygonOffset = exec_glPolygonOffset; gl.PopName = exec_glPopName; gl.PushName = exec_glPushName; gl.RenderMode = exec_glRenderMode; gl.SelectBuffer = exec_glSelectBuffer; gl.Scalef = exec_glScalef; gl.ShadeModel = exec_glShadeModel; gl.TexCoord2f = exec_glTexCoord2f; gl.TexCoord4f = exec_glTexCoord4f; gl.TexCoord2fv = exec_glTexCoord2fv; gl.TexCoordPointer = exec_glTexCoordPointer; gl.TexImage2D = exec_glTexImage2D; gl.Vertex4f = exec_glVertex4f; gl.Vertex3fv = exec_glVertex3fv; gl.VertexPointer = exec_glVertexPointer; gl.Viewport = exec_glViewport; gl.swapbuffer = exec_swapbuffer; gl.max_width = exec_max_width; gl.max_height = exec_max_height; gl.DeleteLists = exec_glDeleteLists; gl.gluLookAtf = exec_gluLookAtf; gl.exception_error = exec_exception_error; } long slb_load_tiny_gl(const char *libname, const char *path, long min_version) { long ret; if (libname == NULL) libname = "tiny_gl.slb"; ret = Slbopen(libname, path, min_version, &gl_slb, &gl_exec); if (ret >= 0) { slb_init_tiny_gl(); } return ret; } void slb_unload_tiny_gl(void) { if (gl_slb != NULL) { Slbclose(gl_slb); gl_slb = 0; } } aranym-1.0.2/atari/nfosmesa/versinfo.h000066400000000000000000000037721242022243000177200ustar00rootroot00000000000000#if defined(__TOS__) && !defined(__mc68000__) # define __mc68000__ 1 #endif #if defined(__COLDFIRE__) && !defined(__mcoldfire__) # define __mcoldfire__ 1 #endif #if (defined(__68881__) || defined(_M68881) || defined(__M68881__)) && !defined(__HAVE_68881__) # define __HAVE_68881__ 1 #endif /* Note: PureC until version 2.50 does not define any symbol when using -2 or better, you will have to do that in the Project/Makefile */ #if (defined(mc68020) || defined(__68020__) || defined(__M68020__)) && !defined(__mc68020__) # define __mc68020__ 1 #endif #if (defined(mc68030) || defined(__68030__) || defined(__M68030__)) && !defined(__mc68030__) # define __mc68030__ 1 #endif #if (defined(mc68040) || defined(__68040__) || defined(__M68040__)) && !defined(__mc68040__) # define __mc68040__ 1 #endif #if (defined(mc68060) || defined(__68060__) || defined(__M68060__)) && !defined(__mc68060__) # define __mc68060__ 1 #endif #if defined(__mcoldfire__) #define ASCII_ARCH_TARGET "coldfire" #elif defined(__mc68060__) #ifdef __mc68020__ #define ASCII_ARCH_TARGET "m68020-060" #else #define ASCII_ARCH_TARGET "m68060" #endif #elif defined(__mc68040__) #define ASCII_ARCH_TARGET "m68040" #elif defined(__mc68030__) #ifdef __HAVE_68881__ #define ASCII_ARCH_TARGET "m68030+881" #else #define ASCII_ARCH_TARGET "m68030" #endif #elif defined(__mc68020__) #define ASCII_ARCH_TARGET "m68020" #elif defined(__mc68010__) #define ASCII_ARCH_TARGET "m68010" #elif defined(__mc68000__) #define ASCII_ARCH_TARGET "m68000" #else #define ASCII_ARCH_TARGET "unknown 68k" #endif #if defined __GNUC__ # define ASCII_COMPILER "GNU-C " __STRINGIFY(__GNUC__) "." __STRINGIFY(__GNUC_MINOR__) "." __STRINGIFY(__GNUC_PATCHLEVEL__) #elif defined (__AHCC__) # define ASCII_COMPILER "AHCC " __STRINGIFY(__AHCC__) #elif defined (__PUREC__) # define ASCII_COMPILER "Pure-C " __STRINGIFY(__PUREC__) #elif defined (__SOZOBONX__) # define ASCII_COMPILER "Sozobon " __STRINGIFY(__SOZOBONX__) #else # define ASCII_COMPILER "unknown compiler" #endif aranym-1.0.2/atari/nfpci/000077500000000000000000000000001242022243000151675ustar00rootroot00000000000000aranym-1.0.2/atari/nfpci/Makefile000066400000000000000000000007721242022243000166350ustar00rootroot00000000000000 TARGET = nfpci.prg COBJS = nfpci.c nfpci_cookie.c ../natfeat/natfeat.c SOBJS = entry.S nfpci_bios.S nfpci_xbios.S ../natfeat/natfeat_asm.S include ../CONFIGVARS CFLAGS = -O2 -fomit-frame-pointer -Wall ASFLAGS = -m68020 LDFLAGS = -nostdlib -Wl,--entry -Wl,_init_driver -lgcc -lc COBJECTS = $(COBJS:.c=.o) SOBJECTS = $(SOBJS:.S=.o) all: $(TARGET) $(TARGET): $(COBJECTS) $(SOBJECTS) ${CC} -o $@ $(COBJECTS) $(SOBJECTS) ${LDFLAGS} ${STRIP} $(TARGET) clean: rm -f $(COBJECTS) $(SOBJECTS) $(TARGET) aranym-1.0.2/atari/nfpci/entry.S000066400000000000000000000022131242022243000164520ustar00rootroot00000000000000/* NatFeat host PCI driver ARAnyM (C) 2004 Patrice Mandin This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ .globl _init_driver, _install_driver .text /* Calculate length to keep resident */ _init_driver: movl sp@(4),a0 /* Read basepage pointer */ movl #0x100.w,d0 /* Length of basepage */ addl a0@(12),d0 /* Add TEXT length */ addl a0@(20),d0 /* Add DATA length */ addl a0@(28),d0 /* Add BSS length */ movl d0,sp@- bsr _install_driver addql #4,sp clrw sp@- /* If any error, quit program */ trap #1 aranym-1.0.2/atari/nfpci/nfpci.c000066400000000000000000000277521242022243000164470ustar00rootroot00000000000000/* NatFeat host PCI driver ARAnyM (C) 2004 Patrice Mandin This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /*--- Include ---*/ #include #include #include #include #include "../natfeat/nf_ops.h" #include "nfpci_nfapi.h" #include "nfpci.h" #include "nfpci_bios.h" #include "nfpci_cookie.h" /*--- Defines ---*/ #ifndef C_XPCI #define C_XPCI 0x58504349L #endif #ifndef C__PCI #define C__PCI 0x5f504349L #endif #ifndef VEC_XBIOS #define VEC_XBIOS 0x2e #endif #ifndef DEV_CONSOLE #define DEV_CONSOLE 2 #endif #define DRIVER_NAME "ARAnyM host PCI driver" #define VERSION "v0.4" /*--- Types ---*/ typedef void (*pcibios_routine_t)(void); typedef struct { unsigned long *subcookie; unsigned long version; pcibios_routine_t routines[43]; } pcibios_cookie_t __attribute__((packed)); /*--- Local variables ---*/ static unsigned long nfPciId; static pcibios_cookie_t pcibios_cookie={ 0, 0x00010000, { (pcibios_routine_t) pcibios_find_device, (pcibios_routine_t) pcibios_find_classcode, (pcibios_routine_t) pcibios_read_config_byte, (pcibios_routine_t) pcibios_read_config_word, (pcibios_routine_t) pcibios_read_config_long, (pcibios_routine_t) pcibios_read_config_byte_fast, (pcibios_routine_t) pcibios_read_config_word_fast, (pcibios_routine_t) pcibios_read_config_long_fast, (pcibios_routine_t) pcibios_write_config_byte, (pcibios_routine_t) pcibios_write_config_word, (pcibios_routine_t) pcibios_write_config_long, (pcibios_routine_t) pcibios_hook_interrupt, (pcibios_routine_t) pcibios_unhook_interrupt, (pcibios_routine_t) pcibios_special_cycle, (pcibios_routine_t) pcibios_get_routing, /* unimplemented */ (pcibios_routine_t) pcibios_set_interrupt, /* unimplemented */ (pcibios_routine_t) pcibios_get_resource, (pcibios_routine_t) pcibios_get_card_used, (pcibios_routine_t) pcibios_set_card_used, (pcibios_routine_t) pcibios_read_mem_byte, (pcibios_routine_t) pcibios_read_mem_word, (pcibios_routine_t) pcibios_read_mem_long, (pcibios_routine_t) pcibios_read_mem_byte_fast, (pcibios_routine_t) pcibios_read_mem_word_fast, (pcibios_routine_t) pcibios_read_mem_long_fast, (pcibios_routine_t) pcibios_write_mem_byte, (pcibios_routine_t) pcibios_write_mem_word, (pcibios_routine_t) pcibios_write_mem_long, (pcibios_routine_t) pcibios_read_io_byte, (pcibios_routine_t) pcibios_read_io_word, (pcibios_routine_t) pcibios_read_io_long, (pcibios_routine_t) pcibios_read_io_byte_fast, (pcibios_routine_t) pcibios_read_io_word_fast, (pcibios_routine_t) pcibios_read_io_long_fast, (pcibios_routine_t) pcibios_write_io_byte, (pcibios_routine_t) pcibios_write_io_word, (pcibios_routine_t) pcibios_write_io_long, (pcibios_routine_t) pcibios_get_machine_id, (pcibios_routine_t) pcibios_get_pagesize, (pcibios_routine_t) pcibios_virt_to_bus, (pcibios_routine_t) pcibios_bus_to_virt, (pcibios_routine_t) pcibios_virt_to_phys, (pcibios_routine_t) pcibios_phys_to_virt } }; /*--- External variables ---*/ extern void pcixbios_newtrap(void); extern void (*pcixbios_oldtrap)(void); /*--- Functions prototypes ---*/ static struct nf_ops *nfOps; static void install_pci_bios(void); static void install_pci_xbios(void); static void press_any_key(void); /*--- Functions ---*/ void install_driver(unsigned long resident_length) { Cconws( "\033p " DRIVER_NAME " " VERSION " \033q\r\n" "Copyright (c) ARAnyM Development Team, " __DATE__ "\r\n" ); /* Check if a PCI driver is not already installed */ if (cookie_present(C_XPCI, NULL)) { Cconws("A XPCI driver is already installed on this system\r\n"); press_any_key(); return; } if (cookie_present(C__PCI, NULL)) { Cconws("A _PCI driver is already installed on this system\r\n"); press_any_key(); return; } /* Check if NF is present for PCI */ nfOps = nf_init(); if (!nfOps) { Cconws("Native Features not present on this system\r\n"); press_any_key(); return; } nfPciId = nfOps->get_id("PCI"); if (nfPciId==0) { Cconws("NF PCI functions not present on this system\r\n"); press_any_key(); return; } /* Cookie with structure that holds function pointers */ install_pci_bios(); /* XBIOS functions */ install_pci_xbios(); Ptermres(resident_length, 0); for(;;); /* Never ending loop, should not go there */ } static void press_any_key(void) { Cconws("- Press any key to continue -\r\n"); Crawcin(); } static void install_pci_bios(void) { /* Add our cookie */ cookie_add(C__PCI, (unsigned long)&pcibios_cookie); } static void install_pci_xbios(void) { /* Read old XBIOS trap handler, and install ours */ pcixbios_oldtrap = Setexc(VEC_XBIOS, pcixbios_newtrap); cookie_add(C_XPCI, 0); } /* NF PCI functions */ long find_device(unsigned long device_vendor_id, unsigned long index) { return nfOps->call(NFPCI(NFPCI_FIND_DEVICE), device_vendor_id, index); } long find_classcode(unsigned long class_code, unsigned long index) { return nfOps->call(NFPCI(NFPCI_FIND_CLASSCODE), class_code, index); } long read_config_byte(unsigned long device_handle, void *data, unsigned long num_register) { return nfOps->call(NFPCI(NFPCI_READ_CONFIG_BYTE), device_handle, data, num_register); } long read_config_word(unsigned long device_handle, void *data, unsigned long num_register) { return nfOps->call(NFPCI(NFPCI_READ_CONFIG_WORD), device_handle, data, num_register); } long read_config_long(unsigned long device_handle, void *data, unsigned long num_register) { return nfOps->call(NFPCI(NFPCI_READ_CONFIG_LONG), device_handle, data, num_register); } unsigned char read_config_byte_fast(unsigned long device_handle, unsigned long num_register) { return nfOps->call(NFPCI(NFPCI_READ_CONFIG_BYTE_FAST), device_handle, num_register); } unsigned short read_config_word_fast(unsigned long device_handle, unsigned long num_register) { return nfOps->call(NFPCI(NFPCI_READ_CONFIG_WORD_FAST), device_handle, num_register); } unsigned long read_config_long_fast(unsigned long device_handle, unsigned long num_register) { return nfOps->call(NFPCI(NFPCI_READ_CONFIG_LONG_FAST), device_handle, num_register); } long write_config_byte(unsigned long device_handle, unsigned long num_register, unsigned long value) { return nfOps->call(NFPCI(NFPCI_WRITE_CONFIG_BYTE), device_handle, num_register, value); } long write_config_word(unsigned long device_handle, unsigned long num_register, unsigned long value) { return nfOps->call(NFPCI(NFPCI_WRITE_CONFIG_WORD), device_handle, num_register, value); } long write_config_long(unsigned long device_handle, unsigned long num_register, unsigned long value) { return nfOps->call(NFPCI(NFPCI_WRITE_CONFIG_LONG), device_handle, num_register, value); } long hook_interrupt(unsigned long device_handle, void (*data)(), unsigned long parameter) { return nfOps->call(NFPCI(NFPCI_HOOK_INTERRUPT), device_handle, data, parameter); } long unhook_interrupt(unsigned long device_handle) { return nfOps->call(NFPCI(NFPCI_UNHOOK_INTERRUPT), device_handle); } long special_cycle(unsigned long num_bus, unsigned long data) { return nfOps->call(NFPCI(NFPCI_SPECIAL_CYCLE), num_bus, data); } /* get_routing */ /* set_interrupt */ long get_resource(unsigned long device_handle) { return nfOps->call(NFPCI(NFPCI_GET_RESOURCE), device_handle); } long get_card_used(unsigned long device_handle, unsigned long *callback) { return nfOps->call(NFPCI(NFPCI_GET_CARD_USED), device_handle, callback); } long set_card_used(unsigned long device_handle, unsigned long callback) { return nfOps->call(NFPCI(NFPCI_SET_CARD_USED), device_handle, callback); } long read_mem_byte(unsigned long device_handle, unsigned long pci_address, unsigned char *data) { return nfOps->call(NFPCI(NFPCI_READ_MEM_BYTE), device_handle, pci_address, data); } long read_mem_word(unsigned long device_handle, unsigned long pci_address, unsigned short *data) { return nfOps->call(NFPCI(NFPCI_READ_MEM_WORD), device_handle, pci_address, data); } long read_mem_long(unsigned long device_handle, unsigned long pci_address, unsigned long *data) { return nfOps->call(NFPCI(NFPCI_READ_MEM_LONG), device_handle, pci_address, data); } unsigned char read_mem_byte_fast(unsigned long device_handle, unsigned long pci_address) { return nfOps->call(NFPCI(NFPCI_READ_MEM_BYTE_FAST), device_handle, pci_address); } unsigned short read_mem_word_fast(unsigned long device_handle, unsigned long pci_address) { return nfOps->call(NFPCI(NFPCI_READ_MEM_WORD_FAST), device_handle, pci_address); } unsigned long read_mem_long_fast(unsigned long device_handle, unsigned long pci_address) { return nfOps->call(NFPCI(NFPCI_READ_MEM_LONG_FAST), device_handle, pci_address); } long write_mem_byte(unsigned long device_handle, unsigned long pci_address, unsigned long value) { return nfOps->call(NFPCI(NFPCI_WRITE_MEM_BYTE), device_handle, pci_address, value); } long write_mem_word(unsigned long device_handle, unsigned long pci_address, unsigned long value) { return nfOps->call(NFPCI(NFPCI_WRITE_MEM_WORD), device_handle, pci_address, value); } long write_mem_long(unsigned long device_handle, unsigned long pci_address, unsigned long value) { return nfOps->call(NFPCI(NFPCI_WRITE_MEM_LONG), device_handle, pci_address, value); } long read_io_byte(unsigned long device_handle, unsigned long pci_address, unsigned char *data) { return nfOps->call(NFPCI(NFPCI_READ_IO_BYTE), device_handle, pci_address, data); } long read_io_word(unsigned long device_handle, unsigned long pci_address, unsigned short *data) { return nfOps->call(NFPCI(NFPCI_READ_IO_WORD), device_handle, pci_address, data); } long read_io_long(unsigned long device_handle, unsigned long pci_address, unsigned long *data) { return nfOps->call(NFPCI(NFPCI_READ_IO_LONG), device_handle, pci_address, data); } unsigned char read_io_byte_fast(unsigned long device_handle, unsigned long pci_address) { return nfOps->call(NFPCI(NFPCI_READ_IO_BYTE_FAST), device_handle, pci_address); } unsigned short read_io_word_fast(unsigned long device_handle, unsigned long pci_address) { return nfOps->call(NFPCI(NFPCI_READ_IO_WORD_FAST), device_handle, pci_address); } unsigned long read_io_long_fast(unsigned long device_handle, unsigned long pci_address) { return nfOps->call(NFPCI(NFPCI_READ_IO_LONG_FAST), device_handle, pci_address); } long write_io_byte(unsigned long device_handle, unsigned long pci_address, unsigned long value) { return nfOps->call(NFPCI(NFPCI_WRITE_IO_BYTE), device_handle, pci_address, value); } long write_io_word(unsigned long device_handle, unsigned long pci_address, unsigned long value) { return nfOps->call(NFPCI(NFPCI_WRITE_IO_WORD), device_handle, pci_address, value); } long write_io_long(unsigned long device_handle, unsigned long pci_address, unsigned long value) { return nfOps->call(NFPCI(NFPCI_WRITE_IO_LONG), device_handle, pci_address, value); } long get_machine_id(void) { return nfOps->call(NFPCI(NFPCI_GET_MACHINE_ID)); } unsigned long get_pagesize(void) { return nfOps->call(NFPCI(NFPCI_GET_PAGESIZE)); } long virt_to_bus(unsigned long device_handle, void *virt_cpu_address, void *data) { return nfOps->call(NFPCI(NFPCI_VIRT_TO_BUS), device_handle, virt_cpu_address, data); } long bus_to_virt(unsigned long device_handle, unsigned long pci_address, void *data) { return nfOps->call(NFPCI(NFPCI_BUS_TO_VIRT), device_handle, pci_address, data); } long virt_to_phys(void *virt_cpu_address, void *data) { return nfOps->call(NFPCI(NFPCI_VIRT_TO_PHYS), virt_cpu_address, data); } long phys_to_virt(void *phys_cpu_address, void *data) { return nfOps->call(NFPCI(NFPCI_PHYS_TO_VIRT), phys_cpu_address, data); } aranym-1.0.2/atari/nfpci/nfpci.h000066400000000000000000000104351242022243000164420ustar00rootroot00000000000000/* NatFeat host PCI driver ARAnyM (C) 2004 Patrice Mandin This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef NFPCI_H #define NFPCI_H /* Functions called by each PCIBIOS backend (_PCI via cookie, XPCI via Xbios */ long find_device(unsigned long device_vendor_id, unsigned long index); long find_classcode(unsigned long class_code, unsigned long index); long read_config_byte(unsigned long device_handle, void *data, unsigned long num_register); long read_config_word(unsigned long device_handle, void *data, unsigned long num_register); long read_config_long(unsigned long device_handle, void *data, unsigned long num_register); unsigned char read_config_byte_fast(unsigned long device_handle, unsigned long num_register); unsigned short read_config_word_fast(unsigned long device_handle, unsigned long num_register); unsigned long read_config_long_fast(unsigned long device_handle, unsigned long num_register); long write_config_byte(unsigned long device_handle, unsigned long num_register, unsigned long value); long write_config_word(unsigned long device_handle, unsigned long num_register, unsigned long value); long write_config_long(unsigned long device_handle, unsigned long num_register, unsigned long value); long hook_interrupt(unsigned long device_handle, void (*data)(), unsigned long parameter); long unhook_interrupt(unsigned long device_handle); long special_cycle(unsigned long num_bus, unsigned long data); /* get_routing */ /* set_interrupt */ long get_resource(unsigned long device_handle); long get_card_used(unsigned long device_handle, unsigned long *callback); long set_card_used(unsigned long device_handle, unsigned long callback); long read_mem_byte(unsigned long device_handle, unsigned long pci_address, unsigned char *data); long read_mem_word(unsigned long device_handle, unsigned long pci_address, unsigned short *data); long read_mem_long(unsigned long device_handle, unsigned long pci_address, unsigned long *data); unsigned char read_mem_byte_fast(unsigned long device_handle, unsigned long pci_address); unsigned short read_mem_word_fast(unsigned long device_handle, unsigned long pci_address); unsigned long read_mem_long_fast(unsigned long device_handle, unsigned long pci_address); long write_mem_byte(unsigned long device_handle, unsigned long pci_address, unsigned long value); long write_mem_word(unsigned long device_handle, unsigned long pci_address, unsigned long value); long write_mem_long(unsigned long device_handle, unsigned long pci_address, unsigned long value); long read_io_byte(unsigned long device_handle, unsigned long pci_address, unsigned char *data); long read_io_word(unsigned long device_handle, unsigned long pci_address, unsigned short *data); long read_io_long(unsigned long device_handle, unsigned long pci_address, unsigned long *data); unsigned char read_io_byte_fast(unsigned long device_handle, unsigned long pci_address); unsigned short read_io_word_fast(unsigned long device_handle, unsigned long pci_address); unsigned long read_io_long_fast(unsigned long device_handle, unsigned long pci_address); long write_io_byte(unsigned long device_handle, unsigned long pci_address, unsigned long value); long write_io_word(unsigned long device_handle, unsigned long pci_address, unsigned long value); long write_io_long(unsigned long device_handle, unsigned long pci_address, unsigned long value); long get_machine_id(void); unsigned long get_pagesize(void); long virt_to_bus(unsigned long device_handle, void *virt_cpu_address, void *data); long bus_to_virt(unsigned long device_handle, unsigned long pci_address, void *data); long virt_to_phys(void *virt_cpu_address, void *data); long phys_to_virt(void *phys_cpu_address, void *data); #endif /* NFPCI_H */ aranym-1.0.2/atari/nfpci/nfpci_bios.S000066400000000000000000000147761242022243000174450ustar00rootroot00000000000000/* NatFeat host PCI driver, _PCI cookie with function pointers ARAnyM (C) 2004 Patrice Mandin This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ .globl _pcibios_find_device, _pcibios_find_classcode .globl _pcibios_read_config_byte, _pcibios_read_config_word .globl _pcibios_read_config_long, _pcibios_read_config_byte_fast .globl _pcibios_read_config_word_fast, _pcibios_read_config_long_fast .globl _pcibios_write_config_byte, _pcibios_write_config_word .globl _pcibios_write_config_long, _pcibios_hook_interrupt .globl _pcibios_unhook_interrupt, _pcibios_special_cycle .globl _pcibios_get_routing, _pcibios_set_interrupt .globl _pcibios_get_resource, _pcibios_get_card_used .globl _pcibios_set_card_used, _pcibios_read_mem_byte .globl _pcibios_read_mem_word, _pcibios_read_mem_long .globl _pcibios_read_mem_byte_fast, _pcibios_read_mem_word_fast .globl _pcibios_read_mem_long_fast, _pcibios_write_mem_byte .globl _pcibios_write_mem_word, _pcibios_write_mem_long .globl _pcibios_read_io_byte, _pcibios_read_io_word .globl _pcibios_read_io_long, _pcibios_read_io_byte_fast .globl _pcibios_read_io_word_fast, _pcibios_read_io_long_fast .globl _pcibios_write_io_byte, _pcibios_write_io_word .globl _pcibios_write_io_long, _pcibios_get_machine_id .globl _pcibios_get_pagesize, _pcibios_virt_to_bus .globl _pcibios_bus_to_virt, _pcibios_virt_to_phys .globl _pcibios_phys_to_virt .text _pcibios_find_device: andl #0xffff,d1 movl d1,sp@- movl d0,sp@- bsr _find_device addql #8,sp rts _pcibios_find_classcode: andl #0xffff,d1 movl d1,sp@- movl d0,sp@- bsr _find_classcode addql #8,sp rts _pcibios_read_config_byte: andl #0xff,d1 movl d1,sp@- movl a0,sp@- movl d0,sp@- bsr _read_config_byte lea sp@(12),sp rts _pcibios_read_config_word: andl #0xff,d1 movl d1,sp@- movl a0,sp@- movl d0,sp@- bsr _read_config_word lea sp@(12),sp rts _pcibios_read_config_long: andl #0xff,d1 movl d1,sp@- movl a0,sp@- movl d0,sp@- bsr _read_config_long lea sp@(12),sp rts _pcibios_read_config_byte_fast: andl #0xff,d1 movl d1,sp@- movl d0,sp@- bsr _read_config_byte_fast addql #8,sp rts _pcibios_read_config_word_fast: andl #0xff,d1 movl d1,sp@- movl d0,sp@- bsr _read_config_word_fast addql #8,sp rts _pcibios_read_config_long_fast: andl #0xff,d1 movl d1,sp@- movl d0,sp@- bsr _read_config_long_fast addql #8,sp rts _pcibios_write_config_byte: andl #0xff,d2 movl d2,sp@- andl #0xff,d1 movl d1,sp@- movl d0,sp@- bsr _write_config_byte lea sp@(12),sp rts _pcibios_write_config_word: andl #0xffff,d2 movl d2,sp@- andl #0xff,d1 movl d1,sp@- movl d0,sp@- bsr _write_config_word lea sp@(12),sp rts _pcibios_write_config_long: movl d2,sp@- andl #0xff,d1 movl d1,sp@- movl d0,sp@- bsr _write_config_long lea sp@(12),sp rts _pcibios_hook_interrupt: movl a1,sp@- movl a0,sp@- movl d0,sp@- bsr _hook_interrupt lea sp@(12),sp rts _pcibios_unhook_interrupt: movl d0,sp@- bsr _unhook_interrupt addql #4,sp rts _pcibios_special_cycle: movl d1,sp@- andl #0xff,d0 movl d0,sp@- bsr _special_cycle addql #8,sp rts _pcibios_get_routing: movel #0xfffffff8,d0 /* PCI_GENERAL_ERROR */ rts _pcibios_set_interrupt: movel #0xfffffff8,d0 /* PCI_GENERAL_ERROR */ rts _pcibios_get_resource: movl d0,sp@- bsr _get_resource addql #4,sp rts _pcibios_get_card_used: movl a0,sp@- movl d0,sp@- bsr _get_card_used addql #8,sp rts _pcibios_set_card_used: movl a0,sp@- movl d0,sp@- bsr _set_card_used addql #8,sp rts _pcibios_read_mem_byte: movl a0,sp@- movl d1,sp@- movl d0,sp@- bsr _read_mem_byte lea sp@(12),sp rts _pcibios_read_mem_word: movl a0,sp@- movl d1,sp@- movl d0,sp@- bsr _read_mem_word lea sp@(12),sp rts _pcibios_read_mem_long: movl a0,sp@- movl d1,sp@- movl d0,sp@- bsr _read_mem_long lea sp@(12),sp rts _pcibios_read_mem_byte_fast: movl d1,sp@- movl d0,sp@- bsr _read_mem_byte_fast addql #8,sp rts _pcibios_read_mem_word_fast: movl d1,sp@- movl d0,sp@- bsr _read_mem_word_fast addql #8,sp rts _pcibios_read_mem_long_fast: movl d1,sp@- movl d0,sp@- bsr _read_mem_long_fast addql #8,sp rts _pcibios_write_mem_byte: andl #0xff,d2 movl d2,sp@- movl d1,sp@- movl d0,sp@- bsr _write_mem_byte lea sp@(12),sp rts _pcibios_write_mem_word: andl #0xffff,d2 movl d2,sp@- movl d1,sp@- movl d0,sp@- bsr _write_mem_word lea sp@(12),sp rts _pcibios_write_mem_long: movl d2,sp@- movl d1,sp@- movl d0,sp@- bsr _write_mem_long lea sp@(12),sp rts _pcibios_read_io_byte: movl a0,sp@- movl d1,sp@- movl d0,sp@- bsr _read_io_byte lea sp@(12),sp rts _pcibios_read_io_word: movl a0,sp@- movl d1,sp@- movl d0,sp@- bsr _read_io_word lea sp@(12),sp rts _pcibios_read_io_long: movl a0,sp@- movl d1,sp@- movl d0,sp@- bsr _read_io_long lea sp@(12),sp rts _pcibios_read_io_byte_fast: movl d1,sp@- movl d0,sp@- bsr _read_io_byte_fast addql #8,sp rts _pcibios_read_io_word_fast: movl d1,sp@- movl d0,sp@- bsr _read_io_word_fast addql #8,sp rts _pcibios_read_io_long_fast: movl d1,sp@- movl d0,sp@- bsr _read_io_long_fast addql #8,sp rts _pcibios_write_io_byte: andl #0xff,d2 movl d2,sp@- movl d1,sp@- movl d0,sp@- bsr _write_io_byte lea sp@(12),sp rts _pcibios_write_io_word: andl #0xffff,d2 movl d2,sp@- movl d1,sp@- movl d0,sp@- bsr _write_io_word lea sp@(12),sp rts _pcibios_write_io_long: movl d2,sp@- movl d1,sp@- movl d0,sp@- bsr _write_io_long lea sp@(12),sp rts _pcibios_get_machine_id: bsr _get_machine_id rts _pcibios_get_pagesize: bsr _get_pagesize rts _pcibios_virt_to_bus: movl a0,sp@- movl d1,sp@- movl d0,sp@- bsr _virt_to_bus lea sp@(12),sp rts _pcibios_bus_to_virt: movl a0,sp@- movl d1,sp@- movl d0,sp@- bsr _bus_to_virt lea sp@(12),sp rts _pcibios_virt_to_phys: movl a0,sp@- movl d0,sp@- bsr _bus_to_virt addql #8,sp rts _pcibios_phys_to_virt: movl a0,sp@- movl d0,sp@- bsr _bus_to_virt addql #8,sp rts aranym-1.0.2/atari/nfpci/nfpci_bios.h000066400000000000000000000112031242022243000174500ustar00rootroot00000000000000/* NatFeat host PCI driver, _PCI cookie functions ARAnyM (C) 2004 Patrice Mandin This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef NFPCI_BIOS_H #define NFPCI_BIOS_H long pcibios_find_device(unsigned long device_vendor_id, unsigned short index); long pcibios_find_classcode(unsigned long class_code, unsigned short index); long pcibios_read_config_byte(unsigned long device_handle, void *data, unsigned char num_register); long pcibios_read_config_word(unsigned long device_handle, void *data, unsigned char num_register); long pcibios_read_config_long(unsigned long device_handle, void *data, unsigned char num_register); unsigned char pcibios_read_config_byte_fast(unsigned long device_handle, unsigned char num_register); unsigned short pcibios_read_config_word_fast(unsigned long device_handle, unsigned char num_register); unsigned long pcibios_read_config_long_fast(unsigned long device_handle, unsigned char num_register); long pcibios_write_config_byte(unsigned long device_handle, unsigned char num_register, unsigned char value); long pcibios_write_config_word(unsigned long device_handle, unsigned char num_register, unsigned short value); long pcibios_write_config_long(unsigned long device_handle, unsigned char num_register, unsigned long value); long pcibios_hook_interrupt(unsigned long device_handle, void (*data)(), unsigned long parameter); long pcibios_unhook_interrupt(unsigned long device_handle); long pcibios_special_cycle(unsigned char num_bus, unsigned long data); long pcibios_get_routing(void); /* unimplemented */ long pcibios_set_interrupt(void); /* unimplemented */ long pcibios_get_resource(unsigned long device_handle); long pcibios_get_card_used(unsigned long device_handle, unsigned long *callback); long pcibios_set_card_used(unsigned long device_handle, unsigned long callback); long pcibios_read_mem_byte(unsigned long device_handle, unsigned long pci_address, unsigned char *data); long pcibios_read_mem_word(unsigned long device_handle, unsigned long pci_address, unsigned short *data); long pcibios_read_mem_long(unsigned long device_handle, unsigned long pci_address, unsigned long *data); unsigned char pcibios_read_mem_byte_fast(unsigned long device_handle, unsigned long pci_address); unsigned short pcibios_read_mem_word_fast(unsigned long device_handle, unsigned long pci_address); unsigned long pcibios_read_mem_long_fast(unsigned long device_handle, unsigned long pci_address); long pcibios_write_mem_byte(unsigned long device_handle, unsigned long pci_address, unsigned char value); long pcibios_write_mem_word(unsigned long device_handle, unsigned long pci_address, unsigned short value); long pcibios_write_mem_long(unsigned long device_handle, unsigned long pci_address, unsigned long value); long pcibios_read_io_byte(unsigned long device_handle, unsigned long pci_address, unsigned char *data); long pcibios_read_io_word(unsigned long device_handle, unsigned long pci_address, unsigned short *data); long pcibios_read_io_long(unsigned long device_handle, unsigned long pci_address, unsigned long *data); unsigned char pcibios_read_io_byte_fast(unsigned long device_handle, unsigned long pci_address); unsigned short pcibios_read_io_word_fast(unsigned long device_handle, unsigned long pci_address); unsigned long pcibios_read_io_long_fast(unsigned long device_handle, unsigned long pci_address); long pcibios_write_io_byte(unsigned long device_handle, unsigned long pci_address, unsigned char value); long pcibios_write_io_word(unsigned long device_handle, unsigned long pci_address, unsigned short value); long pcibios_write_io_long(unsigned long device_handle, unsigned long pci_address, unsigned long value); long pcibios_get_machine_id(void); unsigned long pcibios_get_pagesize(void); long pcibios_virt_to_bus(unsigned long device_handle, void *virt_cpu_address, void *data); long pcibios_bus_to_virt(unsigned long device_handle, unsigned long pci_address, void *data); long pcibios_virt_to_phys(void *virt_cpu_address, void *data); long pcibios_phys_to_virt(void *phys_cpu_address, void *data); #endif /* NFPCI_BIOS_H */ aranym-1.0.2/atari/nfpci/nfpci_cookie.c000066400000000000000000000042031242022243000177620ustar00rootroot00000000000000/* NatFeat host PCI driver, cookie management ARAnyM (C) 2004 Patrice Mandin This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /*--- Includes ---*/ #include #include #include #include /*--- Defines ---*/ #ifndef C_NULL #define C_NULL 0x4e554c4cL #endif /*--- Functions ---*/ static unsigned long *read_cookie_jar_pointer(void) { unsigned long *cookie_jar; void *old_stack=NULL; int super_flag; /* Check if already in supervisor mode */ super_flag = (int) Super((void *)1); if (!super_flag) { old_stack=(void *)Super(NULL); } cookie_jar= (unsigned long *) *_p_cookies; if (!super_flag) { Super(old_stack); } return (cookie_jar); } int cookie_present(unsigned long cookie, unsigned long *value) { unsigned long *cookie_jar; cookie_jar = read_cookie_jar_pointer(); if (cookie_jar == NULL) { return 0; } while (*cookie_jar != 0) { if (*cookie_jar == cookie) { if (value) *value = cookie_jar[1]; return 1; } cookie_jar+=2; } return 0; } int cookie_add(unsigned long cookie, unsigned long value) { unsigned long *cookie_jar; int count; cookie_jar = read_cookie_jar_pointer(); if (cookie_jar == NULL) { return 0; } count=0; while (*cookie_jar != 0) { cookie_jar += 2; count++; } /* Is there enough space ? */ if (cookie_jar[1]>count) { cookie_jar[2] = 0; cookie_jar[3] = cookie_jar[1]; cookie_jar[0] = cookie; cookie_jar[1] = value; return 1; } /* Not enough space in cookie jar */ return 0; } aranym-1.0.2/atari/nfpci/nfpci_cookie.h000066400000000000000000000017131242022243000177720ustar00rootroot00000000000000/* NatFeat host PCI driver, cookie management ARAnyM (C) 2004 Patrice Mandin This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef NFPCI_COOKIE_H #define NFPCI_COOKIE_H int cookie_present(unsigned long cookie, unsigned long *value); int cookie_add(unsigned long cookie, unsigned long value); #endif /* NFPCI_COOKIE_H */ aranym-1.0.2/atari/nfpci/nfpci_nfapi.h000066400000000000000000000040041242022243000176120ustar00rootroot00000000000000/* NatFeat host PCI access ARAnyM (C) 2004 Patrice Mandin This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef NFPCI_NFAPI_H #define NFPCI_NFAPI_H /* if you change anything in the enum {} below you have to increase this ARANFPCI_NFAPI_VERSION! */ #define ARANFPCI_NFAPI_VERSION 0x00000000 enum { GET_VERSION = 0, /* no parameters, return NFAPI_VERSION in d0 */ NFPCI_FIND_DEVICE, NFPCI_FIND_CLASSCODE, NFPCI_READ_CONFIG_BYTE, NFPCI_READ_CONFIG_WORD, NFPCI_READ_CONFIG_LONG, NFPCI_READ_CONFIG_BYTE_FAST, NFPCI_READ_CONFIG_WORD_FAST, NFPCI_READ_CONFIG_LONG_FAST, NFPCI_WRITE_CONFIG_BYTE, NFPCI_WRITE_CONFIG_WORD, NFPCI_WRITE_CONFIG_LONG, NFPCI_HOOK_INTERRUPT, NFPCI_UNHOOK_INTERRUPT, NFPCI_SPECIAL_CYCLE, NFPCI_GET_RESOURCE, NFPCI_GET_CARD_USED, NFPCI_SET_CARD_USED, NFPCI_READ_MEM_BYTE, NFPCI_READ_MEM_WORD, NFPCI_READ_MEM_LONG, NFPCI_READ_MEM_BYTE_FAST, NFPCI_READ_MEM_WORD_FAST, NFPCI_READ_MEM_LONG_FAST, NFPCI_WRITE_MEM_BYTE, NFPCI_WRITE_MEM_WORD, NFPCI_WRITE_MEM_LONG, NFPCI_READ_IO_BYTE, NFPCI_READ_IO_WORD, NFPCI_READ_IO_LONG, NFPCI_READ_IO_BYTE_FAST, NFPCI_READ_IO_WORD_FAST, NFPCI_READ_IO_LONG_FAST, NFPCI_WRITE_IO_BYTE, NFPCI_WRITE_IO_WORD, NFPCI_WRITE_IO_LONG, NFPCI_GET_MACHINE_ID, NFPCI_GET_PAGESIZE, NFPCI_VIRT_TO_BUS, NFPCI_BUS_TO_VIRT, NFPCI_VIRT_TO_PHYS, NFPCI_PHYS_TO_VIRT }; #define NFPCI(a) (nfPciId + a) #endif /* NFCDROM_NFAPI_H */ aranym-1.0.2/atari/nfpci/nfpci_xbios.S000066400000000000000000000214741242022243000176260ustar00rootroot00000000000000/* NatFeat host PCI driver, XPCI cookie via XBIOS ARAnyM (C) 2004 Patrice Mandin This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ .globl _pcixbios_find_device, _pcixbios_find_classcode .globl _pcixbios_read_config_byte, _pcixbios_read_config_word .globl _pcixbios_read_config_long, _pcixbios_read_config_byte_fast .globl _pcixbios_read_config_word_fast, _pcixbios_read_config_long_fast .globl _pcixbios_write_config_byte, _pcixbios_write_config_word .globl _pcixbios_write_config_long, _pcixbios_hook_interrupt .globl _pcixbios_unhook_interrupt, _pcixbios_special_cycle .globl _pcixbios_get_routing, _pcixbios_set_interrupt .globl _pcixbios_get_resource, _pcixbios_get_card_used .globl _pcixbios_set_card_used, _pcixbios_read_mem_byte .globl _pcixbios_read_mem_word, _pcixbios_read_mem_long .globl _pcixbios_read_mem_byte_fast, _pcixbios_read_mem_word_fast .globl _pcixbios_read_mem_long_fast, _pcixbios_write_mem_byte .globl _pcixbios_write_mem_word, _pcixbios_write_mem_long .globl _pcixbios_read_io_byte, _pcixbios_read_io_word .globl _pcixbios_read_io_long, _pcixbios_read_io_byte_fast .globl _pcixbios_read_io_word_fast, _pcixbios_read_io_long_fast .globl _pcixbios_write_io_byte, _pcixbios_write_io_word .globl _pcixbios_write_io_long, _pcixbios_get_machine_id .globl _pcixbios_get_pagesize, _pcixbios_virt_to_bus .globl _pcixbios_bus_to_virt, _pcixbios_virt_to_phys .globl _pcixbios_phys_to_virt .globl _pcixbios_oldtrap, _pcixbios_newtrap .text .even .ascii "XBRA" .ascii "XPCI" _pcixbios_oldtrap: .long 0 _pcixbios_newtrap: lea sp@(8),a0 btst #5,sp@ bnes supervisor_mode movl usp,a0 supervisor_mode: movw a0@+,d0 subw #300,d0 bmis old_xbios cmpw #42,d0 bhis old_xbios jsr @(pcixbios_function_table,d0:w:4)@(0) rte old_xbios: jmp @(_pcixbios_oldtrap)@(0) /* XBIOS functions */ _pcixbios_find_device: moveql #0,d0 movw a0@(4),d0 movl d0,sp@- movl a0@,sp@- bsr _find_device addql #8,sp rts _pcixbios_find_classcode: moveql #0,d0 movw a0@(4),d0 movl d0,sp@- movl a0@,sp@- bsr _find_classcode addql #8,sp rts _pcixbios_read_config_byte: moveql #0,d0 movb a0@(5),d0 movl d0,sp@- movl a0@(6),sp@- movl a0@,sp@- bsr _read_config_byte lea sp@(12),sp rts _pcixbios_read_config_word: moveql #0,d0 movb a0@(5),d0 movl d0,sp@- movl a0@(6),sp@- movl a0@,sp@- bsr _read_config_word lea sp@(12),sp rts _pcixbios_read_config_long: moveql #0,d0 movb a0@(5),d0 movl d0,sp@- movl a0@(6),sp@- movl a0@,sp@- bsr _read_config_long lea sp@(12),sp rts _pcixbios_read_config_byte_fast: moveql #0,d0 movb a0@(5),d0 movl d0,sp@- movl a0@,sp@- bsr _read_config_byte_fast addql #8,sp rts _pcixbios_read_config_word_fast: moveql #0,d0 movb a0@(5),d0 movl d0,sp@- movl a0@,sp@- bsr _read_config_word_fast addql #8,sp rts _pcixbios_read_config_long_fast: moveql #0,d0 movb a0@(5),d0 movl d0,sp@- movl a0@,sp@- bsr _read_config_long_fast addql #8,sp rts _pcixbios_write_config_byte: moveql #0,d0 movb a0@(7),d0 movl d0,sp@- moveql #0,d0 movb a0@(5),d0 movl d0,sp@- movl a0@,sp@- bsr _write_config_byte lea sp@(12),sp rts _pcixbios_write_config_word: moveql #0,d0 movw a0@(6),d0 movl d0,sp@- moveql #0,d0 movb a0@(5),d0 movl d0,sp@- movl a0@,sp@- bsr _write_config_word lea sp@(12),sp rts _pcixbios_write_config_long: movl a0@(6),sp@- moveql #0,d0 movb a0@(5),d0 movl d0,sp@- movl a0@,sp@- bsr _write_config_long lea sp@(12),sp rts _pcixbios_hook_interrupt: movl a0@(8),sp@- movl a0@(4),sp@- movl a0@,sp@- bsr _hook_interrupt lea sp@(12),sp rts _pcixbios_unhook_interrupt: movl a0@,sp@- bsr _unhook_interrupt addql #4,sp rts _pcixbios_special_cycle: movl a0@(4),sp@- moveql #0,d0 movw a0@,d0 movl d0,sp@- bsr _special_cycle addql #8,sp rts _pcixbios_get_routing: movel #0xfffffff8,d0 /* PCI_GENERAL_ERROR */ rts _pcixbios_set_interrupt: movel #0xfffffff8,d0 /* PCI_GENERAL_ERROR */ rts _pcixbios_get_resource: movl a0@,sp@- bsr _get_resource addql #4,sp rts _pcixbios_get_card_used: movl a0@(4),sp@- movl a0@,sp@- bsr _get_card_used addql #8,sp rts _pcixbios_set_card_used: movl a0@(4),sp@- movl a0@,sp@- bsr _set_card_used addql #8,sp rts _pcixbios_read_mem_byte: movl a0@(8),sp@- movl a0@(4),sp@- movl a0@,sp@- bsr _read_mem_byte lea sp@(12),sp rts _pcixbios_read_mem_word: movl a0@(8),sp@- movl a0@(4),sp@- movl a0@,sp@- bsr _read_mem_word lea sp@(12),sp rts _pcixbios_read_mem_long: movl a0@(8),sp@- movl a0@(4),sp@- movl a0@,sp@- bsr _read_mem_long lea sp@(12),sp rts _pcixbios_read_mem_byte_fast: movl a0@(4),sp@- movl a0@,sp@- bsr _read_mem_byte_fast addql #8,sp rts _pcixbios_read_mem_word_fast: movl a0@(4),sp@- movl a0@,sp@- bsr _read_mem_word_fast addql #8,sp rts _pcixbios_read_mem_long_fast: movl a0@(4),sp@- movl a0@,sp@- bsr _read_mem_long_fast addql #8,sp rts _pcixbios_write_mem_byte: movw a0@(8),d0 andl #0xff,d0 movl d0,sp@- movl a0@(4),sp@- movl a0@,sp@- bsr _write_mem_byte lea sp@(12),sp rts _pcixbios_write_mem_word: moveql #0,d0 movw a0@(8),d0 movl d0,sp@- movl a0@(4),sp@- movl a0@,sp@- bsr _write_mem_word lea sp@(12),sp rts _pcixbios_write_mem_long: movl a0@(8),sp@- movl a0@(4),sp@- movl a0@,sp@- bsr _write_mem_long lea sp@(12),sp rts _pcixbios_read_io_byte: movl a0@(8),sp@- movl a0@(4),sp@- movl a0@,sp@- bsr _read_io_byte lea sp@(12),sp rts _pcixbios_read_io_word: movl a0@(8),sp@- movl a0@(4),sp@- movl a0@,sp@- bsr _read_io_word lea sp@(12),sp rts _pcixbios_read_io_long: movl a0@(8),sp@- movl a0@(4),sp@- movl a0@,sp@- bsr _read_io_long lea sp@(12),sp rts _pcixbios_read_io_byte_fast: movl a0@(4),sp@- movl a0@,sp@- bsr _read_io_byte_fast addql #8,sp rts _pcixbios_read_io_word_fast: movl a0@(4),sp@- movl a0@,sp@- bsr _read_io_word_fast addql #8,sp rts _pcixbios_read_io_long_fast: movl a0@(4),sp@- movl a0@,sp@- bsr _read_io_long_fast addql #8,sp rts _pcixbios_write_io_byte: movw a0@(8),d0 andl #0xff,d0 movl d0,sp@- movl a0@(4),sp@- movl a0@,sp@- bsr _write_io_byte lea sp@(12),sp rts _pcixbios_write_io_word: moveql #0,d0 movw a0@(8),d0 movl d0,sp@- movl a0@(4),sp@- movl a0@,sp@- bsr _write_io_word lea sp@(12),sp rts _pcixbios_write_io_long: movl a0@(8),sp@- movl a0@(4),sp@- movl a0@,sp@- bsr _write_io_long lea sp@(12),sp rts _pcixbios_get_machine_id: bsr _get_machine_id rts _pcixbios_get_pagesize: bsr _get_pagesize rts _pcixbios_virt_to_bus: movl a0@(8),sp@- movl a0@(4),sp@- movl a0@,sp@- bsr _virt_to_bus lea sp@(12),sp rts _pcixbios_bus_to_virt: movl a0@(8),sp@- movl a0@(4),sp@- movl a0@,sp@- bsr _bus_to_virt lea sp@(12),sp rts _pcixbios_virt_to_phys: movl a0@(4),sp@- movl a0@,sp@- bsr _bus_to_virt addql #8,sp rts _pcixbios_phys_to_virt: movl a0@(4),sp@- movl a0@,sp@- bsr _bus_to_virt addql #8,sp rts .data pcixbios_function_table: .long _pcixbios_find_device .long _pcixbios_find_classcode .long _pcixbios_read_config_byte .long _pcixbios_read_config_word .long _pcixbios_read_config_long .long _pcixbios_read_config_byte_fast .long _pcixbios_read_config_word_fast .long _pcixbios_read_config_long_fast .long _pcixbios_write_config_byte .long _pcixbios_write_config_word .long _pcixbios_write_config_long .long _pcixbios_hook_interrupt .long _pcixbios_unhook_interrupt .long _pcixbios_special_cycle .long _pcixbios_get_routing .long _pcixbios_set_interrupt .long _pcixbios_get_resource .long _pcixbios_get_card_used .long _pcixbios_set_card_used .long _pcixbios_read_mem_byte .long _pcixbios_read_mem_word .long _pcixbios_read_mem_long .long _pcixbios_read_mem_byte_fast .long _pcixbios_read_mem_word_fast .long _pcixbios_read_mem_long_fast .long _pcixbios_write_mem_byte .long _pcixbios_write_mem_word .long _pcixbios_write_mem_long .long _pcixbios_read_io_byte .long _pcixbios_read_io_word .long _pcixbios_read_io_long .long _pcixbios_read_io_byte_fast .long _pcixbios_read_io_word_fast .long _pcixbios_read_io_long_fast .long _pcixbios_write_io_byte .long _pcixbios_write_io_word .long _pcixbios_write_io_long .long _pcixbios_get_machine_id .long _pcixbios_get_pagesize .long _pcixbios_virt_to_bus .long _pcixbios_bus_to_virt .long _pcixbios_virt_to_phys .long _pcixbios_phys_to_virt aranym-1.0.2/atari/nfstderr/000077500000000000000000000000001242022243000157175ustar00rootroot00000000000000aranym-1.0.2/atari/nfstderr/Makefile000077500000000000000000000011301242022243000173550ustar00rootroot00000000000000 TARGET = nfstderr.bos TARGET1 = print.prg COBJS = nfstderrbos.c ../natfeat/natfeat.c ../nfpci/nfpci_cookie.c SOBJS = entry.S ../natfeat/natfeat_asm.S include ../CONFIGVARS CFLAGS = $(OPTS) $(WARN) $(GENERAL) LDFLAGS = -nostdlib -Wl,--entry -Wl,_init_driver -lc -lgcc COBJECTS = $(COBJS:.c=.o) SOBJECTS = $(SOBJS:.S=.o) all: $(TARGET) $(TARGET): $(COBJECTS) $(SOBJECTS) ${CC} -o $@ $(COBJECTS) $(SOBJECTS) $(GENERAL) ${CFLAGS} ${LDFLAGS} ${STRIP} $(TARGET) $(TARGET1): print.o ${CC} -o $@ print.o $(GENERAL) ${CFLAGS} ${STRIP} $(TARGET1) clean: rm -f $(SOBJECTS) $(COBJECTS) $(TARGET) aranym-1.0.2/atari/nfstderr/entry.S000077500000000000000000000125371242022243000172170ustar00rootroot00000000000000/* NatFeat NF_STDERR /dev/nfstderr, MetaDOS BOS driver ARAnyM (C) 2005 STanda Opichal This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ .text .globl _asm_init_devices, _init_devices .globl _asm_xopen, _xopen .globl _asm_xclose, _xclose .globl _asm_xread, _xread .globl _asm_xwrite, _xwrite .globl _asm_xseek, _xseek .globl _asm_xstatus, _xstatus .globl _asm_xioctl, _xioctl .globl _asm_xstartaudio, _xstartaudio .globl _asm_xstopaudio, _xstopaudio .globl _asm_xsetsongtime, _xsetsongtime .globl _asm_xgettoc, _xgettoc .globl _asm_xdiscinfo, _xdiscinfo /*--- Function to create a bos header ---*/ _asm_init_devices: /* Input: d0.w physical drive letter d1.w dma channel Forward: 0(sp) physical drive letter 4(sp) dma channel */ andl #0xffff,d1 movl d1,sp@- andl #0xffff,d0 movl d0,sp@- bsr _init_devices addql #8,sp rts /*--- MetaDOS BOS functions frontends ---*/ _asm_xopen: /* Input: a0 metados_bosheader_t *device 0(sp) return address 4(sp) metaopen_t *metaopen Forward: 0(sp) metados_bosheader_t *device 4(sp) metaopen_t *metaopen */ movl sp,a1 movl 4(a1),sp@- movl a0,sp@- bsr _xopen addql #8,sp rts _asm_xclose: /* Input: a0 metados_bosheader_t *device 0(sp) return address Forward: 0(sp) metados_bosheader_t *device */ movl a0,sp@- bsr _xclose addql #4,sp rts _asm_xread: /* Input: a0 metados_bosheader_t *device 0(sp) return address 4(sp) void *buffer; 8(sp) unsigned long first 12(sp) unsigned short length Forward: 0(sp) metados_bosheader_t *device 4(sp) void *buffer; 8(sp) unsigned long first 12(sp) unsigned long length */ movl sp,a1 clrl d0 movw 12(a1),d0 movl d0,sp@- movl 8(a1),sp@- movl 4(a1),sp@- movl a0,sp@- bsr _xread lea sp@(16),sp rts _asm_xwrite: /* Input: a0 metados_bosheader_t *device 0(sp) return address 4(sp) void *buffer; 8(sp) unsigned long first 12(sp) unsigned short length Forward: 0(sp) metados_bosheader_t *device 4(sp) void *buffer; 8(sp) unsigned long first 12(sp) unsigned long length */ movl sp,a1 clrl d0 movw 12(a1),d0 movl d0,sp@- movl 8(a1),sp@- movl 4(a1),sp@- movl a0,sp@- bsr _xwrite lea sp@(16),sp rts _asm_xseek: /* Input: a0 metados_bosheader_t *device 0(sp) return address 4(sp) unsigned long offset Forward: 0(sp) metados_bosheader_t *device 4(sp) unsigned long offset */ movl sp,a1 movl 4(a1),sp@- movl a0,sp@- bsr _xseek addql #8,sp rts _asm_xstatus: /* Input: a0 metados_bosheader_t *device 0(sp) return address 4(sp) metados_bosstatus_t *extended_status; Forward: 0(sp) metados_bosheader_t *device 4(sp) metados_bosstatus_t *extended_status; */ movl sp,a1 movl 4(a1),sp@- movl a0,sp@- bsr _xstatus addql #8,sp rts _asm_xioctl: /* Input: a0 metados_bosheader_t *device 0(sp) return address 4(sp) unsigned long magic 8(sp) unsigned short opcode 10(sp) void *buffer; Forward: 0(sp) metados_bosheader_t *device 4(sp) unsigned long magic 8(sp) unsigned long opcode 12(sp) void *buffer; */ movl sp,a1 movl 10(a1),sp@- clrl d0 movw 8(a1),d0 movl d0,sp@- movl 4(a1),sp@- movl a0,sp@- bsr _xioctl lea sp@(16),sp rts #if 0 _asm_xstartaudio: /* Input: a0 metados_bosheader_t *device 0(sp) return address 4(sp) unknown parameter 6(sp) unsigned char *tracks Forward: 0(sp) metados_bosheader_t *device 4(sp) unknown parameter 8(sp) unsigned char *tracks */ movl sp,a1 movl 6(a1),sp@- clrl d0 movw 4(a1),d0 movl d0,sp@- movl a0,sp@- bsr _xstartaudio lea sp@(12),sp rts _asm_xstopaudio: /* Input: a0 metados_bosheader_t *device 0(sp) return address Forward: 0(sp) metados_bosheader_t *device */ movl a0,sp@- bsr _xstopaudio addql #4,sp rts _asm_xsetsongtime: /* Input: a0 metados_bosheader_t *device 0(sp) return address 4(sp) unknown parameter 6(sp) start_msf 10(sp) end_msf Forward: 0(sp) metados_bosheader_t *device 4(sp) unknown parameter 8(sp) start_msf 12(sp) end_msf */ movl sp,a1 movl 10(a1),sp@- movl 6(a1),sp@- clrl d0 movw 4(a1),d0 movl d0,sp@- movl a0,sp@- bsr _xsetsongtime lea sp@(16),sp rts _asm_xgettoc: /* Input: a0 metados_bosheader_t *device 0(sp) return address 4(sp) dummy 6(sp) toc_header_t *toc_header Forward: 0(sp) metados_bosheader_t *device 4(sp) dummy 8(sp) toc_header_t *toc_header */ movl sp,a1 movl 6(a1),sp@- clrl d0 movw 4(a1),d0 movl d0,sp@- movl a0,sp@- bsr _xgettoc lea sp@(12),sp rts _asm_xdiscinfo: /* Input: a0 metados_bosheader_t *device 0(sp) return address 4(sp) metados_bosdiscinfo_t *discinfo Forward: 0(sp) metados_bosheader_t *device 4(sp) metados_bosdiscinfo_t *discinfo */ movl sp,a1 movl 4(a1),sp@- movl a0,sp@- bsr _xdiscinfo addql #8,sp rts #endif aranym-1.0.2/atari/nfstderr/metados.h000077500000000000000000000127501242022243000175340ustar00rootroot00000000000000/* Metados Copyright (C) 2002 Patrice Mandin This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef _METADOS_H #define _METADOS_H #include /* for trap_14_xxx macros */ #ifndef OSBIND_CLOBBER_LIST #define OSBIND_CLOBBER_LIST "d0", "d1", "d2", "a0", "a1", "a2", "memory" #endif #ifndef trap_14_wwllw #define trap_14_wwllw(n, a, b, c, d) \ __extension__ \ ({ \ register long retvalue __asm__("d0"); \ short _a = (short)(a); \ long _b = (long) (b); \ long _c = (long) (c); \ short _d = (short)(d); \ \ __asm__ volatile \ ("\ movw %5,sp@-; \ movl %4,sp@-; \ movl %3,sp@-; \ movw %2,sp@-; \ movw %1,sp@-; \ trap #14; \ lea sp@(14),sp " \ : "=r"(retvalue) /* outputs */ \ : "g"(n), \ "r"(_a), "r"(_b), "r"(_c), "r"(_d) /* inputs */ \ : __CLOBBER_RETURN("d0") \ "d1", "d2", "a0", "a1", "a2", "memory" \ ); \ retvalue; \ }) #endif #ifndef trap_14_wwlwl #define trap_14_wwlwl(n,a,b,c,d) \ __extension__ \ ({ \ register long retvalue __asm__("d0"); \ short _a = (short)(a); \ long _b = (long)(b); \ short _c = (short)(c); \ long _d = (long)(d); \ \ __asm__ volatile ( \ "movl %5,sp@-\n\t" \ "movw %4,sp@-\n\t" \ "movl %3,sp@-\n\t" \ "movw %2,sp@-\n\t" \ "movw %1,sp@-\n\t" \ "trap #14\n\t" \ "lea sp@(14),sp" \ : "=r"(retvalue) \ : "g"(n), "r"(_a), "r"(_b), "r"(_c), "r"(_d) \ : OSBIND_CLOBBER_LIST \ ); \ retvalue; \ }) #endif /*--- Functions prototypes ---*/ #define Metainit(buffer) \ (void)trap_14_wl((short)0x30,(long)buffer) #define Metaopen(drive,buffer) \ (long)trap_14_wwl((short)0x31,(short)drive,(long)buffer) #define Metaclose(drive) \ (void)trap_14_ww((short)0x32,(short)drive) #define Metaread(drive,buffer,first_block,nb_blocks) \ (long)trap_14_wwllw((short)0x33,(short)drive,(long)buffer,(long)first_block,(short)nb_blocks) #define Metawrite(drive,buffer,first_block,nb_blocks) \ (long)trap_14_wwllw((short)0x34,(short)drive,(long)buffer,(long)first_block,(short)nb_blocks) #define Metaseek(drive,dummy,offset) \ (long)trap_14_wwll((short)0x35,(short)(drive),(long)(dummy),(long)(offset)) #define Metastatus(void) \ (long)trap_14_wl((short)0x36,(long)(buffer)) #define Metaioctl(drive,magic,opcode,buffer) \ (long)trap_14_wwlwl((short)(0x37),(short)(drive),(long)(magic),(short)(opcode),(long)(buffer)) #define Metastartaudio(drive,dummy,metatracks_t_p) \ (long)trap_14_wwwl((short)(0x3b),(short)(drive),(short)(dummy),(long)(metatracks_t_p)) #define Metastopaudio(drive) \ (long)trap_14_ww((short)(0x3c),(short)(drive)) #define Metasetsongtime(drive,dummy,start,end) \ (long)trap_14_wwwll((short)(0x3d),(short)(drive),(short)(dummy),(long)(start),(long)(end)) #define Metagettoc(drive,dummy,metatocentry_t_p) \ (long)trap_14_wwwl((short)(0x3e),(short)(drive),(short)(dummy),(long)(metatocentry_t_p)) #define Metadiscinfo(drive,metadiscinfo_t_p) \ (long)trap_14_wwl((short)(0x3f),(short)(drive),(long)(metadiscinfo_t_p)) #define METADOS_IOCTL_MAGIC (((unsigned long)'F'<<24)|((unsigned long)'C'<<16)|('T'<<8)|'L') /* bos_info_t returning ioctl */ #define METADOS_IOCTL_BOSINFO (('B'<<8)|'I') /*--- Types ---*/ typedef struct { unsigned short version; unsigned long magic; char *log2phys; } __attribute__((packed)) metainfo_t; typedef struct { unsigned long drives_map; char *version; unsigned long reserved; metainfo_t *info; } __attribute__((packed)) metainit_t; typedef struct { char *name; unsigned long reserved[3]; } __attribute__((packed)) metaopen_t; typedef struct { char ext_status[32]; } __attribute__((packed)) metastatus_t; typedef struct { unsigned char count; unsigned char first; } __attribute__((packed)) metatracks_t; typedef struct { /* TOC entry for MetaGetToc() function */ unsigned char track; unsigned char minute; unsigned char second; unsigned char frame; } __attribute__((packed)) metatocentry_t; typedef struct { unsigned char reserved; unsigned char minute; unsigned char second; unsigned char frame; } __attribute__((packed)) metadisc_msf_t; typedef struct { /* Discinfo for MetaDiscInfo() function */ unsigned char disctype, first, last, current; metadisc_msf_t relative; metadisc_msf_t absolute; metadisc_msf_t end; unsigned char index, reserved1[3]; unsigned long reserved2[123]; } __attribute__((packed)) metadiscinfo_t; /* METADOS_IOCTL_BOSINFO ioctl() .bos driver info */ /** the devide is a character device (all the block values in API are * meant as byte values for these */ #define BOS_INFO_ISTTY 0x00001UL /** the device will not be visible in the x:\dev nor in x:\dev\bos */ #define BOS_INFO_BOSHIDDEN 0x10000UL /** the device will not be visible in the x:\dev but will be in x:\dev\bos */ #define BOS_INFO_DEVHIDDEN 0x20000UL typedef struct { unsigned long flags; } __attribute__((packed)) bos_info_t; #endif /* _METADOS_H */ aranym-1.0.2/atari/nfstderr/metados_bos.h000077500000000000000000000040351242022243000203740ustar00rootroot00000000000000/* MetaDOS BOS driver definitions ARAnyM (C) 2003 Patrice Mandin This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef _METADOS_BOS_H #define _METADOS_BOS_H #include "metados.h" #define METADOS_BOSDEVICE_NAMELEN 32 typedef struct { long (*init)(metainit_t *metainit); long (*open)(metaopen_t *metaopen); long (*close)(void); long (*read)(void *buffer, unsigned long first, unsigned short length); long (*write)(void *buffer, unsigned long first, unsigned short length); long (*seek)(unsigned long offset); long (*status)(metastatus_t *extended_status); long (*ioctl)(unsigned long magic, unsigned short opcode, void *buffer); long (*function08)(void); long (*function09)(void); long (*function0a)(void); long (*startaudio)(unsigned short dummy, metatracks_t *tracks); long (*stopaudio)(void); long (*setsongtime)(unsigned short dummy, unsigned long start_msf, unsigned long end_msf); long (*gettoc)(unsigned short dummy, metatocentry_t *tocheader); long (*discinfo)(metadiscinfo_t *discinfo); } __attribute__((packed)) metados_bosfunctions_t; typedef struct { void *next; unsigned long attrib; unsigned short phys_letter; unsigned short dma_channel; unsigned short sub_device; metados_bosfunctions_t *functions; unsigned short status; unsigned long reserved[2]; char name[METADOS_BOSDEVICE_NAMELEN]; } __attribute__((packed)) metados_bosheader_t; #endif /* _METADOS_BOS_H */ aranym-1.0.2/atari/nfstderr/nfstderrbos.c000077500000000000000000000151751242022243000204320ustar00rootroot00000000000000/* NatFeat host NF_STDERR /dev/nfstderr, MetaDOS BOS driver ARAnyM (C) 2005 STanda Opichal This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ /*--- Include ---*/ #include #include #include "../natfeat/nf_ops.h" #include "metados_bos.h" /*--- Defines ---*/ #undef ENOSYS #define ENOSYS -32 #ifndef DEV_CONSOLE #define DEV_CONSOLE 2 #endif #define DRIVER_NAME "ARAnyM NF_STDERR driver" #define VERSION "v0.1" static const char device_name[METADOS_BOSDEVICE_NAMELEN]={ "nfstderr" }; /*--- Functions prototypes ---*/ void *init_driver(void); metados_bosheader_t *asm_init_devices(void); long asm_xopen(metaopen_t *metaopen); long asm_xclose(void); long asm_xread(void *buffer, unsigned long first, unsigned short length); long asm_xwrite(void *buffer, unsigned long first, unsigned short length); long asm_xseek(unsigned long offset); long asm_xstatus(metastatus_t *ext_status); long asm_xioctl(unsigned long magic, unsigned short opcode, void *buffer); long xopen(metados_bosheader_t *device, metaopen_t *metaopen); long xclose(metados_bosheader_t *device); long xread(metados_bosheader_t *device, void *buffer, unsigned long first, unsigned long length); long xwrite(metados_bosheader_t *device, void *buffer, unsigned long first, unsigned long length); long xseek(metados_bosheader_t *device, unsigned long offset); long xstatus(metados_bosheader_t *device, metastatus_t *ext_status); long xioctl(metados_bosheader_t *device, unsigned long magic, unsigned long opcode, void *buffer); metados_bosheader_t *init_devices(unsigned long phys_letter, unsigned long phys_channel); static void press_any_key(void); /*--- Local variables ---*/ unsigned long nf_stderr_id = 0; long __CDECL (*nf_call)(long id, ...) = 0UL; static metados_bosheader_t * (*device_init_f)(void)=asm_init_devices; /*--- Functions ---*/ void *init_driver(void) { struct nf_ops *nf_ops; Cconws( "\033p " DRIVER_NAME " " VERSION " \033q\r\n" "Copyright (c) ARAnyM Development Team, " __DATE__ "\r\n" ); /* Init the ID to 0 */ nf_stderr_id = 0; nf_ops = nf_init(); if ( ! nf_ops ) { Cconws("__NF cookie not present on this system\r\n"); press_any_key(); return &device_init_f; } nf_stderr_id = nf_ops->get_id("NF_STDERR"); if (nf_stderr_id == 0) { Cconws("NF_STDERR function not present on this system\r\n"); press_any_key(); return &device_init_f; } /* store the nf_call pointer for faster calls */ nf_call = nf_ops->call; return &device_init_f; } static void press_any_key(void) { Cconws("- Press any key to continue -\r\n"); Crawcin(); } metados_bosheader_t *init_devices(unsigned long phys_letter, unsigned long phys_channel) { unsigned char *newdevice; metados_bosheader_t *DefaultDevice; metados_bosfunctions_t *DefaultFunctions; if (nf_stderr_id == 0) { Cconws(" ARAnyM NF_STDERR device driver unavailable\r\n"); return (metados_bosheader_t *)-39; } newdevice = (unsigned char *)Malloc(sizeof(metados_bosheader_t)+sizeof(metados_bosfunctions_t)); if (newdevice == NULL) { return (metados_bosheader_t *)-39; } DefaultDevice = (metados_bosheader_t *) newdevice; DefaultFunctions = (metados_bosfunctions_t *) (newdevice + sizeof(metados_bosheader_t)); DefaultDevice->next=NULL; DefaultDevice->attrib=0; DefaultDevice->phys_letter=phys_letter; DefaultDevice->dma_channel=phys_channel; DefaultDevice->functions=DefaultFunctions; DefaultDevice->functions->init=(long (*)(metainit_t *metainit)) 0xffffffffUL; DefaultDevice->functions->open=asm_xopen; DefaultDevice->functions->close=asm_xclose; DefaultDevice->functions->read=asm_xread; DefaultDevice->functions->write=asm_xwrite; DefaultDevice->functions->seek=asm_xseek; DefaultDevice->functions->status=asm_xstatus; DefaultDevice->functions->ioctl=asm_xioctl; DefaultDevice->functions->function08=(long (*)(void)) 0xffffffffUL; DefaultDevice->functions->function09=(long (*)(void)) 0xffffffffUL; DefaultDevice->functions->function0a=(long (*)(void)) 0xffffffffUL; DefaultDevice->functions->startaudio=(void*)0xffffffffUL; DefaultDevice->functions->stopaudio=(void*)0xffffffffUL; DefaultDevice->functions->setsongtime=(void*)0xffffffffUL; DefaultDevice->functions->gettoc=(void*)0xffffffffUL; DefaultDevice->functions->discinfo=(void*)0xffffffffUL; DefaultDevice->status=0; strncpy(DefaultDevice->name, device_name, METADOS_BOSDEVICE_NAMELEN); return DefaultDevice; } long xopen(metados_bosheader_t *device, metaopen_t *metaopen) { metaopen->name = device->name; metaopen->reserved[0] = metaopen->reserved[1] = metaopen->reserved[2] = 0; return 0; } long xclose(metados_bosheader_t *device) { return 0; } long xread(metados_bosheader_t *device, void *buffer, unsigned long first, unsigned long length) { return 0; } long xwrite(metados_bosheader_t *device, void *buf, unsigned long first, unsigned long length) { char outb[2] = { '\0', '\0' }; long nwrite = 0; /** * WARNING: this driver doesn't expect the incomming data first/length * to be in bytes and NOT blocks of 2048 bytes as specified in the * .BOS API specification. * * This is to me an acceptable hack to create .BOS character device * drivers for BetaDOS. **/ unsigned long bytes = length; while (bytes > 0) { /* call host os to print the data */ /* byte by byte because of NF_STDERR operates with * char* as with a string and not a byte array * ('\0' would terminate the output) **/ outb[0] = ((char*)buf)[nwrite]; nf_call(nf_stderr_id, outb); nwrite++; bytes--; } return nwrite; } long xseek(metados_bosheader_t *device, unsigned long offset) { return 0; } long xstatus(metados_bosheader_t *device, metastatus_t *extended_status) { if (extended_status != NULL) { memset(extended_status, 0, sizeof(metastatus_t)); } return 0; } long xioctl(metados_bosheader_t *device, unsigned long magic, unsigned long opcode, void *buffer) { if (magic != METADOS_IOCTL_MAGIC) { return ENOSYS; } switch (opcode) { case METADOS_IOCTL_BOSINFO: /* this device is character device */ ((bos_info_t*)buffer)->flags = BOS_INFO_ISTTY; return 0; } return ENOSYS; } aranym-1.0.2/atari/sound/000077500000000000000000000000001242022243000152205ustar00rootroot00000000000000aranym-1.0.2/atari/sound/README000066400000000000000000000051451242022243000161050ustar00rootroot00000000000000********************************************************************** * MagiCMac Sound driver v0.96 * Didier MEQUIGNON * 2002 April * ********************************************************************** Features: --------- Emulation of Falcon's XBIOS, there are no matrix like the falcon in the MacOS system nevertheless it's possible to : - Play samples in 8/16 bits mono and stereo (with/without D2D). - Record 16 bits samples in stereo like the Falcon (with/without D2D). - Select the input source (the current input source when MagiCMac is started or the number one). - Connnect or remove the audio source to the audio output. - Set the level output on the two channels. - Set the gain input on the two channels. - Emulation on the selection of tracks (1 to 4). - FDI external clock selection compatible. - Extended functions added like the GSXB/MilanBlaster drivers, for example it's possible to choice the true frequency. The bit 5 of the _SND cookie is set. 24/32 bits and mixer are not supported, and only Mororola format is supported. With the CPX, you can change the audio source. Special Futures: ---------------- - This driver can runs on Hades ! The output is the YAMAHA or the MV16/PSOUND card. In this case audio input functions are removed. The Timer A of the MFP2 is used. - This driver can run on Aranym ! The driver use SDL calls inside Aranym. Record isn't possible. Install: -------- Under MagiCMac, just copy ZMAGXSND.PRG in the AUTO folder and restart MagiCMac, you can select the input audio source with the CPX. Under Hades, if you want the MV16 (on the Ropocop), PSOUND (// port), or the YAMAHA (internal) output, you need to select to select the audio output with the CPX. Under Aranym, just copy ZMAGXSND.PRG in the AUTO folder. You need Aranym 0.1.7 or more. Copying: -------- This program and sources are free. Problems: --------- Please contact me: didier.mequignon@wanadoo.fr List of sound XBIOS functions supported: ---------------------------------------- Locksound() XBIOS Function 128. Unlocksound() XBIOS Function 129. Soundcmd() XBIOS Function 130. Setbuffer() XBIOS Function 131. Setmode() XBIOS Function 132. Settracks() XBIOS Function 133. Setmontracks() XBIOS Function 134. Setinterrupt() XBIOS Function 135. Buffoper() XBIOS Function 136. Gpio() XBIOS Function 138. Just used for clock selection. Devconnect() XBIOS Function 139. Sndstatus() XBIOS Function 140. Buffptr() XBIOS Function 141. Some functions are not 100% compatible with GSXB/MilanBlaster because the way under MacOS with sound devices is different. aranym-1.0.2/atari/sound/zmagxsnd.l000066400000000000000000003237001242022243000172350ustar00rootroot00000000000000 ILABEL TOS.Q DEBUG EQU 0;0-1-2 GSXB EQU 1;cookie VERSION EQU $0061;$0063 max pour 0.99 INC EQU ADDQ #1, DEC EQU SUBQ #1, TAILLE_BUFFER EQU 256*4;8192*4 TAILLE_BUFFER_SDL EQU 1024*4 TAILLE_SOUND_HEADER EQU 64 NB_BUFFERS EQU 5 MAX_TAB EQU 8 LTATTEN EQU 0 RTATTEN EQU 1 LTGAIN EQU 2 RTGAIN EQU 3 ADDERIN EQU 4 ADCINPUT EQU 5 SETPRESCALE EQU 6 SETSMPFREQ EQU 7 ;>>> SDL <<< SDL_MIX_MAXVOLUME EQU 128 ;Audio format flags AUDIO_U8 EQU $0008 ;Unsigned 8-bit samples AUDIO_S8 EQU $8008 ;Signed 8-bit samples AUDIO_U16LSB EQU $0010 ;Unsigned 16-bit sample Intel AUDIO_S16LSB EQU $8010 ;Signed 16-bit samples Intel AUDIO_U16MSB EQU $1010 ;Unsigned 16-bit sample Motorola AUDIO_S16MSN EQU $9010 ;Signed 16-bit samples Motorola ;current audio state SDL_AUDIO_STOPPED EQU 0 SDL_AUDIO_PLAYING EQU 1 SDL_AUDIO_PAUSED EQU 2 ;Aranym audio functions OpenAudio EQU 1 CloseAudio EQU 2 PauseAudio EQU 3 AudioStatus EQU 4 AudioVolume EQU 5 LockAudio EQU 6 UnlockAudio EQU 7 GetAudioFreq EQU 8 GetAudioLen EQU 9 ;>>> MacOS <<< ;flags gestalt gestaltStereoCapability EQU 0 gestaltStereoMixing EQU 1 gestaltSoundIOMgrPresent EQU 3 gestaltBuiltInSoundInput EQU 4 gestaltHasSoundInputDevice EQU 5 gestaltPlayAndRecord EQU 6 gestalt16BitSoundIO EQU 7 gestaltStereoInput EQU 8 gestaltLineLevelInput EQU 9 gestaltSndPlayDoubleBuffer EQU 10 gestaltMultiChannels EQU 11 gestalt16BitAudioSupport EQU 12 ;Get&Set Sound Information Selectors siActiveChannels EQU 'chac' ;active channels siActiveLevels EQU 'lmac' ;active meter levels siAGCOnOff EQU 'agc ' ;automatic gain control state siAsync EQU 'asyn' ;asynchronous capability siAVDisplayBehavior EQU 'avdb' siChannelAvailable EQU 'chav' ;number of channels available siCompressionAvailable EQU 'cmav' ;compression types available siCompressionChannels EQU 'cpct' ;compressor's number of channels siCompressionFactor EQU 'cmfa' ;current compression factor siCompressionHeader EQU 'cmhd' ;return compression header siCompressionNames EQU 'cnam' ;compression type names available siCompressionParams EQU 'evaw' ;compression parameters siCompressionSampleRate EQU 'cprt' ;compressor's sample rate siCompressionType EQU 'comp' ;current compression type siContinuous EQU 'cont' ;continous recording siDecompressionParams EQU 'wave' ;decompression parameters siDeviceBufferInfo EQU 'dbin' ;size of interrupt buffer siDeviceConnected EQU 'dcon' ;input device connection status siDeviceIcon EQU 'icon' ;input device icon siDeviceName EQU 'name' ;input device name siEQSpectrumBands EQU 'eqsb' ;number of spectrum bands siEQSpectrumLevels EQU 'eqlv' ;gets spectum meter levels siEQSpectrumOnOff EQU 'eqlo' ;turn on/off spectum meter levels siEQSpectrumResolution EQU 'eqrs' ;set the resolution of the FFT, 0 = low res (<=16 bands), 1 = high res (16-64 bands) siEQToneControlGain EQU 'eqtg' ;set the bass and treble gain siEQToneControlOnOff EQU 'eqtc' ;turn on equalizer attenuation siHardwareBalance EQU 'hbal' siHardwareBalanceSteps EQU 'hbls' siHardwareBass EQU 'hbas' siHardwareBassSteps EQU 'hbst' siHardwareBusy EQU 'hwbs' ;sound hardware is in use siHardwareFormat EQU 'hwfm' ;get hardware format siHardwareMute EQU 'hmut' ;mute state of all hardware siHardwareMuteNoPrefs EQU 'hmnp' ;mute state of all hardware, but don't store in prefs siHardwareTreble EQU 'htrb' siHardwareTrebleSteps EQU 'hwts' siHardwareVolume EQU 'hvol' ;volume level of all hardware siHardwareVolumeSteps EQU 'hstp' ;number of volume steps for hardware siHeadphoneMute EQU 'pmut' ;mute state of headphones siHeadphoneVolume EQU 'pvol' ;volume level of headphones siHeadphoneVolumeSteps EQU 'hdst' ;number of volume steps for headphones siInputAvailable EQU 'inav' ;input sources available siInputGain EQU 'gain' ;input gain siInputSource EQU 'sour' ;input source selector siInputSourceNames EQU 'snam' ;input source names siLevelMeterOnOff EQU 'lmet' ;level meter state siModemGain EQU 'mgai' ;modem input gain siMonitorAvailable EQU 'mnav' siMonitorSource EQU 'mons' siNumberChannels EQU 'chan' ;current number of channels siOptionsDialog EQU 'optd' ;display options dialog siOSTypeInputSource EQU 'inpt' ;input source by OSType siOSTypeInputAvailable EQU 'inav' ;list of available input source OSTypes siOutputDeviceName EQU 'onam' ;output device name siPlayThruOnOff EQU 'plth' ;playthrough state siPostMixerSoundComponent EQU 'psmx' ;install post-mixer effect siPreMixerSoundComponent EQU 'prmx' ;install pre-mixer effect siQuality EQU 'qual' ;quality setting siRateMultiplier EQU 'rmul' ;throttle rate setting siRecordingQuality EQU 'qual' ;recording quality siSampleRate EQU 'srat' ;current sample rate siSampleRateAvailable EQU 'srav' ;sample rates available siSampleSize EQU 'ssiz' ;current sample size siSampleSizeAvailable EQU 'ssav' ;sample sizes available siSetupCDAudio EQU 'sucd' ;setup sound hardware for CD audio siSetupModemAudio EQU 'sumd' ;setup sound hardware for modem audio siSlopeAndIntercept EQU 'flap' ;floating point variables for conversion siSoundClock EQU 'sclk' siUseThisSoundClock EQU 'sclc' ;sdev uses this to tell the mixer to use his sound clock siSpeakerMute EQU 'smut' ;mute state of all built-in speaker siSpeakerVolume EQU 'svol' ;volume level of built-in speaker siSSpCPULoadLimit EQU '3dll' siSSpLocalization EQU '3dif' siSSpSpeakerSetup EQU '3dst' siStereoInputGain EQU 'sgai' ;stereo input gain siSubwooferMute EQU 'bmut' ;mute state of sub-woofer siTerminalType EQU 'ttyp' ;usb terminal type siTwosComplementOnOff EQU 'twos' ;two's complement state siVendorProduct EQU 'vpro' ;vendor and product ID siVolume EQU 'volu' ;volume level of source siVoxRecordInfo EQU 'voxr' ;VOX record parameters siVoxStopInfo EQU 'voxs' ;VOX stop parameters siWideStereo EQU 'wide' ;wide stereo setting siSupportedExtendedFlags EQU 'exfl' ;which flags are supported in Extended sound data structures siRateConverterRollOffSlope EQU 'rcdb' ;the roll-off slope for the rate converter's filter, in whole dB ; as a long this value is a long whose range is from 20 (worst quality/fastest performance) ; to 90 (best quality/slowest performance) siOutputLatency EQU 'olte' ;latency of sound output component ;commandes de SNDDOCOMMAND ou SNDDOIMMEDIATE NULLCMD EQU 0 ;do nothing QUIETCMD EQU 3 ;stop a sound that is playing FLUSHCMD EQU 4 ;flush a sound channel REINITCMD EQU 5 ;reinitialize a sound channel WAITCMD EQU 10 ;suspend processing in a channel PAUSECMD EQU 11 ;pause processing in a channel RESUMECMD EQU 12 ;resume processing in a channel CALLBACKCMD EQU 13 ;execute a callback procedure SYNCCMD EQU 14 ;synchronize channels AVAILABLECMD EQU 24 ;see if initialization options are supported VERSIONCMD EQU 25 ;determine version TOTALLOADCMD EQU 26 ;report total CPU load LOADCMD EQU 27 ;report CPU load for a new channel FREQDURATIONCMD EQU 40 ;play a note for a duration RESTCMD EQU 41 ;rest a channel for a duration FREQCMD EQU 42 ;change the pitch of a sound AMPCMD EQU 43 ;change the amplitude of a sound TIMBRECMD EQU 44 ;change the timbre of a sound GETAMPCMD EQU 45 ;get the amplitude of a sound VOLUMECMD EQU 46 ;set volume GETVOLUMECMD EQU 47 ;get volume WAVETABLECMD EQU 60 ;install a wave table as a voice SOUND_CMD EQU 80 ;install a sampled sound as a voice BUFFERCMD EQU 81 ;play a sampled sound RATECMD EQU 82 ;set the pitch of a sampled sound GETRATECMD EQU 85 ;get the pitch of a sampled sound ;CONST 1 de SNDNEWCHANNEL SQUAREWAVESYNTH EQU 1 WAVETABLESYNTH EQU 3 SAMPLEDSYNTH EQU 5 ;CONST 2 de SNDNEWCHANNEL INITCHANLEFT EQU 2 INITCHANRIGHT EQU 3 WAVEINITCHANNEL0 EQU 4 WAVEINITCHANNEL1 EQU 5 WAVEINITCHANNEL2 EQU 6 WAVEINITCHANNEL3 EQU 7 INITMONO EQU $80 INITSTEREO EQU $C0 INITMACE3 EQU $300 INITMACE6 EQU $400 INITNOINTERP EQU 4 INITNODROP EQU 8 ;structure SNDCHANNEL NEXTCHAN EQU 0;SndChannelPtr FIRSTMOD EQU 4 CALLBACK EQU 8;SndCallBackProcPtr USERINFO EQU 12 WAIT EQU 16 CMDINPROGRESS EQU 20;SndCommand FLAGS EQU 24 QLENGTH EQU 26 QHEAD EQU 28 QTAIL EQU 30 QUEUE EQU 32;SndCommand [128] ;structure INPARAMPTR _INREFNUM EQU 0; --> reference number of a sound input device _COUNTREC EQU 4; <--> number of bytes of recording _MILLISECONDS EQU 8; <--> number of milliseconds of recording _BUFFERLENGTH EQU 12; --> length of the buffer beginning at bufferPtr _BUFFERPTR EQU 16; --> pointer to a buffer for sampled-sound data _COMPLEXIONROUTINE EQU 20; --> pointer to a completion routine _INTERRUPTROUTINE EQU 24; --> pointer to an interrupt routine _USERLONG EQU 28; --> free for application's use _ERRORREC EQU 32; <-- word 1 during record, 0 if finished, < 0 if error VECT_TIMER_A EQU $134 VECT_IO7 EQU $13C MEMVALID EQU $420 RESVALID EQU $426 RESVECTOR EQU $42A PROC_TYPE EQU $59E _COOKIE EQU $5A0 ;Le cookie 'McSn' (sous n'importe quel version TOS) est une garantie, ;qu'on peut jouer des sons 12.5 KHz 8Bit Mono par les fonctions son ;XBIOS Falcon. ;Pour plus d'informations, il faut tester le cookie McSn: ; ; struct McSnCookie ; { ; short vers; Version en code BCD ; short size; Taille de la structure ; ; short play; Possibilits de lecture ; short record; Possibilits d'enregistrement ; short dsp; Y'a-t-il un DSP? ; short pint; Playing: Interrupt possible pour fin de Frame? ; short rint; Recording: Interrupt possible pour fin de Frame? ; ; long res1; rserv....... ; long res2; ; long res3; ; long res4; ; }; ; ;Valeurs pour play & record: ; #define ST 0 ; #define TT 1 ; #define FALCON 2 ; ;Valeurs pour play: ; ST -> 12.5 Khz, 8 Bit Mono! ; TT -> Frquences STE/TT, 8 Bit Stereo ; FALCON -> Frquences FALCON, 16 Bit Stereo ; ;Et pour record: ; ST -> Pas de possibilits d'enregistrement ; TT -> Pas de possibilits d'enregistrement ; FALCON -> Frquences FALCON, 16 Bit Stereo ; ;Voil quoi devraient resembler les tests pour play & record: ; if play >= FALCON then [Possibilits FALCON prsentes] ;Pour dsp, pint & rint: ; if pint!=0 then setinterrupt marche por la lecture. ;Sur tous le Macintosh avec MagiCMac: play = FALCON, ;sans regarder quelles possibilits sonores du Macintosh (mono/stereo ..), TIMER_OUTPUT:MACRO $\1,$\2,$\3,$\4 MOVE \1,-(SP);mode: B0:mono(0)/stro(1) B1:8 bits(0)/16 bits(1) ; B6:rptition non(0)/oui(1) MOVE \2,-(SP);frquence PEA \3;adresse chantillons MOVE.L \4,-(SP);longueur BSR TIMER_OUTPUT_ LEA 12(SP),SP ENDM DEBUT: MOVE.L 4(SP),A5;Dbut de la basepage MOVE.L $C(A5),D0 ADD.L $14(A5),D0 ADD.L $1C(A5),D0 ADD.L #256,D0 SETBLOCK D0,(A5) MOVE.L #"MgSn",D0 BSR GET_COOKIE BPL.S \1;dja install BSR INIT BMI.S \1;erreur KEEPPROC #0,#FIN-DEBUT+$200;programme rsidant \1:IFNE 0,DEBUG PRINTLINE DEBUG1 CONIN_WE ENDIF TERM RTS AFF_INFO: MOVEM.L D0-D2/A0-A2,-(SP) LINK A6,#-4 PRINTLINE MESS1 LEA -4(A6),A0 CLR.L (A0) MOVEQ #VERSION/256,D0 MOVEQ #2,D1 BSR CONV_DECI MOVE.B #".",-2(A6) PRINTLINE -4(A6) LEA -4(A6),A0 CLR.L (A0) MOVEQ #VERSION & 255,D0 MOVEQ #2,D1 BSR CONV_DECI_SIMPLE PRINTLINE -4(A6) PRINTLINE MESS2 TST D_MAC BNE \1;MagiCMac TST D_SDL BEQ \1 PRINTLINE MESS8 TST.L NFID_AUDIO BEQ \1;<> NATFEAT PRINTLINE MESS8B SUPEXEC SDL_VERSION MOVE D0,D2 LEA -4(A6),A0 CLR.L (A0) MOVEQ #0,D0 MOVE D2,D0 LSR #8,D0 MOVEQ #2,D1 BSR CONV_DECI MOVE.B #".",-2(A6) PRINTLINE -4(A6) LEA -4(A6),A0 CLR.L (A0) MOVEQ #0,D0 MOVE.B D2,D0 MOVEQ #2,D1 BSR CONV_DECI_SIMPLE PRINTLINE -4(A6) \1:UNLK A6 MOVEM.L (SP)+,D0-D2/A0-A2 RTS AFF_NUMVERSION: MOVEM.L D0-D1/A0,-(SP) SWAP D0 MOVE D0,D1 MOVE D1,D0 LSR #8,D0 AND #$F,D0 OR #$30,D0 CONOUT D0 CONOUT #"." MOVE D1,D0 LSR #4,D0 AND #$F,D0 OR #$30,D0 CONOUT D0 MOVEQ #$F,D0 AND D1,D0 OR #$30,D0 CONOUT D0 MOVEM.L (SP)+,D0-D1/A0 RTS AFF_NOM_LISTE:;index dans D0, chane dans A0 MOVEM.L D0-D1/A0-A1,-(SP) MOVE D0,D1 MOVE.L A0,A1 CONOUT #13 CONOUT #10 CONOUT #"<" OR #$30,D1 CONOUT D1 CONOUT #">" CONOUT #" " PRINTLINE (A1) CONOUT #" " MOVEM.L (SP)+,D0-D1/A0-A1 RTS CONV_CAR:;MAC => Atari MOVE.L A0,-(SP) LEA TAB_CAR_MAC,A0 \2:TST.B (A0)+ BEQ.S \1 CMP.B (A0)+,D0 BNE.S \2 MOVE.B -2(A0),D0 \1:MOVE.L (SP)+,A0 RTS CONV_CHAINE:;chane dans A0 MOVEM.L D0/D1/A0,-(SP) MOVE #255,D1 \1:MOVE.B (A0),D0 BSR CONV_CAR MOVE.B D0,(A0)+ DBEQ D1,\1 MOVEM.L (SP)+,D0/D1/A0 RTS INIT: MOVEM.L D0-D2/A0-A2/A5,-(SP) CLR D_MAC CLR D_TT CLR D_SDL MOVE.L #"_MCH",D0 BSR GET_COOKIE BMI.S \38 MOVE.L D0,A0 MOVE (A0),D0;donne cookie CMP #2,D0;TT SEQ.B D0 EXT.W D0 MOVE D0,D_TT \38:MOVE.L #"PSND",D0;carte son HADES BSR GET_COOKIE SPL.B D0 AND #1,D0;flag carte son HADES MOVE D0,INFOS_COOKIE+10;slot MOVE.L #"MgMc",D0 BSR GET_COOKIE BMI \39;<> MagiCMac ST.B D_MAC MOVE.L D0,A0 MOVE.L (A0),D0;donne cookie BEQ \1 MOVE.L D0,A2 MOVE.L $10(A2),MODEMAC MOVE.L $14(A2),MODEATARI MOVE.L $18(A2),GETBASEMODE MOVE.L $28(A2),CALLMACCONTEXT MOVE.L $2C(A2),ATARIZEROPAGE IFNE 0,DEBUG PRINTLINE DEBUG3 ENDIF LEA INFOS_SON_MAC,A0 MOVE.L #"snd ",D0 BSR GESTALT BEQ.S \5 PRINTLINE ERR2;pas de son MAC BRA \6 \5:IFNE 0,DEBUG MOVEM.L D0/D1/A0,-(SP) LINK A6,#-6 CLR -2(A6) LEA -6(A6),A0 MOVE.L INFOS_SON_MAC,D0 MOVEQ #5,D1 BSR CONV_DECI PRINTLINE -6(A6) UNLK A6 MOVEM.L (SP)+,D0/D1/A0 ENDIF MOVE.L INFOS_SON_MAC,D0 BTST #gestaltStereoCapability,D0 BNE.S \28 PRINTLINE ERR8;pas de lecture stro BRA \6 \28:BTST #gestalt16BitSoundIO,D0 BNE.S \29 PRINTLINE ERR9;pas de sons 16 bits BRA \6 \29:IFNE 0,DEBUG PRINTLINE DEBUG4 ENDIF LEA CHANNEL,A0 MOVE #128,QTAIL(A0) PEA (A0) LEA (SP),A0 MOVE.L A0,SNDCHANNELPTR2 MOVE.L #INITSTEREO,INITSND LEA CALLBACK16,A0 MOVE.L A0,SNDCALLBACKPROCPTR LEA SNDNEWCHANNEL,A0 BSR CALLMACFUNCTION ADDQ #4,SP BEQ \4 PRINTLINE ERR1;canal ne peut pas etre ouvert \6:CONIN_WE CONOUT #13 CONOUT #10 CONOUT #10 BRA \1 \39:SUPEXEC TEST_SDL_ARANYM CLR D_OPEN_SDL \4:MOVE.L #"MgSn",D0 BSR INIT_COOKIE BPL.S \3 \1:MOVEQ #-1,D0;erreur BRA \2 \3:MOVE.L D0,A0 LEA INFOS_COOKIE,A5 MOVE.L A5,(A0) MOVE.L #"McSn",D0 BSR INIT_COOKIE BMI.S \9;erreur MOVE.L D0,A0 LEA STRUCT_MCSN,A1 MOVE.L A1,(A0) \9:IFNE 0,DEBUG PRINTLINE DEBUG5 ENDIF IFNE 0,GSXB MOVE.L #"GSXB",D0 BSR GET_COOKIE BPL.S \12 MOVE.L #"GSXB",D0 BSR INIT_COOKIE \12: ENDIF MOVEQ #6+32,D1;tendu, 16-bit DMA & 8-bit DMA MOVE.L #"_SND",D0 BSR GET_COOKIE BMI.S \34;pas trouv MOVE.L D0,A0 MOVEQ #9,D0 AND.L (A0),D0;conserve bit PSG & DSP OR.L D0,D1 BRA.S \35 \34:MOVE.L #"_SND",D0 BSR INIT_COOKIE BMI.S \11;erreur \10:MOVE.L D0,A0 ; Bit 0: PSG soundchip ; Bit 1: 8-bit DMA ; Bit 2: 16-bit DMA ; Bit 3: DSP ; Bit 4: Matrix ; Bit 5: tendu \35:MOVE.L D1,(A0) IFNE 0,DEBUG PRINTLINE DEBUG2 ENDIF \11:TST D_MAC BEQ \36;<> MagiCMac LEA DET_FIN_SON,A0 MOVE.L $34(A2),-4(A0);MACAPPSWITCH MOVE.L A0,$34(A2) LEA TAB_BUFFERS,A2 MOVE #NB_BUFFERS-1,D2 \7:LEA TAILLE_SOUND_HEADER(A2),A0 MOVE.L A0,(A2)+;buffer samplePtr MOVE.L #2,(A2)+;numChannels CLR.L (A2)+;frquence * 65536 CLR.L (A2)+;loopStart CLR.L (A2)+;loopEnd MOVE #$FF00,(A2)+;encode (extSH), baseFrequency MOVE.L #TAILLE_BUFFER/4,(A2)+;numFrames CLR.L (A2)+;AIFFSampleRate sur 80 bits CLR.L (A2)+ CLR (A2)+ CLR.L (A2)+;markerChunk CLR.L (A2)+;instrumentChunks CLR.L (A2)+;AESRecording MOVE #16,(A2)+;sampleSize CLR (A2)+;futurUse1 CLR.L (A2)+;futurUse2 CLR.L (A2)+;futurUse3 CLR.L (A2)+;futurUse4 ADD.L #TAILLE_BUFFER,A2 DBRA D2,\7 LEA TAILLE_SOUND_HEADER(A2),A0 MOVE.L A0,(A2)+;buffer samplePtr MOVE.L #2,(A2)+;numChannels CLR.L (A2)+;frquence * 65536 CLR.L (A2)+;loopStart CLR.L (A2)+;loopEnd MOVE #$FF00,(A2)+;encode (extSH), baseFrequency MOVE.L #TAILLE_BUFFER/4,(A2)+;numFrames CLR.L (A2)+;AIFFSampleRate sur 80 bits CLR.L (A2)+ CLR (A2)+ CLR.L (A2)+;markerChunk CLR.L (A2)+;instrumentChunks CLR.L (A2)+;AESRecording MOVE #16,(A2)+;sampleSize CLR (A2)+;futurUse1 CLR.L (A2)+;futurUse2 CLR.L (A2)+;futurUse3 CLR.L (A2)+;futurUse4 MOVE.L #(TAILLE_BUFFER/4)-1,D1;numFrames -1 \8:CLR.L (A2)+;init buffer arrt son SUBQ.L #1,D1 BPL.S \8 BSR RAZ_BUFFERS \36:BSR INIT_DET BSR AFF_INFO TST D_MAC BEQ \16;<> MagiCMac IFNE 0,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG50 MOVEM.L (SP)+,D0/A0 ENDIF PRINTLINE MESS3 LEA SNDSOUNDMANAGERVERSION,A0 BSR CALLMACFUNCTION BSR AFF_NUMVERSION CLR NB_INDEV MOVE.L INFOS_SON_MAC,D0 ; BTST #gestaltSoundIOMgrPresent,D0 BTST #gestaltHasSoundInputDevice,D0 BNE.S \26 PRINTLINE ERR7;no input device BRA \16 \26:BTST #gestaltStereoInput,D0 BNE.S \27 PRINTLINE ERR10;pas d'enregistrement stro BRA \16 \27:IFEQ 2,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG126 MOVEM.L (SP)+,D0/A0 ENDIF PRINTLINE MESS4 LEA SPBVERSION,A0 BSR CALLMACFUNCTION BSR AFF_NUMVERSION PRINTLINE MESS5 MOVE #1,COUNT MOVEQ #MAX_TAB-1,D1 \13:IFEQ 2,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG124 MOVEM.L (SP)+,D0/A0 ENDIF LEA SPBGETINDEXEDDEVICE,A0 BSR CALLMACFUNCTION BNE \14 LEA DEVICENAME,A1 MOVEQ #0,D0 MOVE.B (A1)+,D0;format pascal CLR.B (A1,D0);fin chane MOVE.L A1,A0 BSR CONV_CHAINE MOVE COUNT,D0 BSR AFF_NOM_LISTE INC COUNT DBRA D1,\13 \14:MOVE COUNT,D0 DEC D0 MOVE D0,NB_INDEV BEQ.S \17 IFEQ 2,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG125 MOVEM.L (SP)+,D0/A0 ENDIF LEA SPBOPENDEVICE,A0 BSR CALLMACFUNCTION BEQ \15 \18:CLR NB_INDEV \17:PRINTLINE ERR3;erreur ouverture BRA \16 \22:PRINTLINE ERR4;pas de source BRA.S \25 \23:PRINTLINE ERR5;pas de stro BRA.S \25 \24:PRINTLINE ERR6;pas de 16 bits \25:IFEQ 2,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG127 MOVEM.L (SP)+,D0/A0 ENDIF LEA SPBCLOSEDEVICE,A0 BSR CALLMACFUNCTION BRA \18 \15:IFEQ 2,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG120 PRINTLINE DEBUG160 MOVEM.L (SP)+,D0/A0 ENDIF MOVE.L #siDeviceName,INFOTYPE LEA SPBGETDEVICEINFO,A0 BSR CALLMACFUNCTION BNE \18;erreur PRINTLINE MESS6 LEA INFODATA,A0 MOVEQ #0,D0 MOVE.B (A0)+,D0;format pascal CLR.B (A0,D0);fin chane BSR CONV_CHAINE PRINTLINE (A0) IFEQ 2,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG150 MOVEM.L (SP)+,D0/A0 ENDIF MOVE.L #siInputSource,INFOTYPE LEA SPBGETDEVICEINFO,A0 BSR CALLMACFUNCTION BNE \22;erreur MOVE INFODATA,D0 MOVE D0,INSOURCE MOVE D0,4(A5) IFEQ 2,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG159 MOVEM.L (SP)+,D0/A0 ENDIF CLR NB_SOURCES LEA TAB_SOURCENAME,A2 CLR.B (A2);fin tableau MOVE.L #siInputSourceNames,INFOTYPE LEA SPBGETDEVICEINFO,A0 BSR CALLMACFUNCTION BNE \30;erreur LEA INFODATA,A0 MOVE.L (A0),A0;Handle MOVE.L (A0),A1 MOVE (A1)+,D1 MOVE D1,NB_SOURCES MOVE D1,2(A5) DEC D1 BMI \30 PRINTLINE MESS7 MOVEQ #1,D3 CMP #MAX_TAB,D1 BCS.S \31 MOVEQ #MAX_TAB,D1 \31:MOVEQ #0,D2 MOVE.B (A1)+,D2;format pascal MOVE.L A2,A0 MOVE D2,D0 DEC D0 BMI.S \32 MOVE.L A2,A0 \33:MOVE.B (A1)+,(A2)+ DBRA D0,\33 CLR.B (A2)+ BSR CONV_CHAINE MOVE D3,D0 BSR AFF_NOM_LISTE CMP INSOURCE,D3 BNE.S \32 CONOUT #"<" CONOUT #"-" \32:INC D3 DBRA D1,\31 CLR.B (A2);fin tableau \30:IFEQ 2,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG151 MOVEM.L (SP)+,D0/A0 ENDIF MOVE.L #siAsync,INFOTYPE LEA SPBGETDEVICEINFO,A0 BSR CALLMACFUNCTION BNE \25;erreur TST INFODATA BEQ \25;<> asynchronous IFEQ 2,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG152 MOVEM.L (SP)+,D0/A0 ENDIF MOVE.L #siNumberChannels,INFOTYPE LEA SPBGETDEVICEINFO,A0 BSR CALLMACFUNCTION BNE \23;erreur CMP #2,INFODATA BCS \23 IFEQ 2,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG153 MOVEM.L (SP)+,D0/A0 ENDIF MOVE.L #siSampleSize,INFOTYPE LEA SPBGETDEVICEINFO,A0 BSR CALLMACFUNCTION BNE \24;erreur CMP #16,INFODATA BCS \24 IFEQ 2,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG154 MOVEM.L (SP)+,D0/A0 ENDIF MOVE.L #siSampleRateAvailable,INFOTYPE LEA SPBGETDEVICEINFO,A0 BSR CALLMACFUNCTION BNE \25 LEA INFODATA,A0 MOVE (A0)+,D0;count CMP #16,D0 BCS.S \19 MOVEQ #16,D0 \19:MOVE D0,NB_FREQ_REC BNE.S \20;liste frquences enregistrement supportes MOVEQ #2,D0;mini et maxi frquences enregistrement supports \20:MOVE.L (A0),A0;Handle MOVE.L (A0),A0 LEA TAB_FREQ_REC,A1 DEC D0 \21:MOVE.L (A0)+,(A1)+ DBRA D0,\21 IFEQ 2,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG121 PRINTLINE DEBUG152 MOVEM.L (SP)+,D0/A0 ENDIF MOVE #2,INFODATA;2 voies MOVE.L #siNumberChannels,INFOTYPE LEA SPBSETDEVICEINFO,A0 BSR CALLMACFUNCTION BNE \25;erreur IFEQ 2,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG153 MOVEM.L (SP)+,D0/A0 ENDIF MOVE #16,INFODATA;16 bits MOVE.L #siSampleSize,INFOTYPE LEA SPBSETDEVICEINFO,A0 BSR CALLMACFUNCTION BNE \25;erreur IFEQ 2,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG155 MOVEM.L (SP)+,D0/A0 ENDIF MOVE.L #"NONE",INFODATA MOVE.L #siCompressionType,INFOTYPE LEA SPBSETDEVICEINFO,A0 BSR CALLMACFUNCTION BNE \25;erreur IFEQ 2,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG156 MOVEM.L (SP)+,D0/A0 ENDIF MOVE #1,INFODATA;chantillons signs MOVE.L #siTwosComplementOnOff,INFOTYPE LEA SPBSETDEVICEINFO,A0 BSR CALLMACFUNCTION BNE \25;erreur IFEQ 2,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG157 MOVEM.L (SP)+,D0/A0 ENDIF MOVE #7,INFODATA MOVE.L #siPlayThruOnOff,INFOTYPE LEA SPBSETDEVICEINFO,A0 BSR CALLMACFUNCTION BNE \25;erreur SOUNDCMD #-1,#LTGAIN;init GAINS SOUNDCMD #-1,#RTGAIN \16:TST NB_INDEV BNE.S \37 CLR STRUCT_MCSN+6;record ST (impossible) \37:CONOUT #13 CONOUT #10 CONOUT #10 MOVEQ #0,D0 \2:MOVEM.L (SP)+,D0-D2/A0-A2/A5 RTS INIT_DET: MOVEM.L D0-D2/A0-A2,-(SP) CLR NB_INDEV CLR FLAG_ARRET MOVEQ #2,D0 MOVE D0,NB_VOIES MOVE D0,OCT_ECH;8 bits stro CLR PRESCALE CLR PRESCALE_STE CLR HORLOGE CLR HORLOGE2 CLR NB_TRACKS CLR NB_TRACKS_REC CLR TRACK CLR.L INTH_ADDR;routine appele en fin lecture buffer DMA CLR.L INTH_ADDR_REC;routine appele en fin enregistrement buffer DMA CLR CAUSE_INTER;setinterrupt CLR D_TIMER_A CLR D_IO7 CLR COUNT_TIMER_A CLR D_INIT_TIMER_A SETEXEC DET_BIOS,#45;TRAP #13 MOVE.L D0,DET_BIOS-4 SETEXEC DET_XBIOS,#46;TRAP #14 MOVE.L D0,DET_XBIOS-4 MOVEM.L (SP)+,D0-D2/A0-A2 RTS DC.L "XBRA" DC.L "MgSn" DC.L 0 CALLBACK16_SDL: MOVEM.L D0-A6,-(SP) MOVE D_INTEL_SDL,-(SP) TST D_OPEN_SDL BEQ \1 BTST #0,STATUS+1 BEQ.S \78;arrt lecture BSR SDL_AUDIOSTATUS CMP #SDL_AUDIO_PLAYING,D0 BEQ.S \71 \78:AND #$FFFC,STATUS;arrt lecture DMA BSR SDL_CLOSEAUDIO CLR D_OPEN_SDL BRA \1 \71:BTST #0,STATUS+1 BEQ \1;arrt lecture BSR SDL_LOCKAUDIO BSR SDL_GETAUDIOLEN MOVE.L D0,D3;taille buffer cible LEA TAB_BUFFERS,A2;cible dbut MOVE.L A2,A1;adresse chantillons cible ADD.L D3,A1;adresse de fin cible MOVE.L ADR,A0;adresse source MOVE.L ADR_FIN,A6;fin source => changement de buffer D2D MOVE.L FREQUENCE,D6;frquence source MOVE.L FREQ_LECT,D7;frquence cible CMP.L D6,D7 BEQ \8;frquences identiques => pas de rchantillonnage CMP #2,NB_VOIES BEQ \45;stro CMP #2,OCT_ECH BEQ \58;16 bits mono ;8 bits mono ADD TRACK,A0 MOVE NB_TRACKS,A5 CMP.L D6,D7 BCS \35;diminution de la longueur ;cas ou frquence cible > frquence source ; => augmentation de la longueur MOVEQ #0,D0 MOVE.L D6,D1;frquence source LSR.L #1,D1 ROXR.L #1,D0 MOVE.L D7,D2;rapport = frquence source * 2^31 / frquence cible JSR DIV64_32S ADD.L D0,D0;*2 => 2^31 sinon pb signe MOVEQ #0,D1 MOVE NB_TRACKS,D1;0-3 INC D1 JSR MUL32_32 MOVE.L D0,D1;pas MOVEQ #0,D2 MOVEQ #0,D3 \33:MOVE.L A0,A3;adresse dbut source ADD.L D3,A3 MOVE.B (A3)+,D6;chantillon 8 bits x(n) ASL #8,D6 MOVE.L D2,D0 SWAP D0 LSR #1,D0;1-32767 BEQ.S \32 ADD A5,A3 MOVE.B (A3)+,D7;chantillon 8 bits mono x(n+1) ASL #8,D7 MULS D0,D7 NEG D0 BCLR #15,D0;1-32767 MULS D0,D6 ADD.L D7,D6 ADD.L D6,D6 SWAP D6 \32:CMP.L A6,A3 BCC.S \31;fin buffer \34:TST (SP) BPL.S \59 ROR #8,D6;format Intel \59:MOVE D6,(A2)+;lecture en 16 bits stro MOVE D6,(A2)+ MOVEQ #0,D0 ADD.L D1,D2;pas ADDX.L D0,D3 CMP.L A1,A2 BCS.S \33 BRA \6 \31:ADD A5,A3 MOVE.L A3,ADR BTST #1,STATUS+1 BEQ \5;lecture sans rptition BSR SWAP_ADR MOVE.L ADR_DEBUT,A0 ADD TRACK,A0 MOVE.L ADR_FIN,A6 BRA.S \34 ;cas ou frquence cible < frquence source ; => diminution de la longueur \35:MOVEQ #0,D0 MOVE.L D6,D1;frquence source MOVE.L D7,D2 ASL.L #8,D2;rapport = frquence source * 2^31 / frquence cible * 2^8 JSR DIV64_32S MOVE.L D0,D1 ASL.L #8,D0 ROL.L #8,D1 AND.L #$FF,D1;poids fort JSR MUL64_TRACKS MOVE.L D0,A4;poids faible MOVEQ #0,D2 MOVEQ #0,D3 \37:MOVE.L A0,A3;adresse dbut source ADD.L D3,A3 MOVE.B (A3)+,D6;chantillon 8 bits mono x(n) ASL #8,D6 MOVE.L D2,D0 SWAP D0 LSR #1,D0;1-32767 BEQ.S \38 ADD A5,A3 MOVE.B (A3)+,D7;chantillon 8 bits mono x(n+1) ASL #8,D7 MULS D0,D7 NEG D0 BCLR #15,D0;1-32767 MULS D0,D6 ADD.L D7,D6 ADD.L D6,D6 SWAP D6 \38:CMP.L A6,A3 BCC.S \39;fin buffer \36:TST (SP) BPL.S \60 ROR #8,D6;format Intel \60:MOVE D6,(A2)+;lecture en 16 bits stro MOVE D6,(A2)+ ADD.L A4,D2;pas ADDX.L D1,D3 CMP.L A1,A2 BCS.S \37 BRA \6 \39:ADD A5,A3 MOVE.L A3,ADR BTST #1,STATUS+1 BEQ \5;lecture sans rptition BSR SWAP_ADR MOVE.L ADR_DEBUT,A0 ADD TRACK,A0 MOVE.L ADR_FIN,A6 BRA \36 ;pas de rchantillonnage \8:LSR.L #2,D3;/4 CMP #2,NB_VOIES BEQ \44;stro CMP #2,OCT_ECH BEQ \43;16 bits mono ADD TRACK,A0 MOVE NB_TRACKS,A5 TST (SP) BMI \61;format Intel BRA \40 \41:CMP.L A6,A0 BCC.S \42;fin de buffer MOVE.B (A0)+,D6 ADD A5,A0 ASL #8,D6 MOVE D6,(A2)+;lecture en 16 bits stro MOVE D6,(A2)+ \40:SUBQ.L #1,D3 BPL.S \41 BRA \6 \42:MOVE.L A0,ADR BTST #1,STATUS+1 BEQ \5;lecture sans rptition BSR SWAP_ADR MOVE.L ADR_DEBUT,A0 ADD TRACK,A0 MOVE.L ADR_FIN,A6 BRA.S \41 \76:CMP.L A6,A0 BCC.S \77;fin de buffer MOVE.B (A0)+,D6 ADD A5,A0 ASL #8,D6 ROR #8,D6;format Intel MOVE D6,(A2)+;lecture en 16 bits stro MOVE D6,(A2)+ \61:SUBQ.L #1,D3 BPL.S \76 BRA \6 \77:MOVE.L A0,ADR BTST #1,STATUS+1 BEQ \5;lecture sans rptition BSR SWAP_ADR MOVE.L ADR_DEBUT,A0 ADD TRACK,A0 MOVE.L ADR_FIN,A6 BRA.S \76 ;8 bits stro \45:CMP #4,OCT_ECH BEQ \17;16 bits stro MOVE TRACK,D1 ADD D1,A0 ADD D1,A0 MOVE NB_TRACKS,A5 ADD A5,A5 CMP.L D6,D7 BCS \46;diminution de la longueur ;cas ou frquence cible > frquence source ; => augmentation de la longueur MOVEQ #0,D0 MOVE.L D6,D1;frquence source LSR.L #1,D1 ROXR.L #1,D0 MOVE.L D7,D2;rapport = frquence source * 2^31 / frquence cible JSR DIV64_32S ADD.L D0,D0;*2 => 2^31 sinon pb signe MOVEQ #0,D1 MOVE NB_TRACKS,D1 INC D1 JSR MUL32_32 MOVE.L D0,D1 MOVEQ #0,D2 MOVEQ #0,D3 \49:MOVE.L A0,A3;adresse dbut source ADD.L D3,A3 ADD.L D3,A3 MOVE.B (A3)+,D6;chantillon 8 bits voie gauche x(n) MOVE.B (A3)+,D4;chantillon 8 bits voie droite x(n) ASL #8,D6 ASL #8,D4 MOVE.L D2,D0 SWAP D0 LSR #1,D0;1-32767 BEQ.S \50 ADD A5,A3 MOVE.B (A3)+,D7;chantillon 8 bits voie gauche x(n+1) MOVE.B (A3)+,D5;chantillon 8 bits voie droite x(n+1) ASL #8,D7 ASL #8,D5 MULS D0,D7 MULS D0,D5 NEG D0 BCLR #15,D0;1-32767 MULS D0,D6 MULS D0,D4 ADD.L D7,D6 ADD.L D5,D4 ADD.L D6,D6 ADD.L D4,D4 SWAP D6 SWAP D4 \50:CMP.L A6,A3 BCC.S \48;fin buffer \47:TST (SP) BPL.S \62 ROR #8,D6;format Intel ROR #8,D4 \62:MOVE D6,(A2)+;lecture en 16 bits stro MOVE D4,(A2)+ MOVEQ #0,D0 ADD.L D1,D2;pas ADDX.L D0,D3 CMP.L A1,A2 BCS.S \49 BRA \6 \48:ADD A5,A3 MOVE.L A3,ADR BTST #1,STATUS+1 BEQ \5;lecture sans rptition BSR SWAP_ADR MOVE.L ADR_DEBUT,A0 MOVE TRACK,D0 ASL #1,D0 ADD D0,A0 MOVE.L ADR_FIN,A6 BRA.S \47 ;cas ou frquence cible < frquence source ; => diminution de la longueur \46:MOVEQ #0,D0 MOVE.L D6,D1;frquence source MOVE.L D7,D2 ASL.L #8,D2;rapport = frquence source * 2^31 / frquence cible * 2^8 JSR DIV64_32S MOVE.L D0,D1 ASL.L #8,D0 ROL.L #8,D1 AND.L #$FF,D1;poids fort JSR MUL64_TRACKS MOVE.L D0,A4;poids faible MOVEQ #0,D2 MOVEQ #0,D3 \53:MOVE.L A0,A3;adresse dbut source ADD.L D3,A3 ADD.L D3,A3 MOVE.B (A3)+,D6;chantillon 8 bits voie gauche x(n) MOVE.B (A3)+,D4;chantillon 8 bits voie droite x(n) ASL #8,D6 ASL #8,D4 MOVE.L D2,D0 SWAP D0 LSR #1,D0;1-32767 BEQ.S \54 ADD A5,A3 MOVE.B (A3)+,D7;chantillon 8 bits voie gauche x(n+1) MOVE.B (A3)+,D5;chantillon 8 bits voie droite x(n+1) ASL #8,D7 ASL #8,D5 MULS D0,D7 MULS D0,D5 NEG D0 BCLR #15,D0;1-32767 MULS D0,D6 MULS D0,D4 ADD.L D7,D6 ADD.L D5,D4 ADD.L D6,D6 ADD.L D4,D4 SWAP D6 SWAP D4 \54:CMP.L A6,A3 BCC.S \52;fin buffer \51:TST (SP) BPL.S \63 ROR #8,D6;format Intel ROR #8,D4 \63:MOVE D6,(A2)+;lecture en 16 bits stro MOVE D4,(A2)+ ADD.L A4,D2;pas ADDX.L D1,D3 CMP.L A1,A2 BCS.S \53 BRA \6 \52:ADD A5,A3 MOVE.L A3,ADR BTST #1,STATUS+1 BEQ \5;lecture sans rptition BSR SWAP_ADR MOVE.L ADR_DEBUT,A0 MOVE TRACK,D0 ASL #1,D0 ADD D0,A0 MOVE.L ADR_FIN,A6 BRA \51 ;pas de rchantillonnage \44:CMP #4,OCT_ECH BEQ \27;16 bits stro MOVE TRACK,D1 ADD D1,A0 ADD D1,A0 MOVE NB_TRACKS,A5 ADD A5,A5 TST (SP) BMI \64;format Intel BRA \56 \55:CMP.L A6,A0 BCC.S \57;fin de buffer MOVE.B (A0)+,D6 MOVE.B (A0)+,D4 ADD A5,A0 ASL #8,D6 ASL #8,D4 MOVE D6,(A2)+;lecture en 16 bits stro MOVE D4,(A2)+ \56:SUBQ.L #1,D3 BPL.S \55 BRA \6 \57:MOVE.L A0,ADR BTST #1,STATUS+1 BEQ \5;lecture sans rptition BSR SWAP_ADR MOVE.L ADR_DEBUT,A0 MOVE TRACK,D0 ASL #1,D0 ADD D0,A0 MOVE.L ADR_FIN,A6 BRA.S \55 \74:CMP.L A6,A0 BCC.S \75;fin de buffer MOVE.B (A0)+,D6 MOVE.B (A0)+,D4 ADD A5,A0 ASL #8,D6 ASL #8,D4 ROR #8,D6;format Intel ROR #8,D4 MOVE D6,(A2)+;lecture en 16 bits stro MOVE D4,(A2)+ \64:SUBQ.L #1,D3 BPL.S \74 BRA \6 \75:MOVE.L A0,ADR BTST #1,STATUS+1 BEQ \5;lecture sans rptition BSR SWAP_ADR MOVE.L ADR_DEBUT,A0 MOVE TRACK,D0 ASL #1,D0 ADD D0,A0 MOVE.L ADR_FIN,A6 BRA.S \74 ;16 bits mono \58:MOVE TRACK,D1 ADD D1,A0 ADD D1,A0 MOVE NB_TRACKS,A5 ADD A5,A5 CMP.L D6,D7 BCS \22;diminution de la longueur ;cas ou frquence cible > frquence source ; => augmentation de la longueur MOVEQ #0,D0 MOVE.L D6,D1;frquence source LSR.L #1,D1 ROXR.L #1,D0 MOVE.L D7,D2;rapport = frquence source * 2^31 / frquence cible JSR DIV64_32S ADD.L D0,D0;*2 => 2^31 sinon pb signe MOVEQ #0,D1 MOVE NB_TRACKS,D1 INC D1 JSR MUL32_32 MOVE.L D0,D1 MOVEQ #0,D2 MOVEQ #0,D3 \19:MOVE.L A0,A3;adresse dbut source ADD.L D3,A3 ADD.L D3,A3 MOVE (A3)+,D6;chantillon 16 bits x(n) MOVE.L D2,D0 SWAP D0 LSR #1,D0;1-32767 BEQ.S \20 ADD A5,A3 MOVE (A3)+,D7;chantillon 16 bits mono x(n+1) MULS D0,D7 NEG D0 BCLR #15,D0;1-32767 MULS D0,D6 ADD.L D7,D6 ADD.L D6,D6 SWAP D6 \20:CMP.L A6,A3 BCC.S \21;fin buffer \18:TST (SP) BPL.S \65 ROR #8,D6;format Intel \65:MOVE D6,(A2)+;lecture en 16 bits stro MOVE D6,(A2)+ MOVEQ #0,D0 ADD.L D1,D2;pas ADDX.L D0,D3 CMP.L A1,A2 BCS.S \19 BRA \6 \21:ADD A5,A3 MOVE.L A3,ADR BTST #1,STATUS+1 BEQ \5;lecture sans rptition BSR SWAP_ADR MOVE.L ADR_DEBUT,A0 MOVE TRACK,D0 ASL #1,D0 ADD D0,A0 MOVE.L ADR_FIN,A6 BRA.S \18 ;cas ou frquence cible < frquence source ; => diminution de la longueur \22:MOVEQ #0,D0 MOVE.L D6,D1;frquence source MOVE.L D7,D2 ASL.L #8,D2;rapport = frquence source * 2^31 / frquence cible * 2^8 JSR DIV64_32S MOVE.L D0,D1 ASL.L #8,D0 ROL.L #8,D1 AND.L #$FF,D1;poids fort JSR MUL64_TRACKS MOVE.L D0,A4;poids faible MOVEQ #0,D2 MOVEQ #0,D3 \23:MOVE.L A0,A3;adresse dbut source ADD.L D3,A3 ADD.L D3,A3 MOVE (A3)+,D6;chantillon 16 bits mono x(n) MOVE.L D2,D0 SWAP D0 LSR #1,D0;1-32767 BEQ.S \24 ADD A5,A3 MOVE (A3)+,D7;chantillon 16 bits mono x(n+1) MULS D0,D7 NEG D0 BCLR #15,D0;1-32767 MULS D0,D6 ADD.L D7,D6 ADD.L D6,D6 SWAP D6 \24:CMP.L A6,A3 BCC.S \25;fin buffer \26:TST (SP) BPL.S \66 ROR #8,D6;format Intel \66:MOVE D6,(A2)+;lecture en 16 bits streo MOVE D6,(A2)+ ADD.L A4,D2;pas ADDX.L D1,D3 CMP.L A1,A2 BCS.S \23 BRA \6 \25:ADD A5,A3 MOVE.L A3,ADR BTST #1,STATUS+1 BEQ \5;lecture sans rptition BSR SWAP_ADR MOVE.L ADR_DEBUT,A0 MOVE TRACK,D0 ASL #1,D0 ADD D0,A0 MOVE.L ADR_FIN,A6 BRA \26 ;pas de rchantillonnage \43:MOVE TRACK,D1 ADD D1,A0 ADD D1,A0 MOVE NB_TRACKS,A5 ADD A5,A5 BRA.S \28 \29:CMP.L A6,A0 BCC.S \30;fin de buffer MOVE (A0)+,D6 ADD A5,A0 TST (SP) BPL.S \67 ROR #8,D6;format Intel \67:MOVE D6,(A2)+;lecture en 16 bits streo MOVE D6,(A2)+ \28:SUBQ.L #1,D3 BPL.S \29 BRA \6 \30:MOVE.L A0,ADR BTST #1,STATUS+1 BEQ \5;lecture sans rptition BSR SWAP_ADR MOVE.L ADR_DEBUT,A0 MOVE TRACK,D0 ASL #1,D0 ADD D0,A0 MOVE.L ADR_FIN,A6 BRA.S \29 ;16 bits stro \17:MOVE TRACK,D1 ASL #2,D1 ADD D1,A0 MOVE NB_TRACKS,D1 ASL #2,D1 MOVE D1,A5 CMP.L D6,D7 BCS \11;diminution de la longueur ;cas ou frquence cible > frquence source ; => augmentation de la longueur MOVEQ #0,D0 MOVE.L D6,D1;frquence source LSR.L #1,D1 ROXR.L #1,D0 MOVE.L D7,D2;rapport = frquence source * 2^31 / frquence cible JSR DIV64_32S ADD.L D0,D0;*2 => 2^31 sinon pb signe MOVEQ #0,D1 MOVE NB_TRACKS,D1 INC D1 JSR MUL32_32 MOVE.L D0,D1 MOVEQ #0,D2 MOVEQ #0,D3 \9:MOVE.L A0,A3;adresse dbut source ADD.L D3,A3 ADD.L D3,A3 ADD.L D3,A3 ADD.L D3,A3 MOVE (A3)+,D6;chantillon 16 bits voie gauche x(n) MOVE (A3)+,D4;chantillon 16 bits voie droite x(n) MOVE.L D2,D0 SWAP D0 LSR #1,D0;1-32767 BEQ.S \10 ADD A5,A3 MOVE (A3)+,D7;chantillon 16 bits voie gauche x(n+1) MOVE (A3)+,D5;chantillon 16 bits voie droite x(n+1) MULS D0,D7 MULS D0,D5 NEG D0 BCLR #15,D0;1-32767 MULS D0,D6 MULS D0,D4 ADD.L D7,D6 ADD.L D5,D4 ADD.L D6,D6 ADD.L D4,D4 SWAP D6 SWAP D4 \10:CMP.L A6,A3 BCC.S \12;fin buffer \16:TST (SP) BPL.S \68 ROR #8,D6;format Intel ROR #8,D4 \68:MOVE D6,(A2)+;lecture en 16 bits stro MOVE D4,(A2)+ MOVEQ #0,D0 ADD.L D1,D2;pas ADDX.L D0,D3 CMP.L A1,A2 BCS.S \9 BRA \6 \12:ADD A5,A3 MOVE.L A3,ADR BTST #1,STATUS+1 BEQ \5;lecture sans rptition BSR SWAP_ADR MOVE.L ADR_DEBUT,A0 MOVE TRACK,D0 ASL #2,D0 ADD D0,A0 MOVE.L ADR_FIN,A6 BRA.S \16 ;cas ou frquence cible < frquence source ; => diminution de la longueur \11:MOVEQ #0,D0 MOVE.L D6,D1;frquence source MOVE.L D7,D2 ASL.L #8,D2;rapport = frquence source * 2^31 / frquence cible * 2^8 JSR DIV64_32S MOVE.L D0,D1 ASL.L #8,D0 ROL.L #8,D1 AND.L #$FF,D1;poids fort JSR MUL64_TRACKS MOVE.L D0,A4;poids faible MOVEQ #0,D2 MOVEQ #0,D3 \13:MOVE.L A0,A3;adresse dbut source ADD.L D3,A3 ADD.L D3,A3 ADD.L D3,A3 ADD.L D3,A3 MOVE (A3)+,D6;chantillon 16 bits voie gauche x(n) MOVE (A3)+,D4;chantillon 16 bits voie droite x(n) MOVE.L D2,D0 SWAP D0 LSR #1,D0;1-32767 BEQ.S \14 ADD A5,A3 MOVE (A3)+,D7;chantillon 16 bits voie gauche x(n+1) MOVE (A3)+,D5;chantillon 16 bits voie droite x(n+1) MULS D0,D7 MULS D0,D5 NEG D0 BCLR #15,D0;1-32767 MULS D0,D6 MULS D0,D4 ADD.L D7,D6 ADD.L D5,D4 ADD.L D6,D6 ADD.L D4,D4 SWAP D6 SWAP D4 \14:CMP.L A6,A3 BCC.S \15;fin buffer \3:TST (SP) BPL.S \69 ROR #8,D6;format Intel ROR #8,D4 \69:MOVE D6,(A2)+;lecture en 16 bits stro MOVE D4,(A2)+ ADD.L A4,D2;pas ADDX.L D1,D3 CMP.L A1,A2 BCS.S \13 BRA \6 \15:ADD A5,A3 MOVE.L A3,ADR BTST #1,STATUS+1 BEQ \5;lecture sans rptition BSR SWAP_ADR MOVE.L ADR_DEBUT,A0 MOVE TRACK,D0 ASL #2,D0 ADD D0,A0 MOVE.L ADR_FIN,A6 BRA \3 ;pas de rchantillonnage \27:MOVE TRACK,D1 ASL #2,D1 ADD D1,A0 MOVE NB_TRACKS,D1 ASL #2,D1 MOVE D1,A5 TST (SP) BMI.S \72;format Intel BRA.S \4 \2:CMP.L A6,A0 BCC.S \7;fin de buffer MOVE.L (A0)+,(A2)+;lecture en 16 bits str ADD A5,A0 \4:SUBQ.L #1,D3 BPL.S \2 BRA \6 \7:MOVE.L A0,ADR BTST #1,STATUS+1 BEQ.S \5;lecture sans rptition BSR SWAP_ADR MOVE.L ADR_DEBUT,A0 MOVE TRACK,D0 ASL #2,D0 ADD D0,A0 MOVE.L ADR_FIN,A6 BRA.S \2 \70:CMP.L A6,A0 BCC.S \73;fin de buffer MOVEM (A0)+,D4/D6 ADD A5,A0 ROR #8,D4;format Intel ROR #8,D6 MOVE D4,(A2)+;lecture en 16 bits stro MOVE D6,(A2)+ \72:SUBQ.L #1,D3 BPL.S \70 BRA.S \6 \73:MOVE.L A0,ADR BTST #1,STATUS+1 BEQ.S \5;lecture sans rptition BSR SWAP_ADR MOVE.L ADR_DEBUT,A0 MOVE TRACK,D0 ASL #2,D0 ADD D0,A0 MOVE.L ADR_FIN,A6 BRA.S \70 \5:AND #$FFFC,STATUS;arrt lecture DMA BSR SDL_UNLOCKAUDIO MOVEQ #0,D0 BSR ENDSOUND BSR SDL_CLOSEAUDIO CLR D_OPEN_SDL MOVE.L ADR_FIN,ADR ADDQ.L #1,COMPT_BLOC BRA.S \1 \6:MOVE.L A0,ADR ADDQ.L #1,COMPT_BLOC BSR SDL_UNLOCKAUDIO \1:ADDQ #2,SP MOVEM.L (SP)+,D0-A6 RTE CONV_ECH:;D0: source, D1: fin source, D2: index bloc cible MOVEM.L D1-D6/A0-A2,-(SP) MOVE.L D0,A1;source dbut MOVE.L D1,D4;fin source CMP #NB_BUFFERS,D2 BHI.S \5 SUB.L A1,D4;taille en octets BGT.S \6 \5:MOVEQ #0,D0;plus d'chantillons BRA \1 \6:MOVEQ #0,D0 MOVE D2,D0;index bloc cible MOVE.L #TAILLE_BUFFER+TAILLE_SOUND_HEADER,D1 BSR MUL32_32 MOVE.L D0,D6;offset bloc cible LEA TAB_BUFFERS,A2 MOVEQ #0,D5 MOVE OCT_ECH,D5 MOVE.L D4,D0 MOVE NB_TRACKS,D1 INC D1 MULU D5,D1 BSR DIV32_32 MOVE.L D0,D4;nbre chantillons CMP.L #TAILLE_BUFFER/4,D4 BLE.S \7 ;taille des chantillons suprieure la taille du bloc MOVE.L #TAILLE_BUFFER/4,D4 MOVE.L D4,D0 MOVE NB_TRACKS,D1 INC D1 MULU D5,D1 BSR MUL32_32;nbre d'octets max par buffer ADD.L A1,D0;+ dbut buffer DMA MOVE.L D0,ADR_SUITE BRA.S \8 \7:CLR.L ADR_SUITE \8:MOVE.L D4,D0;nbre d'chantillons 16 bits stro MOVE.L D0,22(A2,D6.L);numSamples MOVE.L (A2,D6.L),A0;cible MOVE OCT_ECH,D2 SUBQ #2,D2 BEQ.S \3;8 bits stro ou 16 bits mono SUBQ #2,D2 BEQ.S \4;16 bits stro ;8 bits mono BSR CONV_MONO_8 BRA.S \2 ;8 bits stro \3:CMP #1,NB_VOIES BEQ.S \9 BSR CONV_STEREO_8 BRA.S \2 ;16 bits mono \9:BSR CONV_MONO_16 BRA.S \2 ;16 bits stro \4:BSR CONV_STEREO_16 \2:SUB.L A1,D0;adresse fin - adresse dbut = offset DMA \1:MOVEM.L (SP)+,D1-D6/A0-A2 RTS CONV_MONO_8: MOVEM.L D1-D2/A0-A1,-(SP) ADD TRACK,A1 MOVE NB_TRACKS,D1 BRA.S \2 \1:MOVE.B (A1)+,D2 ASL #8,D2 MOVE D2,(A0)+ MOVE D2,(A0)+ ADD D1,A1 \2:SUBQ.L #1,D0 BPL.S \1 MOVE.L A1,D0 MOVEM.L (SP)+,D1-D2/A0-A1 RTS CONV_STEREO_8: MOVEM.L D1-D3/A0-A1,-(SP) MOVE TRACK,D1 ADD D1,D1 ADD D1,A1 MOVE NB_TRACKS,D1 ADD D1,D1 BRA.S \2 \1:MOVE.B (A1)+,D2 ASL #8,D2 MOVE.B (A1)+,D3 ASL #8,D3 MOVE D2,(A0)+ MOVE D3,(A0)+ ADD D1,A1 \2:SUBQ.L #1,D0 BPL.S \1 MOVE.L A1,D0 MOVEM.L (SP)+,D1-D3/A0-A1 RTS CONV_MONO_16: MOVEM.L D1-D2/A0-A1,-(SP) MOVE TRACK,D1 ADD D1,D1 ADD D1,A1 MOVE NB_TRACKS,D1 ADD D1,D1 BRA.S \2 \1:MOVE.B (A1)+,D2 MOVE D2,(A0)+ MOVE D2,(A0)+ ADD D1,A1 \2:SUBQ.L #1,D0 BPL.S \1 MOVE.L A1,D0 MOVEM.L (SP)+,D1-D2/A0-A1 RTS CONV_STEREO_16: MOVEM.L D1/A0-A1,-(SP) MOVE TRACK,D1 ASL #2,D1 ADD D1,A1 MOVE NB_TRACKS,D1 ASL #2,D1 BRA.S \2 \1:MOVE.L (A1)+,(A0)+ ADD D1,A1 \2:SUBQ.L #1,D0 BPL.S \1 MOVE.L A1,D0 MOVEM.L (SP)+,D1/A0-A1 RTS RECH_FREQ_REC:;frquence demande dans D0 ;au retour frquence approche dans D0 au format MAC (frequence * 65536) MOVEM.L D1-D3/A0-A1,-(SP) LEA TAB_FREQ_REC,A0 MOVE NB_FREQ_REC,D1 BNE.S \4;liste frquences enregistrement supportes ;mini et maxi frquences enregistrement supports CMP (A0),D0 BCC.S \2 MOVE.L (A0),D0;mini BRA.S \1 \2:CMP 4(A0),D0 BCS.S \3 MOVE.L 4(A0),D0;maxi BRA.S \1 \3:SWAP D0 CLR D0 BRA.S \1 \4:DEC D1 MOVEQ #-1,D3;mini MOVE.L A0,A1 \5:MOVEQ #0,D2 MOVE (A0),D2 SUB.L D0,D2;recherche frquence approche parmi ceux disponibles BPL.S \7 NEG.L D2 \7:CMP.L D3,D2 BCC.S \6 MOVE.L D2,D3 MOVE.L A0,A1 \6:ADDQ #4,A0 DBRA D1,\5 MOVE.L (A1),D0 \1:MOVEM.L (SP)+,D1-D3/A0-A1 RTS SWAP_ADR_REC: MOVE.L D0,-(SP) MOVEQ #0,D0 MOVE STATUS,D0 LSR #2,D0 BSR ENDSOUND_REC TST D_SETBUFF_REC BEQ.S \1;pas de nouvelle adresse => bouclage DMA MOVE.L NEW_ADR_DEBUT_REC,ADR_DEBUT_REC;prise en compte des nouvelles adresses DMA de SETBUFFER MOVE.L NEW_ADR_FIN_REC,ADR_FIN_REC CLR D_SETBUFF_REC MOVE.L #-1,COMPT_BLOC_REC;compteur buffer MAC \1:MOVE.L (SP)+,D0 RTS INTER_REC:;sous MACOS, A1: buffer, D1.L: taille buffer MOVEM.L D0-A6,-(SP) BTST #2,STATUS+1 BEQ \1;arrt enregistrement MOVE.L D1,D3;taille MOVE.L A1,A0;adresse chantillons source ADD.L D3,A1;adresse de fin source MOVE.L ADR_REC,A2;adresse cible MOVE TRACK,D0 ASL #2,D0 ADD D0,A2 MOVE NB_TRACKS_REC,D0 ASL #2,D0 MOVE D0,A5 MOVE.L ADR_FIN_REC,A6 MOVEQ #0,D6 MOVE FREQ_REC,D6;frquence source format MAC poids fort MOVE.L FREQUENCE,D7;frquence cible CMP.L D6,D7 BEQ \8;frquences identiques => pas de rchantillonnage BCS \11;diminution de la longueur ;cas ou frquence cible > frquence source ; => augmentation de la longueur MOVEQ #0,D0 MOVE.L D6,D1;frquence source LSR.L #1,D1 ROXR.L #1,D0 MOVE.L D7,D2;rapport = frquence source * 2^31 / frquence cible JSR DIV64_32S MOVE.L D0,D1 ADD.L D1,D1;*2 => 2^31 sinon pb signe MOVEQ #0,D2 MOVEQ #0,D3 \9:MOVE.L A0,A3;adresse dbut source ADD.L D3,A3 ADD.L D3,A3 ADD.L D3,A3 ADD.L D3,A3 MOVE (A3)+,D6;chantillon 16 bits voie gauche x(n) MOVE (A3)+,D4;chantillon 16 bits voie droite x(n) CMP.L A1,A3 BCC \6 MOVE.L D2,D0 SWAP D0 LSR #1,D0;1-32767 BEQ.S \10 MOVE (A3)+,D7;chantillon 16 bits voie gauche x(n+1) MOVE (A3)+,D5;chantillon 16 bits voie droite x(n+1) MULS D0,D7 MULS D0,D5 NEG D0 BCLR #15,D0;1-32767 MULS D0,D6 MULS D0,D4 ADD.L D7,D6 ADD.L D5,D4 ADD.L D6,D6 ADD.L D4,D4 SWAP D6 SWAP D4 \10:CMP.L A6,A2 BCC.S \12;fin buffer \16:MOVE D6,(A2)+;enregistrement en 16 bits stro MOVE D4,(A2)+ ADD A5,A2 MOVEQ #0,D0 ADD.L D1,D2;pas ADDX.L D0,D3 CMP.L A1,A3 BCS.S \9 BRA \6 \12:MOVE.L A2,ADR_REC BTST #3,STATUS+1 BEQ \5;enregistrement sans rptition BSR SWAP_ADR_REC MOVE.L ADR_DEBUT_REC,A2 MOVE TRACK,D0 ASL #2,D0 ADD D0,A2 MOVE.L ADR_FIN_REC,A6 BRA.S \16 ;cas ou frquence cible < frquence source ; => diminution de la longueur \11:MOVEQ #0,D0 MOVE.L D6,D1;frquence source MOVE.L D7,D2 ASL.L #8,D2;rapport = frquence source * 2^31 / frquence cible * 2^8 JSR DIV64_32S MOVE.L D0,D1 ASL.L #8,D0 MOVE.L D0,A4;poids faible ROL.L #8,D1 AND.L #$FF,D1;poids fort MOVEQ #0,D2 MOVEQ #0,D3 \13:MOVE.L A0,A3;adresse dbut source ADD.L D3,A3 ADD.L D3,A3 ADD.L D3,A3 ADD.L D3,A3 MOVE (A3)+,D6;chantillon 16 bits voie gauche x(n) MOVE (A3)+,D4;chantillon 16 bits voie droite x(n) CMP.L A1,A3 BCC \6 MOVE.L D2,D0 SWAP D0 LSR #1,D0;1-32767 BEQ.S \14 MOVE (A3)+,D7;chantillon 16 bits voie gauche x(n+1) MOVE (A3)+,D5;chantillon 16 bits voie droite x(n+1) MULS D0,D7 MULS D0,D5 NEG D0 BCLR #15,D0;1-32767 MULS D0,D6 MULS D0,D4 ADD.L D7,D6 ADD.L D5,D4 ADD.L D6,D6 ADD.L D4,D4 SWAP D6 SWAP D4 \14:CMP.L A6,A2 BCC.S \15;fin buffer \3:MOVE D6,(A2)+;enregistrement en 16 bits stro MOVE D4,(A2)+ ADD A5,A2 ADD.L A4,D2;pas ADDX.L D1,D3 CMP.L A1,A3 BCS.S \13 BRA \6 \15:MOVE.L A2,ADR_REC BTST #3,STATUS+1 BEQ \5;enregistrement sans rptition BSR SWAP_ADR_REC MOVE.L ADR_DEBUT_REC,A2 MOVE TRACK,D0 ASL #2,D0 ADD D0,A2 MOVE.L ADR_FIN_REC,A6 BRA \3 ;pas de rchantillonnage \8:LSR.L #2,D3;/4 BRA \4 \5:AND #$FFF3,STATUS;arrt enregistrement DMA MOVE.L RETOUR,-(SP) MOVEQ #0,D0 BSR ENDSOUND_REC BSR SPBSTOPRECORDING MOVE.L (SP)+,RETOUR MOVE.L ADR_FIN_REC,A2 BRA.S \6 \2:CMP.L A6,A2 BCC.S \7;fin de buffer MOVE.L (A0)+,(A2)+;enregistrement en 16 bits stro ADD A5,A2 \4:SUBQ.L #1,D3 BPL.S \2 BRA.S \6 \7:MOVE.L A2,ADR_REC BTST #3,STATUS+1 BEQ.S \5;enregistrement sans rptition BSR SWAP_ADR_REC MOVE.L ADR_DEBUT_REC,A2 MOVE TRACK,D0 ASL #2,D0 ADD D0,A2 MOVE.L ADR_FIN_REC,A6 BRA.S \2 \6:MOVE.L A2,ADR_REC ADDQ.L #1,COMPT_BLOC_REC \1:MOVEM.L (SP)+,D0-A6 RTS SWAP_ADR: MOVE.L D0,-(SP) MOVEQ #3,D0 AND STATUS,D0 BSR ENDSOUND TST D_SETBUFF BEQ.S \1;pas de nouvelle adresse => bouclage DMA MOVE.L NEW_ADR_DEBUT,ADR_DEBUT;prise en compte des nouvelles adresses DMA de SETBUFFER MOVE.L NEW_ADR_FIN,ADR_FIN CLR D_SETBUFF MOVE.L #-1,COMPT_BLOC;compteur buffer MAC/SDL \1:MOVE.L (SP)+,D0 RTS CALLBACK16:;sous MACOS MOVEM.L D3/A2-A4,-(SP) MOVE.L $18(SP),A4;structure channel MOVE.L $14(SP),A2 MOVE 2(A2),D0;index buffer BGE.S \2 AND #$FFFC,STATUS;arrt lecture DMA BRA \1 \2:BTST #0,STATUS+1 BEQ \6;arrt lecture BTST #1,STATUS+1 BEQ.S \4;lecture sans rptition ;rptition lecture DMA MOVE.L ADR_SUITE,D0 BNE.S \5;suite du buffer DMA BSR SWAP_ADR MOVE.L ADR_DEBUT,D0 MOVE.L D0,ADR_SUITE BRA.S \5 ;lecture DMA sans rptition \4:MOVE.L ADR_SUITE,D0 BEQ.S \6;plus d'autre chantillon => arrt lecture \5:TST.L D0 BMI \1;invalide MOVE.L ADR_FIN,D1 MOVE 2(A2),D2;index buffer BSR CONV_ECH BEQ.S \6;plus aucun chantillon => arrt lecture ADDQ.L #1,COMPT_BLOC;compteur buffer MAC MOVEQ #0,D0 MOVE 2(A2),D0;index buffer MOVE.L #TAILLE_BUFFER+TAILLE_SOUND_HEADER,D1 BSR MUL32_32 MOVE.L D0,D2 MOVE.L A4,A0;channel MOVEQ #BUFFERCMD,D0;joue le son MOVEQ #0,D1 ADD.L #TAB_BUFFERS,D2;buffer BSR MACSNDCMD MOVE.L A4,A0;channel MOVEQ #CALLBACKCMD,D0 MOVE 2(A2),D1;index MOVEQ #0,D2 BSR MACSNDCMD BRA.S \1 ;arrt lecture \6:TST.L COMPT_BLOC BPL.S \3 CLR.L COMPT_BLOC \3:CLR.L ADR_SUITE MOVE.L A4,A0;channel MOVEQ #BUFFERCMD,D0;joue le son MOVEQ #0,D1 MOVE.L #TAB_BUFFERS+((TAILLE_BUFFER+TAILLE_SOUND_HEADER)*NB_BUFFERS),D2;buffer vide arrt son BSR MACSNDCMD MOVE.L A4,A0;channel MOVEQ #CALLBACKCMD,D0 MOVEQ #-1,D1 MOVEQ #0,D2 BSR MACSNDCMD MOVEQ #0,D0 BSR ENDSOUND \1:MOVEM.L (SP)+,D3/A2-A4 DC.L $4E740008;RTD #8 CALCUL_FREQ: MOVEM.L D1/A0,-(SP) MOVEQ #0,D0 MOVE PRESCALE,D1 BEQ.S \2 CMP #11,D1 BHI.S \2 DEC D1;0-10 TST HORLOGE BEQ.S \3 ADDQ #3,D1 ADDQ #8,D1 TST HORLOGE2 BEQ.S \3 ADDQ #3,D1 ADDQ #8,D1 \3:ADD D1,D1 LEA TAB_NUM_FREQ_FALCON,A0 MOVE (A0,D1),D0 BRA.S \1 \2:MOVE PRESCALE_STE,D1 AND #3,D1 ADD D1,D1 LEA TAB_NUM_FREQ_STE,A0 MOVE (A0,D1),D0 \1:MOVEM.L (SP)+,D1/A0 RTS _SETEXEC: CMP #77,D0;timer A BNE.S \2 IFNE 0,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG23 MOVEM.L (SP)+,D0/A0 ENDIF MOVE.L A0,VECT_TIMER_A MOVEQ #0,D0 BRA.S \1 \2:CMP #79,D0;IO7 BNE.S \3 IFNE 0,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG23 MOVEM.L (SP)+,D0/A0 ENDIF MOVE.L A0,VECT_IO7 MOVEQ #0,D0 BRA.S \1 \3:MOVEQ #1,D0 \1:RTS _MFPINT: CMP #13,D0;timer A BNE.S \2 IFNE 0,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG22 MOVEM.L (SP)+,D0/A0 ENDIF MOVE.L A0,VECT_TIMER_A MOVEQ #0,D0 BRA.S \1 \2:CMP #15,D0;IO7 BNE.S \3 IFNE 0,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG22 MOVEM.L (SP)+,D0/A0 ENDIF MOVE.L A0,VECT_IO7 MOVEQ #0,D0 BRA.S \1 \3:MOVEQ #1,D0 \1:RTS _JDISINT: CMP #13,D0;timer A BNE.S \2 IFNE 0,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG19 MOVEM.L (SP)+,D0/A0 ENDIF CLR D_TIMER_A MOVEQ #0,D0 BRA.S \1 \2:CMP #15,D0;IO7 BNE.S \3 IFNE 0,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG19 MOVEM.L (SP)+,D0/A0 ENDIF CLR D_IO7 MOVEQ #0,D0 BRA.S \1 \3:MOVEQ #1,D0 \1:RTS _JENABINT: CMP #13,D0;timer A BNE.S \2 IFNE 0,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG20 MOVEM.L (SP)+,D0/A0 ENDIF ST.B D_TIMER_A MOVEQ #0,D0 BRA.S \1 \2:CMP #15,D0;IO7 BNE.S \3 IFNE 0,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG20 MOVEM.L (SP)+,D0/A0 ENDIF ST.B D_IO7 MOVEQ #0,D0 BRA.S \1 \3:MOVEQ #1,D0 \1:RTS _XBTIMER: TST D0 BNE.S \1;<> timer A IFNE 0,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG21 MOVEM.L (SP)+,D0/A0 ENDIF TST D1 BNE.S \2;<> arrt CLR COUNT_TIMER_A CLR D_INIT_TIMER_A CLR.L VECT_TIMER_A MOVEQ #0,D0 BRA.S \1 \2:CMP #8,D1 BNE.S \1;<> event count mode AND #$FF,D2 MOVE D2,COUNT_TIMER_A;data = nbre de rptitions MOVE D2,D_INIT_TIMER_A MOVE.L A0,VECT_TIMER_A MOVEQ #0,D0 \1:RTS _LOCKSND: IFNE 0,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG6 MOVEM.L (SP)+,D0/A0 ENDIF TST D_SND_LOCK BEQ.S \1 MOVEQ #-$80,D0;erreur BRA.S \2 \1:MOVEQ #1,D0 MOVE D0,D_SND_LOCK \2:RTS _UNLOCKSND: IFNE 0,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG7 MOVEM.L (SP)+,D0/A0 ENDIF TST D_SND_LOCK BNE.S \1 MOVE.L #$FFFFFF7F,D0 BRA.S \2 \1:MOVEQ #0,D0 MOVE D0,D_SND_LOCK \2:RTS _SOUNDCMD: IFNE 0,DEBUG MOVEM.L D0/D1/A0,-(SP) LINK A6,#-6 CLR -2(A6) LEA -6(A6),A0 MOVE D1,-(SP) AND.L #$FFFF,D0 MOVEQ #5,D1 BSR CONV_DECI PRINTLINE DEBUG8 PRINTLINE -6(A6) CONOUT #" " MOVEQ #0,D0 MOVE (SP)+,D0 LEA -6(A6),A0 MOVEQ #5,D1 BSR CONV_DECI PRINTLINE -6(A6) UNLK A6 MOVEM.L (SP)+,D0/D1/A0 ENDIF MOVEM.L D3-D4,-(SP) CMP #LTATTEN,D0;mode BEQ.S \10 CMP #RTATTEN,D0 BEQ.S \7 CMP #LTGAIN,D0 BEQ \16 CMP #RTGAIN,D0 BEQ \17 CMP #ADDERIN,D0 BEQ \15 CMP #ADCINPUT,D0 BEQ \20 CMP #SETPRESCALE,D0 BEQ \4 CMP #SETSMPFREQ,D0 BEQ \11;SETSMPFREQ valid par bit 5 du cookie '_SND' CMP #8,D0 BEQ \13;SETFMT8BITS valid par bit 5 du cookie '_SND' CMP #9,D0 BEQ \14;SETFMT16BITS valid par bit 5 du cookie '_SND' ;10: SETFMT24BITS, 11: SETFMT32BITS 12-25: ATTCONTROLS ;valids par bit 5 du cookie '_SND' BRA \2;non reconnu ;ltatten \10:LEA VOLUMES,A0 TST D1;data voie gauche BPL.S \9 MOVE (A0),D0;valeur courante BRA \6 \9:MOVE #255,D4 SUB D1,D4;data voie gauche MOVE D4,(A0) BRA.S \8 ;rtatten \7:LEA VOLUMES,A0 TST D1;data voie droite BPL.S \5 MOVE 2(A0),D0;valeur courante BRA.S \6 \5:MOVE #255,D4 SUB D1,D4;data voie droite MOVE D4,2(A0) \8:TST D_MAC BNE.S \34;MagiCMac MOVE (A0)+,D2;voie gauche ADD (A0),D2;voie droite LSR #1,D2 TST D_SDL BNE.S \35 NEG D2 ADD #255,D2 LSR #6,D2;4 niveaux MOVE D2,VOLUME;3-2-1-0 MOVE D4,D0 BRA.S \6 \35:MOVE D2,D0 LSR #1,D0;0-127 BSR SDL_AUDIOVOLUME BRA.S \6 \34:MOVE 2(A0),D2;voie droite SWAP D2 MOVE (A0),D2;voie gauche IFEQ 2,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG104 MOVEM.L (SP)+,D0/A0 ENDIF LEA CHANNEL,A0 MOVEQ #VOLUMECMD,D0 MOVEQ #0,D1 BSR ISNDCMD MOVE D4,D0 \6:NEG D0 ADD #255,D0 AND #$F0,D0 BRA \1 ;ltgain \16:LEA GAINS,A0 TST D1;data voie gauche BMI.S \18 MOVE D1,D4 MOVE D4,(A0);voie gauche BRA \21 ;rtgain \17:LEA GAINS,A0 TST D1;data voie droite BPL \19 \18:MOVE D0,-(SP);mode MOVEQ #0,D0 MOVEQ #0,D1 TST NB_INDEV BEQ.S \25 IFEQ 2,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG120 PRINTLINE DEBUG158 MOVEM.L (SP)+,D0/A0 ENDIF MOVE.L #siStereoInputGain,INFOTYPE LEA SPBGETDEVICEINFO,A0 BSR CALLMACFUNCTION2 MOVEM.L INFODATA,D0-D1 MOVE #255,D3 MOVE.L #$10000,D4 SUB.L D4,D0 BPL.S \22 MOVEQ #0,D0 \22:LSR.L #7,D0;/128 CMP D3,D0 BCS.S \23 MOVE D3,D0 \23:SUB.L D4,D1 BPL.S \24 MOVEQ #0,D1 \24:LSR.L #7,D1;/128 CMP D3,D1 BCS.S \25 MOVE D3,D1 \25:LEA GAINS,A0 MOVEM D0-D1,(A0) CMP #LTGAIN,(SP)+ BEQ \1 EXG D0,D1 BRA \1 \19:MOVE D1,D4 MOVE D4,2(A0);voie droite \21:MOVE D0,-(SP);mode MOVEQ #0,D0 MOVEQ #0,D1 TST NB_INDEV BEQ.S \25 MOVEM (A0),D0-D1 ASL.L #7,D0;*128 ASL.L #7,D1 ADD.L #$10000,D0 ADD.L #$10000,D1 MOVEM.L D0-D1,INFODATA IFEQ 2,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG121 PRINTLINE DEBUG158 MOVEM.L (SP)+,D0/A0 ENDIF MOVE.L #siStereoInputGain,INFOTYPE LEA SPBSETDEVICEINFO,A0 BSR CALLMACFUNCTION2 ADDQ #2,SP MOVEQ #0,D0 MOVE D4,D0 BRA \1 ;adderin \15:TST NB_INDEV BEQ \30 TST D1;data BPL.S \31 IFEQ 2,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG120 PRINTLINE DEBUG157 MOVEM.L (SP)+,D0/A0 ENDIF MOVE.L #siPlayThruOnOff,INFOTYPE LEA SPBGETDEVICEINFO,A0 BSR CALLMACFUNCTION2 BNE.S \30;erreur BRA.S \32 \31:MOVEQ #0,D0 BTST #0,D1;ADC sur DAC (B0) BEQ.S \33 MOVEQ #7,D0 \33:MOVE D0,INFODATA IFEQ 2,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG121 PRINTLINE DEBUG157 MOVEM.L (SP)+,D0/A0 ENDIF MOVE.L #siPlayThruOnOff,INFOTYPE LEA SPBSETDEVICEINFO,A0 BSR CALLMACFUNCTION2 BNE.S \30;erreur \32:MOVE INFODATA,D0 BNE.S \30 MOVEQ #2,D0;Matrice BRA \1 \30:MOVEQ #3,D0;ADC (B0) et Matrice (B1) BRA \1 ;adcinput \20:TST NB_INDEV BEQ \27 TST D1;data BPL.S \26 IFEQ 2,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG120 PRINTLINE DEBUG150 MOVEM.L (SP)+,D0/A0 ENDIF MOVE.L #siInputSource,INFOTYPE LEA SPBGETDEVICEINFO,A0 BSR CALLMACFUNCTION2 BNE.S \27;erreur BRA.S \28 \26:MOVE INFOS_COOKIE+4,INSOURCE MOVEQ #1,D0 AND #3,D1;data BNE.S \29 MOVE INSOURCE,D0 \29:MOVE D0,INFODATA IFEQ 2,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG121 PRINTLINE DEBUG150 MOVEM.L (SP)+,D0/A0 ENDIF MOVE.L #siInputSource,INFOTYPE LEA SPBSETDEVICEINFO,A0 BSR CALLMACFUNCTION2 BNE.S \27;erreur \28:MOVE INFODATA,D0 CMP INSOURCE,D0 BEQ.S \27 MOVEQ #3,D0;ADC input sur PSG BRA.S \1 \27:MOVEQ #0,D0;ADC input sur microphone BRA.S \1 ;prescale \4:TST D1;data BMI.S \3 MOVE D1,PRESCALE_STE BSR CALCUL_FREQ MOVE.L D0,FREQUENCE \3:MOVEQ #0,D0 MOVE PRESCALE_STE,D0 BRA.S \1 ;setsmpfreq \11:CMP #-1,D1;data BEQ.S \12 MOVEQ #0,D0 MOVE D1,D0 MOVE.L D0,FREQUENCE \12:MOVE.L FREQUENCE,D0 BRA.S \1 ;setfmt8bits \13:MOVEQ #1,D0;signed BRA.S \1 ;setfmt16bits \14:MOVEQ #5,D0;signed motorola big endian BRA.S \1 \2:MOVEQ #0,D0 \1:MOVEM.L (SP)+,D3-D4 RTS _SETBUFFER: IFNE 0,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG9 MOVEM.L (SP)+,D0/A0 ENDIF TST D0 BNE \8;enregistrement MOVEQ #1,D0 AND STATUS,D0 MOVE D0,D_SETBUFF BNE.S \5;DMA en activit CLR.L ADR_SUITE MOVE.L D1,ADR_DEBUT;dmarrage MOVE.L D1,ADR_FIN BRA.S \6 \5:MOVE.L D1,NEW_ADR_DEBUT;pour prise en compte au changement de buffer DMA MOVE.L D1,NEW_ADR_FIN \6:MOVE.L D2,D0 SUB.L D1,D0 TST.L D0 BGT.S \2 \3:MOVEQ #1,D0;erreur BRA \1 \2:IFNE 0,DEBUG MOVEM.L D0/D1/A0,-(SP) LINK A6,#-12 CLR -2(A6) LEA -12(A6),A0 MOVE.L D1,D0 MOVEQ #10,D1 BSR CONV_DECI PRINTLINE DEBUG112 PRINTLINE -12(A6) CLR -2(A6) LEA -12(A6),A0 MOVEQ #10,D1 MOVE.L D2,D0 BSR CONV_DECI PRINTLINE DEBUG113 PRINTLINE -12(A6) UNLK A6 MOVEM.L (SP)+,D0/D1/A0 ENDIF MOVEQ #1,D0 AND STATUS,D0 BNE.S \4;lecture DMA en activit MOVE.L D2,ADR_FIN BRA \7 \4:MOVE.L D2,NEW_ADR_FIN BRA \7 \8:TST NB_INDEV BEQ \3;erreur CMP #1,D0;enregistrement BNE \3;erreur MOVEQ #4,D0 AND STATUS,D0 MOVE D0,D_SETBUFF_REC BNE.S \9;DMA en activit MOVE.L D1,ADR_DEBUT_REC;dmarrage MOVE.L D1,ADR_FIN_REC BRA.S \10 \9:MOVE.L D1,NEW_ADR_DEBUT_REC;pour prise en compte au changement de buffer DMA MOVE.L D1,NEW_ADR_FIN_REC \10:MOVE.L D2,D0 SUB.L D1,D0 TST.L D0 BLE \3;erreur IFNE 0,DEBUG MOVEM.L D0/D1/A0,-(SP) LINK A6,#-12 CLR -2(A6) LEA -12(A6),A0 MOVE.L D1,D0 MOVEQ #10,D1 BSR CONV_DECI PRINTLINE DEBUG112 PRINTLINE -12(A6) CLR -2(A6) LEA -12(A6),A0 MOVEQ #10,D1 MOVE.L D2,D0 BSR CONV_DECI PRINTLINE DEBUG113 PRINTLINE -12(A6) UNLK A6 MOVEM.L (SP)+,D0/D1/A0 ENDIF MOVEQ #4,D0 AND STATUS,D0 BNE.S \12;enregistrement DMA en activit MOVE.L D2,ADR_FIN_REC BRA.S \7 \12:MOVE.L D2,NEW_ADR_FIN_REC \7:MOVEQ #0,D0;OK \1:RTS _SETMODE: IFNE 0,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG11 MOVEM.L (SP)+,D0/A0 ENDIF TST D0 BEQ.S \6;8 bits stro CMP #1,D0 BEQ.S \5;16 bits stro CMP #2,D0 BEQ.S \4;8 bits mono CMP #3,D0 BEQ.S \3;16 bits mono, n'existe pas avec le XBIOS du FALCON MOVEQ #1,D0;erreur BRA.S \1 \6:MOVEQ #2,D0 MOVE D0,NB_VOIES MOVE D0,OCT_ECH;8 bits stro => 2 octets/chantillon BRA.S \2 \5:MOVE #2,NB_VOIES MOVE #4,OCT_ECH;16 bits stro => 4 octets/chantillons BRA.S \2 \4:MOVEQ #1,D0 MOVE D0,NB_VOIES MOVE D0,OCT_ECH;8 bits mono => 1 octet/chantillon BRA.S \2 \3:MOVE #1,NB_VOIES MOVE #2,OCT_ECH;16 bits mono => 2 octets/chantillon \2:MOVEQ #0,D0;OK \1:RTS _SETTRACKS: IFNE 0,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG17 MOVEM.L (SP)+,D0/A0 ENDIF AND #3,D0 MOVE D0,NB_TRACKS AND #3,D1 MOVE D1,NB_TRACKS_REC MOVEQ #0,D0;OK RTS _SETMONTRACKS: IFNE 0,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG17 MOVEM.L (SP)+,D0/A0 ENDIF AND #3,D0 MOVE D0,TRACK MOVEQ #0,D0;OK RTS _SETINTERRUPT: IFNE 0,DEBUG MOVEM.L D0/D1/A0,-(SP) LINK A6,#-6 CLR -2(A6) LEA -6(A6),A0 MOVE D1,-(SP) AND.L #$FFFF,D0 MOVEQ #5,D1 BSR CONV_DECI PRINTLINE DEBUG15 PRINTLINE -6(A6) CONOUT #" " MOVEQ #0,D0 MOVE (SP)+,D0 LEA -6(A6),A0 MOVEQ #5,D1 BSR CONV_DECI PRINTLINE -6(A6) UNLK A6 MOVEM.L (SP)+,D0/D1/A0 ENDIF CMP #2,D0;src_inter valid par bit 5 du cookie '_SND' et le cookie 'GSXB' BNE.S \4 CLR CAUSE_INTER TST D1;cause BEQ.S \2;disable interrupt CMP #1,D1 BEQ.S \5;int_addr called on eof DAC interrupts CMP #2,D1 BEQ.S \7;int_addr called on eof ADC interrupts CMP #3,D1 BEQ.S \3;int_addr called on eof DAC/ADC interrupts \8:MOVEQ #1,D0;erreur BRA.S \1 \4:BHI.S \8;erreur CMP #3,D1 BHI.S \8;erreur MOVE D1,CAUSE_INTER TST D0;src_inter BEQ.S \6;timer A BSET #7,CAUSE_INTER;mfp BRA.S \6 \5:MOVE.L D2,INTH_ADDR BRA.S \6 \2:MOVEQ #0,D2 \3:MOVE.L D2,INTH_ADDR \7:MOVE.L D2,INTH_ADDR_REC \6:MOVEQ #0,D0;OK \1:RTS _BUFFOPER: MOVEM.L D3-D4/A3,-(SP) IFNE 0,DEBUG MOVEM.L D0/D1/A0,-(SP) LINK A6,#-6 CLR -2(A6) LEA -6(A6),A0 MOVE D1,-(SP) AND.L #$FFFF,D0 MOVEQ #5,D1 BSR CONV_DECI PRINTLINE DEBUG10 PRINTLINE -6(A6) UNLK A6 MOVEM.L (SP)+,D0/D1/A0 ENDIF TST D0;mode BPL \6 IFNE 0,DEBUG MOVEM.L D0/D1/A0,-(SP) PRINTLINE DEBUG111 LINK A6,#-6 CLR -2(A6) LEA -6(A6),A0 MOVEQ #5,D1 MOVEQ #0,D0 MOVE STATUS,D0 BSR CONV_DECI PRINTLINE -6(A6) UNLK A6 MOVEM.L (SP)+,D0/D1/A0 ENDIF MOVEQ #0,D0 MOVE STATUS,D0;tat BRA \1 \6:TST NB_INDEV BEQ \5;test lecture MOVE D0,-(SP) BTST #2,D0;enregistrement DMA BEQ \11 ;enregistrement DMA BTST #2,STATUS+1;enregistrement DMA BNE \10;DMA dja en marche CLR.L COMPT_BLOC_REC;compteur buffer MAC IFEQ 2,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG121 MOVEM.L (SP)+,D0/A0 ENDIF MOVE.L FREQUENCE,D0 BSR RECH_FREQ_REC MOVE.L D0,FREQ_REC MOVE.L D0,INFODATA MOVE.L #siSampleRate,INFOTYPE LEA SPBSETDEVICEINFO,A0 BSR CALLMACFUNCTION2 BNE \10;erreur IFEQ 2,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG122 MOVEM.L (SP)+,D0/A0 ENDIF LEA INPARAMPTR,A1 MOVE.L ADR_DEBUT_REC,ADR_REC MOVE.L INREFNUM,_INREFNUM(A1) CLR.L _COUNTREC(A1) CLR.L _MILLISECONDS(A1) CLR.L _BUFFERLENGTH(A1) CLR.L _BUFFERPTR(A1) CLR.L _COMPLEXIONROUTINE(A1) LEA INTER_REC,A0 MOVE.L A0,_INTERRUPTROUTINE(A1) CLR.L _USERLONG(A1) LEA SPBRECORD,A0 BSR CALLMACFUNCTION2 BNE.S \10;erreur MOVEQ #$C,D0 AND (SP),D0 AND #$FFF3,STATUS OR D0,STATUS;enregistrement DMA BRA.S \10 \11:BTST #2,STATUS+1;enregistrement DMA BEQ.S \10;DMA dj l'arrt AND #$FFF3,STATUS;arrt enregistrement DMA CLR D_SETBUFF_REC BSR STOP_RECORD \10:MOVE (SP)+,D0 \5:BTST #0,D0;lecture DMA BEQ \3;demande DMA l'arrt ;lecture DMA BTST #0,STATUS+1 BNE \8;DMA dja en marche MOVEQ #3,D1 AND D0,D1 AND #$FFFC,STATUS OR D1,STATUS CLR.L COMPT_BLOC;compteur buffer MAC/SDL TST D_MAC BNE \12;MagiCMac TST D_SDL BEQ.S \19 TST D_OPEN_SDL BNE \3 CLR D_INTEL_SDL MOVE.L FREQUENCE,D0 MOVE #AUDIO_S16MSN,D1 MOVEQ #2,D2;stro MOVE #TAILLE_BUFFER_SDL/4,D3 LEA TAB_BUFFERS,A0 BSR SDL_OPENAUDIO BMI \3;erreur CMP #AUDIO_S16MSN,D0 BEQ.S \18 CMP #AUDIO_S16LSB,D0 BNE \3;erreur ST.B D_INTEL_SDL \18:ST.B D_OPEN_SDL BSR SDL_GETAUDIOFREQ MOVE.L D0,FREQ_LECT MOVE.L ADR_DEBUT,ADR SETEXEC CALLBACK16_SDL,#29;INT5 MOVE.L D0,CALLBACK16_SDL-4 MOVEQ #0,D0 BSR SDL_PAUSEAUDIO;lance la lecture BRA \2 \19:MOVEQ #0,D1 CMP #2,NB_VOIES BEQ.S \14;stro CMP #2,OCT_ECH BEQ.S \16;16 bits mono BRA.S \15;8 bits mono \14:BSET #0,D1;stro CMP #4,OCT_ECH BNE.S \15 \16:BSET #1,D1;16 bits \15:MOVE.L FREQUENCE,D2 BTST #1,D0;rptition BEQ.S \13 BSET #6,D1;rptition \13:MOVE.L ADR_DEBUT,A0 MOVE.L ADR_FIN,D0 SUB.L A0,D0 TIMER_OUTPUT D1,D2,(A0),D0 BRA \2 \12:MOVE.L #-1,ADR_SUITE;invalide BSR STOP_SOUND IFNE 0,DEBUG MOVEM.L D0/D1/A0,-(SP) PRINTLINE DEBUG112 LINK A6,#-12 CLR -2(A6) LEA -12(A6),A0 MOVEQ #10,D1 MOVE.L ADR_DEBUT,D0 BSR CONV_DECI PRINTLINE -12(A6) PRINTLINE DEBUG113 CLR -2(A6) LEA -12(A6),A0 MOVEQ #10,D1 MOVE.L ADR_FIN,D0 BSR CONV_DECI PRINTLINE -12(A6) PRINTLINE DEBUG114 CLR -2(A6) LEA -12(A6),A0 MOVEQ #10,D1 MOVE.L FREQUENCE,D0 BSR CONV_DECI PRINTLINE -12(A6) PRINTLINE DEBUG115 CLR -2(A6) LEA -6(A6),A0 MOVEQ #5,D1 MOVEQ #0,D0 MOVE OCT_ECH,D0 BSR CONV_DECI PRINTLINE -6(A6) UNLK A6 MOVEM.L (SP)+,D0/D1/A0 ENDIF LEA TAB_BUFFERS,A3 MOVE.L ADR_DEBUT,D4 MOVEQ #0,D3;index bloc \4:CMP #1,D3 BCS.S \9;1er bloc vide MOVE.L D4,D0;offset bloc MOVE.L ADR_FIN,D1 MOVE D3,D2;index bloc cible BSR CONV_ECH BEQ \7;plus d'chantillons ADD.L D0,D4 \9:MOVE.L FREQUENCE,D1 SWAP D1 MOVE.L D1,8(A3);frquence * 65536 IFEQ 2,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG102 MOVEM.L (SP)+,D0/A0 ENDIF LEA CHANNEL,A0 MOVEQ #BUFFERCMD,D0;joue le son MOVEQ #0,D1 MOVE.L A3,D2;buffer BSR SNDCMD IFEQ 2,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG103 MOVEM.L (SP)+,D0/A0 ENDIF LEA CHANNEL,A0 MOVEQ #CALLBACKCMD,D0 MOVE D3,D1;index bloc MOVEQ #0,D2 BSR SNDCMD ADD.L #TAILLE_BUFFER+TAILLE_SOUND_HEADER,A3 INC D3 CMP #NB_BUFFERS,D3 BCS \4 MOVE.L FREQUENCE,D1 SWAP D1 MOVE.L D1,8(A3);frquence * 65536 buffer vide arrt son BRA.S \2 \7:TST D3 BNE.S \2 AND #$FFFC,STATUS;arrt lecture DMA si plus d'chantillons au 1er bloc BRA.S \2 ;DMA l'arrt \3:AND #$FFFC,STATUS;arrt lecture DMA TST D_MAC BEQ.S \17;<> MagiCMac BTST #1,D0 BNE.S \2;DMA en rptition \17:CLR D_SETBUFF BSR STOP_SOUND \2:IFNE 0,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG110 MOVEM.L (SP)+,D0/A0 ENDIF \8:MOVEQ #0,D0;OK \1:MOVEM.L (SP)+,D3-D4/A3 RTS _GPIO: IFNE 0,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG16 MOVEM.L (SP)+,D0/A0 ENDIF CMP #1,D0;mode: lecture BNE.S \2 MOVEQ #1,D0 AND.B HORLOGE2,D0;GPIO0=0 44.1KHz BSET #1,D0;GPIO1=1 Quartz BRA.S \1 \2:CMP #2,D0;mode: criture BNE.S \1 BTST #0,D1;data B0: 0: horloge 22.5792 Mhz pour 44.1KHz, 1: horloge 24,576 MHz pour 48KHZ SNE.B HORLOGE2 \1:MOVEQ #0,D0;OK RTS _DEVCONNECT: IFNE 0,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG12 MOVEM.L (SP)+,D0/A0 ENDIF TST D0 BEQ.S \4;source = restitution DMA TST NB_INDEV BEQ.S \3;erreur CMP #3,D0 BEQ.S \4;source = ADC CMP #2,D2;srcclk BCS.S \3;horloge 25.175 Mhz (0) ou horloge externe (1) MOVE D2,HORLOGE MOVE 4(SP),PRESCALE BSR CALCUL_FREQ MOVE.L D0,FREQUENCE BRA.S \3 \4:CMP #2,D2;srcclk BCS.S \2;horloge 25.175 Mhz (0) ou horloge externe (1) ;horloge 32 MHz \3:MOVEQ #1,D0;erreur BRA.S \1 \2:MOVE D2,HORLOGE MOVE 4(SP),PRESCALE BSR CALCUL_FREQ MOVE.L D0,FREQUENCE IFNE 0,DEBUG MOVEM.L D1/A0,-(SP) LINK A6,#-6 CLR -2(A6) LEA -6(A6),A0 MOVEQ #5,D1 BSR CONV_DECI PRINTLINE -6(A6) UNLK A6 MOVEM.L (SP)+,D1/A0 ENDIF MOVEQ #0,D0;OK \1:RTS _SNDSTATUS: IFNE 0,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG13 MOVEM.L (SP)+,D0/A0 ENDIF TST D0 BEQ \1;status CMP #1,D0 BEQ.S \2;reset CMP #2,D0 BEQ \3;resolutions valid par bit 5 du cookie '_SND' CMP #3,D0 BEQ \6;MasterMix ;4: record sources, 5: duplex CMP #8,D0 BEQ \4;format8bits valid par bit 5 du cookie '_SND' CMP #9,D0 BEQ \5;format16bits valid par bit 5 du cookie '_SND' ;10: format24bits, 11: format32bits MOVEQ #0,D0 BRA \1 ;reset \2:BTST #2,STATUS+1;enregistrement DMA BEQ.S \7 BSR STOP_RECORD \7:CLR STATUS CLR D_SETBUFF CLR D_SETBUFF_REC BSR STOP_SOUND MOVEQ #LTATTEN,D0;mode MOVEQ #0,D1;data BSR _SOUNDCMD MOVEQ #RTATTEN,D0;mode MOVEQ #0,D1;data BSR _SOUNDCMD MOVEQ #LTGAIN,D0;mode MOVEQ #0,D1;data BSR _SOUNDCMD MOVEQ #RTGAIN,D0;mode MOVEQ #0,D1;data BSR _SOUNDCMD MOVEQ #ADDERIN,D0;mode MOVEQ #1,D1;data BSR _SOUNDCMD MOVEQ #ADCINPUT,D0;mode MOVEQ #0,D1;data BSR _SOUNDCMD CLR.L ADR_SUITE CLR.L ADR_FIN CLR.L ADR_DEBUT CLR.L NEW_ADR_DEBUT CLR.L NEW_ADR_FIN CLR.L ADR_FIN_REC CLR.L ADR_DEBUT_REC CLR.L NEW_ADR_DEBUT_REC CLR.L NEW_ADR_FIN_REC CLR PRESCALE CLR PRESCALE_STE CLR HORLOGE CLR HORLOGE2 CLR NB_TRACKS CLR NB_TRACKS_REC CLR TRACK CLR.L COMPT_BLOC;compteur buffer MAC MOVEQ #2,D0 MOVE D0,NB_VOIES MOVE D0,OCT_ECH;8 bits stro CLR.L INTH_ADDR;routine appele en fin lecture buffer DMA CLR.L INTH_ADDR_REC;routine appele en fin enregistrement buffer DMA CLR CAUSE_INTER;setinterrupt MOVEQ #0,D0 BRA.S \1 ;resolutions \3:MOVEQ #3,D0;8 & 16 bits BRA.S \1 ;MasterMix \6:MOVEQ #3,D0;DAC & ADC BRA.S \1 ;format8bits \4:MOVEQ #1,D0;signed BRA.S \1 ;format16bits \5:MOVEQ #5,D0;signed motorola big endian \1:RTS _BUFFPTR: MOVE.L D3,-(SP) IFNE 0,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG14 MOVEM.L (SP)+,D0/A0 ENDIF MOVE.L D0,A0 BTST #0,STATUS+1 BEQ \2;lecture DMA l'arrt TST D_MAC BNE.S \11;MagiCMac MOVE.L #TAILLE_BUFFER_SDL/4,D3 TST D_SDL BNE.S \12 MOVE.L ADRESSE,D1;adresse courante DMA (interruption timer A) BRA \4 \11:MOVE.L #TAILLE_BUFFER/4,D3 \12:MOVE.L D3,D1 MOVE.L COMPT_BLOC,D0;compteur buffer MAC/SDL SUBQ.L #1,D0 BPL.S \5 MOVEQ #0,D0 \5:MOVE.L D0,D2 BSR MUL32_32;offset buffer XBIOS en chantillons MOVE NB_TRACKS,D1 INC D1 MULU OCT_ECH,D1 BSR MUL32_32;nbre d'octets lecture DMA XBIOS MOVE.L D0,D1 ADD.L ADR_DEBUT,D1;+ adresse DMA dbut => adresse courante DMA BTST #1,STATUS+1 BEQ.S \4;pas de rptition MOVE.L ADR_FIN,D0 CMP.L D0,D1 BLE.S \4 SUB.L ADR_DEBUT,D1;dpassement + taille bloc SUBQ.L #1,D3 AND.L D3,D2;masque ASL.L #2,D2;COMPT_BLOC * 4 SUB.L D2,D1;vite de retourner la valeur prcdente en cas de bouclage DMA sur un petit buffer BPL.S \6 ADD.L D2,D1 \6:SUB.L ADR_DEBUT,D0;taille du bloc DMA EXG.L D0,D1 MOVEQ #0,D2;dpassement/taille bloc DMA <=> ADR_FIN - ADR_DEBUT DC.L $4C410402;DIVU.L D1,D2:D0;reste dans D2 MOVE.L D2,D1 ADD.L ADR_DEBUT,D1;adresse courante DMA \4:ADDQ.L #4,D1;pour GEMJing CMP.L ADR_FIN,D1 BLE.S \3 MOVE.L ADR_FIN,D1 BRA.S \1 \3:CMP.L ADR_DEBUT,D1 BGE.S \1 \2:MOVE.L ADR_DEBUT,D1 \1:MOVE.L D1,(A0)+;pointeur lecture TST NB_INDEV BEQ.S \8;pas d'enregistrement BTST #2,STATUS+1 BEQ.S \8;enregistrement DMA l'arrt MOVE.L ADR_REC,D1 BTST #3,STATUS+1 BEQ.S \10;pas de rptition MOVE.L COMPT_BLOC_REC,D2;compteur buffer MAC AND.L #(TAILLE_BUFFER/4)-1,D2 ASL.L #2,D2;COMPT_BLOC * 4 SUB.L D2,D1;vite de retourner la valeur prcdente en cas de bouclage DMA sur un petit buffer BPL.S \10 ADD.L D2,D1 \10:ADDQ.L #4,D1 CMP.L ADR_FIN_REC,D1 BLE.S \9 MOVE.L ADR_FIN_REC,D1 BRA.S \7 \9:CMP.L ADR_DEBUT_REC,D1 BGE.S \7 \8:MOVE.L ADR_DEBUT_REC,D1 \7:MOVE.L D1,(A0);pointeur enregistrement IFNE 0,DEBUG LINK A6,#-10 MOVEM.L D1/A0,-(SP) CLR -2(A6) MOVE.L -4(A0),D0 SUB.L ADR_DEBUT,D0 LEA -10(A6),A0 MOVEQ #9,D1 BSR CONV_DECI PRINTLINE DEBUG117 PRINTLINE -10(A6) MOVE.L ADR_FIN,D0 SUB.L ADR_DEBUT,D0 LEA -10(A6),A0 MOVEQ #9,D1 BSR CONV_DECI PRINTLINE -10(A6) MOVE.L COMPT_BLOC,D0 LEA -6(A6),A0 MOVEQ #5,D1 BSR CONV_DECI PRINTLINE -6(A6) MOVEM.L (SP),D1/A0 MOVE.L D1,D0 SUB.L ADR_DEBUT_REC,D0 LEA -10(A6),A0 MOVEQ #9,D1 BSR CONV_DECI PRINTLINE -10(A6) MOVE.L ADR_FIN_REC,D0 SUB.L ADR_DEBUT_REC,D0 LEA -10(A6),A0 MOVEQ #9,D1 BSR CONV_DECI PRINTLINE -10(A6) MOVE.L COMPT_BLOC_REC,D0 LEA -6(A6),A0 MOVEQ #5,D1 BSR CONV_DECI PRINTLINE -6(A6) LEA -6(A6),A0 MOVEQ #5,D1 MOVEQ #0,D0 MOVE STATUS,D0 BSR CONV_DECI PRINTLINE DEBUG116 PRINTLINE -6(A6) MOVEM.L (SP)+,D1/A0 UNLK A6 ENDIF MOVE.L (SP)+,D3 MOVEQ #0,D0;OK RTS DC.L "XBRA" DC.L "MgSn" DC.L 0 DET_BIOS: MOVE.L USP,A0 BTST #5,(SP);appel en superviseur BEQ.S \2 LEA 6(SP),A0 TST PROC_TYPE BEQ.S \2 TST (A0)+;mot supplmentaire sur la pile si > 68000 \2:MOVE (A0)+,D0;fonction CMP #5,D0;setexec BNE.S \1 MOVE (A0)+,D0;num MOVE.L (A0),A0;vector BSR _SETEXEC BNE.S \1 TST D_MAC BEQ.S \1 RTE \1:MOVE.L DET_BIOS-4,-(SP) RTS DC.L "XBRA" DC.L "MgSn" DC.L 0 DET_XBIOS: MOVE.L USP,A0 BTST #5,(SP);appel en superviseur BEQ.S \14 LEA 6(SP),A0 TST PROC_TYPE BEQ.S \14 TST (A0)+;mot supplmentaire sur la pile si > 68000 \14:MOVE (A0)+,D0;fonction CMP #$D,D0;MFPINT BNE.S \22 MOVE (A0)+,D0;num MOVE.L (A0),A0;vector BSR _MFPINT BNE \13 BRA.S \23 \22:CMP #$1A,D0;JDISINT BNE.S \19 MOVE (A0),D0;num BSR _JDISINT BNE \13 BRA.S \23 \19:CMP #$1B,D0;JENABINT BNE.S \20 MOVE (A0),D0;num BSR _JENABINT BNE \13 BRA.S \23 \20:CMP #$1F,D0;XBTIMER BNE.S \21 MOVEM (A0),D0-D2;timer, control, data MOVE.L 6(A0),A0;vector BSR _XBTIMER BNE \13 \23:TST D_MAC BNE \1;MagiCMac TST D_TT BNE \13;routine d'origine bra \1 TST D_SND_LOCK BNE \1 BRA \13 \21:CMP #$80,D0;LOCKSND BCS \13 CMP #$8D,D0;BUFFPTR BHI \13 MOVE D0,D1 SUB #$80,D1 ADD D1,D1 MOVE \3(PC,D1),D1 JMP \3(PC,D1) \3:DC.W \4-\3;$80 LOCKSND DC.W \5-\3;$81 UNLOCKSND DC.W \6-\3;$82 SOUNDCMD DC.W \7-\3;$83 SETBUFFER DC.W \8-\3;$84 SETMODE DC.W \17-\3;$85 SETTRACKS DC.W \18-\3;$86 SETMONTRACKS DC.W \15-\3;$87 SETINTERRUPT DC.W \9-\3;$88 BUFFOPER DC.W \2-\3;$89 /DSPTRISTATE DC.W \16-\3;$8A GPIO DC.W \10-\3;$8B DEVCONNECT DC.W \11-\3;$8C SNDSTATUS DC.W \12-\3;$8D BUFFPTR \4:BSR _LOCKSND BRA \1 \5:BSR _UNLOCKSND BRA.S \1 \6:MOVEM (A0),D0-D1;mode, data BSR _SOUNDCMD BRA.S \1 \7:MOVE (A0)+,D0;reg MOVEM.L (A0),D1-D2;begaddr, endaddr BSR _SETBUFFER BRA.S \1 \8:MOVE (A0),D0;mode BSR _SETMODE BRA.S \1 \17:MOVEM (A0),D0-D1;playtracks, rectracks BSR _SETTRACKS BRA.S \1 \18:MOVE (A0),D0;track BSR _SETMONTRACKS BRA.S \1 \15:MOVE (A0)+,D0;src_inter MOVE (A0)+,D1;cause MOVE.L (A0)+,D2;int_adr BSR _SETINTERRUPT BRA.S \1 \9:MOVE (A0),D0;mode BSR _BUFFOPER BRA.S \1 \16:MOVEM (A0),D0-D1;mode, data BSR _GPIO BRA.S \1 \10:SUBQ #4,SP MOVE (A0)+,D0;src MOVE (A0)+,D1;dest MOVE (A0)+,D2;srcclk MOVE (A0)+,2(SP);prescale MOVE (A0),(SP);protocol MOVE (SP),-(SP) MOVE 4(SP),-(SP) BSR _DEVCONNECT ADDQ #8,SP BRA.S \1 \11:MOVE (A0),D0;reset BSR _SNDSTATUS BRA.S \1 \12:MOVE.L (A0),D0 BSR _BUFFPTR BRA.S \1 \2:MOVEQ #0,D0 \1:RTE \13:MOVE.L DET_XBIOS-4,-(SP) RTS RAZ_BUFFERS: MOVEM.L D0-D1/A0,-(SP) LEA TAB_BUFFERS,A0 MOVEQ #NB_BUFFERS-1,D1 \1:LEA TAILLE_SOUND_HEADER(A0),A0 MOVE.L #(TAILLE_BUFFER/4)-1,D0 \2:CLR.L (A0)+ DBRA D0,\2 DBRA D1,\1 MOVEM.L (SP)+,D0-D1/A0 RTS STOP_SOUND: TST D_MAC BNE.S \2;MagiCMac TST D_SDL BNE.S \1 BSR FIN_IRQ_PSG BRA.S \1 \2:IFEQ 2,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG100 MOVEM.L (SP)+,D0/A0 ENDIF LEA CHANNEL,A0 MOVEQ #FLUSHCMD,D0;nettoyage canal MOVEQ #0,D1 MOVEQ #0,D2 BSR ISNDCMD IFEQ 2,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG101 MOVEM.L (SP)+,D0/A0 ENDIF LEA CHANNEL,A0 MOVEQ #QUIETCMD,D0;arrt son MOVEQ #0,D1 MOVEQ #0,D2 BSR ISNDCMD BSR RAZ_BUFFERS \1:RTS STOP_RECORD: TST NB_INDEV BEQ.S \1 IFEQ 2,DEBUG MOVEM.L D0/A0,-(SP) PRINTLINE DEBUG123 MOVEM.L (SP)+,D0/A0 ENDIF LEA SPBSTOPRECORDING,A0 BSR CALLMACFUNCTION2 \1:RTS DC.L "XBRA" DC.L "MgSn" DC.L 0 DET_FIN_SON: CMP #2,D0 BNE.S \1 MOVEM.L D0-D7/A0-A6,-(SP) LEA CHANNEL,A0 MOVE.L A0,SNDCHANNELPTR LEA SNDDISPOSECHANNEL,A0 BSR CALLMACFUNCTION2 MOVEM.L (SP)+,D0-D7/A0-A6 \2:TST.L DET_FIN_SON-4 BEQ.S \1 MOVE.L DET_FIN_SON-4,-(SP) \1:RTS INIT_COOKIE:;nom dans D0.L ;retourne le pointeur sur donne cookie dans D0 ou < 0 si erreur MOVEM.L D1-A1/A6,-(SP) MOVE.L D0,D7 BSR GET_COOKIE BPL \1;existe dja SUB.L A6,A6 SUPER 1 TST.L D0 BMI.S \8;mode superviseur SUPER 0 MOVE.L D0,A6;sauve SSP \8:MOVE.L _COOKIE,D0 BEQ \2;le Cookie Jar n'existe pas TOS < 1.6 MOVE.L D0,A0 MOVEQ #1,D0;compteur nombre de cookies \3:TST.L (A0) BEQ.S \4;dernier cookie ADDQ #8,A0 INC D0 BRA.S \3 \4:CMP.L 4(A0),D0 BCC.S \5;plus de place CLR.L 8(A0);id dernier cookie MOVE.L 4(A0),12(A0);dplace data dernier cookie (nombre max de cookie) MOVE.L D7,(A0)+;installe nouveau cookie MOVE.L A0,D7 CLR.L (A0);contenu initialis 0 BRA \9 \5:MOVE.L 4(A0),D1;taille BEQ \10;erreur MOVE.L D1,D2 ASL.L #4,D2;double la taille (en octets) MOVE.L D2,D0 BSR MALLOC_D0 BMI \10;erreur MOVE.L _COOKIE,A0 MOVE.L D0,A1 MOVE.L D1,D2 ADD.L D1,D1 SUBQ.L #2,D2;recopie BMI.S \7 \6:MOVE.L (A0)+,(A1)+;id MOVE.L (A0)+,(A1)+;contenu SUBQ.L #1,D2 BPL.S \6 BRA.S \7 \2:MOVEQ #64,D0 BSR MALLOC_D0;rserve la place pour 8 cookie si le Cookie Jar n'existe pas BMI.S \10;erreur MOVE.L D0,_COOKIE LEA DET_RESET,A0 MOVE.L RESVECTOR,-4(A0) MOVE.L RESVALID,SAUVE_RESVALID MOVE.L A0,RESVECTOR;dtourne reset pour raz vecteur Cookie Jar MOVE.L #$31415926,RESVALID MOVE.L D0,A1 MOVEQ #8,D1 \7:MOVE.L D7,(A1)+;installe nouveau cookie MOVE.L A1,D7 CLR.L (A1)+;contenu initialis 0 CLR.L (A1)+;id dernier cookie MOVE.L D1,(A1);taille BRA.S \9 \10:MOVEQ #-1,D7;erreur \9:MOVE.L A6,D0 BEQ.S \11 SUPER (A6) \11:MOVE.L D7,D0 \1:MOVEM.L (SP)+,D1-A1/A6 RTS GET_COOKIE:;nom dans D0.L, au retour si < 0 pas de cookie ;retourne le pointeur sur donne cookie dans D0 MOVEM.L D1-A1/A6,-(SP) MOVE.L D0,D6 SUB.L A6,A6 SUPER 1 TST.L D0 BMI.S \5;mode superviseur SUPER 0 MOVE.L D0,A6;sauve SSP \5:MOVEQ #0,D7 MOVE.L _COOKIE,D0 BEQ.S \1 MOVE.L D0,A0 \2:TST.L (A0) BEQ.S \1 CMP.L (A0),D6 BNE.S \3 MOVE.L A0,D7 ADDQ #4,D7 BRA.S \1 \3:ADDQ #8,A0 BRA.S \2 \1:MOVE.L A6,D0 BEQ.S \4 SUPER (A6) \4:MOVEQ #-1,D6 MOVE.L D7,D0 BEQ.S \6 MOVEQ #0,D6 \6:TST D6 MOVEM.L (SP)+,D1-A1/A6 RTS DC.L "XBRA" DC.L "MgSn" DC.L 0;adresse de retour DET_RESET: CLR.L _COOKIE;vecteur Cookie Jar MOVE.L SAUVE_RESVALID,RESVALID MOVE.L DET_RESET-4,RESVECTOR JMP (A6) MALLOC_D0: MOVE.L A0,-(SP) MOVE.L D0,-(SP) MALLOC #-1 MOVE.L (SP)+,A0 CMP.L D0,A0 BCS.S \1 \3:MOVEQ #-39,D0 BRA.S \2 \1:MALLOC A0 TST.L D0 BLE.S \3 \2:MOVE.L (SP)+,A0 TST.L D0 RTS CONV_DECI:;A0:pointeur cible chane ASCII, D0:valeur sur 32 bits, D1:nombre de chiffres BSR CONV_DECI_SIMPLE DEC D1 BEQ.S \1 SWAP D0 TST D0 BNE.S \3;dpassement MOVEQ #0,D0 \2:CMP.B #"0",(A0,D0) BNE.S \1 MOVE.B #" ",(A0,D0);enlve les zros inutiles INC D0 CMP D1,D0 BNE.S \2 BRA.S \1 \3:MOVE.B #"?",(A0,D1) DBRA D1,\3 \1:RTS CONV_DECI_SIMPLE:;A0:pointeur cible chane ASCII, D0:valeur sur 32 bits, D1:nombre de chiffres MOVE D1,-(SP) DEC D1 MOVE.L D0,-(SP) \1:MOVEQ #0,D0 MOVE (SP),D0 DIVU #10,D0;poids fort /10 MOVE D0,(SP);rsultat poids fort MOVE 2(SP),D0 DIVU #10,D0;((reste * 65536) + poids faible)/10 MOVE D0,2(SP);rsultat poids faible SWAP D0 OR #$30,D0 MOVE.B D0,(A0,D1) DBRA D1,\1 ADDQ.L #4,SP MOVE (SP)+,D1 RTS CALLMACFUNCTION: MOVEM.L A0/A2/A6,-(SP) MOVE.L A0,A2;fonction SUPER 0;superviseur MOVE.L D0,A6;sauve SSP MOVE.L A2,A0 BSR CALLMACFUNCTION2 SUPER (A6);utilisateur MOVEM.L (SP)+,A0/A2/A6 MOVE.L RETOUR,D0 RTS CALLMACFUNCTION2: MOVEM.L D1-A6,-(SP) MOVE.L A0,A2 MOVE.L MODEMAC,A0 JSR (A0) MOVE.L A2,-(SP) MOVE.L CALLMACCONTEXT,A0 JSR (A0) ADDQ #4,SP MOVE.L MODEATARI,A0 JSR (A0) MOVEM.L (SP)+,D1-A6 MOVE.L RETOUR,D0 RTS GESTALT: MOVEM.L D0-A6,-(SP) MOVE.L D0,D4;selector MOVE.L A0,A2;response SUPER 0 MOVE.L D0,D3 MOVE.L MODEMAC,A0 JSR (A0) MOVE.L A2,A0 MOVE.L D4,D0 MOVE.L A0,A1 DC.W $A1AD;Gestalt MOVE.L A0,(A1) MOVE D0,D4 MOVE.L MODEATARI,A0 JSR (A0) MOVE.L D3,A0 SUPER (A0) MOVE D4,D0 MOVEM.L (SP)+,D0-A6 RTS ENDSOUND: MOVEM.L D0-A6,-(SP) TST CAUSE_INTER BEQ \2 BMI.S \3;mfp BTST #0,CAUSE_INTER+1 BEQ \1;<> lecture TST D_TIMER_A BEQ \1 DEC COUNT_TIMER_A BGT \1 MOVE D_INIT_TIMER_A,COUNT_TIMER_A TST D_MAC BEQ.S \7 MOVE.L MODEATARI,A0 JSR (A0);passe en mode ATARI \7:MOVE.L VECT_TIMER_A,D0 BEQ.S \4 MOVE.L D0,A0 BRA.S \5 \3:BTST #0,CAUSE_INTER+1 BEQ.S \1;<> lecture TST D_IO7 BEQ.S \1 TST D_MAC BEQ.S \8 MOVE.L MODEATARI,A0 JSR (A0);passe en mode ATARI \8:MOVE.L VECT_IO7,D0 BEQ.S \4 MOVE.L D0,A0 \5:TST PROC_TYPE BEQ.S \6 CLR -(SP);format si > 68000 \6:PEA \4(PC);adresse de retour MOVE SR,-(SP) JMP (A0) \2:TST.L INTH_ADDR BLE.S \1 TST D_MAC BEQ.S \9 MOVE D0,-(SP);status MOVE.L MODEATARI,A0 JSR (A0);passe en mode ATARI MOVEQ #0,D0 MOVE (SP)+,D0;status \9:MOVE.L INTH_ADDR,A0 JSR (A0) \4:TST D_MAC BEQ.S \1 MOVE.L MODEMAC,A0 JSR (A0);repasse en mode MAC \1:MOVEM.L (SP)+,D0-A6 RTS ENDSOUND_REC: MOVEM.L D0-A6,-(SP) TST CAUSE_INTER BEQ.S \2 BMI.S \3;mfp BTST #1,CAUSE_INTER+1 BEQ \1;<> enregistrement TST D_TIMER_A BEQ \1 DEC COUNT_TIMER_A BGT \1 MOVE D_INIT_TIMER_A,COUNT_TIMER_A MOVE.L MODEATARI,A0 JSR (A0);passe en mode ATARI MOVE.L VECT_TIMER_A,D0 BEQ.S \4 MOVE.L D0,A0 BRA.S \5 \3:BTST #1,CAUSE_INTER+1 BEQ.S \1;<> enregistrement TST D_IO7 BEQ.S \1 MOVE.L MODEATARI,A0 JSR (A0);passe en mode ATARI MOVE.L VECT_IO7,D0 BEQ.S \4 MOVE.L D0,A0 \5:TST PROC_TYPE BEQ.S \6 CLR -(SP);format si > 68000 \6:PEA \4(PC);adresse de retour MOVE SR,-(SP) JMP (A0) \2:TST.L INTH_ADDR_REC BLE.S \1 MOVE D0,-(SP);status MOVE.L MODEATARI,A0 JSR (A0);passe en mode ATARI MOVE.L INTH_ADDR_REC,A0 MOVEQ #0,D0 MOVE (SP)+,D0;status BSET #7,D0;enregistrement JSR (A0) \4:MOVE.L MODEMAC,A0 JSR (A0);repasse en mode MAC \1:MOVEM.L (SP)+,D0-A6 RTS ISNDCMD: MOVE.L D2,-(SP);param2 MOVE D1,-(SP);param1 MOVE D0,-(SP);cmd MOVE.L A0,SNDCHANNELPTR LEA (SP),A0 MOVE.L A0,SNDCOMMAND LEA SNDDOIMMEDIATE,A0 BSR CALLMACFUNCTION2 ADDQ #8,SP RTS SNDCMD: MOVE.L D2,-(SP);param2 MOVE D1,-(SP);param1 MOVE D0,-(SP);cmd MOVE.L A0,SNDCHANNELPTR LEA (SP),A0 MOVE.L A0,SNDCOMMAND LEA SNDDOCOMMAND,A0 BSR CALLMACFUNCTION2 ADDQ #8,SP RTS MACSNDCMD: MOVE.L D2,-(SP);param2 MOVE D1,-(SP);param1 MOVE D0,-(SP);cmd MOVE.L A0,SNDCHANNELPTR MOVE.L SP,SNDCOMMAND BSR SNDDOCOMMAND MOVE.L RETOUR,D0 BEQ.S \1 AND #$FFFC,STATUS;arrt lecture DMA \1:ADDQ #8,SP RTS SPBVERSION: MOVEM.L D0-A6,-(SP) CLR.L -(SP) MOVE.L #$00000014,D0 DC.W $A800;SPBVersion MOVE.L (SP)+,RETOUR;NumVersion MOVEM.L (SP)+,D0-A6 RTS SPBGETINDEXEDDEVICE: MOVEM.L D0-A6,-(SP) CLR -(SP) MOVE COUNT,-(SP) PEA DEVICENAME PEA DEVICEICONHANDLE MOVE.L #$05140014,D0 DC.W $A800;SPBGetIndexedDevice MOVE (SP)+,D0 EXT.L D0 MOVE.L D0,RETOUR;err MOVEM.L (SP)+,D0-A6 RTS SPBOPENDEVICE: MOVEM.L D0-A6,-(SP) CLR -(SP) PEA NUL;deviceName: defaut MOVE #1,-(SP);siWritePermission PEA INREFNUM MOVE.L #$05180014,D0 DC.W $A800 MOVE (SP)+,D0 EXT.L D0 MOVE.L D0,RETOUR;err MOVEM.L (SP)+,D0-A6 RTS SPBCLOSEDEVICE: MOVEM.L D0-A6,-(SP) CLR -(SP) MOVE.L INREFNUM,-(SP) MOVE.L #$021C0014,D0 DC.W $A800 MOVE (SP)+,D0 EXT.L D0 MOVE.L D0,RETOUR;err MOVEM.L (SP)+,D0-A6 RTS SPBRECORD: MOVEM.L D0-A6,-(SP) CLR -(SP) PEA INPARAMPTR MOVE #-1,-(SP);asynchFlag: asynchronous MOVE.L #$03200014,D0 DC.W $A800 MOVE (SP)+,D0 EXT.L D0 MOVE.L D0,RETOUR;err MOVEM.L (SP)+,D0-A6 RTS SPBSTOPRECORDING: MOVEM.L D0-A6,-(SP) CLR -(SP) MOVE.L INREFNUM,-(SP) MOVE.L #$02300014,D0 DC.W $A800 MOVE (SP)+,D0 EXT.L D0 MOVE.L D0,RETOUR;err MOVEM.L (SP)+,D0-A6 RTS SPBGETDEVICEINFO: MOVEM.L D0-A6,-(SP) CLR -(SP) MOVE.L INREFNUM,-(SP) MOVE.L INFOTYPE,-(SP) PEA INFODATA MOVE.L #$06380014,D0 DC.W $A800 MOVE (SP)+,D0 EXT.L D0 MOVE.L D0,RETOUR;err MOVEM.L (SP)+,D0-A6 RTS SPBSETDEVICEINFO: MOVEM.L D0-A6,-(SP) CLR -(SP) MOVE.L INREFNUM,-(SP) MOVE.L INFOTYPE,-(SP) PEA INFODATA MOVE.L #$063C0014,D0 DC.W $A800 MOVE (SP)+,D0 EXT.L D0 MOVE.L D0,RETOUR;err MOVEM.L (SP)+,D0-A6 RTS SNDSOUNDMANAGERVERSION: MOVEM.L D0-A6,-(SP) CLR.L -(SP) MOVE.L #$000C0008,D0;SndSoundManagerVersion DC.W $A800 MOVE.L (SP)+,RETOUR;NumVersion MOVEM.L (SP)+,D0-A6 RTS SNDDISPOSECHANNEL: MOVEM.L D0-A6,-(SP) CLR -(SP) MOVE.L SNDCHANNELPTR,-(SP) MOVE.B #1,-(SP);quietNow DC.W $A801 MOVE (SP)+,D0 EXT.L D0 MOVE.L D0,RETOUR;err MOVEM.L (SP)+,D0-A6 RTS SNDDOCOMMAND: MOVEM.L D0-A6,-(SP) CLR -(SP) MOVE.L SNDCHANNELPTR,-(SP) MOVE.L SNDCOMMAND,-(SP) MOVE #1,-(SP);noWait DC.W $A803 MOVE (SP)+,D0 EXT.L D0 MOVE.L D0,RETOUR;err MOVEM.L (SP)+,D0-A6 RTS SNDDOIMMEDIATE: MOVEM.L D0-A6,-(SP) CLR -(SP) MOVE.L SNDCHANNELPTR,-(SP) MOVE.L SNDCOMMAND,-(SP) DC.W $A804 MOVE (SP)+,D0 EXT.L D0 MOVE.L D0,RETOUR;err MOVEM.L (SP)+,D0-A6 RTS SNDNEWCHANNEL: MOVEM.L D0-A6,-(SP) CLR -(SP) MOVE.L SNDCHANNELPTR2,-(SP) MOVE #SAMPLEDSYNTH,-(SP);synth MOVE.L INITSND,-(SP);init MOVE.L SNDCALLBACKPROCPTR,-(SP);userRoutine DC.W $A807 MOVE (SP)+,D0 EXT.L D0 MOVE.L D0,RETOUR;err MOVEM.L (SP)+,D0-A6 RTS DIV32_32:;divise D0 par D1 => D0 en 32 bits DC.L $4C410000;DIVU.L D1,D0;sans reste RTS MUL32_32:;multiplie D0 par D1 => D0 en 32 bits DC.L $4C010000;MULU.L D1,D0 RTS MUL32_64:;multiplie D0 par D1 en 32 bits ; => rsultat en 64 bits: poids faible dans D0, poids fort dans D1 MOVE.L D2,-(SP) DC.L $4C010402;MULU.L D1,D2:D0 MOVE.L D2,D1;poids fort MOVE.L (SP)+,D2 RTS DIV64_32S:;divise D1-D0 en 64 bits (poids fort dans D1) par D2 en 32 bits signs ; => rsultat dans D0 en 32 bits, reste dans D1 en 32 bits DC.L $4C420C01;DIVS.L D2,D1:D0 RTS MUL64_TRACKS: MOVE D2,-(SP) MOVE NB_TRACKS,D2 BRA.S \1 \2:ADD.L D0,D0 ADDX.L D1,D1 \1:DBRA D2,\2 MOVE (SP)+,D2 RTS TEST_SDL_ARANYM: MOVEQ #0,D0 MOVE SR,-(SP) OR #$700,SR LEA \1(PC),A0 MOVE.L 16,A1;instruction illegale MOVE.L A0,16 MOVE.L SP,A2 CLR.L NFID_AUDIO PEA NFNAME_AUDIO CLR.L -(SP) DC.W $7300;NATFEAT_ID MOVE.L D0,NFID_AUDIO BNE.S \2 CLR.L -(SP) DC.W $712C \2:MOVEQ #-1,D0 \1:MOVE.L A1,16 MOVE.L A2,SP MOVE (SP)+,SR MOVE D0,D_SDL RTS SDL_VERSION: MOVEM.L D1-A6,-(SP) MOVE.L NFID_AUDIO,D0 BEQ.S \1 MOVE.L D0,-(SP) CLR.L -(SP) DC.W $7301;NATFEAT_CALL ADDQ #8,SP \1:MOVEM.L (SP)+,D1-A6 RTS SDL_OPENAUDIO: MOVEM.L D2-A6,-(SP) TST.L NFID_AUDIO BEQ.S \2 PEA (A0);buffer AND.L #$FFFF,D3 MOVE.L D3,-(SP);nb samples AND.L #$FFFF,D2 MOVE.L D2,-(SP);channels AND.L #$FFFF,D1 MOVE.L D1,-(SP);format MOVE.L D0,-(SP);frequency MOVEQ #OpenAudio,D0 ADD.L NFID_AUDIO,D0 MOVE.L D0,-(SP) CLR.L -(SP) DC.W $7301;NATFEAT_CALL LEA 28(SP),SP BRA.S \1 \2:PEA (A0);buffer MOVE D3,-(SP);nb samples MOVE D2,-(SP);channels MOVE D1,-(SP);format MOVE.L D0,-(SP);frequency MOVE.L #OpenAudio,-(SP) DC.W $712C LEA 14(SP),SP \1:MOVEM.L (SP)+,D2-A6 TST.L D0 RTS SDL_CLOSEAUDIO: MOVEM.L D0-A6,-(SP) TST.L NFID_AUDIO BEQ.S \2 MOVEQ #CloseAudio,D0 ADD.L NFID_AUDIO,D0 MOVE.L D0,-(SP) CLR.L -(SP) DC.W $7301;NATFEAT_CALL ADDQ #8,SP BRA.S \1 \2:MOVE.L #CloseAudio,-(SP) DC.W $712C \1:MOVEM.L (SP)+,D0-A6 RTS SDL_PAUSEAUDIO: MOVEM.L D1-A6,-(SP) TST.L NFID_AUDIO BEQ.S \2 EXT.L D0 MOVE.L D0,-(SP);pause_on MOVEQ #PauseAudio,D0 ADD.L NFID_AUDIO,D0 MOVE.L D0,-(SP) CLR.L -(SP) DC.W $7301;NATFEAT_CALL LEA 12(SP),SP BRA.S \1 \2:MOVE D0,-(SP);pause_on MOVE.L #PauseAudio,-(SP) DC.W $712C ADDQ #2,SP \1:MOVEM.L (SP)+,D1-A6 RTS SDL_AUDIOSTATUS: MOVEM.L D1-A6,-(SP) TST.L NFID_AUDIO BEQ.S \2 MOVEQ #AudioStatus,D0 ADD.L NFID_AUDIO,D0 MOVE.L D0,-(SP) CLR.L -(SP) DC.W $7301;NATFEAT_CALL ADDQ #8,SP BRA.S \1 \2:MOVE.L #AudioStatus,-(SP) DC.W $712C \1:MOVEM.L (SP)+,D1-A6 RTS SDL_AUDIOVOLUME: MOVEM.L D1-A6,-(SP) TST.L NFID_AUDIO BEQ.S \2 EXT.L D0 MOVE.L D0,-(SP);volume MOVEQ #AudioVolume,D0 ADD.L NFID_AUDIO,D0 MOVE.L D0,-(SP) CLR.L -(SP) DC.W $7301;NATFEAT_CALL LEA 12(SP),SP BRA.S \1 \2:MOVE D0,-(SP);volume MOVE.L #AudioVolume,-(SP) DC.W $712C ADDQ #2,SP \1:MOVEM.L (SP)+,D1-A6 RTS SDL_LOCKAUDIO: MOVEM.L D0-A6,-(SP) TST.L NFID_AUDIO BEQ.S \2 MOVEQ #LockAudio,D0 ADD.L NFID_AUDIO,D0 MOVE.L D0,-(SP) CLR.L -(SP) DC.W $7301;NATFEAT_CALL ADDQ #8,SP BRA.S \1 \2:MOVE.L #LockAudio,-(SP) DC.W $712C \1:MOVEM.L (SP)+,D0-A6 RTS SDL_UNLOCKAUDIO: MOVEM.L D0-A6,-(SP) TST.L NFID_AUDIO BEQ.S \2 MOVEQ #UnlockAudio,D0 ADD.L NFID_AUDIO,D0 MOVE.L D0,-(SP) CLR.L -(SP) DC.W $7301;NATFEAT_CALL ADDQ #8,SP BRA.S \1 \2:MOVE.L #UnlockAudio,-(SP) DC.W $712C \1:MOVEM.L (SP)+,D0-A6 RTS SDL_GETAUDIOFREQ: MOVEM.L D1-A6,-(SP) TST.L NFID_AUDIO BEQ.S \2 MOVEQ #GetAudioFreq,D0 ADD.L NFID_AUDIO,D0 MOVE.L D0,-(SP) CLR.L -(SP) DC.W $7301;NATFEAT_CALL ADDQ #8,SP BRA.S \1 \2:MOVE.L #GetAudioFreq,-(SP) DC.W $712C;fonctions audio Aranym \1:MOVEM.L (SP)+,D1-A6 RTS SDL_GETAUDIOLEN: MOVEM.L D1-A6,-(SP) TST.L NFID_AUDIO BEQ.S \2 MOVEQ #GetAudioLen,D0 ADD.L NFID_AUDIO,D0 MOVE.L D0,-(SP) CLR.L -(SP) DC.W $7301;NATFEAT_CALL ADDQ #8,SP BRA.S \1 \2:MOVE.L #GetAudioLen,-(SP) DC.W $712C \1:MOVEM.L (SP)+,D1-A6 RTS TIMER_OUTPUT_: MOVEM.L D0-A6,-(SP) MOVE.L #"hade",D0 BSR GET_COOKIE SPL.B D7 EXT.W D7 SWAP D7;flag HADES MOVE INFOS_COOKIE+10,D0;slot SNE.B D7 EXT.W D7;MV16/PSOUND SUB.L A6,A6 SUPER 1 TST.L D0 BMI.S \4;superviseur SUPER 0 MOVE.L D0,A6;sauve SSP \4:LEA COMPTEUR_PSG,A0 MOVE.L 64(SP),D0 MOVE.L D0,(A0)+;compteur initialis longueur MOVE.L 68(SP),(A0);adresse chantillons CLR FLAG_ARRET MOVE SR,-(SP) OR #$700,SR;interdit IRQ BSR ARRET_PSG MOVE 76(SP),D0;mode: B0:mono(0)/stro(1) ; B1:8 bits(0)/16 bits(1) B6:rptition non(0)/oui(1) BTST #6,D0;rptition BEQ.S \2 AND #3,D0 BSET #2,D0 \2:LEA TAB_PSG2,A0 TST D7 BMI.S \3;carte son HADES LEA TAB_PSG,A0 \3:ASL #2,D0 MOVE.L (A0,D0),A0 LEA SAUVE_IRQ_TIMER_A,A1 LEA $134,A2;vecteur MFP TST D_TT BEQ.S \7 LEA $174,A2;vecteur MFP TT \7:MOVE.L (A2),(A1);sauve vecteur MOVE.L A0,(A2);nouveau vecteur LEA $FFFA0000,A0;port cartouche => MV16 TST.L D7 BPL.S \5;<> HADES LEA ROPOCOP_HADES,A0 MOVE INFOS_COOKIE+10,D0;slot AND #3,D0 ASL #2,D0;*4 MOVE.L (A0,D0),A0 \5:MOVE.L A0,ADR_CARTOUCHE MOVE 74(SP),D0;no frquence LEA $FFFFFA01,A0;MFP TST D_TT BEQ.S \6 LEA $FFFFFA81,A0;MFP TT \6:MOVE.L A0,ADR_MFP BSR INIT_TIMER_A BCLR #3,$16(A0);VR automatic end of interrupt BSET #5,6(A0);IERA BSET #5,$12(A0);IMRA autorisation IRQ timer A BCLR #5,$E(A0);ISRA pas d'IRQ en service MOVE (SP)+,SR MOVE.L A6,D0 BEQ.S \1 SUPER (A6) \1:MOVEM.L (SP)+,D0-A6 RTS INIT_TIMER_A:;D0: no freq 0-7 ou freq si >7 MOVEM.L D0-D2/A0-A2,-(SP) MOVE D0,-(SP) MOVE.L ADR_MFP,A0;MFP 68901 BCLR #5,$12(A0);IMRA masque timer A BCLR #5,6(A0);IERA inhibe timer A BCLR #5,$A(A0);IPRA pas pending BCLR #5,$E(A0);ISRA pas d'IRQ en service CLR.B $18(A0);TACR stoppe timer A MOVE (SP)+,D0 MOVE.L #614400,D2;2.4576 MHz /4 DIVU D0,D2;/frquence BVS.S \2 MOVE.L D2,D1 CLR D1 SWAP D1 ADD.L D1,D1;reste *2 DIVU D0,D1 ADD D1,D2 CMP #255,D2 BCS.S \1 \2:MOVEQ #-1,D2 \1:MOVE.B D2,$1E(A0);TADR valeur initiale timer A MOVE.B #1,$18(A0);TACR prdiv /4 ;temps en uS = (TADR*4)/2.4576 MOVEM.L (SP)+,D0-D2/A0-A2 RTS ARRET_PSG: MOVEM.L D0-D1/A0,-(SP) LEA $FFFF8800,A0;circuit sonore PSG YAMAHA MOVEQ #0,D0 MOVEQ #5,D1 \1:MOVEP D0,0(A0);priode canaux 1 3 ADD #$100,D0 DBRA D1,\1 MOVE #$7FF,D0 MOVEP D0,0(A0);arrt canaux & port B en sortie MOVEM.L (SP)+,D0-D1/A0 RTS FIN_IRQ_PSG: TST FLAG_ARRET BMI.S \1 MOVEM.L D0/A0/A1,-(SP) MOVE SR,-(SP) OR #$700,SR;interdit IRQ MOVE.L ADR_MFP,A0;MFP 68901 BSET #3,$16(A0);VR software end of interrupt BCLR #5,$12(A0);IMRA masque timer A BCLR #5,6(A0);IERA inhibe timer A BCLR #5,$A(A0);IPRA pas pending BCLR #5,$E(A0);ISRA pas d'IRQ en service CLR.B $18(A0);TACR stoppe timer A MOVE.L SAUVE_IRQ_TIMER_A,A0 LEA $134,A1;vecteur MFP TST D_TT BEQ.S \3 LEA $174,A1;vecteur MFP TT \3:MOVE.L A0,(A1) BSR ARRET_PSG MOVE #-1,FLAG_ARRET;arrt ou fin BTST #0,STATUS+1;lecture DMA BEQ.S \2;arrt dja demand AND #$FFFC,STATUS;arrt lecture DMA MOVEQ #0,D0 BSR ENDSOUND \2:MOVE (SP)+,SR MOVEM.L (SP)+,D0/A0/A1 \1:RTS IRQ_PSG2_STEREO16_REP: MOVEM.L D0/D1/A0,-(SP) LEA COMPTEUR_PSG(PC),A0 SUBQ.L #4,(A0)+;compteur BPL.S I15 BRA I10;swap IRQ_PSG2_MONO16_REP: MOVEM.L D0/D1/A0,-(SP) LEA COMPTEUR_PSG(PC),A0 SUBQ.L #2,(A0)+;compteur BPL.S I17 BRA I10;swap IRQ_PSG2_STEREO16: MOVEM.L D0/D1/A0,-(SP) LEA COMPTEUR_PSG(PC),A0 SUBQ.L #4,(A0)+;compteur BPL.S I15 BSR FIN_IRQ_PSG BRA I6 I15:ADDQ.L #4,(A0);adresse MOVE 4(A0),-(SP);volume MOVE.L (A0),A0;adresse MOVE -(A0),D0;chantillons EXT.L D0 MOVE -(A0),D1 EXT.L D1 ADD.L D1,D0 ASR.L #4,D0;moyenne sur 12 bits MOVE (SP)+,D1;volume ASR D1,D0 AND #(4095*2),D0 BCHG #12,D0;non sign MOVE.L ADR_CARTOUCHE,A0;MV16 utilise sur 12 bits MOVE.B (A0,D0),D1 ; 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 ;---------------------------------------------------- ;$FA # # # D D D D D D D D C C C C # ;---------------------------------------------------- ; | | | | | | ; < N/A > < volume data 8-bits > < channel> LEA $FFFF8800,A0;PSG YAMAHA port // MOVE.B #15,(A0);port B LSR #5,D0;8 bits MOVE.B D0,2(A0) MOVEM.L (SP)+,D0/D1/A0 RTE IRQ_PSG2_MONO16: MOVEM.L D0/D1/A0,-(SP) LEA COMPTEUR_PSG(PC),A0 SUBQ.L #2,(A0)+;compteur BPL.S I17 BSR FIN_IRQ_PSG BRA I6 I17:ADDQ.L #2,(A0);adresse MOVE 4(A0),D1;volume MOVE.L (A0),A0;adresse MOVE -(A0),D0;chantillon ASR #3,D0;sur 12 bits ASR D1,D0;volume AND #(4095*2),D0 BCHG #12,D0;non sign MOVE.L ADR_CARTOUCHE,A0;MV16 utilise sur 12 bits MOVE.B (A0,D0),D1 ; 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 ;---------------------------------------------------- ;$FA # # # D D D D D D D D C C C C # ;---------------------------------------------------- ; | | | | | | ; < N/A > < volume data 8-bits > < channel> LEA $FFFF8800,A0;PSG YAMAHA port // MOVE.B #15,(A0);port B LSR #5,D0;8 bits MOVE.B D0,2(A0) MOVEM.L (SP)+,D0/D1/A0 RTE IRQ_PSG2_STEREO_REP: MOVEM.L D0/D1/A0,-(SP) LEA COMPTEUR_PSG(PC),A0 SUBQ.L #2,(A0)+;compteur BPL.S I9 BRA.S I10;swap IRQ_PSG2_MONO_REP: MOVEM.L D0/D1/A0,-(SP) LEA COMPTEUR_PSG(PC),A0 SUBQ.L #1,(A0)+;compteur BPL.S I7 I10:BSR SWAP_ADR MOVE.L ADR_DEBUT,D0 MOVE.L D0,(A0);adresse NEG.L D0 ADD.L ADR_FIN,D0 MOVE.L D0,-(A0);compteur BRA.S I6 IRQ_PSG2_STEREO: MOVEM.L D0/D1/A0,-(SP) LEA COMPTEUR_PSG(PC),A0 SUBQ.L #2,(A0)+;compteur BPL.S I9 BSR FIN_IRQ_PSG BRA.S I6 I9:ADDQ.L #2,(A0);adresse MOVE 4(A0),-(SP);volume MOVE.L (A0),A0;adresse MOVE.B -(A0),D0;chantillons EXT.W D0 MOVE.B -(A0),D1 EXT.W D1 ADD D1,D0 ASR #1,D0;moyenne AND #255,D0;8 bits MOVE (SP)+,D1;volume BRA.S I8 IRQ_PSG2_MONO: MOVEM.L D0/D1/A0,-(SP) LEA COMPTEUR_PSG(PC),A0 SUBQ.L #1,(A0)+;compteur BPL.S I7 BSR FIN_IRQ_PSG BRA.S I6 I7:ADDQ.L #1,(A0);adresse MOVE 4(A0),D1;volume MOVE.L (A0),A0;adresse MOVEQ #0,D0 MOVE.B -(A0),D0;chantillon I8:ASR.B D1,D0;volume BCHG #7,D0;non sign LEA $FFFF8800,A0;PSG YAMAHA port // MOVE.B #15,(A0);port B MOVE.B D0,2(A0) MOVE.L ADR_CARTOUCHE,A0;MV16 voie 1 ASL #5,D0 MOVE.B (A0,D0),D0 ; 5 4 3 2 1 0 9 8 7 6 5 4 3 2 1 0 ;---------------------------------------------------- ;$FA # # # D D D D D D D D C C C C # ;---------------------------------------------------- ; | | | | | | ; < N/A > < volume data 8-bits > < channel> I6:MOVEM.L (SP)+,D0/D1/A0 RTE IRQ_PSG_STEREO16_REP: MOVEM.L D0/D1/A0/A1,-(SP) LEA COMPTEUR_PSG(PC),A0 SUBQ.L #4,(A0)+;compteur BPL.S I14 BRA I5;swap IRQ_PSG_MONO16_REP: MOVEM.L D0/D1/A0/A1,-(SP) LEA COMPTEUR_PSG(PC),A0 SUBQ.L #2,(A0)+;compteur BPL.S I16 BRA I5;swap IRQ_PSG_STEREO16: MOVEM.L D0/D1/A0/A1,-(SP) LEA COMPTEUR_PSG(PC),A0 SUBQ.L #4,(A0)+;compteur BPL.S I14 BSR FIN_IRQ_PSG BRA I1 I14:ADDQ.L #4,(A0);adresse MOVE.L (A0)+,A1 MOVE -(A1),D0;chantillons EXT.L D0 MOVE -(A1),D1 EXT.L D1 ADD.L D1,D0 MOVEQ #9,D1 ASR.L D1,D0;moyenne AND #255,D0;8 bits MOVE (A0),D1;volume BRA I3 IRQ_PSG_MONO16: MOVEM.L D0/D1/A0/A1,-(SP) LEA COMPTEUR_PSG(PC),A0 SUBQ.L #2,(A0)+;compteur BPL.S I16 BSR FIN_IRQ_PSG BRA I1 I16:ADDQ.L #2,(A0);adresse MOVE.L (A0)+,A1 MOVE (A0),D1;volume MOVE -(A1),D0;chantillon BRA.S I3 IRQ_PSG_STEREO_REP: MOVEM.L D0/D1/A0/A1,-(SP) LEA COMPTEUR_PSG(PC),A0 SUBQ.L #2,(A0)+;compteur BPL.S I4 BRA.S I5;swap IRQ_PSG_MONO_REP: MOVEM.L D0/D1/A0/A1,-(SP) LEA COMPTEUR_PSG(PC),A0 SUBQ.L #1,(A0)+;compteur BPL.S I2 I5:BSR SWAP_ADR MOVE.L ADR_DEBUT,D0 MOVE.L D0,(A0);adresse NEG.L D0 ADD.L ADR_FIN,D0 MOVE.L D0,-(A0);compteur BRA.S I1 IRQ_PSG_STEREO: MOVEM.L D0/D1/A0/A1,-(SP) LEA COMPTEUR_PSG(PC),A0 SUBQ.L #2,(A0)+;compteur BPL.S I4 BSR FIN_IRQ_PSG BRA.S I1 I4:ADDQ.L #2,(A0);adresse MOVE.L (A0)+,A1 MOVE.B -(A1),D0;chantillons EXT.W D0 MOVE.B -(A1),D0 EXT.W D1 ADD D1,D0 ASR #1,D0;moyenne AND #255,D0;8 bits MOVE (A0),D1;volume BRA.S I3 IRQ_PSG_MONO: MOVEM.L D0/D1/A0/A1,-(SP) LEA COMPTEUR_PSG(PC),A0 SUBQ.L #1,(A0)+;compteur BPL.S I2 BSR FIN_IRQ_PSG BRA.S I1 I2:ADDQ.L #1,(A0);adresse MOVE.L (A0)+,A1 MOVE (A0),D1;volume MOVEQ #0,D0 MOVE.B -(A1),D0;chantillon I3:ASR.B D1,D0 ASL #2,D0 LEA $FFFF8800,A0;PSG YAMAHA LEA TAB_VOL+1(PC,D0),A1 MOVEQ #8,D0 MOVE.B D0,(A0);volume 1 MOVE.B (A1)+,2(A0);MOVEP inexistant sur 060 INC D0 MOVE.B D0,(A0);volume 2 MOVE.B (A1)+,2(A0) INC D0 MOVE.B D0,(A0);volume 3 MOVE.B (A1),2(A0) I1:MOVEM.L (SP)+,D0/D1/A0/A1 RTE DATA COMPTEUR_PSG:DC.L 0; ADRESSE:DC.L 0 ; ne pas changer l'ordre VOLUME:DC.W 0 ; TAB_VOL: DC.L $C0B09,$C0B09,$D0808,$B0B0B,$D0905,$C0B08,$D0902,$D0806,$C0B07,$D0707,$C0B06,$C0A09,$B0B0A,$C0B02,$C0B00,$C0A08 DC.L $D0604,$D0505,$D0504,$C0909,$D0403,$B0B09,$C0A05,$B0A0A,$C0908,$B0B08,$C0A00,$C0A00,$C0907,$B0B07,$C0906,$B0B06 DC.L $B0A09,$B0B05,$A0A0A,$B0B02,$B0A08,$C0707,$C0804,$C0706,$B0909,$C0606,$A0A09,$C0703,$B0A05,$B0908,$B0A03,$A0A08 DC.L $B0A00,$B0907,$B0808,$A0A07,$A0909,$C0101,$A0A06,$B0807,$A0A05,$A0908,$A0A02,$A0A01,$A0A00,$90909,$A0808,$B0801 DC.L $A0906,$B0704,$A0905,$90908,$A0903,$A0806,$A0900,$90907,$90808,$A0804,$90906,$A0801,$90905,$90807,$80808,$90902 DC.L $90806,$90900,$90707,$80807,$90706,$90802,$80806,$90606,$80707,$80804,$80706,$80802,$70707,$80606,$80704,$70706 DC.L $80605,$80604,$70606,$70704,$80504,$60606,$70604,$70505,$60605,$60604,$60505,$60602,$60504,$50505,$60502,$50504 DC.L $50404,$50502,$40404,$40403,$40402,$40303,$30303,$30302,$30202,$20202,$20201,$10101,$20100,$10100,$10000,$00000 DC.L $E0D0C,$F0300,$F0300,$F0300,$F0300,$F0300,$F0300,$E0D0B,$E0D0B,$E0D0B,$E0D0B,$E0D0B,$E0D0B,$E0D0B,$E0D0A,$E0D0A DC.L $E0D0A,$E0D0A,$E0C0C,$E0D00,$D0D0D,$D0D0D,$D0D0D,$D0D0D,$D0D0D,$D0D0D,$E0C0B,$E0C0B,$E0C0B,$E0C0B,$E0C0B,$E0C0B DC.L $E0C0B,$E0C0B,$E0C0A,$E0C0A,$E0C0A,$E0C0A,$D0D0C,$D0D0C,$E0C09,$E0C09,$E0C05,$E0C00,$E0C00,$E0B0B,$E0B0B,$E0B0B DC.L $E0B0B,$E0B0A,$E0B0A,$E0B0A,$D0D0B,$D0D0B,$D0D0B,$E0B09,$E0B09,$E0B09,$D0C0C,$D0D0A,$E0B07,$E0B00,$E0B00,$D0D09 DC.L $D0D09,$E0A09,$D0D08,$D0D07,$D0D04,$D0D00,$E0A04,$E0909,$E0909,$D0C0B,$E0908,$E0908,$E0907,$E0808,$E0901,$C0C0C DC.L $D0C0A,$E0806,$E0707,$E0800,$E0705,$E0606,$D0C09,$E0505,$E0404,$D0C08,$D0B0B,$E0000,$D0C06,$D0C05,$D0C02,$C0C0B DC.L $C0C0B,$D0B0A,$D0B0A,$D0B0A,$D0B0A,$C0C0A,$C0C0A,$C0C0A,$D0B09,$D0B09,$D0A0A,$D0A0A,$D0A0A,$C0C09,$C0C09,$C0C09 DC.L $D0B06,$C0B0B,$C0C08,$D0B00,$D0B00,$C0C07,$C0C06,$C0C05,$C0C03,$C0C01,$C0B0A,$D0A05,$D0A04,$D0A02,$D0908,$D0908 TAB_PSG: DC.L IRQ_PSG_MONO,IRQ_PSG_STEREO,IRQ_PSG_MONO16,IRQ_PSG_STEREO16 DC.L IRQ_PSG_MONO_REP,IRQ_PSG_STEREO_REP,IRQ_PSG_MONO16_REP,IRQ_PSG_STEREO16_REP TAB_PSG2: DC.L IRQ_PSG2_MONO,IRQ_PSG2_STEREO,IRQ_PSG2_MONO16,IRQ_PSG2_STEREO16 DC.L IRQ_PSG2_MONO_REP,IRQ_PSG2_STEREO_REP,IRQ_PSG2_MONO16_REP,IRQ_PSG2_STEREO16_REP ROPOCOP_HADES:DC.L $FFFA0000,$FF7A0000,$FF7C0000,$FF7E0000 STRUCT_MCSN: DC.W 256 DC.W 30 DC.W 2;play FALCON DC.W 2;record FALCON DC.W 0;short dsp; Is the DSP there? DC.W 1;Playing: Interrupt possible with frame-end? DC.W 1;Recording: Interrupt possible with frame-end? DC.L 22579200,0,0,0;rserve TAB_NUM_FREQ_FALCON: ;frquences internes DC.W 49170,33800,24585,20770,16940,16940,12292,12292,9834,9834,8195; 25,175 MHz ;frquences via horloge externe DC.W 44100,29400,22050,17640,14700,14700,11025,11025,8820,8820,7350; 22,5792 MHz DC.W 48000,32000,24000,19200,16000,16000,12000,12000,9600,9600,8000; 24,576 MHz TAB_NUM_FREQ_STE:DC.W 6250,12500,25000,50000 VOLUMES:DC.W 255,255 GAINS:DC.W 0,0 INFOS_COOKIE: DC.W VERSION DC.W 0;NB_SOURCES DC.W 0;INSOURCE DC.L TAB_SOURCENAME DC.W 0;SLOT NFNAME_AUDIO:DC.B "AUDIO",0 NUL:DC.B 0 MESS1:DC.B 13,10,10,27,"p MagiCMac Sound Driver XBIOS v",0 MESS2:DC.B " ",27,"q installed",13,10,"Didier MEQUIGNON November 2002",0 MESS3:DC.B 13,10,"MacOS Sound Manager v",0 MESS4:DC.B 13,10,"MacOS Sound Input Manager v",0 MESS5:DC.B 13,10,"Input Devices:",0 MESS6:DC.B 13,10,"Current Input Device: ",0 MESS7:DC.B 13,10,"Input Sources:",0 MESS8:DC.B 13,10,"Aranym detected, use SDL Sound",0 MESS8B:DC.B ", v",0 ERR1:DC.B 13,10,"Channel XBIOS cannot be open !",0 ERR2:DC.B 13,10,"MAC without sound !",0 ERR3:DC.B 13,10,"Impossible to open input device !",0 ERR4:DC.B 13,10,"No input source...",0 ERR5:DC.B 13,10,"No stereo input...",0 ERR6:DC.B 13,10,"No 16-bits input...",0 ERR7:DC.B 13,10,"No input device !",0 ERR8:DC.B 13,10,"Hardware cannot play stereo sounds !",0 ERR9:DC.B 13,10,"Hardware cannot handle 16-bits sounds !",0 ERR10:DC.B 13,10,"Hardware cannot record stereo sounds !",0 DEBUG1: IFNE 0,DEBUG DC.B 13,10,"Driver non install",0 ENDIF DEBUG2: IFNE 0,DEBUG DC.B 13,10,"Cookie _SND initialis",0 ENDIF DEBUG3: IFNE 0,DEBUG DC.B 13,10,"Attributs MacOS tests",13,10," GestaltSoundAttr:",0 ENDIF DEBUG4: IFNE 0,DEBUG DC.B 13,10,"Cration canal audio",0 ENDIF DEBUG5: IFNE 0,DEBUG DC.B 13,10,"Cookie MgSn cr",0 ENDIF DEBUG6: IFNE 0,DEBUG DC.B 13,10,"LOCKSND ",0 ENDIF DEBUG7: IFNE 0,DEBUG DC.B 13,10,"UNLOCKSND ",0 ENDIF DEBUG8: IFNE 0,DEBUG DC.B 13,10,"SOUNDCMD ",0 ENDIF DEBUG9: IFNE 0,DEBUG DC.B 13,10,"SETBUFFER ",0 ENDIF DEBUG10: IFNE 0,DEBUG DC.B 13,10,"BUFFOPER ",0 ENDIF DEBUG11: IFNE 0,DEBUG DC.B 13,10,"SETMODE ",0 ENDIF DEBUG12: IFNE 0,DEBUG DC.B 13,10,"DEVCONNECT ",0 ENDIF DEBUG13: IFNE 0,DEBUG DC.B 13,10,"SNDSTATUS ",0 ENDIF DEBUG14: IFNE 0,DEBUG DC.B 13,10,"BUFFPTR ",0 ENDIF DEBUG15: IFNE 0,DEBUG DC.B 13,10,"SETINTERRUPT",0 ENDIF DEBUG16: IFNE 0,DEBUG DC.B 13,10,"GPIO ",0 ENDIF DEBUG17: IFNE 0,DEBUG DC.B 13,10,"SETTRACKS ",0 ENDIF DEBUG18: IFNE 0,DEBUG DC.B 13,10,"SETMONTRACKS",0 ENDIF DEBUG19: IFNE 0,DEBUG DC.B 13,10,"JDISINT ",0 ENDIF DEBUG20: IFNE 0,DEBUG DC.B 13,10,"JENABINT ",0 ENDIF DEBUG21: IFNE 0,DEBUG DC.B 13,10,"XBTIMER ",0 ENDIF DEBUG22: IFNE 0,DEBUG DC.B 13,10,"MFPINT ",0 ENDIF DEBUG23: IFNE 0,DEBUG DC.B 13,10,"SETEXEC ",0 ENDIF DEBUG50: IFNE 0,DEBUG DC.B 13,10," SndSoundManagerVersion",0 ENDIF DEBUG100: IFNE 0,DEBUG DC.B 13,10," flushcmd",0 ENDIF DEBUG101: IFNE 0,DEBUG DC.B 13,10," quietcmd",0 ENDIF DEBUG102: IFNE 0,DEBUG DC.B 13,10," buffercmd",0 ENDIF DEBUG103: IFNE 0,DEBUG DC.B 13,10," callbackcmd",0 ENDIF DEBUG104: IFNE 0,DEBUG DC.B 13,10," volumecmd",0 ENDIF DEBUG110: IFNE 0,DEBUG DC.B 13,10," fin BUFFOPER",0 ENDIF DEBUG111: IFNE 0,DEBUG DC.B 13,10," status BUFFOPER:",0 ENDIF DEBUG112: IFNE 0,DEBUG DC.B 13,10," adresse dbut DMA:",0 ENDIF DEBUG113: IFNE 0,DEBUG DC.B 13,10," adresse fin DMA:",0 ENDIF DEBUG114: IFNE 0,DEBUG DC.B 13,10," frquence:",0 ENDIF DEBUG115: IFNE 0,DEBUG DC.B 13,10," octets/chantillon:",0 ENDIF DEBUG116: IFNE 0,DEBUG DC.B " status DMA:",0 ENDIF DEBUG117: IFNE 0,DEBUG DC.B 13,10," compteur DMA:",0 ENDIF DEBUG120: IFNE 0,DEBUG DC.B 13,10," SPBGetDeviceInfo",0 ENDIF DEBUG121: IFNE 0,DEBUG DC.B 13,10," SPBSetDeviceInfo",0 ENDIF DEBUG122: IFNE 0,DEBUG DC.B 13,10," SPBRecord",0 ENDIF DEBUG123: IFNE 0,DEBUG DC.B 13,10," SPBStopRecording",0 ENDIF DEBUG124: IFNE 0,DEBUG DC.B 13,10," SPBGetIndexedDevice",0 ENDIF DEBUG125: IFNE 0,DEBUG DC.B 13,10," SPBOpenDevice",0 ENDIF DEBUG126: IFNE 0,DEBUG DC.B 13,10," SPBVersion",0 ENDIF DEBUG127: IFNE 0,DEBUG DC.B 13,10," SPBCloseDevice",0 ENDIF DEBUG150: IFNE 0,DEBUG DC.B 13,10," siInputSource",0 ENDIF DEBUG151: IFNE 0,DEBUG DC.B 13,10," siAsync",0 ENDIF DEBUG152: IFNE 0,DEBUG DC.B 13,10," siNumberChannels",0 ENDIF DEBUG153: IFNE 0,DEBUG DC.B 13,10," siSampleSize",0 ENDIF DEBUG154: IFNE 0,DEBUG DC.B 13,10," siSampleRateAvailable",0 ENDIF DEBUG155: IFNE 0,DEBUG DC.B 13,10," siCompressionType",0 ENDIF DEBUG156: IFNE 0,DEBUG DC.B 13,10," siTwosComplementOnOff",0 ENDIF DEBUG157: IFNE 0,DEBUG DC.B 13,10," siPlayThruOnOff",0 ENDIF DEBUG158: IFNE 0,DEBUG DC.B 13,10," siStereoInputGain",0 ENDIF DEBUG159: IFNE 0,DEBUG DC.B 13,10," siInputSourceNames",0 ENDIF DEBUG160: IFNE 0,DEBUG DC.B 13,10," siDeviceName",0 ENDIF TAB_CAR_MAC:DC.B "",0 ALIGN.W BSS D_MAC:DS.W 1 D_TT:DS.W 1 D_SDL:DS.W 1 D_OPEN_SDL:DS.W 1 D_INTEL_SDL:DS.W 1 NFID_AUDIO:DS.L 1 FLAG_ARRET:DS.W 1 SAUVE_IRQ_TIMER_A:DS.L 1 ADR_CARTOUCHE:DS.L 1 ADR_MFP:DS.L 1 SAUVE_RESVALID:DS.L 1 RETOUR:DS.L 1 COUNT:DS.W 1 HORLOGE:DS.W 1 HORLOGE2:DS.W 1 PRESCALE:DS.W 1 PRESCALE_STE:DS.W 1 STATUS:DS.W 1 ADR:DS.L 1 ADR_DEBUT:DS.L 1 NEW_ADR_DEBUT:DS.L 1 ADR_FIN:DS.L 1 NEW_ADR_FIN:DS.L 1 ADR_REC:DS.L 1 ADR_DEBUT_REC:DS.L 1 NEW_ADR_DEBUT_REC:DS.L 1 ADR_FIN_REC:DS.L 1 NEW_ADR_FIN_REC:DS.L 1 ADR_SUITE:DS.L 1 COMPT_BLOC:DS.L 1 COMPT_BLOC_REC:DS.L 1 FREQUENCE:DS.L 1 FREQ_LECT:DS.L 1 OCT_ECH:DS.W 1 NB_VOIES:DS.W 1 NB_TRACKS:DS.W 1 NB_TRACKS_REC:DS.W 1 NB_INDEV:DS.W 1 NB_SOURCES:DS.W 1 INSOURCE:DS.W 1 NB_FREQ_REC:DS.W 1 FREQ_REC:DS.L 1 TAB_FREQ_REC:DS.L 16 TRACK:DS.W 1 INTH_ADDR:DS.L 1 INTH_ADDR_REC:DS.L 1 CAUSE_INTER:DS.W 1 COUNT_TIMER_A:DS.W 1 D_INIT_TIMER_A:DS.W 1 D_TIMER_A:DS.W 1 D_IO7:DS.W 1 D_SND_LOCK:DS.W 1 D_SETBUFF:DS.W 1 D_SETBUFF_REC:DS.W 1 MODEMAC:DS.L 1 MODEATARI:DS.L 1 GETBASEMODE:DS.L 1 CALLMACCONTEXT:DS.L 1 ATARIZEROPAGE:DS.L 1 INPARAMPTR:DS.L 9 INREFNUM:DS.L 1 INFOTYPE:DS.L 1 DEVICEICONHANDLE:DS.L 1 INFODATA:DS.L 8 RECORDINGSTATUS:DS.W 1 METERLEVEL:DS.W 1 TOTALSAMPLESTORECORD:DS.L 1 NUMBEROFSAMPLESRECORDED:DS.L 1 TOTALMSECSTORECORD:DS.L 1 NUMBEROFSECSRECORDED:DS.L 1 SNDCHANNELPTR:DS.L 1 SNDCHANNELPTR2:DS.L 1 INITSND:DS.L 1 SNDCOMMAND:DS.L 1 SNDCALLBACKPROCPTR:DS.L 1 INFOS_SON_MAC:DS.L 1 CHANNEL:DS.L 9+(128*2);2 paramtres par SndCommand DEVICENAME:DS.B 256 TAB_BUFFERS:DS.B (TAILLE_BUFFER+TAILLE_SOUND_HEADER)*(NB_BUFFERS+1) TAB_SOURCENAME:DS.B (256*MAX_TAB)+1 FIN: END aranym-1.0.2/atari/tools/000077500000000000000000000000001242022243000152305ustar00rootroot00000000000000aranym-1.0.2/atari/tools/README000066400000000000000000000007361242022243000161160ustar00rootroot00000000000000These are the first basic tools for Aranym: - CLOCKY.PRG that write actual mouse position to $f9000e/$f90010 (It was faster to implement it into Clocky (TM) than to write a new TSR). Clocky by default do not alter the keyboard layout now. Get full Clocky 3.0 distribution at http://joy.atari.org/ - there's a nice editor of keyboard layout. - PCPATCH.PRG that patches PureC (PC.PRG) to be able to compile projects and files from the BetaDOS driven filesystem. Petr aranym-1.0.2/atari/tools/devdos/000077500000000000000000000000001242022243000165145ustar00rootroot00000000000000aranym-1.0.2/atari/tools/devdos/Makefile000077500000000000000000000007311242022243000201600ustar00rootroot00000000000000 TARGET = dev.dos COBJS = bosmeta.c dosdir.c dosfile.c dosfsfn.c main.c utility.c ctype.c SOBJS = mdglue.S include ../../CONFIGVARS CFLAGS = -mshort $(OPTS) $(WARN) $(GENERAL) LDFLAGS = -nostdlib -Wl,--entry -Wl,_init -lgcc COBJECTS = $(COBJS:.c=.o) SOBJECTS = $(SOBJS:.S=.o) all: $(TARGET) $(TARGET): $(COBJECTS) $(SOBJECTS) ${CC} -o $@ $(COBJECTS) $(SOBJECTS) $(GENERAL) ${CFLAGS} ${LDFLAGS} ${STRIP} $(TARGET) clean: rm -f $(SOBJECTS) $(COBJECTS) $(TARGET) aranym-1.0.2/atari/tools/devdos/README000077500000000000000000000025451242022243000174050ustar00rootroot00000000000000BetaDOS x:\dev filesystem driver ================================ The dev.dos is a driver that creates the u:\dev folder known from the FreeMiNT and MagiC environment. The motivation is to create identical environment by which any HW dependent access is encapsulated. That approach is present in UNIX-like environments and is present in FreeMiNT as its fundamental concept. The aim is to make developers provide special driver for any HW (or NF which is considered to be OS only acces feature) they create. Such driver would make it possible to create an equivalent on another machine with the same interface and would automaticaly impose some level of reusability. So for TOS environments one would create BetaDOS .BOS device driver and for FreeMiNT .XDD device driver. This dev.dos driver automatically scans any .BOS driver loaded by BetaDOS and creates appropriate x:\dev\bos folder entry for each. It also asks the particular .BOS driver for an information whether it should also be placed into the x:\dev under its name. (FIXME: provide another ioctl() to provide better name?). Just install it to the bdconfig.sys e.g. as: ... *BOS, \auto\nfstderr.bos, E *DOS, c:\auto\dev.dos, X:2 ... And you will get: X:\dev\bos\E X:\dev\nfstderr Ehere the nfstderr is actually like a hardlink to the bos\E entry. More documentation to come on this topic. Best Regards STanda aranym-1.0.2/atari/tools/devdos/bosmeta.c000077500000000000000000000155421242022243000203240ustar00rootroot00000000000000#include #include #include #include #include #include "bosmeta.h" #include "dosdir.h" #if 0 #include "nfd.h" #define TRACE(x) NFD(x) #define DEBUG(x) NFD(x) #else #define TRACE(x) #define DEBUG(x) #endif /* x:\dev\phys folder lists respectively */ LIST root; static LIST root_dev; static LIST root_dev_phys; /* cookie release/dup */ static void release_cookie( FCOOKIE *fc); static void release_folder( LIST *f) { LINKABLE *fc = listFirst(f); while (fc) { FCOOKIE *trash = (FCOOKIE*)fc; fc = listNext(fc); release_cookie( trash); } } static void release_cookie( FCOOKIE *fc) { release_folder( fc->folder); free( fc->name); free( fc); } static FCOOKIE *dup_cookie( FCOOKIE *s) { FCOOKIE *fc; fc = malloc(sizeof(FCOOKIE)); fc->name = strdup(s->name); fc->attr = s->attr; fc->folder = s->folder; fc->bos_dev = s->bos_dev; fc->bos_info_flags = s->bos_info_flags; return fc; } long bosfs_initialize(void) { int i; metainit_t metainit={0,0,0,0}; FCOOKIE *fc; Metainit(&metainit); TRACE(("MetaDOS version=%s, drives=%x\n", metainit.version, metainit.drives_map)); if (metainit.version == NULL) { DEBUG(("MetaDOS not installed\n")); return -1; } if (metainit.drives_map == 0) { DEBUG(("No MetaDOS devices present\n")); return -1; } listInit( &root); { /* create the x:\dev folder */ fc = malloc(sizeof(FCOOKIE)); fc->name = strdup("dev"); fc->attr = FA_DIR; fc->folder = &root_dev; fc->bos_dev = 0; /* add it to the folder */ listInsert( root.head.next, (LINKABLE*)fc); } listInit( &root_dev); { /* create the x:\dev\phys folder */ fc = malloc(sizeof(FCOOKIE)); fc->name = strdup("bos"); fc->attr = FA_DIR; fc->folder = &root_dev_phys; fc->bos_dev = 0; /* add it to the folder */ listInsert( root_dev.head.next, (LINKABLE*)fc); } listInit( &root_dev_phys); for (i='A'; i<='Z'; i++) if (metainit.drives_map & (1<<(i-'A'))) { metaopen_t metaopen; int handle; char name[] = "A"; name[0] = i; fc = malloc(sizeof(FCOOKIE)); fc->name = strdup(name); fc->attr = 0; fc->folder = NULL; fc->bos_dev = i; fc->bos_info_flags = BOS_INFO_DEVHIDDEN; /* by default hide from U:\dev */ DEBUG(("dev: %s->%s\n", name, fc->name)); /* attempt to get the bos_info */ handle = Metaopen(i, &metaopen); if (handle == 0) { bos_info_t info; if ( ! Metaioctl(i, METADOS_IOCTL_MAGIC, METADOS_IOCTL_BOSINFO, &info)) { DEBUG(("ioctl: %s->%s %lx\n", name, fc->name, info.flags)); fc->bos_info_flags = info.flags; } Metaclose(i); DEBUG(("dev: %s->%s %lx\n", name, fc->name, fc->bos_info_flags)); /* the BOSINFO states that the device should not be visible * in x:\dev\bos nor in x:\dev\bos */ if ( fc->bos_info_flags & BOS_INFO_BOSHIDDEN ) { release_cookie( fc ); continue; } /* insert the devices that have a decent name also to u:\dev */ if ( ! (fc->bos_info_flags & BOS_INFO_DEVHIDDEN) && *metaopen.name ) { FCOOKIE *cfc = dup_cookie(fc); free( cfc->name); cfc->name = strdup(metaopen.name); listInsert( &root_dev.tail, (LINKABLE*)cfc); } } /* add it to the folder */ listInsert( root_dev_phys.head.next, (LINKABLE*)fc); } return 0; } long getxattr (FCOOKIE *fc, struct xattr *res) { res->mode = 0666; res->mode |= fc->attr & FA_DIR ? (S_IFDIR|0111) : 0; res->index = (long)fc; res->dev = (long)&root; res->rdev = (long)&root; res->nlink = 1; res->uid = 0; res->gid = 0; res->size = 0; res->blksize = 512; res->nblocks = ( res->size + res->blksize - 1) >> 9; // FIXME! res->mtime = 0; res->mdate = 0; res->atime = 0; res->adate = 0; res->ctime = 0; res->cdate = 0; res->attr = fc->attr; res->reserved2 = 0; res->reserved3[0] = 0; res->reserved3[1] = 0; return 0; } long name2cookie (LIST *folder, const char *name, FCOOKIE **res) { char lowname[32]; FCOOKIE* fc; DEBUG(( "name2cookie: name=%s\n", name)); /* look for 'name' in the folder */ listForEach( FCOOKIE*, fc, folder) { char *c = lowname; char *f = fc->name; while ( (*c++ = tolower(*f++)) ) ; DEBUG(( "name2cookie: fc->name=%s\n", fc->name)); if ( ! strcmp( lowname, name) ) { *res = fc; return 0; } } return -ENOENT; } /* * routines for parsing path names */ /* * relpath2cookie converts a TOS file name into a file cookie representing * the directory the file resides in, and a character string representing * the name of the file in that directory. The character string is * copied into the "lastname" array. If lastname is NULL, then the cookie * returned actually represents the file, instead of just the directory * the file is in. * * note that lastname, if non-null, should be big enough to contain all the * characters in "path", since if the file system doesn't want the kernel * to do path name parsing we may end up just copying path to lastname * and returning the current or root directory, as appropriate * * "dir" is the directory relative to which the search should start. * if you just want the current directory, use path2cookie instead. * */ # define DIRSEP(p) (((p) == '\\') || ((p) == '/')) long relpath2cookie (FCOOKIE *dir, const char *path, char *lastname, FCOOKIE **res) { long r = 0; short do_last = (lastname == NULL); char temp[PATH_MAX]; if ( ! lastname ) lastname = temp; DEBUG(( "relpath2cookie: dir=%s path=%s\n", dir->name, path)); /* first, check for a drive letter */ if (path[1] == ':') { char c = tolower ((int)path[0] & 0xff); if (c >= 'a' && c <= 'z') path += 2; else if (c >= '1' && c <= '6') path += 2; } while (*path) { /* now we must have a directory, since there are more things * in the path */ if ( ! (dir->attr & FA_DIR) ) return -ENOTDIR; /* skip slashes */ while (DIRSEP (*path)) path++; /* if there's nothing left in the path, we can break here */ if (!*path) { *res = dir; *lastname = '\0'; return 0; } /* next, peel off the next name in the path */ { register int len; register char c, *s; len = 0; s = lastname; c = *path; while (c && !DIRSEP (c)) { if (len++ < PATH_MAX) *s++ = tolower(c); c = *++path; } *s = 0; } /* if there are no more names in the path, and we don't want * to actually look up the last name, then we're done */ if (!do_last && !*path) { *res = dir; return 0; } r = name2cookie (dir->folder, lastname, res); if (r) { if (r == -ENOENT && *path) { /* the "file" we didn't find was treated as a directory */ return -ENOTDIR; } return r; } dir = *res; } return 0; } long path2cookie (const char *path, char *lastname, FCOOKIE **res) { static FCOOKIE rootfc; long r; rootfc.name = "devdir:"; // FIXME: DEBUG! rootfc.attr = FA_DIR; rootfc.folder = &root; rootfc.bos_dev = 0; r = relpath2cookie ( &rootfc, path, lastname, res); DEBUG(( "path2cookie: r=%d\n", r)); return r; } aranym-1.0.2/atari/tools/devdos/bosmeta.h000077500000000000000000000035651242022243000203330ustar00rootroot00000000000000/* * Copyright (c) 2005 STanda Opichal * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * $Source$ * * CVS info: * $Author$ * $Date$ * $Revision$ */ #ifndef ___bosmeta_h__ #define ___bosmeta_h__ #include "list.h" #include "metados.h" typedef struct { LINKABLE item; char *name; short attr; LIST *folder; /* BOS device entries */ short bos_dev; unsigned long bos_info_flags; } FCOOKIE; /* old stat structure */ struct xattr { unsigned short mode; long index; unsigned short dev; unsigned short rdev; unsigned short nlink; unsigned short uid; unsigned short gid; long size; long blksize; long nblocks; unsigned short mtime, mdate; unsigned short atime, adate; unsigned short ctime, cdate; short attr; short reserved2; long reserved3[2]; }; static inline long is_terminal( FCOOKIE *fc) { return fc->bos_info_flags & BOS_INFO_ISTTY; } long bosfs_initialize(void); long getxattr (FCOOKIE *fc, struct xattr *res); long name2cookie (LIST *folder, const char *name, FCOOKIE **res); long relpath2cookie (FCOOKIE *dir, const char *path, char *lastname, FCOOKIE **res); long path2cookie (const char *path, char *lastname, FCOOKIE **res); #endif /* ___bosmeta_h__ */ aranym-1.0.2/atari/tools/devdos/ctype.c000077500000000000000000000070341242022243000200130ustar00rootroot00000000000000/* * This file belongs to FreeMiNT. It's not in the original MiNT 1.12 * distribution. See the file CHANGES for a detailed log of changes. * * * Copyright 2000 Frank Naumann * All rights reserved. * * This file is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This file is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * * * begin: 2000-04-17 * last change: 2000-04-17 * * Author: Frank Naumann * * Please send suggestions, patches or bug reports to me or * the MiNT mailing list. * * * changes since last version: * * known bugs: * * todo: * * optimizations: * */ # define _CTc 0x01 /* control character */ # define _CTd 0x02 /* numeric digit */ # define _CTu 0x04 /* upper case */ # define _CTl 0x08 /* lower case */ # define _CTs 0x10 /* whitespace */ # define _CTp 0x20 /* punctuation */ # define _CTx 0x40 /* hexadecimal */ unsigned char _mint_ctype[256] = { _CTc, _CTc, _CTc, _CTc, /* 0x00..0x03 */ _CTc, _CTc, _CTc, _CTc, /* 0x04..0x07 */ _CTc, _CTc|_CTs, _CTc|_CTs, _CTc|_CTs, /* 0x08..0x0B */ _CTc|_CTs, _CTc|_CTs, _CTc, _CTc, /* 0x0C..0x0F */ _CTc, _CTc, _CTc, _CTc, /* 0x10..0x13 */ _CTc, _CTc, _CTc, _CTc, /* 0x14..0x17 */ _CTc, _CTc, _CTc, _CTc, /* 0x18..0x1B */ _CTc, _CTc, _CTc, _CTc, /* 0x1C..0x1F */ _CTs, _CTp, _CTp, _CTp, /* 0x20..0x23 */ _CTp, _CTp, _CTp, _CTp, /* 0x24..0x27 */ _CTp, _CTp, _CTp, _CTp, /* 0x28..0x2B */ _CTp, _CTp, _CTp, _CTp, /* 0x2C..0x2F */ _CTd|_CTx, _CTd|_CTx, _CTd|_CTx, _CTd|_CTx, /* 0x30..0x33 */ _CTd|_CTx, _CTd|_CTx, _CTd|_CTx, _CTd|_CTx, /* 0x34..0x37 */ _CTd|_CTx, _CTd|_CTx, _CTp, _CTp, /* 0x38..0x3B */ _CTp, _CTp, _CTp, _CTp, /* 0x3C..0x3F */ _CTp, _CTu|_CTx, _CTu|_CTx, _CTu|_CTx, /* 0x40..0x43 */ _CTu|_CTx, _CTu|_CTx, _CTu|_CTx, _CTu, /* 0x44..0x47 */ _CTu, _CTu, _CTu, _CTu, /* 0x48..0x4B */ _CTu, _CTu, _CTu, _CTu, /* 0x4C..0x4F */ _CTu, _CTu, _CTu, _CTu, /* 0x50..0x53 */ _CTu, _CTu, _CTu, _CTu, /* 0x54..0x57 */ _CTu, _CTu, _CTu, _CTp, /* 0x58..0x5B */ _CTp, _CTp, _CTp, _CTp, /* 0x5C..0x5F */ _CTp, _CTl|_CTx, _CTl|_CTx, _CTl|_CTx, /* 0x60..0x63 */ _CTl|_CTx, _CTl|_CTx, _CTl|_CTx, _CTl, /* 0x64..0x67 */ _CTl, _CTl, _CTl, _CTl, /* 0x68..0x6B */ _CTl, _CTl, _CTl, _CTl, /* 0x6C..0x6F */ _CTl, _CTl, _CTl, _CTl, /* 0x70..0x73 */ _CTl, _CTl, _CTl, _CTl, /* 0x74..0x77 */ _CTl, _CTl, _CTl, _CTp, /* 0x78..0x7B */ _CTp, _CTp, _CTp, _CTc, /* 0x7C..0x7F */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x80..0x8F */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0x90..0x9F */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0xA0..0xAF */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0xB0..0xBF */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0xC0..0xCF */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0xD0..0xDF */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, /* 0xE0..0xEF */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 /* 0xF0..0xFF */ }; aranym-1.0.2/atari/tools/devdos/dosdir.c000077500000000000000000000107171242022243000201550ustar00rootroot00000000000000#include #include #include #include #include "bosmeta.h" #include "list.h" #include "dosdir.h" #if 0 #include "nfd.h" #define TRACE(x) NFD(x) #define DEBUG(x) NFD(x) #else #define TRACE(x) #define DEBUG(x) #endif long __CDECL sys_dl_opendir (DIR *dirh, LIST *list, int flag) { DEBUG(("dl_opendir: %lx list=%lx\n", dirh, list)); dirh->list = list; dirh->mode = flag; dirh->current = (FCOOKIE*)listRewind(dirh->list); return 0; } long __CDECL sys_dl_readdir (DIR *dirh, char *buf, int len) { dirh->current = (FCOOKIE *)listNext((LINKABLE*)dirh->current); DEBUG(("dl_readdir: %lx list=%lx: len %d, '%s'\n", dirh, dirh->list, len, dirh->current ? dirh->current->name : "ENMFILES")); if (!dirh->current) return -ENMFILES; /* Insert file index if needed */ if (!dirh->mode) { *(long*)buf = (long)dirh->current; buf += 4; len -= 4; } if ( len <= 0 ) return -ERANGE; strncpy(buf, dirh->current->name, len-1); return 0; } long __CDECL sys_dl_closedir (DIR *dirh) { DEBUG(("dl_closedir: %lx list=%lx\n", dirh, dirh->list)); dirh->list = NULL; dirh->current = NULL; return 0; } long __CDECL sys_dl_readlabel (char *buf, int buflen) { strncpy(buf, "nfstderr", buflen-1); return 0; } long __CDECL sys_d_free (MetaDOSDir long *buf, int d) { #if 1 return -ENOSYS; #else PROC *p = curproc; fcookie *dir = 0; d = (int)tolower(pathNameMD[0])-'a'; dir = &p->p_cwd->root[d]; #endif } long __CDECL sys_d_create (MetaDOSDir const char *path) { return -EACCES; } long __CDECL sys_d_delete (MetaDOSDir const char *path) { return -EACCES; } long __CDECL sys_f_xattr (MetaDOSFile int flag, const char *name, struct xattr *xattr) { FCOOKIE *fc; long r = path2cookie (name, NULL, &fc); if (r) { DEBUG(("Fattrib(%s): error %ld", name, r)); return r; } return getxattr( fc, xattr); } long __CDECL sys_f_attrib (MetaDOSFile const char *name, int rwflag, int attr) { FCOOKIE *fc; long r = path2cookie (name, NULL, &fc); if (r) { DEBUG(("Fattrib(%s): error %ld", name, r)); return r; } return fc->attr; } long __CDECL sys_f_delete (MetaDOSFile const char *name) { return -EACCES; } long __CDECL sys_f_rename (MetaDOSFile int junk, const char *old, const char *new) { return -EACCES; } /* * GEMDOS extension: Dpathconf(name, which) * * returns information about filesystem-imposed limits; "name" is the name * of a file or directory about which the limit information is requested; * "which" is the limit requested, as follows: * -1 max. value of "which" allowed * 0 internal limit on open files, if any * 1 max. number of links to a file {LINK_MAX} * 2 max. path name length {PATH_MAX} * 3 max. file name length {NAME_MAX} * 4 no. of bytes in atomic write to FIFO {PIPE_BUF} * 5 file name truncation rules * 6 file name case translation rules * * unlimited values are returned as 0x7fffffffL * * see also Sysconf() in dos.c */ long __CDECL sys_d_pathconf (MetaDOSDir const char *name, int which) { /* FIXME? now from cookfs */ switch (which) { case -1: return 7; case 0: return 0x7fffffffL; case 1: return 1; case 2: return PATH_MAX; case 3: return PATH_MAX; case 4: return 0; case 5: return 0; case 6: return 0; case 7: return 0x00800000L; default: return -ENOSYS; } } long __CDECL sys_d_opendir (MetaDOSDir const char *name, int flag) { DIR *dirh = (DIR *) dirMD; FCOOKIE *fc; long r = path2cookie( name, NULL, &fc); if (r) { DEBUG(("Dopendir(%s): path2cookie returned %ld", name, r)); return r; } r = sys_dl_opendir( dirh, fc->folder, flag); if (r) return r; return (long)dirh; } long __CDECL sys_d_readdir (MetaDOSDir int len, long handle, char *buf) { DIR *dirh = (DIR *) dirMD; return sys_dl_readdir( dirh, buf, len); } long __CDECL sys_d_xreaddir (MetaDOSDir int len, long handle, char *buf, struct xattr *xattr, long *xret) { DIR *dirh = (DIR *) dirMD; long ret = sys_dl_readdir( dirh, buf, len); if ( ret ) return ret; *xret = getxattr( dirh->current, xattr); return 0; } long __CDECL sys_d_rewind (MetaDOSDir long handle) { DIR *dirh = (DIR *) dirMD; dirh->current = (FCOOKIE *)listRewind(dirh->list); return 0; } long __CDECL sys_d_closedir (MetaDOSDir long handle) { return sys_dl_closedir( (DIR*)dirMD); } long __CDECL sys_d_readlabel (MetaDOSDir const char *name, char *buf, int buflen) { return sys_dl_readlabel(buf, buflen); } long __CDECL sys_d_writelabel (MetaDOSDir const char *name, const char *label) { return -ENOSYS; } aranym-1.0.2/atari/tools/devdos/dosdir.h000077500000000000000000000035021242022243000201540ustar00rootroot00000000000000/* * $Id$ * * The ARAnyM MetaDOS driver. * * 2002 STan * * Based on: * dosdir.h,v 1.2 2001/06/13 20:21:14 fna Exp * * This file has been modified as part of the FreeMiNT project. See * the file Changes.MH for details and dates. */ # ifndef _dosdir_h # define _dosdir_h # include "mintfake.h" /* local interpretation of the 'struct dirent' */ typedef struct { LIST *list; FCOOKIE *current; short mode; } DIR; long __CDECL sys_dl_opendir (DIR *dirh, LIST *list, int flag); long __CDECL sys_dl_readdir (DIR *dirh, char *buf, int len); long __CDECL sys_dl_closedir (DIR *dirh); long __CDECL sys_dl_readlabel (char *buf, int buflen); long __CDECL sys_d_free (MetaDOSDir long *buf, int d); long __CDECL sys_d_create (MetaDOSDir const char *path); long __CDECL sys_d_delete (MetaDOSDir const char *path); long __CDECL sys_f_sfirst (MetaDOSDTA const char *path, int attrib); long __CDECL sys_f_snext (MetaDOSDTA0); long __CDECL sys_f_attrib (MetaDOSFile const char *name, int rwflag, int attr); long __CDECL sys_f_delete (MetaDOSFile const char *name); long __CDECL sys_f_rename (MetaDOSFile int junk, const char *old, const char *new); long __CDECL sys_d_pathconf (MetaDOSDir const char *name, int which); long __CDECL sys_d_opendir (MetaDOSDir const char *path, int flags); long __CDECL sys_d_readdir (MetaDOSDir int len, long handle, char *buf); long __CDECL sys_d_xreaddir (MetaDOSDir int len, long handle, char *buf, struct xattr *xattr, long *xret); long __CDECL sys_d_rewind (MetaDOSDir long handle); long __CDECL sys_d_closedir (MetaDOSDir long handle); long __CDECL sys_f_xattr (MetaDOSFile int flag, const char *name, struct xattr *xattr); long __CDECL sys_d_readlabel (MetaDOSDir const char *path, char *label, int maxlen); long __CDECL sys_d_writelabel (MetaDOSDir const char *path, const char *label); # endif /* _dosdir_h */ aranym-1.0.2/atari/tools/devdos/dosfile.c000077500000000000000000000130301242022243000203050ustar00rootroot00000000000000/* * $Id$ * * The ARAnyM MetaDOS driver. * * 2002 STan * * Based on: * dosfile.c,v 1.20 2001/06/13 20:21:14 fna Exp * * This file has been modified as part of the FreeMiNT project. See * the file Changes.MH for details and dates. * * * Copyright 1990,1991,1992 Eric R. Smith. * Copyright 1992,1993,1994 Atari Corporation. * All rights reserved. * */ /* DOS file handling routines */ #include #include #include # include "dosfile.h" # include "bosmeta.h" # include "metados.h" #if 0 #include "nfd.h" #define TRACE(x) NFD(x) #define DEBUG(x) NFD(x) #else #define TRACE(x) #define DEBUG(x) #endif typedef struct { FCOOKIE *fc; unsigned long offset; } FILEPTR; static inline long do_open( FILEPTR *f, FCOOKIE *fc, short mode) { metaopen_t metaopen; long ret = Metaopen(fc->bos_dev, &metaopen); if ( ret ) return ret; /* store the FCOOKIE* */ f->fc = fc; f->offset = 0; return 0; } static inline long do_close( FILEPTR *f) { Metaclose(f->fc->bos_dev); f->fc = NULL; return 0; } static inline long tty_read( FILEPTR *f, char *buf, long count) { return Metaread(f->fc->bos_dev, buf, 0, count); } static inline long tty_write( FILEPTR *f, const char *buf, long count) { return Metawrite(f->fc->bos_dev, buf, 0, count); } #define BLOCK_SIZE 2048 static inline long block_read( FILEPTR *f, char *buf, long count) { unsigned long boffset = f->offset / BLOCK_SIZE; unsigned long bcount = ( count + BLOCK_SIZE - 1) / BLOCK_SIZE; DEBUG(("block_read: '%s'\n", f->fc->name)); if ( (f->offset % BLOCK_SIZE) == 0 && (count % BLOCK_SIZE) == 0) { long ret = Metaread(f->fc->bos_dev, buf, boffset, bcount); if ( ret < 0 ) return ret; f->offset += ret * BLOCK_SIZE; return ret; } else { char *buffer = malloc( bcount * BLOCK_SIZE); long ret = Metaread(f->fc->bos_dev, buffer, boffset, bcount); if ( ret < 0 ) { free(buffer); return ret; } count = (ret * BLOCK_SIZE < count) ? ret * BLOCK_SIZE : count; memcpy( buf, &buffer[f->offset - (boffset * BLOCK_SIZE)], count); free( buffer); return ret; } } static inline long block_write( FILEPTR *f, const char *buf, long count) { unsigned long boffset = f->offset / BLOCK_SIZE; unsigned long bcount = ( count + BLOCK_SIZE - 1) / BLOCK_SIZE; DEBUG(("block_write: '%s'\n", f->fc->name)); if ( (f->offset % BLOCK_SIZE) == 0 && (count % BLOCK_SIZE) == 0) { long ret = Metawrite(f->fc->bos_dev, buf, boffset, bcount); if ( ret < 0 ) return ret; return count; } else { char *buffer = malloc( bcount * BLOCK_SIZE); long ret = Metaread(f->fc->bos_dev, buffer, boffset, bcount); if ( ret < 0 ) { free(buffer); return ret; } count = (ret * BLOCK_SIZE < count) ? ret * BLOCK_SIZE : count; memcpy( &buffer[f->offset - (boffset * BLOCK_SIZE)], buf, count); ret = Metawrite(f->fc->bos_dev, buffer, boffset, bcount); free(buffer); if ( ret < 0 ) return ret; return count; } } static inline long do_lseek( FILEPTR *f, long place, short how) { switch (how) { case 0: /* whence = SEEK_SET; */ f->offset = place; break; case 1: /* whence = SEEK_CUR; */ f->offset += place; break; case 2: /* whence = SEEK_END; */ /* FIXME? How to find the size of a device? */ default: ; } return -ENOSYS; } long __CDECL sys_f_open (MetaDOSFile const char *name, short mode) { FILEPTR *fp = (FILEPTR*)fpMD; FCOOKIE *fc; long ret = path2cookie( name, NULL, &fc); if (ret) return ret; #if 0 /* make sure the mode is legal */ mode &= O_USER; /* note: file mode 3 is reserved for the kernel; * for users, transmogrify it into O_RDWR (mode 2) */ if ((mode & O_RWMODE) == O_EXEC) mode = (mode & ~O_RWMODE) | O_RDWR; #endif return do_open (fp, fc, mode); } long __CDECL sys_f_create (MetaDOSFile const char *name, short attrib) { FILEPTR *fp = (FILEPTR*)fpMD; FCOOKIE *fc; long ret = path2cookie( name, NULL, &fc); if (ret) return ret; return do_open (fp, fc, 1); // return EPERM; } long __CDECL sys_f_close (MetaDOSFile short fd) { FILEPTR *fp = (FILEPTR*)fpMD; return do_close (fp); } long __CDECL sys_f_read (MetaDOSFile short fd, long count, char *buf) { FILEPTR *f = (FILEPTR*)fpMD; DEBUG(("f_read: '%s' %lx\n", f->fc->name, f->fc->bos_info_flags)); if (is_terminal (f->fc)) return tty_read (f, buf, count); DEBUG(("f_read: block '%s'\n", f->fc->name)); return block_read (f, buf, count); } long __CDECL sys_f_write (MetaDOSFile short fd, long count, const char *buf) { long r; FILEPTR *f = (FILEPTR*)fpMD; if (is_terminal (f->fc)) return tty_write (f, buf, count); /* Prevent broken device drivers from wiping the disk. * We return a zero rather than a negative error code * to help programs those don't handle GEMDOS errors * returned by Fwrite() */ if (count <= 0) return 0; #if 0 /* it would be faster to do this in the device driver, but this * way the drivers are easier to write */ if (f->flags & O_APPEND) { r = do_lseek (f, 0L, SEEK_END); /* ignore errors from unseekable files (e.g. pipes) */ if (r == EACCES) r = 0; } else #endif r = 0; if (r < 0) return r; return block_write (f, buf, count); } long __CDECL sys_f_seek (MetaDOSFile long place, short fd, short how) { FILEPTR *f = (FILEPTR*)fpMD; if (is_terminal (f->fc)) return 0; return do_lseek (f, place, how); } long __CDECL sys_f_datime (MetaDOSFile unsigned short *timeptr, short fd, short wflag) { FILEPTR *f = (FILEPTR*)fpMD; /* some programs use Fdatime to test for TTY devices */ if (is_terminal (f->fc)) return EACCES; return EACCES; //FIXME: xdd_datime (f, timeptr, wflag); } aranym-1.0.2/atari/tools/devdos/dosfile.h000077500000000000000000000015021242022243000203130ustar00rootroot00000000000000/* * $Id$ * * The ARAnyM MetaDOS driver. * * 2002 STan * * Based on: * dosfile.h,v 1.7 2001/06/13 20:21:14 fna Exp * * This file has been modified as part of the FreeMiNT project. See * the file Changes.MH for details and dates. */ # ifndef _dosfile_h # define _dosfile_h # include "mintfake.h" long __CDECL sys_f_open (MetaDOSFile const char *name, short mode); long __CDECL sys_f_create (MetaDOSFile const char *name, short attrib); long __CDECL sys_f_close (MetaDOSFile short fd); long __CDECL sys_f_read (MetaDOSFile short fd, long count, char *buf); long __CDECL sys_f_write (MetaDOSFile short fd, long count, const char *buf); long __CDECL sys_f_seek (MetaDOSFile long place, short fd, short how); long __CDECL sys_f_datime (MetaDOSFile unsigned short *timeptr, short fd, short wflag); # endif /* _dosfile_h */ aranym-1.0.2/atari/tools/devdos/dosfsfn.c000077500000000000000000000221141242022243000203250ustar00rootroot00000000000000/* * $Id$ * * The ARAnyM MetaDOS driver. * * 2002 STanda * * Based on: * dosdir.c,v 1.11 2001/10/23 09:09:14 fna Exp * * This file has been modified as part of the FreeMiNT project. See * the file Changes.MH for details and dates. * * * Copyright 1990,1991,1992 Eric R. Smith. * Copyright 1992,1993,1994 Atari Corporation. * All rights reserved. * */ /* DOS directory functions */ #include #include #include #include #include #include "bosmeta.h" #include "list.h" #include "dosdir.h" #include "emu_tos.h" #include "mintfake.h" #if 0 #include "nfd.h" #define TRACE(x) NFD(x) #define DEBUG(x) NFD(x) #else #define TRACE(x) #define DEBUG(x) #endif #define TOS_SEARCH 0x01 #define E_OK 0 #define NUM_SEARCH 10 static struct { DIR dirh; unsigned long srchtim; } search_dirs[NUM_SEARCH]; static inline void release_cookie( FCOOKIE **dir) { /* dummy as there is no dup_cookie in the path2cookie() */ } /* * returns 1 if the given name contains a wildcard character */ static int has_wild (const char *name) { char c; while ((c = *name++) != 0) if (c == '*' || c == '?') return 1; return 0; } /* * void copy8_3(dest, src): convert a file name (src) into DOS 8.3 format * (in dest). Note the following things: * if a field has less than the required number of characters, it is * padded with blanks * a '*' means to pad the rest of the field with '?' characters * special things to watch for: * "." and ".." are more or less left alone * "*.*" is recognized as a special pattern, for which dest is set * to just "*" * Long names are truncated. Any extensions after the first one are * ignored, i.e. foo.bar.c -> foo.bar, foo.c.bar->foo.c. */ static void copy8_3 (char *dest, const char *src) { char fill = ' ', c; int i; if (src[0] == '.') { if (src[1] == 0) { strcpy (dest, ". . "); return; } if (src[1] == '.' && src[2] == 0) { strcpy (dest, ".. . "); return; } } if (src[0] == '*' && src[1] == '.' && src[2] == '*' && src[3] == 0) { dest[0] = '*'; dest[1] = 0; return; } for (i = 0; i < 8; i++) { c = *src++; if (!c || c == '.') break; if (c == '*') fill = c = '?'; *dest++ = toupper((int)c & 0xff); } while (i++ < 8) *dest++ = fill; *dest++ = '.'; i = 0; fill = ' '; while (c && c != '.') c = *src++; if (c) { for( ;i < 3; i++) { c = *src++; if (!c || c == '.') break; if (c == '*') c = fill = '?'; *dest++ = toupper((int)c & 0xff); } } while (i++ < 3) *dest++ = fill; *dest = 0; } /* * int pat_match(name, patrn): returns 1 if "name" matches the template in * "patrn", 0 if not. "patrn" is assumed to have been expanded in 8.3 * format by copy8_3; "name" need not be. Any '?' characters in patrn * will match any character in name. Note that if "patrn" has a '*' as * the first character, it will always match; this will happen only if * the original pattern (before copy8_3 was applied) was "*.*". * * BUGS: acts a lot like the silly TOS pattern matcher. */ static int pat_match (const char *name, const char *template) { char expname [TOS_NAMELEN+1]; register char *s; register char c; if (*template == '*') return 1; copy8_3 (expname, name); s = expname; while ((c = *template++) != 0) { if (c != *s && c != '?') return 0; s++; } return 1; } /* * Fsfirst/next are actually implemented in terms of opendir/readdir/closedir. */ long __CDECL sys_f_sfirst (MetaDOSDTA const char *path, int attrib) { static short initialized = 0; char *s, *slash; FCOOKIE *dir, *newdir; struct dtabuf *dta = (struct dtabuf*)dtaMD; long r; int i, havelabel; char temp1[PATH_MAX]; TRACE(("Fsfirst(%s, %x)", path, attrib)); if ( !initialized ) { initialized = 1; for (i = 0; i < NUM_SEARCH; i++) { search_dirs[i].dirh.list = NULL; search_dirs[i].dirh.current = NULL; search_dirs[i].srchtim = 0; } } r = path2cookie (path, temp1, &dir); if (r) { DEBUG(("Fsfirst(%s): path2cookie returned %ld", path, r)); return r; } /* we need to split the last name (which may be a pattern) off from * the rest of the path, even if FS_KNOPARSE is true */ slash = 0; s = temp1; while (*s) { if (*s == '\\') slash = s; s++; } if (slash) { *slash++ = 0; /* slash now points to a name or pattern */ r = name2cookie (dir->folder, temp1, &newdir); release_cookie (&dir); if (r) { DEBUG(("Fsfirst(%s): lookup returned %ld", path, r)); return r; } dir = newdir; } else slash = temp1; /* BUG? what if there really is an empty file name? */ if (!*slash) { DEBUG(("Fsfirst: empty pattern")); return -ENOENT; } /* copy the pattern over into dta_pat into TOS 8.3 form * remember that "slash" now points at the pattern * (it follows the last, if any) */ copy8_3 (dta->dta_pat, slash); /* if (attrib & FA_LABEL), read the volume label * * BUG: the label date and time are wrong. ISO/IEC 9293 14.3.3 allows this. * The Desktop set also date and time to 0 when formatting a floppy disk. */ havelabel = 0; if (attrib & FA_LABEL) { r = sys_dl_readlabel (dta->dta_name, TOS_NAMELEN+1); dta->dta_attrib = FA_LABEL; dta->dta_time = dta->dta_date = 0; dta->dta_size = 0; dta->magic = EVALID; if (r == E_OK && !pat_match (dta->dta_name, dta->dta_pat)) r = -ENOENT; if ((attrib & (FA_DIR|FA_LABEL)) == FA_LABEL) return r; else if (r == E_OK) havelabel = 1; } DEBUG(("Fsfirst(): havelabel = %d",havelabel)); if (!havelabel && has_wild (slash) == 0) { struct xattr xattr; /* no wild cards in pattern */ r = name2cookie (dir->folder, slash, &newdir); if (r == E_OK) { r = getxattr (newdir, &xattr); release_cookie (&newdir); } release_cookie (&dir); if (r) { DEBUG(("Fsfirst(%s): couldn't get file attributes",path)); return r; } dta->magic = EVALID; dta->dta_attrib = xattr.attr; dta->dta_size = xattr.size; strncpy (dta->dta_name, slash, TOS_NAMELEN-1); dta->dta_name[TOS_NAMELEN-1] = 0; return E_OK; } /* There is a wild card. Try to find a slot for an opendir/readdir * search. NOTE: we also come here if we were asked to search for * volume labels and found one. */ for (i = 0; i < NUM_SEARCH; i++) if (! search_dirs[i].dirh.list) break; if (i == NUM_SEARCH) { int oldest = 0; DEBUG(("Fsfirst(%s): having to re-use a directory slot!", path)); for (i = 1; i < NUM_SEARCH; i++) if ( search_dirs[i].srchtim < search_dirs[oldest].srchtim ) oldest = i; /* OK, close this directory for re-use */ i = oldest; sys_dl_closedir (&search_dirs[i].dirh); /* invalidate re-used DTA */ dta->magic = EVALID; } r = sys_dl_opendir (&search_dirs[i].dirh, dir->folder, TOS_SEARCH); DEBUG(("Fsfirst opendir(%s, %d) -> %d", dir->name, i, r)); if (r != E_OK) { DEBUG(("Fsfirst(%s): couldn't open directory (error %ld)", path, r)); release_cookie(&dir); return r; } /* set up the DTA for Fsnext */ dta->index = i; dta->magic = SVALID; dta->dta_sattrib = attrib; /* OK, now basically just do Fsnext, except that instead of ENMFILES we * return ENOENT. * NOTE: If we already have found a volume label from the search above, * then we skip the sys_f_snext and just return that. */ if (havelabel) return E_OK; r = sys_f_snext(MetaDOSDTA0pass); if (r == ENMFILES) r = -ENOENT; if (r) TRACE(("Fsfirst: returning %ld", r)); /* release_cookie isn't necessary, since &dir is now stored in the * DIRH structure and will be released when the search is completed */ return r; } /* * Counter for Fsfirst/Fsnext, so that we know which search slots are * least recently used. This is updated once per second by the code * in timeout.c. * * BUG: 1/second is pretty low granularity */ long __CDECL sys_f_snext (MetaDOSDTA0) { DIR *dirh; struct dtabuf *dta = (struct dtabuf*)dtaMD; short attr; TRACE (("Fsnext")); if (dta->magic == EVALID) { DEBUG (("Fsnext(%lx): DTA marked a failing search", dta)); return -ENMFILES; } if (dta->magic != SVALID) { DEBUG (("Fsnext(%lx): dta incorrectly set up", dta)); return -ENOSYS; } /* get the slot pointer */ search_dirs[ dta->index ].srchtim++; dirh = &search_dirs[ dta->index ].dirh; /* BUG: sys_f_snext and readdir should check for disk media changes */ for(;;) { char buf[TOS_NAMELEN+1]; long r = sys_dl_readdir( dirh, buf, TOS_NAMELEN+1); if (r == EBADARG) { DEBUG(("Fsnext: name too long")); continue; /* TOS programs never see these names */ } if (r != E_OK) { sys_dl_closedir (dirh); dta->magic = EVALID; if (r != ENMFILES) DEBUG(("Fsnext: returning %ld", r)); return r; } if (!pat_match (buf, dta->dta_pat)) continue; /* different patterns */ attr = dirh->current->attr; /* silly TOS rules for matching attributes */ if (attr == 0) break; if (attr & (FA_CHANGED|FA_RDONLY)) break; if (attr & dta->dta_sattrib) break; } dta->dta_attrib = attr; dta->dta_size = 0; strncpy (dta->dta_name, dirh->current->name, TOS_NAMELEN-1); /* convert to upper characters (we are in TOS domain) */ strupr (dta->dta_name); DEBUG(("Fsnext: %s\n", dta->dta_name)); return E_OK; } aranym-1.0.2/atari/tools/devdos/emu_tos.h000077500000000000000000000054221242022243000203460ustar00rootroot00000000000000/* * $Id$ * * This file belongs to FreeMiNT. It's not in the original MiNT 1.12 * distribution. See the file CHANGES for a detailed log of changes. * * * Copyright 2000 Frank Naumann * All rights reserved. * * Please send suggestions, patches or bug reports to me or * the MiNT mailing list. * * * This file is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2, or (at your option) * any later version. * * This file is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. * */ # ifndef _mint_emu_tos_h # define _mint_emu_tos_h # ifdef __KERNEL__ # include "ktypes.h" # else # include # endif # define TOS_NAMELEN 13 struct dtabuf { ushort index; /* index into arrays in the PROC struct */ long magic; # define SVALID 0x1234fedcL /* magic for a valid search */ # define EVALID 0x5678ba90L /* magic for an exhausted search */ char dta_pat[TOS_NAMELEN+1]; /* pointer to pattern, if necessary */ char dta_sattrib; /* attributes being searched for */ /* this stuff is returned to the user */ char dta_attrib; ushort dta_time; ushort dta_date; ulong dta_size; char dta_name[TOS_NAMELEN+1]; }; /* defines for TOS attribute bytes */ # define FA_RDONLY 0x01 # define FA_HIDDEN 0x02 # define FA_SYSTEM 0x04 # define FA_LABEL 0x08 # define FA_DIR 0x10 # define FA_CHANGED 0x20 # ifdef __KERNEL__ # define FA_VFAT 0x0f /* VFAT entry */ # define FA_SYMLINK 0x40 /* symbolic link */ # endif /* Codes used with Cursconf() */ # define CURS_HIDE 0 # define CURS_SHOW 1 # define CURS_BLINK 2 # define CURS_NOBLINK 3 # define CURS_SETRATE 4 # define CURS_GETRATE 5 /* structure used to hold i/o buffers */ typedef struct io_rec { char *bufaddr; short buflen; volatile short head; volatile short tail; short low_water; short hi_water; } IOREC_T; /* Bconmap struct, * returned by Bconmap (-2) */ typedef struct { struct { long bconstat; long bconin; long bcostat; long bconout; long rsconf; IOREC_T *iorec; } *maptab; short maptabsize; } BCONMAP2_T; struct kbdvbase { long midivec; long vkbderr; long vmiderr; long statvec; long mousevec; long clockvec; long joyvec; long midisys; long ikbdsys; short drvstat; /* Non-zero if a packet is currently transmitted. */ }; typedef struct kbdvbase KBDVEC; # endif /* _mint_emu_tos_h */ aranym-1.0.2/atari/tools/devdos/list.h000077500000000000000000000130471242022243000176500ustar00rootroot00000000000000/* * Double linked list implementation * Copyright (c) 2006 windom authors (see AUTHORS file) * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public * License as published by the Free Software Foundation; either * version 2.1 of the License, or (at your option) any later version. * * This library 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 * Lesser General Public License for more details. * * You should have received a copy of the GNU Lesser General Public * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * * Taken from: * WinDom: a high level GEM library * Copyright (c) 1997-2006 windom authors (see AUTHORS file) * * $Source$ * * CVS info: * $Author$ * $Date$ * $Revision$ */ #ifndef __WINDOM_LIST__ #define __WINDOM_LIST__ /* __BEGIN_DECLS */ /** @addtogroup List * @{ */ /** element used to link structures each others * * This data shall be set at the very first place of the structure * if you want all the macro to work correctly. */ typedef struct Linkable { struct Linkable *next; /**< pointer to previous structure in the list */ struct Linkable *prev; /**< pointer to next structure in the list */ } LINKABLE; /** definition of a list of linked structures * * This is the starting point of the list of your elements. * This data point to both the first and the last element * of the list. * */ typedef struct { LINKABLE head; /**< first element of the list: this is a dummy element */ LINKABLE tail; /**< last element of the list: this is a dummy element */ } LIST; /** this is a zero-ed LIST data * * Warning: such list won't be reconized as an empty list. * You should call listInit() to properly initialise/zero/empty a list. */ #define listEmptyListInitializer() {{NULL,NULL},{NULL,NULL}} /** Initialisation of an empty LIST * * @param list the LIST data to initialise * * Initialises a list : \a list will be set as an * empty list. */ static inline void listInit( LIST *list ) { list->head.next = &list->tail; list->head.prev = (LINKABLE*)0L; list->tail.next = (LINKABLE*)0L; list->tail.prev = &list->head; } /** Insert the \a entry before \a iter * * @param iter is an element of the chained list * @param entry is a new element to insert in the list * */ static inline void listInsert( LINKABLE *iter, LINKABLE *entry ) { entry->next = iter; entry->prev = iter->prev; iter->prev->next = entry; iter->prev = entry; } /** Insert the \a entry after \a iter * * @param iter is an element of the chained list * @param entry is a new element to insert in the list * */ static inline void listAppend( LINKABLE *iter, LINKABLE *entry ) { entry->next = iter->next; entry->prev = iter; iter->next->prev = entry; iter->next = entry; } /** remove \a iter from the list * * @param iter is the element of the chained list to remove * */ static inline LINKABLE *listRemove( LINKABLE *iter ) { iter->prev->next = iter->next; iter->next->prev = iter->prev; return iter; } LIST *createList( void ); LIST *listSplice( LIST *list, LINKABLE *first, LINKABLE *pastLast ); /** usefull macro to parse all elements of a list. * * @param type is the type of the structure (to cast the \a i data) * @param i is the data to use in for loop. This data should be of the * \a type type. * @param list is the list to parse. * * This macro is based on a real \c for instruction, so you may leave * this loop by using the \c break instruction. * * Very important: the first data of the \a type structure must be a LINKABLE data. * * @par Exemple of use: * @code typedef struct { LINKABLE link; int other_datas; } ELT; LIST *list; ELT *e; (...) listForEach( ELT*, e, list) { int found; if (e->other_datas) found = do_stuff(e); else found = do_other_stuff(e); if (found) break; } @endcode * */ #define listForEach( type, i, list ) \ if ( list ) for( i=(type)(list)->head.next; \ ((LINKABLE*)i) != &(list)->tail; \ i=(type)((LINKABLE*)i)->next ) /** return the very first LINKABLE object of the list (before the first element linked) */ #define listRewind( list ) &((list)->head) /** return the very last LINKABLE object of the list (after the last element linked) */ #define listEnd( list ) &((list)->tail) /** return the next element on list. If the end of the list is reached (that is if the next * element is the very last LINKABLE object of the list) */ #define listNext( iter ) ((!((LINKABLE*)iter)->next->next) ? NULL : (((LINKABLE*)iter)->next)) /** return the previous element on list. If the begin of the list is reached (that is if the previous * element is the very first LINKABLE object of the list) */ #define listPrev( iter ) ((!((LINKABLE*)iter)->prev->prev) ? NULL : (((LINKABLE*)iter)->prev)) /** return if the list is empty or not */ #define listIsEmpty(list) ( ((list)->head.next) == (&(list)->tail)) /** return the first linked element of the list (the LINKABLE object right after listRewind), * or NULL if the list is empty */ #define listFirst(list) ( ((list)->head.next) == (&(list)->tail) ? NULL : ((list)->head.next)) #define listLast(list) ( ((list)->tail.prev) == (&(list)->head) ? NULL : ((list)->tail.prev)) typedef struct LinkablePtr { LINKABLE iter; void *value; } LINKABLEPTR; /** @} */ /* __END_DECLS */ #endif /* __WINDOM_LIST__ */ aranym-1.0.2/atari/tools/devdos/main.c000077500000000000000000000035161242022243000176140ustar00rootroot00000000000000/* * $Id$ * * The ARAnyM BetaDOS driver. * * 2001/2002 STan * * Based on: * @(#)cookiefs/dosmain.c * * Copyright (c) Julian F. Reschke, 28. November 1995 * All rights reserved. * **/ #include #include #include #include #include "mintfake.h" #define DEVNAME "DEV.DOS Filesystem" #define VERSION "0.1" #if 0 #include "nfd.h" #define TRACE(x) NFD(x) #define DEBUG(x) NFD(x) #else #define TRACE(x) #define DEBUG(x) #endif char DriverName[] = DEVNAME" "VERSION; long ldp; void __CDECL ShowBanner( void ); void* __CDECL InitDevice( long bosDevID, long dosDevID ); unsigned long get_cookie (unsigned long tag); /* Diverse Utility-Funktionen */ static int Bconws( char *str ) { int cnt = 0; while (*str) { cnt++; if (*str == '\n') { Bconout (2, '\r'); cnt++; } Bconout (2, *str++); } return cnt; } void __CDECL ShowBanner( void ) { Bconws ( "\n\033p "DEVNAME" "VERSION" \033q " "\nCopyright (c) ARAnyM Development Team, "__DATE__"\n" ); } struct cookie { long tag; long value; }; unsigned long get_cookie (unsigned long tag) { struct cookie *cookie = *(struct cookie **)0x5a0; if (!cookie) return 0; while (cookie->tag) { if (cookie->tag == tag) return cookie->value; cookie++; } return 0; } /* FIXME: from bosmeta.c */ int bosfs_initialize(); void* __CDECL InitDevice( long bosDevID, long dosDevID ) { if (get_cookie(0x4D694E54L /*'MiNT'*/)) { return (void*)-1; } /* * We _must_ use the bosDevID to define the drive letter here * because MetaDOS (in contrary to BetaDOS) does not provide * the dosDevID */ DEBUG(("InitDevice: [dosDev=%ld, bosDev=%ld]", dosDevID, bosDevID )); if ( bosfs_initialize() < 0 ) { return (void*)-1; } return &ldp; } aranym-1.0.2/atari/tools/devdos/mdglue.S000077500000000000000000000213331242022243000201220ustar00rootroot00000000000000// // $Header$ // // 2001 STanda // // The basic file layout was taken from Julian Reschke's Cookies // .globl _init .globl _sys_d_free, _sys_f_sfirst, _sys_f_snext, _sys_f_open .globl _sys_f_close, _sys_d_atime, _sys_f_write, _sys_f_read .globl _sys_f_attrib, _sys_f_create, _sys_f_seek, _sys_f_cntl .globl _sys_d_create, _sys_d_delete, _sys_f_rename .globl _sys_d_getpath, _sys_d_dsetpath .globl _sys_d_pathconf, _sys_f_xattr, _sys_d_opendir, _sys_d_readdir .globl _sys_d_closedir, _sys_d_xreaddir, _sys_d_rewinddir .globl _sys_d_readlabel, _sys_d_delete .globl _DriverName, _ShowBanner, _InitDevice .macro PRINT value // nf_call( nf_get_id(NF_STDERR), value); #if 0 move.l #s_stderr,-(sp) move.l #0,-(sp) dc.w 0x7300 lea 8(sp),sp move.l \value,-(sp) move.l #s_frm,-(sp) move.l d0,-(sp) move.l #0,-(sp) dc.w 0x7301 lea 16(sp),sp #endif .endm PRINT #if 1 #define SREGS movem.l a0-a6/d1-d7,-(sp) #define RREGS movem.l (sp)+,a0-a6/d1-d7 #else #define SREGS #define RREGS #endif .macro SSTCK framereg move.l sp,temp // store the old stack to the new one (do not touch regs) move.l #stack,sp move.l temp,-(sp) SREGS move.l temp,\framereg .endm SSTCK .macro RSTCK RREGS move.l (sp),sp .endm RSTCK // // Call to the MetaDOS C function implementation macro // .macro MDBSR framereg,label move.w 4(\framereg),-(sp) move.l (\framereg),-(sp) move.l a5,-(sp) move.l a4,-(sp) move.l a3,-(sp) bsr \label lea 18(sp),sp .endm MDBSR .text _init: bsr _ShowBanner move.l #functionTable+12,d0 move.l #_DriverName,d1 rts initfun: movem.l a0-a6/d1-d7,-(sp) PRINT #1 move.l d1,-(sp) // BetaDOS's dosDevID + some weird word / MetaDOS pure crap move.w d0,-(sp) // bosDevID 16bit move.w #0,-(sp) // pad for gcc (long) bsr _InitDevice addq #8,sp movem.l (sp)+,a0-a6/d1-d7 // d1: filename conversion // Bit 0: 0 = force upper case // Bit 1: 0 = fully expand // Bit 2: 0 = critical error handler reports EWRPRO moveq #5,d1 rts functionTable: dc.l 0x4d414749 // 'MAGI' dc.l 0x434d4554 // 'CMET' dc.l 349 dc.l initfun dc.l -1, -1, -1, -1, -1 dc.l -1, -1, -1, -1, -1 dc.l -1, -1, -1, -1, -1 dc.l -1, -1, -1, -1, -1 dc.l -1, -1, -1, -1, -1 dc.l -1, -1, -1, -1, -1 dc.l -1, -1, -1, -1, -1 dc.l -1, -1, -1, -1, -1 dc.l -1, -1, -1, -1, -1 dc.l -1, -1, -1, -1, -1 // 49 dc.l -1, -1, -1, -1 dc.l wrap_dfree // 54 dc.l -1 dc.l -1 dc.l wrap_dcreate // 57 dc.l wrap_ddelete // 58 dc.l -1 // 59 // wrap_dsetpath dc.l wrap_fcreate // 60 dc.l wrap_fopen // 61 dc.l wrap_fclose // 62 dc.l wrap_fread // 63 dc.l wrap_fwrite // 64 dc.l wrap_fdelete // 65 dc.l wrap_fseek // 66 dc.l wrap_fattrib // 67 dc.l -1 dc.l -1 // 69 dc.l -1 dc.l -1 // 71 // Dgetpath dc.l -1, -1, -1 // 74 dc.l -1, -1, -1 dc.l wrap_fsfirst // 78 dc.l wrap_fsnext // 79 dc.l -1, -1, -1, -1, -1 // 84 dc.l -1 dc.l wrap_frename // 86 dc.l wrap_fdatime // 87 dc.l -1, -1 // 89 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 99 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 109 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 119 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 129 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 139 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 149 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 159 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 169 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 179 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 189 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 199 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 209 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 219 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 229 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 239 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 249 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 259 dc.l -1 // 260 // wrap_fcntl dc.l -1, -1, -1, -1 // 264 dc.l -1, -1, -1, -1, -1 // 269 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 279 dc.l -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 // 289 dc.l -1, -1 dc.l wrap_dpathconf // 292 dc.l -1, -1 // 294 dc.l -1 dc.l wrap_dopendir // 296 dc.l wrap_dreaddir // 297 dc.l wrap_drewinddir // 298 dc.l wrap_dclosedir // 299 dc.l wrap_fxattr // 300 dc.l -1, -1, -1, -1 // 304 dc.l -1, -1, -1, -1, -1 // 309 dc.l -1, -1, -1, -1, -1 // 314 dc.l -1, -1, -1, -1, -1 // 319 dc.l -1, -1 dc.l wrap_dxreaddir // 322 dc.l -1, -1 dc.l -1, -1, -1, -1, -1 // 329 dc.l -1, -1, -1, -1, -1 // 334 dc.l -1, -1, -1 dc.l wrap_dreadlabel // 338 dc.l -1 // 339 dc.l -1, -1, -1, -1, -1 // 344 dc.l -1, -1, -1, -1, -1 // 349 wrap_dfree: PRINT #54 SSTCK a0 move.w 10(a0),-(sp) // drive # move.l 6(a0),-(sp) // diskinfo * MDBSR a0,_sys_d_free lea 6(sp),sp RSTCK rts wrap_dcreate: PRINT #57 SSTCK a0 move.l a4,-(sp) // name - 6(a0) or a4 MD MDBSR a0,_sys_d_create lea 4(sp),sp RSTCK rts wrap_ddelete: PRINT #58 SSTCK a0 move.l a4,-(sp) // name - 6(a0) or a4 MD MDBSR a0,_sys_d_delete lea 4(sp),sp RSTCK rts wrap_dsetpath: PRINT #59 SSTCK a0 move.l a4,-(sp) // name - 6(a0) or a4 MD //REM MDBSR a0,_sys_d_dsetpath lea 4(sp),sp RSTCK rts wrap_fcreate: PRINT #60 SSTCK a0 move.w 10(a0),-(sp) // attr move.l a4,-(sp) // name - 6(a0) or a4 MD MDBSR a0,_sys_f_create lea 6(sp),sp RSTCK rts wrap_fopen: PRINT #61 SSTCK a0 move.w 10(a0),-(sp) // mode move.l a4,-(sp) // name - 6(a0) or a4 MD MDBSR a0,_sys_f_open lea 6(sp),sp RSTCK cmp.l #0,d0 bmi fopen_error move.l #0,d0 // reset the fs to 0 (MetaDOS requires this) fopen_error: rts wrap_fclose: PRINT #62 SSTCK a0 move.w 6(a0),-(sp) // handle MDBSR a0,_sys_f_close lea 2(sp),sp RSTCK rts wrap_fread: PRINT #63 SSTCK a0 move.l 12(a0),-(sp) // buffer move.l 8(a0),-(sp) // count move.w 6(a0),-(sp) // handle MDBSR a0,_sys_f_read lea 10(sp),sp RSTCK rts wrap_fwrite: PRINT #64 SSTCK a0 move.l 12(a0),-(sp) // buffer move.l 8(a0),-(sp) // count move.w 6(a0),-(sp) // handle MDBSR a0,_sys_f_write lea 10(sp),sp RSTCK rts wrap_fdelete: PRINT #65 SSTCK a0 move.l a4,-(sp) // name - 6(a0) or a4 MD MDBSR a0,_sys_f_delete lea 4(sp),sp RSTCK rts wrap_fseek: PRINT #66 SSTCK a0 move.w 12(a0),-(sp) // mode move.w 10(a0),-(sp) // handle move.l 6(a0),-(sp) // count MDBSR a0,_sys_f_seek lea 8(sp),sp RSTCK rts wrap_fattrib: PRINT #67 SSTCK a0 move.w 12(a0),-(sp) // attrib move.w 10(a0),-(sp) // flag move.l a4,-(sp) // name - 6(a0) or a4 MD MDBSR a0,_sys_f_attrib lea 8(sp),sp RSTCK rts wrap_fsfirst: PRINT #78 SSTCK a0 move.w 10(a0),-(sp) // flags move.l a4,-(sp) // name/mask - 6(a0) or a4 MD MDBSR a0,_sys_f_sfirst lea 6(sp),sp RSTCK rts wrap_fsnext: PRINT #79 SSTCK a0 MDBSR a0,_sys_f_snext RSTCK rts wrap_frename: PRINT #86 SSTCK a0 move.l 12(a0),-(sp) // newname move.l a4,-(sp) // oldname - 8(a0) or a4 MD (yes 8(a0)!!!) move.w 6(a0),-(sp) // reserved MDBSR a0,_sys_f_rename lea 10(sp),sp RSTCK rts wrap_fdatime: PRINT #87 SSTCK a0 move.w 12(a0),-(sp) // flag move.w 10(a0),-(sp) // handle move.l 6(a0),-(sp) // timeptr MDBSR a0,_sys_f_datime MDBSR a0,_sys_f_datime lea 8(sp),sp RSTCK rts wrap_fcntl: PRINT #260 SSTCK a0 move.w 12(a0),-(sp) // cmd move.l 8(a0),-(sp) // argument move.w 6(a0),-(sp) // handle //REM MDBSR a0,_sys_f_cntl lea 8(sp),sp RSTCK rts wrap_dpathconf: PRINT #292 SSTCK a0 move.w 10(a0),-(sp) // mode move.l a4,-(sp) // name - 6(a0) or a4 MD MDBSR a0,_sys_d_pathconf lea 6(sp),sp RSTCK rts wrap_dopendir: PRINT #296 SSTCK a0 move.w 10(a0),-(sp) // flag move.l a4,-(sp) // name 6(a0) or a4 MD MDBSR a0,_sys_d_opendir lea 6(sp),sp RSTCK rts wrap_dreaddir: PRINT #297 SSTCK a0 move.l 12(a0),-(sp) // buffer move.l 8(a0),-(sp) // dirhandle move.w 6(a0),-(sp) // len MDBSR a0,_sys_d_readdir lea 10(sp),sp RSTCK rts wrap_drewinddir: PRINT #298 SSTCK a0 move.l 6(a0),-(sp) // dirhandle MDBSR a0,_sys_d_rewind lea 4(sp),sp RSTCK rts wrap_dclosedir: PRINT #299 SSTCK a0 move.l 6(a0),-(sp) // dirhandle MDBSR a0,_sys_d_closedir lea 4(sp),sp RSTCK rts wrap_fxattr: PRINT #300 SSTCK a0 move.l 12(a0),-(sp) // xattr* move.l a4,-(sp) // name 8(a0) or a4 MD move.w 6(a0),-(sp) // flag MDBSR a0,_sys_f_xattr lea 10(sp),sp RSTCK rts wrap_dxreaddir: PRINT #322 SSTCK a0 move.l 20(a0),-(sp) // xret* move.l 16(a0),-(sp) // xattr* move.l 12(a0),-(sp) // buffer move.l 8(a0),-(sp) // dirhandle move.w 6(a0),-(sp) // len MDBSR a0,_sys_d_xreaddir lea 18(sp),sp RSTCK rts wrap_dreadlabel: PRINT #338 SSTCK a0 move.w 14(a0),-(sp) // len move.l 10(a0),-(sp) // buffer move.l a4,-(sp) // pathname 6(a0) or a4 MD MDBSR a0,_sys_d_readlabel lea 10(sp),sp RSTCK rts s_frm: .ascii "DEV: %ld\n\0" s_stderr: .ascii "DEBUGPRINTF\0" .bss temp: ds.l 1 ds.b 8192 stack: aranym-1.0.2/atari/tools/devdos/metados.h000077500000000000000000000127501242022243000203310ustar00rootroot00000000000000/* Metados Copyright (C) 2002 Patrice Mandin This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library 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 Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef _METADOS_H #define _METADOS_H #include /* for trap_14_xxx macros */ #ifndef OSBIND_CLOBBER_LIST #define OSBIND_CLOBBER_LIST "d0", "d1", "d2", "a0", "a1", "a2", "memory" #endif #ifndef trap_14_wwllw #define trap_14_wwllw(n, a, b, c, d) \ __extension__ \ ({ \ register long retvalue __asm__("d0"); \ short _a = (short)(a); \ long _b = (long) (b); \ long _c = (long) (c); \ short _d = (short)(d); \ \ __asm__ volatile \ ("\ movw %5,sp@-; \ movl %4,sp@-; \ movl %3,sp@-; \ movw %2,sp@-; \ movw %1,sp@-; \ trap #14; \ lea sp@(14),sp " \ : "=r"(retvalue) /* outputs */ \ : "g"(n), \ "r"(_a), "r"(_b), "r"(_c), "r"(_d) /* inputs */ \ : __CLOBBER_RETURN("d0") \ "d1", "d2", "a0", "a1", "a2", "memory" \ ); \ retvalue; \ }) #endif #ifndef trap_14_wwlwl #define trap_14_wwlwl(n,a,b,c,d) \ __extension__ \ ({ \ register long retvalue __asm__("d0"); \ short _a = (short)(a); \ long _b = (long)(b); \ short _c = (short)(c); \ long _d = (long)(d); \ \ __asm__ volatile ( \ "movl %5,sp@-\n\t" \ "movw %4,sp@-\n\t" \ "movl %3,sp@-\n\t" \ "movw %2,sp@-\n\t" \ "movw %1,sp@-\n\t" \ "trap #14\n\t" \ "lea sp@(14),sp" \ : "=r"(retvalue) \ : "g"(n), "r"(_a), "r"(_b), "r"(_c), "r"(_d) \ : OSBIND_CLOBBER_LIST \ ); \ retvalue; \ }) #endif /*--- Functions prototypes ---*/ #define Metainit(buffer) \ (void)trap_14_wl((short)0x30,(long)buffer) #define Metaopen(drive,buffer) \ (long)trap_14_wwl((short)0x31,(short)drive,(long)buffer) #define Metaclose(drive) \ (void)trap_14_ww((short)0x32,(short)drive) #define Metaread(drive,buffer,first_block,nb_blocks) \ (long)trap_14_wwllw((short)0x33,(short)drive,(long)buffer,(long)first_block,(short)nb_blocks) #define Metawrite(drive,buffer,first_block,nb_blocks) \ (long)trap_14_wwllw((short)0x34,(short)drive,(long)buffer,(long)first_block,(short)nb_blocks) #define Metaseek(drive,dummy,offset) \ (long)trap_14_wwll((short)0x35,(short)(drive),(long)(dummy),(long)(offset)) #define Metastatus(void) \ (long)trap_14_wl((short)0x36,(long)(buffer)) #define Metaioctl(drive,magic,opcode,buffer) \ (long)trap_14_wwlwl((short)(0x37),(short)(drive),(long)(magic),(short)(opcode),(long)(buffer)) #define Metastartaudio(drive,dummy,metatracks_t_p) \ (long)trap_14_wwwl((short)(0x3b),(short)(drive),(short)(dummy),(long)(metatracks_t_p)) #define Metastopaudio(drive) \ (long)trap_14_ww((short)(0x3c),(short)(drive)) #define Metasetsongtime(drive,dummy,start,end) \ (long)trap_14_wwwll((short)(0x3d),(short)(drive),(short)(dummy),(long)(start),(long)(end)) #define Metagettoc(drive,dummy,metatocentry_t_p) \ (long)trap_14_wwwl((short)(0x3e),(short)(drive),(short)(dummy),(long)(metatocentry_t_p)) #define Metadiscinfo(drive,metadiscinfo_t_p) \ (long)trap_14_wwl((short)(0x3f),(short)(drive),(long)(metadiscinfo_t_p)) #define METADOS_IOCTL_MAGIC (((unsigned long)'F'<<24)|((unsigned long)'C'<<16)|('T'<<8)|'L') /* bos_info_t returning ioctl */ #define METADOS_IOCTL_BOSINFO (('B'<<8)|'I') /*--- Types ---*/ typedef struct { unsigned short version; unsigned long magic; char *log2phys; } __attribute__((packed)) metainfo_t; typedef struct { unsigned long drives_map; char *version; unsigned long reserved; metainfo_t *info; } __attribute__((packed)) metainit_t; typedef struct { char *name; unsigned long reserved[3]; } __attribute__((packed)) metaopen_t; typedef struct { char ext_status[32]; } __attribute__((packed)) metastatus_t; typedef struct { unsigned char count; unsigned char first; } __attribute__((packed)) metatracks_t; typedef struct { /* TOC entry for MetaGetToc() function */ unsigned char track; unsigned char minute; unsigned char second; unsigned char frame; } __attribute__((packed)) metatocentry_t; typedef struct { unsigned char reserved; unsigned char minute; unsigned char second; unsigned char frame; } __attribute__((packed)) metadisc_msf_t; typedef struct { /* Discinfo for MetaDiscInfo() function */ unsigned char disctype, first, last, current; metadisc_msf_t relative; metadisc_msf_t absolute; metadisc_msf_t end; unsigned char index, reserved1[3]; unsigned long reserved2[123]; } __attribute__((packed)) metadiscinfo_t; /* METADOS_IOCTL_BOSINFO ioctl() .bos driver info */ /** the devide is a character device (all the block values in API are * meant as byte values for these */ #define BOS_INFO_ISTTY 0x00001UL /** the device will not be visible in the x:\dev nor in x:\dev\bos */ #define BOS_INFO_BOSHIDDEN 0x10000UL /** the device will not be visible in the x:\dev but will be in x:\dev\bos */ #define BOS_INFO_DEVHIDDEN 0x20000UL typedef struct { unsigned long flags; } __attribute__((packed)) bos_info_t; #endif /* _METADOS_H */ aranym-1.0.2/atari/tools/devdos/mintfake.h000077500000000000000000000024701242022243000204710ustar00rootroot00000000000000/* * $Id$ * * The ARAnyM MetaDOS driver. * * This is the FreeMiNT configuration file modified for * the ARAnyM HOSTFS.DOS MetaDOS driver * * 2002 STan */ #ifndef _mintfake_h_ #define _mintfake_h_ # ifndef ARAnyM_MetaDOS # define ARAnyM_MetaDOS # endif /* MetaDOS function header macros to let the functions create also metados independent */ # define MetaDOSFile void *devMD, char *pathNameMD, void *fpMD, long retMD, int opcodeMD, # define MetaDOSDir void *devMD, char *pathNameMD, DIR *dirMD, long retMD, int opcodeMD, # define MetaDOSDTA0 void *devMD, char *pathNameMD, void *dtaMD, long retMD, int opcodeMD # define MetaDOSDTA0pass devMD, pathNameMD, dtaMD, retMD, opcodeMD # define MetaDOSDTA MetaDOSDTA0, /* disable some defines from the sys/mint/ *.h */ #ifdef O_GLOBAL # undef O_GLOBAL #endif /* rollback the settings from the FreeMiNT CVS's sys/mint/config.h) */ #ifdef CREATE_PIPES # undef CREATE_PIPES #endif #ifdef SYSUPDATE_DAEMON # undef SYSUPDATE_DAEMON #endif #ifdef OLDSOCKDEVEMU # undef OLDSOCKDEVEMU #endif #ifdef WITH_KERNFS # undef WITH_KERNFS #endif # define WITH_KERNFS 0 #ifdef DEV_RANDOM # undef DEV_RANDOM #endif #ifdef PATH_MAX # undef PATH_MAX #endif # define PATH_MAX 1024 #ifdef SPRINTF_MAX # undef SPRINTF_MAX #endif # define SPRINTF_MAX 128 #endif /* _mintfake_h_ */ aranym-1.0.2/atari/tools/devdos/utility.c000077500000000000000000000641241242022243000203750ustar00rootroot00000000000000/* * fVDI utility functions * * $Id$ * * Copyright 1997-2003, Johan Klockars * This software is licensed under the GNU General Public License. * Please, see LICENSE.TXT for further information. */ #include #include /* for size_t */ #include #include "utility.h" /* just forwards */ static inline void copymem(const void *s, void *d, long n); static inline void setmem(void *d, long v, long n); static inline void copy(const char *src, char *dest); static inline void cat(const char *src, char *dest); short debug = 0; char silentx[10] = "\0\0\0\0"; /* * Global variables */ typedef struct _Circle { struct _Circle *prev; struct _Circle *next; long size; } Circle; short Falcon = 0; short TT = 0; long cpu = 0; long fpu = 0; long frb = 0; long video = 0; long nvdi = 0; long eddi = 0; long mint = 0; long magic = 0; short mxalloc = 0; /* BEG: from ctype.c */ #define _ctype _mint_ctype extern unsigned char _mint_ctype[256]; # define _CTc 0x01 /* control character */ # define _CTd 0x02 /* numeric digit */ # define _CTu 0x04 /* upper case */ # define _CTl 0x08 /* lower case */ # define _CTs 0x10 /* whitespace */ # define _CTp 0x20 /* punctuation */ # define _CTx 0x40 /* hexadecimal */ # define isalnum(c) ( _ctype[(unsigned char)(c)] & (_CTu|_CTl|_CTd)) # define isalpha(c) ( _ctype[(unsigned char)(c)] & (_CTu|_CTl)) # define isascii(c) (!((c) & ~0x7f)) # define iscntrl(c) ( _ctype[(unsigned char)(c)] & _CTc) # define isdigit(c) ( _ctype[(unsigned char)(c)] & _CTd) # define isgraph(c) (!(_ctype[(unsigned char)(c)] & (_CTc|_CTs)) && (_ctype[(unsigned char)(c)])) # define islower(c) ( _ctype[(unsigned char)(c)] & _CTl) # define isprint(c) (!(_ctype[(unsigned char)(c)] & _CTc) && (_ctype[(unsigned char)(c)])) # define ispunct(c) ( _ctype[(unsigned char)(c)] & _CTp) # define isspace(c) ( _ctype[(unsigned char)(c)] & _CTs) # define isupper(c) ( _ctype[(unsigned char)(c)] & _CTu) # define isxdigit(c) ( _ctype[(unsigned char)(c)] & _CTx) # define iswhite(c) (isspace (c)) # define isodigit(c) ((c) >= '0' && (c) <= '7') # define iscymf(c) (isalpha(c) || ((c) == '_')) # define iscym(c) (isalnum(c) || ((c) == '_')) # define _toupper(c) ((c) ^ 0x20) # define _tolower(c) ((c) ^ 0x20) # define _toascii(c) ((c) & 0x7f) int tolower (int c) { return (isupper (c) ? _tolower (c) : c); } int toupper (int c) { return (islower (c) ? _toupper (c) : c); } /* END: from ctype.c */ char * strupr (char *s) { char c; char *old = s; while ((c = *s) != 0) { if (islower (c)) *s = _toupper(c); s++; } return old; } /* * Turn string (max four characters) into a long */ long str2long(const unsigned char *text) { long v; v = 0; while (*text) { v <<= 8; v += *text++; } return v; } long get_l(long addr) { return *(long *)addr; } /* * Get a long value after switching to supervisor mode */ long get_protected_l(long addr) { long oldstack, v; oldstack = (long)Super(0L); v = *(long *)addr; Super((void *)oldstack); return v; } void set_l(long addr, long value) { *(long *)addr = value; } static inline void copymem(const void *s, void *d, long n) { const char *src = (const char *)s; char *dest = (char *)d; for(n = n - 1; n >= 0; n--) *dest++ = *src++; } static void copymem_aligned(const void *s, void *d, long n) { const long *src = (const long *)s; long *dest = (long *)d; long n4; for(n4 = (n >> 2) - 1; n4 >= 0; n4--) *dest++ = *src++; if (n & 3) { const char *s1 = (const char *)src; char *d1 = (char *)dest; switch(n & 3) { case 3: *d1++ = *s1++; case 2: *d1++ = *s1++; case 1: *d1++ = *s1++; break; } } } void *memcpy(void *dest, const void *src, size_t n) { if (n > 3) { if (!((long)dest & 1)) { if (!((long)src & 1)) { copymem_aligned(src, dest, n); return dest; } } else if ((long)src & 1) { *((char *)dest)++ = *((const char *)src)++; copymem_aligned(src, dest, n - 1); return (char *)dest - 1; } } copymem(src, dest, n); return dest; } void *memmove(void *dest, const void *src, long n) { const char *s1; char *d1; if (((long)dest >= (long)src + n) || ((long)dest + n <= (long)src)) return memcpy(dest, src, n); if ((long)dest < (long)src) { s1 = (const char *)src; d1 = (char *)dest; for(n--; n >= 0; n--) *d1++ = *s1++; } else { s1 = (const char *)src + n; d1 = (char *)dest + n; for(n--; n >= 0; n--) *(--d1) = *(--s1); } return dest; } static inline void setmem(void *d, long v, long n) { char *dest; dest = (char *)d; for(n = n - 1; n >= 0; n--) *dest++ = (char)v; } static void setmem_aligned(void *d, long v, long n) { long *dest; long n4; dest = (long *)d; for(n4 = (n >> 2) - 1; n4 >= 0; n4--) *dest++ = v; if (n & 3) { char *d1 = (char *)dest; switch(n & 3) { case 3: *d1++ = (char)(v >> 24); case 2: *d1++ = (char)(v >> 16); case 1: *d1++ = (char)(v >> 8); break; } } } /* This function needs an 'int' parameter * to be compatible with gcc's built-in * version. * For module use, a separate version will * be needed since they can't be guaranteed * to have the same size for 'int'. */ void *memset(void *s, int c, size_t n) { if ((n > 3) && !((long)s & 1)) { unsigned long v; v = ((unsigned short)c << 8) | (unsigned short)c; v = (v << 16) | v; setmem_aligned(s, v, n); } else setmem(s, c, n); return s; } long strlen(const char *s) { const char *p = s; while (*p++) ; return (long)(p - s) - 1; } int strcmp(const char *s1, const char *s2) { char c1; do { if (!(c1 = *s1++)) { s2++; break; } } while (c1 == *s2++); return (long)(c1 - s2[-1]); } long strncmp(const char *s1, const char *s2, size_t n) { char c1; long ns; /* size_t can't be negative */ ns = n; for(ns--; ns >= 0; ns--) { if (!(c1 = *s1++)) { s2++; break; } if (c1 != *s2++) break; } if (ns < 0) return 0L; return (long)(c1 - s2[-1]); } int memcmp(const void *s1, const void *s2, size_t n) { const char *s1c, *s2c; long ns; /* size_t can't be negative */ ns = n; s1c = (const char *)s1; s2c = (const char *)s2; for(ns--; ns >= 0; ns--) { if (*s1c++ != *s2c++) return (long)(s1c[-1] - s2c[-1]); } return 0L; } static inline void copy(const char *src, char *dest) { while ( (*dest++ = *src++) ) ; } char *strcpy(char *dest, const char *src) { copy(src, dest); return dest; } char *strncpy(char *dest, const char *src, size_t n) { char c1, *d; long ns; d = dest; ns = n; for(ns--; ns >= 0; ns--) { c1 = *src++; *dest++ = c1; if (!c1) break; } for(ns--; ns >= 0; ns--) *dest++ = 0; return d; } char *strdup(const char *s) { char *d; if ((d = (char *)malloc(strlen(s) + 1))) strcpy(d, s); return d; } static inline void cat(const char *src, char *dest) { while(*dest++) ; copy(src, dest - 1); } char *strcat(char *dest, const char *src) { cat(src, dest); return dest; } char *strchr(const char *s, long c) { char ch, c1; if (!c) return (char *)s + strlen(s); c1 = c; while(ch = *s++) { if (ch == c1) return (char *)s - 1; } return 0; } char *strrchr(const char *s, long c) { char *found, ch, c1; if (!c) return (char *)s + strlen(s); c1 = c; found = 0; while(ch = *s++) { if (ch == c1) found = (char *)s; } if (found) return found - 1; return 0; } void *memchr(const void *s, long c, size_t n) { char ch, c1; char *m; long ns; m = (char *)s; c1 = c; ns = n; for(ns--; ns >= 0; ns--) { ch = *m++; if (ch == c1) return (char *)m - 1; } return 0; } char *memrchr(const void *s, long c, size_t n) { char ch, c1; const char *m; long ns; m = (const char *)s + n; c1 = c; ns = n; for(ns--; ns >= 0; ns--) { ch = *--m; if (ch == c1) return (void *)m; } return 0; } long numeric(long ch) { if ((ch >= '0') && (ch <= '9')) return 1; return 0; } long check_base(char ch, long base) { if (numeric(ch) && (ch < '0' + base)) return ch - '0'; if ((ch >= 'a') && (ch <= 'z')) ch -= 'a' - 'A'; if ((ch >= 'A') && (ch < 'A' + base - 10)) return ch - 'A' + 10; return -1; } long atol(const char *text) { long n; int minus, base, ch; while(isspace(*text)) text++; minus = 0; if (*text == '-') { minus = 1; text++; } base = 10; if (*text == '$') { base = 16; text++; } else if (*text == '%') { base = 2; text++; } n = 0; while ((ch = check_base(*text++, base)) >= 0) n = n * base + ch; if (minus) n = -n; return n; } void ultoa(char *buf, unsigned long un, unsigned long base) { char *tmp, ch; tmp = buf; do { ch = un % base; un = un / base; if (ch <= 9) ch += '0'; else ch += 'a' - 10; *tmp++ = ch; } while (un); *tmp = '\0'; while (tmp > buf) { ch = *buf; *buf++ = *--tmp; *tmp = ch; } } void ltoa(char *buf, long n, unsigned long base) { unsigned long un; char *tmp, ch; un = n; if ((base == 10) && (n < 0)) { *buf++ = '-'; un = -n; } tmp = buf; do { ch = un % base; un = un / base; if (ch <= 9) ch += '0'; else ch += 'a' - 10; *tmp++ = ch; } while (un); *tmp = '\0'; while (tmp > buf) { ch = *buf; *buf++ = *--tmp; *tmp = ch; } } /* Mostly complete, but only simple things tested */ long sprintf(char *str, const char *format, ...) { long r; va_list args; va_start(args, format); r = vsprintf( str, format, args); va_end(args); return r; } /* Mostly complete, but only simple things tested */ long vsprintf(char *str, const char *format, va_list args) { int mode = 0; char *s, *text, ch; long val_l = 0; int base = 10; int field = 0; int precision = 0; int opts = 0; s = str; while ( (ch = *format++) ) { if (mode) { switch(ch) { case 's': text = va_arg(args, char *); while ((*str++ = *text++)) ; str--; mode = 0; break; case 'c': *str++ = va_arg(args, int); /* char promoted to int */ mode = 0; break; case 'p': opts |= 16; mode = 4; case 'x': case 'X': base = 16; if (opts & 16) { *str++ = '0'; *str++ = 'x'; } case 'o': if (base == 10) { base = 8; if (opts & 16) { *str++ = '0'; } } case 'u': opts |= 32; /* Unsigned conversion */ case 'd': case 'i': if (!(opts & 0x0100) && (opts & 1) && !(opts & 8)) { precision = field; field = 0; } switch (mode) { case 4: val_l = va_arg(args, long); break; case 3: if (opts & 32) val_l = va_arg(args, unsigned char); else val_l = va_arg(args, signed char); break; case 2: if (opts & 32) val_l = va_arg(args, unsigned short); else val_l = va_arg(args, short); break; case 1: if (opts & 32) val_l = va_arg(args, unsigned int); else val_l = va_arg(args, int); break; default: break; } if (!(opts & 32)) { if (val_l > 0) { if (opts & 4) *str++ = '+'; else if (opts & 2) *str++ = ' '; } else if (val_l < 0) { *str++ = '-'; val_l = -val_l; } } if (val_l || !(opts & 0x0100) || (precision != 0)) ultoa(str, val_l, base); val_l = strlen(str); if (val_l < precision) { memmove(str + precision - val_l, str, val_l + 1); memset(str, '0', precision - val_l); } str += strlen(str); mode = 0; break; case '%': *str++ = '%'; mode = 0; break; case 'h': opts |= 0x8000; if (mode == 1) mode = 2; else if (mode == 2) mode = 3; else opts |= 0x4000; break; case 'z': case 't': case 'l': opts |= 0x8000; if (mode == 1) mode = 4; else opts |= 0x4000; break; case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': if (mode == 1) { ch -= '0'; if (!ch && !(opts & 0x8000)) { if (!(opts & 1)) opts |= 1; /* Zero padding */ else opts |= 0x4000; } else { opts |= 0x8000; if (opts & 0x0100) { if (!(opts & 0x0200)) { opts |= 0x0400; precision = precision * 10 + ch; } else opts |= 0x4000; } else if (!(opts & 0x0800)) { opts |= 0x0400; field = field * 10 + ch; } else opts |= 0x4000; } } else opts |= 0x4000; break; case '*': if (mode == 1) { if (opts & 0x0100) { if (!(opts & 0x0600)) { opts |= 0x0200; precision = va_arg(args, int); if (precision < 0) precision = 0; } else opts |= 0x4000; } else if (!(opts & 0x8c00)) { opts |= 0x8800; field = va_arg(args, int); if (field < 0) { opts |= 8; field = -field; } } else opts |= 0x4000; } else opts |= 0x4000; break; case ' ': if (!(opts & 0x8002)) { opts |= 2; /* Space in front of positive numbers */ } else opts |= 0x4000; break; case '+': if (!(opts & 0x8004)) { opts |= 4; /* Sign in front of all numbers */ } else opts |= 0x4000; break; case '-': if (!(opts & 0x8008)) { opts |= 8; /* Left justified field */ } else opts |= 0x4000; break; case '#': if (!(opts & 0x8010)) { opts |= 16; /* 0x/0 in front of hexadecimal/octal numbers */ } else opts |= 0x4000; break; case '.': if (!(opts & 0x0100) && (mode == 1)) { opts &= ~0x0400; opts |= 0x8100; precision = 0; } else opts |= 0x4000; break; default: opts |= 0x4000; break; } if (opts & 0x4000) { *str++ = '%'; *str++ = '?'; mode = 0; } if ((mode == 0) && (field > str - s)) { val_l = field - (str - s); if (opts & 8) { memset(str, ' ', val_l); } else { memmove(s + val_l, s, str - s); memset(s, ' ', val_l); } str += val_l; } } else if (ch == '%') { mode = 1; base = 10; opts = 0; field = 0; precision = 0; s = str; } else { *str++ = ch; } } *str = 0; return strlen(s); } void qsort(void *base, long nmemb, long size, long (*compar)(const void *, const void *)) { static long incs[16] = { 1391376, 463792, 198768, 86961, 33936, 13776, 4592, 1968, 861, 336, 112, 48, 21, 7, 3, 1 }; long i, j, k, h, j_size, h_size; short n; char buf[16], *v, *p1, *p2, *cbase; v = buf; if (size > sizeof(buf)) { v = malloc(size); if (!v) /* Can't sort? */ return; } cbase = (char *)base; for(k = 0; k < 16; k++) { h = incs[k]; h_size = h * size; for(i = h; i < nmemb; i++) { j = i; j_size = j * size; p1 = v; p2 = cbase + j_size; for(n = size - 1; n >= 0; n--) *p1++ = *p2++; while ((j >= h) && (compar(v, cbase + j_size - h_size) < 0)) { p1 = cbase + j_size; p2 = p1 - h_size; for(n = size - 1; n >= 0; n--) *p1++ = *p2++; j -= h; j_size -= h_size; } p1 = cbase + j_size; p2 = v; for(n = size - 1; n >= 0; n--) *p1++ = *p2++; } } if (size > sizeof(buf)) free(v); } void *fmalloc(long size, long type) { Circle *new; if (mint | magic) { if (!(type & 0xfff8)) /* Simple type? */ type |= 0x4030; /* Keep around, supervisor accessible */ new = (Circle *)Mxalloc(size + sizeof(Circle), type); } else { type &= 3; if (mxalloc) /* Alternative if possible */ new = (Circle *)Mxalloc(size + sizeof(Circle), type); else new = (Circle *)Malloc(size + sizeof(Circle)); } if ((long)new > 0) { if ((debug > 2) && !(silentx[0] & 0x01)) { char buffer[10]; ltoa(buffer, (long)new, 16); puts("Allocation at $"); puts(buffer); puts(", "); ltoa(buffer, size, 10); puts(buffer); puts_nl(" bytes"); } new->size = size + sizeof(Circle); *(long *)&new[1] = size; return (void *)&new[1]; } else return new; } #if 0 static short block_space[] = {32, 76, 156, 316, 1008, 2028, 4068, 8148, 16308}; #else static short block_space[] = {16, 48, 112, 240, 496, 1008, 2028, 4068, 8148, 16308}; #endif static char *block_free[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; #if 0 static char *block_used[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; #else #if 0 static Circle block_used[] = { {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}, {0,0,0}}; #else static Circle *block_used[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; #endif #endif static short free_blocks[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; static short used_blocks[] = { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; static short allocated = 0; #define ADDR_NOT_OK 0xfc000003 void allocate(long amount) { const int sizes = sizeof(block_space) / sizeof(block_space[0]); char *buf; Circle *link, *last; int i; amount &= ~0x0fL; if (!amount) return; buf = fmalloc(amount * 1024, 3); if (!buf) return; if ((debug > 2) && !(silentx[0] & 0x02)) { puts(" Malloc at "); ltoa(buf, (long)buf, 16); puts(buf); puts("\x0a\x0d"); } last = (Circle *)block_free[sizes - 1]; for(i = 0; i < amount; i += 16) { link = (Circle *)&buf[i * 1024L]; link->next = last; link->prev = 0; link->size = sizes - 1; last = link; } block_free[sizes - 1] = (char *)last; free_blocks[sizes - 1] += amount >> 4; allocated += amount >> 4; } #define OS_MARGIN 64 #define MIN_BLOCK 32 #define LINK_SIZE (sizeof(Circle)) #define MIN_KB_BLOCK void *malloc(long size) { int m, n; const int sizes = sizeof(block_space) / sizeof(block_space[0]); char *block, buf[10]; Circle *link, *next; if ( (size > 16 * 1024 - OS_MARGIN - LINK_SIZE)) return fmalloc(size, 3); /* This will always break eventually thanks to the if-statement above */ for(n = 0; n < sizes; n++) { if (size <= block_space[n]) break; } if ((debug > 2) && !(silentx[0] & 0x02)) { ltoa(buf, n, 10); puts("Alloc: Need block of size "); puts(buf); puts("/"); ltoa(buf, size, 10); puts(buf); puts("\x0a\x0d"); } if (!block_free[n]) { for(m = n + 1; m < sizes; m++) { if (block_free[m]) break; } if (m >= sizes) { m = sizes - 1; block_free[m] = fmalloc(16 * 1024 - OS_MARGIN, 3); if (!block_free[m]) return 0; if ((debug > 2) && !(silentx[0] & 0x02)) { puts(" Malloc at "); ltoa(buf, (long)block_free[m], 16); puts(buf); puts("\x0a\x0d"); } link = (Circle *)block_free[m]; link->next = 0; link->prev = 0; link->size = m; free_blocks[m]++; allocated++; } for(; m > n; m--) { if ((debug > 2) && !(silentx[0] & 0x02)) { puts(" Splitting\x0a\x0d"); } block_free[m - 1] = block_free[m]; link = (Circle *)block_free[m]; block_free[m] = (char *)link->next; free_blocks[m]--; next = (Circle *)(block_free[m - 1] + block_space[m - 1] + LINK_SIZE); link->next = next; link->prev = 0; link->size = m - 1; free_blocks[m - 1]++; link = next; link->next = 0; link->prev = 0; link->size = m - 1; free_blocks[m - 1]++; } } else { if ((debug > 2) && !(silentx[0] & 0x02)) { puts(" Available\x0a\x0d"); } } block = block_free[n]; block_free[n] = (char *)((Circle *)block)->next; if ((debug > 2) && !(silentx[0] & 0x02)) { puts(" Allocating at "); ltoa(buf, (long)block, 16); puts(buf); puts(" (next at "); ltoa(buf, (long)block_free[n], 16); puts(buf); puts(")\x0a\x0d"); } ((Circle *)block)->size = (((Circle *)block)->size & 0xffff) + (size << 16); if (1 ) { Circle *new = (Circle *)block; if (block_used[n]) { new->prev = block_used[n]->prev; new->next = block_used[n]; block_used[n]->prev->next = new; block_used[n]->prev = new; } else { block_used[n] = new; new->prev = new; new->next = new; } } free_blocks[n]--; used_blocks[n]++; *(long *)(block + sizeof(Circle)) = block_space[n]; return block + sizeof(Circle); } void *realloc(void *addr, long new_size) { Circle *current; long old_size; void *new; if (!addr) return malloc(new_size); if (!new_size) { free(addr); return 0; } new = malloc(new_size); if ((long)new <= 0) return 0; current = &((Circle *)addr)[-1]; #if 0 if (current->prev) #else if ((long)current->prev & 1) #endif old_size = current->size - sizeof(Circle); else old_size = current->size >> 16; copymem_aligned(addr, new, old_size < new_size ? old_size : new_size); free(addr); if ((debug > 2) && !(silentx[0] & 0x01)) { char buffer[10]; puts("Reallocation from size "); ltoa(buffer, old_size, 10); puts(buffer); puts(" at $"); ltoa(buffer, (long)addr, 16); puts(buffer); puts(" to "); ltoa(buffer, new_size, 10); puts_nl(buffer); } return new; } long free(void *addr) { Circle *current; long size, ret; if (!addr) return 0; current = &((Circle *)addr)[-1]; if (!((long)current->prev & 1)) { size = current->size & 0xffff; if (((debug > 2) && !(silentx[0] & 0x02)) || (unsigned int)size >= sizeof(block_space) / sizeof(block_space[0]) || !(current->size >> 16)) { char buf[10]; puts("Freeing at "); ltoa(buf, (long)current, 16); puts(buf); #if 1 puts(" ("); ltoa(buf, (long)current->size, 16); puts(buf); puts(" ,"); ltoa(buf, (long)current->prev, 16); puts(buf); puts(" ,"); ltoa(buf, (long)current->next, 16); puts(buf); puts(")"); #endif puts("\x0a\x0d"); } if (1) { if (block_used[size] == current) { block_used[size] = current->next; if (current->next == current->prev) block_used[size] = 0; } current->prev->next = current->next; current->next->prev = current->prev; } current->next = (Circle *)block_free[size]; block_free[size] = (char *)current; free_blocks[size]++; used_blocks[size]--; return 0; } else { if ((debug > 2) && !(silentx[0] & 0x01)) { char buf[10]; puts("Standard free at "); ltoa(buf, (long)current, 16); puts(buf); puts("\x0a\x0d"); } } size = current->size; if ((debug > 2) && !(silentx[0] & 0x01)) { char buffer[10]; ltoa(buffer, (long)current, 16); puts("Freeing at $"); puts_nl(buffer); } ret = Mfree(current); if (ret) return ret; else return size; } long puts(const char *text) { #if 0 nfCall((nf_print_id, text)); #endif return 1; } long init_utility(void) { long tmp; tmp = (long)Mxalloc(10, 3); /* Try allocating a little memory */ if (tmp == -32) mxalloc = 0; else if (tmp < 0) return 0; /* Should not happen */ else { mxalloc = 1; Mfree((void *)tmp); } return 1; } aranym-1.0.2/atari/tools/devdos/utility.h000077500000000000000000000047261242022243000204040ustar00rootroot00000000000000#ifndef UTILITY_H #define UTILITY_H /* * fVDI utility function declarations * * $Id$ * * Copyright 2003, Johan Klockars * This software is licensed under the GNU General Public License. * Please, see LICENSE.TXT for further information. */ long init_utility(void); /* * Memory access */ long get_protected_l(long addr); void set_protected_l(long addr, long value); long get_l(long addr); void set_l(long addr, long value); /* * Cookie and XBRA access */ long get_cookie(const unsigned char *cname, long super); long set_cookie(const unsigned char *name, long value); long remove_xbra(long vector, const unsigned char *name); void check_cookies(void); /* * Memory pool allocation (from set of same sized blocks) */ long initialize_pool(long size, long n); char *allocate_block(long size); void free_block(void *addr); /* * Memory/string operations */ void *memchr(const void *s, long c, size_t n); char *memrchr(const void *s, long c, size_t n); void *memcpy(void *dest, const void *src, size_t n); void *memmove(void *dest, const void *src, long n); void *memset(void *s, int c, size_t n); char *strdup(const char *s); char *strncpy(char *dest, const char *src, size_t n); long strncmp(const char *s1, const char *s2, size_t n); char *strcat(char *dest, const char *src); char *strchr(const char *s, long c); char *strrchr(const char *s, long c); char *strupr(char *s); void qsort(void *base, long nmemb, long size, long (*compar)(const void *, const void *)); /* * Character numerics */ long numeric(long ch); long check_base(char ch, long base); long atol(const char *text); void ltoa(char *buf, long n, unsigned long base); void ultoa(char *buf, unsigned long un, unsigned long base); long str2long(const unsigned char *text); /* * General memory allocation */ void *fmalloc(long size, long type); void *malloc(long size); void *realloc(void *addr, long new_size); long free(void *addr); long free_all(void); void allocate(long amount); /* * ctype.h */ int tolower (int c); int toupper (int c); /* * Text output */ long puts(const char *text); void error(const char *text1, const char *text2); #define puts_nl(text) { puts(text); puts("\x0a\x0d"); } long sprintf(char *str, const char *format, ...); long vsprintf(char *str, const char *format, va_list args); /* * Maths */ short Isin(short angle); short Icos(short angle); #define ABS(x) (((x) >= 0) ? (x) : -(x)) #define MIN(x,y) (((x) < (y)) ? (x) : (y)) #define MAX(x,y) ((x) > (y) ? (x) : (y)) #endif aranym-1.0.2/atari/tools/pc101us.kbd.bz2000066400000000000000000000004231242022243000176010ustar00rootroot00000000000000BZh91AY&SYF@v`F4h24h5$  ʠ4d`hi 220` ,1x=pcQń0@@?CQ%zH@LIK: !@PW($E@!YLb4&u%Jd `d[B0EH@^QO48ӹtw>a3߇~ k.p!aranym-1.0.2/atari/tools/pcpatch.c000066400000000000000000000075461242022243000170320ustar00rootroot00000000000000#include #include /* A part of Fopen/Fcreate routine... (adding #100 to the file handle for in mem data) L2334: move.l a5,4(a4) ; 294D0004 clr.l (a4) ; 4294 addq #1,10(a5) ; 526D000A moveq #100,d0 ; 7064 add d4,d0 ; D044 L2348: addq #6,a7 ; 5C4F movem.l (a7)+,d3-d4/a3-a5 ; 4CDF3818 rts ; 4E75 */ unsigned char moveq100[] = { 0x29, 0x4d, 0x00, 0x04, 0x42, 0x94, 0x52, 0x6d, 0x00, 0x0a, 0x70, 0x64, 0xd0, 0x44, 0x5c, 0x4f, 0x4c, 0xdf, 0x38, 0x18, 0x4e, 0x75, }; /* A parts of Fread/Fdatime/Fseek/Fclose routines... (fh #100..#140) L2356: movem.l d3-d4/a2-a4,-(a7) ; 48E71838 move d0,d3 ; 3600 movea.l a0,a2 ; 2448 move.l d1,d4 ; 2801 cmp #100,d0 ; B07C0064 blt.s L2378 ; 6D06 cmp #140,d0 ; B07C008C blt.s L2392 ; 6D0E L2378: move.l d4,d1 ; 2204 movea.l a2,a0 ; 204A move d3,d0 ; 3003 jsr L173498 ; 4EB90002A5BA bra.s L2456 ; 6040 L2392: sub #100,d3 ; 967C0064 move d3,d0 ; 3003 lsl #3,d0 ; E748 lea U223702,a3 ; 47F9000369D6 adda d0,a3 ; D6C0 */ unsigned char cmp100140[] = { 0xb0, 0x7c, 0x00, 0x64, 0x6d, 0x06, 0xb0, 0x7c, 0x00, 0x8c, }; unsigned char sub100d3[] = { 0x96, 0x7c, 0x00, 0x64, 0x30, 0x03, }; FILE *fh; unsigned char patchBuffer[2]; int getByte( unsigned char *buff ) { return fread( (void*)buff, 1, 1, fh ) == -1 ? -1 : 1; } int findPart( unsigned char *buffer, size_t len ) { unsigned char charBuffer[2]; int idx = 0; int total = 0; while ( getByte( charBuffer ) > 0 ) { if ( idx >= len ) return 1; if ( *charBuffer != buffer[idx] ) idx = 0; else idx++; if ( total++ > 2000 ) return 0; } return 0; } int main() { char *result = NULL; fh = fopen ("PC.PRG", "rb+"); if ( !fh ) { result = "PC.PRG not found in current directory"; goto finalize; } if ( fseek( fh, 2000, SEEK_SET ) < 0 ) { result = "PC.PRG cannot seek to 2000 (too short file?)"; goto finalize; } if ( ! findPart( moveq100, sizeof( moveq100 ) / sizeof( *moveq100 ) ) ) { result = "findPart(moveq100) failed"; goto finalize; } *patchBuffer = 200; fseek( fh, -12, SEEK_CUR ); fwrite( patchBuffer, 1, 1, fh ); while ( 1 ) { if ( ! findPart( cmp100140, sizeof( cmp100140 ) / sizeof( *cmp100140 ) ) ) { result = "findPart(cmp100140) failed"; break; } *patchBuffer = 200; fseek( fh, -8, SEEK_CUR ); fwrite( patchBuffer, 1, 1, fh ); *patchBuffer = 240; fseek( fh, 5, SEEK_CUR ); fwrite( patchBuffer, 1, 1, fh ); if ( ! findPart( sub100d3, sizeof( sub100d3 ) / sizeof( *sub100d3 ) ) ) { result = "findPart(sub100d3) failed"; break; } *patchBuffer = 200; fseek( fh, -4, SEEK_CUR ); fwrite( patchBuffer, 1, 1, fh ); } finalize: fclose( fh ); if ( result == NULL ) { printf( "PureC was patched successfully.\n" ); } else { printf( "Error patching PureC: %s\n", result ); } puts("Press [Return] to quit."); getchar(); return 0; } aranym-1.0.2/atari/usbhost/000077500000000000000000000000001242022243000155575ustar00rootroot00000000000000aranym-1.0.2/atari/usbhost/usb.h000066400000000000000000000203651242022243000165270ustar00rootroot00000000000000/* * Modified for Aranym Native Features by David Gálvez 2010-2014 * Modified from u-boot sources for Atari by Didier Mequignon 2009 * * * (C) Copyright 2001 * Denis Peter, MPL AG Switzerland * * See file CREDITS for list of people who contributed to this * project. * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of * the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Note: Part of this code has been derived from linux * */ #ifndef _USB_H_ #define _USB_H_ #include "../../atari/usbhost/usb_defs.h" /* Everything is aribtrary */ #define USB_ALTSETTINGALLOC 4 #define USB_MAXALTSETTING 128 /* Hard limit */ #define USB_MAX_DEVICE 32 #define USB_MAXCONFIG 8 #define USB_MAXINTERFACES 8 #define USB_MAXENDPOINTS 16 #define USB_MAXCHILDREN 8 /* This is arbitrary */ #define USB_MAX_HUB 16 #define USB_CNTL_TIMEOUT 100 /* 100ms timeout */ /* String descriptor */ struct usb_string_descriptor { uint8 bLength; uint8 bDescriptorType; uint16 wData[1]; } __attribute__ ((packed)); /* device request (setup) */ struct devrequest { uint8 requesttype; uint8 request; uint16 value; uint16 index; uint16 length; } __attribute__ ((packed)); /* All standard descriptors have these 2 fields in common */ struct usb_descriptor_header { uint8 bLength; uint8 bDescriptorType; } __attribute__ ((packed)); /* Device descriptor */ struct usb_device_descriptor { uint8 bLength; uint8 bDescriptorType; uint16 bcdUSB; uint8 bDeviceClass; uint8 bDeviceSubClass; uint8 bDeviceProtocol; uint8 bMaxPacketSize0; uint16 idVendor; uint16 idProduct; uint16 bcdDevice; uint8 iManufacturer; uint8 iProduct; uint8 iSerialNumber; uint8 bNumConfigurations; } __attribute__ ((packed)); /* Endpoint descriptor */ struct usb_endpoint_descriptor { uint8 bLength; uint8 bDescriptorType; uint8 bEndpointAddress; uint8 bmAttributes; uint16 wMaxPacketSize; uint8 bInterval; uint8 bRefresh; uint8 bSynchAddress; } __attribute__ ((packed)) __attribute__ ((aligned(2))); /* Interface descriptor */ struct usb_interface_descriptor { uint8 bLength; uint8 bDescriptorType; uint8 bInterfaceNumber; uint8 bAlternateSetting; uint8 bNumEndpoints; uint8 bInterfaceClass; uint8 bInterfaceSubClass; uint8 bInterfaceProtocol; uint8 iInterface; uint8 no_of_ep; uint8 num_altsetting; uint8 act_altsetting; struct usb_endpoint_descriptor ep_desc[USB_MAXENDPOINTS]; } __attribute__ ((packed)); /* Configuration descriptor information.. */ struct usb_config_descriptor { uint8 bLength; uint8 bDescriptorType; uint16 wTotalLength; uint8 bNumInterfaces; uint8 bConfigurationValue; uint8 iConfiguration; uint8 bmAttributes; uint8 MaxPower; uint8 no_of_if; /* number of interfaces */ struct usb_interface_descriptor if_desc[USB_MAXINTERFACES]; } __attribute__ ((packed)); enum { /* Maximum packet size; encoded as 0,1,2,3 = 8,16,32,64 */ PACKET_SIZE_8 = 0, PACKET_SIZE_16 = 1, PACKET_SIZE_32 = 2, PACKET_SIZE_64 = 3, }; /* * Calling this entity a "pipe" is glorifying it. A USB pipe * is something embarrassingly simple: it basically consists * of the following information: * - device number (7 bits) * - endpoint number (4 bits) * - current Data0/1 state (1 bit) * - direction (1 bit) * - speed (2 bits) * - max packet size (2 bits: 8, 16, 32 or 64) * - pipe type (2 bits: control, interrupt, bulk, isochronous) * * That's 18 bits. Really. Nothing more. And the USB people have * documented these eighteen bits as some kind of glorious * virtual data structure. * * Let's not fall in that trap. We'll just encode it as a simple * unsigned int. The encoding is: * * - max size: bits 0-1 (00 = 8, 01 = 16, 10 = 32, 11 = 64) * - direction: bit 7 (0 = Host-to-Device [Out], * (1 = Device-to-Host [In]) * - device: bits 8-14 * - endpoint: bits 15-18 * - Data0/1: bit 19 * - speed: bit 26 (0 = Full, 1 = Low Speed, 2 = High) * - pipe type: bits 30-31 (00 = isochronous, 01 = interrupt, * 10 = control, 11 = bulk) * * Why? Because it's arbitrary, and whatever encoding we select is really * up to us. This one happens to share a lot of bit positions with the UHCI * specification, so that much of the uhci driver can just mask the bits * appropriately. */ /* Create various pipes... */ #define create_pipe(dev,endpoint) \ (((dev)->devnum << 8) | (endpoint << 15) | \ ((dev)->speed << 26) | (dev)->maxpacketsize) #define default_pipe(dev) ((dev)->speed << 26) #define usb_sndctrlpipe(dev, endpoint) ((PIPE_CONTROL << 30) | \ create_pipe(dev, endpoint)) #define usb_rcvctrlpipe(dev, endpoint) ((PIPE_CONTROL << 30) | \ create_pipe(dev, endpoint) | \ USB_DIR_IN) #define usb_sndisocpipe(dev, endpoint) ((PIPE_ISOCHRONOUS << 30) | \ create_pipe(dev, endpoint)) #define usb_rcvisocpipe(dev, endpoint) ((PIPE_ISOCHRONOUS << 30) | \ create_pipe(dev, endpoint) | \ USB_DIR_IN) #define usb_sndbulkpipe(dev, endpoint) ((PIPE_BULK << 30) | \ create_pipe(dev, endpoint)) #define usb_rcvbulkpipe(dev, endpoint) ((PIPE_BULK << 30) | \ create_pipe(dev, endpoint) | \ USB_DIR_IN) #define usb_sndintpipe(dev, endpoint) ((PIPE_INTERRUPT << 30) | \ create_pipe(dev, endpoint)) #define usb_rcvintpipe(dev, endpoint) ((PIPE_INTERRUPT << 30) | \ create_pipe(dev, endpoint) | \ USB_DIR_IN) #define usb_snddefctrl(dev) ((PIPE_CONTROL << 30) | \ default_pipe(dev)) #define usb_rcvdefctrl(dev) ((PIPE_CONTROL << 30) | \ default_pipe(dev) | \ USB_DIR_IN) /* The D0/D1 toggle bits */ #define usb_gettoggle(dev, ep, out) (((dev)->toggle[out] >> ep) & 1) #define usb_dotoggle(dev, ep, out) ((dev)->toggle[out] ^= (1 << ep)) #define usb_settoggle(dev, ep, out, bit) ((dev)->toggle[out] = \ ((dev)->toggle[out] & \ ~(1 << ep)) | ((bit) << ep)) /* Endpoint halt control/status */ #define usb_endpoint_out(ep_dir) (((ep_dir >> 7) & 1) ^ 1) #define usb_endpoint_halt(dev, ep, out) ((dev)->halted[out] |= (1 << (ep))) #define usb_endpoint_running(dev, ep, out) ((dev)->halted[out] &= ~(1 << (ep))) #define usb_endpoint_halted(dev, ep, out) ((dev)->halted[out] & (1 << (ep))) #define usb_packetid(pipe) (((pipe) & USB_DIR_IN) ? USB_PID_IN : \ USB_PID_OUT) #define usb_pipeout(pipe) ((((pipe) >> 7) & 1) ^ 1) #define usb_pipein(pipe) (((pipe) >> 7) & 1) #define usb_pipedevice(pipe) (((pipe) >> 8) & 0x7f) #define usb_pipe_endpdev(pipe) (((pipe) >> 8) & 0x7ff) #define usb_pipeendpoint(pipe) (((pipe) >> 15) & 0xf) #define usb_pipedata(pipe) (((pipe) >> 19) & 1) #define usb_pipespeed(pipe) (((pipe) >> 26) & 3) #define usb_pipeslow(pipe) (usb_pipespeed(pipe) == USB_SPEED_LOW) #define usb_pipetype(pipe) (((pipe) >> 30) & 3) #define usb_pipeisoc(pipe) (usb_pipetype((pipe)) == PIPE_ISOCHRONOUS) #define usb_pipeint(pipe) (usb_pipetype((pipe)) == PIPE_INTERRUPT) #define usb_pipecontrol(pipe) (usb_pipetype((pipe)) == PIPE_CONTROL) #define usb_pipebulk(pipe) (usb_pipetype((pipe)) == PIPE_BULK) /************************************************************************* * Hub Stuff */ struct usb_port_status { uint16 wPortStatus; uint16 wPortChange; } __attribute__ ((packed)); struct usb_hub_status { uint16 wHubStatus; uint16 wHubChange; } __attribute__ ((packed)); /* Hub descriptor */ struct usb_hub_descriptor { uint8 bLength; uint8 bDescriptorType; uint8 bNbrPorts; uint16 wHubCharacteristics; uint8 bPwrOn2PwrGood; uint8 bHubContrCurrent; uint8 DeviceRemovable[(USB_MAXCHILDREN+1+7)/8]; uint8 PortPowerCtrlMask[(USB_MAXCHILDREN+1+7)/8]; /* DeviceRemovable and PortPwrCtrlMask want to be variable-length bitmaps that hold max 255 entries. (bit0 is ignored) */ } __attribute__ ((packed)); struct usb_hub_device { struct usb_device *pusb_dev; struct usb_hub_descriptor desc; }; #endif /*_USB_H_ */ aranym-1.0.2/atari/usbhost/usb_defs.h000066400000000000000000000175151242022243000175330ustar00rootroot00000000000000/* * (C) Copyright 2001 * Denis Peter, MPL AG Switzerland * * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License as * published by the Free Software Foundation; either version 2 of * the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, * MA 02111-1307 USA * * Note: Part of this code has been derived from linux * */ #ifndef _USB_DEFS_H_ #define _USB_DEFS_H_ /* USB constants */ /* Device and/or Interface Class codes */ #define USB_CLASS_PER_INTERFACE 0 /* for DeviceClass */ #define USB_CLASS_AUDIO 1 #define USB_CLASS_COMM 2 #define USB_CLASS_HID 3 #define USB_CLASS_PRINTER 7 #define USB_CLASS_MASS_STORAGE 8 #define USB_CLASS_HUB 9 #define USB_CLASS_DATA 10 #define USB_CLASS_VENDOR_SPEC 0xff /* some HID sub classes */ #define USB_SUB_HID_NONE 0 #define USB_SUB_HID_BOOT 1 /* some UID Protocols */ #define USB_PROT_HID_NONE 0 #define USB_PROT_HID_KEYBOARD 1 #define USB_PROT_HID_MOUSE 2 /* Sub STORAGE Classes */ #define US_SC_RBC 1 /* Typically, flash devices */ #define US_SC_8020 2 /* CD-ROM */ #define US_SC_QIC 3 /* QIC-157 Tapes */ #define US_SC_UFI 4 /* Floppy */ #define US_SC_8070 5 /* Removable media */ #define US_SC_SCSI 6 /* Transparent */ #define US_SC_MIN US_SC_RBC #define US_SC_MAX US_SC_SCSI /* STORAGE Protocols */ #define US_PR_CB 1 /* Control/Bulk w/o interrupt */ #define US_PR_CBI 0 /* Control/Bulk/Interrupt */ #define US_PR_BULK 0x50 /* bulk only */ /* USB types */ #define USB_TYPE_STANDARD (0x00 << 5) #define USB_TYPE_CLASS (0x01 << 5) #define USB_TYPE_VENDOR (0x02 << 5) #define USB_TYPE_RESERVED (0x03 << 5) /* USB recipients */ #define USB_RECIP_DEVICE 0x00 #define USB_RECIP_INTERFACE 0x01 #define USB_RECIP_ENDPOINT 0x02 #define USB_RECIP_OTHER 0x03 /* USB directions */ #define USB_DIR_OUT 0 #define USB_DIR_IN 0x80 /* USB device speeds */ #define USB_SPEED_FULL 0x0 /* 12Mbps */ #define USB_SPEED_LOW 0x1 /* 1.5Mbps */ #define USB_SPEED_HIGH 0x2 /* 480Mbps */ #define USB_SPEED_RESERVED 0x3 /* Descriptor types */ #define USB_DT_DEVICE 0x01 #define USB_DT_CONFIG 0x02 #define USB_DT_STRING 0x03 #define USB_DT_INTERFACE 0x04 #define USB_DT_ENDPOINT 0x05 #define USB_DT_HID (USB_TYPE_CLASS | 0x01) #define USB_DT_REPORT (USB_TYPE_CLASS | 0x02) #define USB_DT_PHYSICAL (USB_TYPE_CLASS | 0x03) #define USB_DT_HUB (USB_TYPE_CLASS | 0x09) /* Descriptor sizes per descriptor type */ #define USB_DT_DEVICE_SIZE 18 #define USB_DT_CONFIG_SIZE 9 #define USB_DT_INTERFACE_SIZE 9 #define USB_DT_ENDPOINT_SIZE 7 #define USB_DT_ENDPOINT_AUDIO_SIZE 9 /* Audio extension */ #define USB_DT_HUB_NONVAR_SIZE 7 #define USB_DT_HID_SIZE 9 /* Endpoints */ #define USB_ENDPOINT_NUMBER_MASK 0x0f /* in bEndpointAddress */ #define USB_ENDPOINT_DIR_MASK 0x80 #define USB_ENDPOINT_XFERTYPE_MASK 0x03 /* in bmAttributes */ #define USB_ENDPOINT_XFER_CONTROL 0 #define USB_ENDPOINT_XFER_ISOC 1 #define USB_ENDPOINT_XFER_BULK 2 #define USB_ENDPOINT_XFER_INT 3 /* USB Packet IDs (PIDs) */ #define USB_PID_UNDEF_0 0xf0 #define USB_PID_OUT 0xe1 #define USB_PID_ACK 0xd2 #define USB_PID_DATA0 0xc3 #define USB_PID_UNDEF_4 0xb4 #define USB_PID_SOF 0xa5 #define USB_PID_UNDEF_6 0x96 #define USB_PID_UNDEF_7 0x87 #define USB_PID_UNDEF_8 0x78 #define USB_PID_IN 0x69 #define USB_PID_NAK 0x5a #define USB_PID_DATA1 0x4b #define USB_PID_PREAMBLE 0x3c #define USB_PID_SETUP 0x2d #define USB_PID_STALL 0x1e #define USB_PID_UNDEF_F 0x0f /* Standard requests */ #define USB_REQ_GET_STATUS 0x00 #define USB_REQ_CLEAR_FEATURE 0x01 #define USB_REQ_SET_FEATURE 0x03 #define USB_REQ_SET_ADDRESS 0x05 #define USB_REQ_GET_DESCRIPTOR 0x06 #define USB_REQ_SET_DESCRIPTOR 0x07 #define USB_REQ_GET_CONFIGURATION 0x08 #define USB_REQ_SET_CONFIGURATION 0x09 #define USB_REQ_GET_INTERFACE 0x0A #define USB_REQ_SET_INTERFACE 0x0B #define USB_REQ_SYNCH_FRAME 0x0C /* HID requests */ #define USB_REQ_GET_REPORT 0x01 #define USB_REQ_GET_IDLE 0x02 #define USB_REQ_GET_PROTOCOL 0x03 #define USB_REQ_SET_REPORT 0x09 #define USB_REQ_SET_IDLE 0x0A #define USB_REQ_SET_PROTOCOL 0x0B /* "pipe" definitions */ #define PIPE_ISOCHRONOUS 0 #define PIPE_INTERRUPT 1 #define PIPE_CONTROL 2 #define PIPE_BULK 3 #define PIPE_DEVEP_MASK 0x0007ff00 #define USB_ISOCHRONOUS 0 #define USB_INTERRUPT 1 #define USB_CONTROL 2 #define USB_BULK 3 /* USB-status codes: */ #define USB_ST_ACTIVE 0x1 /* TD is active */ #define USB_ST_STALLED 0x2 /* TD is stalled */ #define USB_ST_BUF_ERR 0x4 /* buffer error */ #define USB_ST_BABBLE_DET 0x8 /* Babble detected */ #define USB_ST_NAK_REC 0x10 /* NAK Received*/ #define USB_ST_CRC_ERR 0x20 /* CRC/timeout Error */ #define USB_ST_BIT_ERR 0x40 /* Bitstuff error */ #define USB_ST_NOT_PROC 0x80000000L /* Not yet processed */ /************************************************************************* * Hub defines */ /* * Hub request types */ #define USB_RT_HUB (USB_TYPE_CLASS | USB_RECIP_DEVICE) #define USB_RT_PORT (USB_TYPE_CLASS | USB_RECIP_OTHER) /* * Hub Class feature numbers */ #define C_HUB_LOCAL_POWER 0 #define C_HUB_OVER_CURRENT 1 /* * Port feature numbers */ #define USB_PORT_FEAT_CONNECTION 0 #define USB_PORT_FEAT_ENABLE 1 #define USB_PORT_FEAT_SUSPEND 2 #define USB_PORT_FEAT_OVER_CURRENT 3 #define USB_PORT_FEAT_RESET 4 #define USB_PORT_FEAT_POWER 8 #define USB_PORT_FEAT_LOWSPEED 9 #define USB_PORT_FEAT_HIGHSPEED 10 #define USB_PORT_FEAT_C_CONNECTION 16 #define USB_PORT_FEAT_C_ENABLE 17 #define USB_PORT_FEAT_C_SUSPEND 18 #define USB_PORT_FEAT_C_OVER_CURRENT 19 #define USB_PORT_FEAT_C_RESET 20 /* wPortStatus bits */ #define USB_PORT_STAT_CONNECTION 0x0001 #define USB_PORT_STAT_ENABLE 0x0002 #define USB_PORT_STAT_SUSPEND 0x0004 #define USB_PORT_STAT_OVERCURRENT 0x0008 #define USB_PORT_STAT_RESET 0x0010 #define USB_PORT_STAT_POWER 0x0100 #define USB_PORT_STAT_LOW_SPEED 0x0200 #define USB_PORT_STAT_HIGH_SPEED 0x0400 /* support for EHCI */ #define USB_PORT_STAT_SPEED \ (USB_PORT_STAT_LOW_SPEED | USB_PORT_STAT_HIGH_SPEED) /* wPortChange bits */ #define USB_PORT_STAT_C_CONNECTION 0x0001 #define USB_PORT_STAT_C_ENABLE 0x0002 #define USB_PORT_STAT_C_SUSPEND 0x0004 #define USB_PORT_STAT_C_OVERCURRENT 0x0008 #define USB_PORT_STAT_C_RESET 0x0010 /* wHubCharacteristics (masks) */ #define HUB_CHAR_LPSM 0x0003 #define HUB_CHAR_COMPOUND 0x0004 #define HUB_CHAR_OCPM 0x0018 /* *Hub Status & Hub Change bit masks */ #define HUB_STATUS_LOCAL_POWER 0x0001 #define HUB_STATUS_OVERCURRENT 0x0002 #define HUB_CHANGE_LOCAL_POWER 0x0001 #define HUB_CHANGE_OVERCURRENT 0x0002 #endif /*_USB_DEFS_H_ */ aranym-1.0.2/atari/usbhost/usbhost_nfapi.h000066400000000000000000000023771242022243000206050ustar00rootroot00000000000000/* NatFeat USB Host chip emulator ARAnyM (C) 2011-2014 David Gálvez This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef _USBHOST_NFAPI_H #define _USBHOST_NFAPI_H /* if you change anything in the enum {} below you have to increase this ARAUSBHOST_NFAPI_VERSION! */ #define USBHOST_NFAPI_VERSION 0x00000003 enum { GET_VERSION = 0, /* no parameters, return NFAPI_VERSION in d0 */ USBHOST_INTLEVEL, USBHOST_RH_PORT_STATUS, USBHOST_LOWLEVEL_INIT, USBHOST_LOWLEVEL_STOP, USBHOST_SUBMIT_CONTROL_MSG, USBHOST_SUBMIT_INT_MSG, USBHOST_SUBMIT_BULK_MSG }; #define USBHOST(a) (nfUsbHostID + a) #endif /* _USBHOST_NFAPI_H */ aranym-1.0.2/config.guess000077500000000000000000001276371242022243000153300ustar00rootroot00000000000000#! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 # Free Software Foundation, Inc. timestamp='2009-12-30' # This file is free software; you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU # General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA # 02110-1301, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Originally written by Per Bothner. Please send patches (context # diff format) to and include a ChangeLog # entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] Output the configuration name of the system \`$me' is run on. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.guess ($timestamp) Originally written by Per Bothner. Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" >&2 exit 1 ;; * ) break ;; esac done if test $# != 0; then echo "$me: too many arguments$help" >&2 exit 1 fi trap 'exit 1' 1 2 15 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a # compiler to aid in system detection is discouraged as it requires # temporary files to be created and, as you can see below, it is a # headache to deal with in a portable fashion. # Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still # use `HOST_CC' if defined, but it is deprecated. # Portable tmp directory creation inspired by the Autoconf team. set_cc_for_build=' trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ; trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ; : ${TMPDIR=/tmp} ; { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } || { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } || { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } || { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ; dummy=$tmp/dummy ; tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ; case $CC_FOR_BUILD,$HOST_CC,$CC in ,,) echo "int x;" > $dummy.c ; for c in cc gcc c89 c99 ; do if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then CC_FOR_BUILD="$c"; break ; fi ; done ; if test x"$CC_FOR_BUILD" = x ; then CC_FOR_BUILD=no_compiler_found ; fi ;; ,,*) CC_FOR_BUILD=$CC ;; ,*,*) CC_FOR_BUILD=$HOST_CC ;; esac ; set_cc_for_build= ;' # This is needed to find uname on a Pyramid OSx when run in the BSD universe. # (ghazi@noc.rutgers.edu 1994-08-24) if (test -f /.attbin/uname) >/dev/null 2>&1 ; then PATH=$PATH:/.attbin ; export PATH fi UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown # Note: order is significant - the case branches are not exclusive. case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in *:NetBSD:*:*) # NetBSD (nbsd) targets should (where applicable) match one or # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*, # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently # switched to ELF, *-*-netbsd* would select the old # object file format. This provides both forward # compatibility and a consistent mechanism for selecting the # object file format. # # Note: NetBSD doesn't particularly care about the vendor # portion of the name. We always set it to "unknown". sysctl="sysctl -n hw.machine_arch" UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \ /usr/sbin/$sysctl 2>/dev/null || echo unknown)` case "${UNAME_MACHINE_ARCH}" in armeb) machine=armeb-unknown ;; arm*) machine=arm-unknown ;; sh3el) machine=shl-unknown ;; sh3eb) machine=sh-unknown ;; sh5el) machine=sh5le-unknown ;; *) machine=${UNAME_MACHINE_ARCH}-unknown ;; esac # The Operating System including object format, if it has switched # to ELF recently, or will in the future. case "${UNAME_MACHINE_ARCH}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? os=netbsd else os=netbsdelf fi ;; *) os=netbsd ;; esac # The OS release # Debian GNU/NetBSD machines have a different userland, and # thus, need a distinct triplet. However, they do not need # kernel version information, so it can be replaced with a # suitable tag, in the style of linux-gnu. case "${UNAME_VERSION}" in Debian*) release='-gnu' ;; *) release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'` ;; esac # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM: # contains redundant information, the shorter form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used. echo "${machine}-${os}${release}" exit ;; *:OpenBSD:*:*) UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'` echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE} exit ;; *:ekkoBSD:*:*) echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE} exit ;; *:SolidBSD:*:*) echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE} exit ;; macppc:MirBSD:*:*) echo powerpc-unknown-mirbsd${UNAME_RELEASE} exit ;; *:MirBSD:*:*) echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE} exit ;; alpha:OSF1:*:*) case $UNAME_RELEASE in *4.0) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'` ;; *5.*) UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'` ;; esac # According to Compaq, /usr/sbin/psrinfo has been available on # OSF/1 and Tru64 systems produced since 1995. I hope that # covers most systems running today. This code pipes the CPU # types through head -n 1, so we only detect the type of CPU 0. ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1` case "$ALPHA_CPU_TYPE" in "EV4 (21064)") UNAME_MACHINE="alpha" ;; "EV4.5 (21064)") UNAME_MACHINE="alpha" ;; "LCA4 (21066/21068)") UNAME_MACHINE="alpha" ;; "EV5 (21164)") UNAME_MACHINE="alphaev5" ;; "EV5.6 (21164A)") UNAME_MACHINE="alphaev56" ;; "EV5.6 (21164PC)") UNAME_MACHINE="alphapca56" ;; "EV5.7 (21164PC)") UNAME_MACHINE="alphapca57" ;; "EV6 (21264)") UNAME_MACHINE="alphaev6" ;; "EV6.7 (21264A)") UNAME_MACHINE="alphaev67" ;; "EV6.8CB (21264C)") UNAME_MACHINE="alphaev68" ;; "EV6.8AL (21264B)") UNAME_MACHINE="alphaev68" ;; "EV6.8CX (21264D)") UNAME_MACHINE="alphaev68" ;; "EV6.9A (21264/EV69A)") UNAME_MACHINE="alphaev69" ;; "EV7 (21364)") UNAME_MACHINE="alphaev7" ;; "EV7.9 (21364A)") UNAME_MACHINE="alphaev79" ;; esac # A Pn.n version is a patched version. # A Vn.n version is a released version. # A Tn.n version is a released field test version. # A Xn.n version is an unreleased experimental baselevel. # 1.2 uses "1.2" for uname -r. echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` exit ;; Alpha\ *:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # Should we change UNAME_MACHINE based on the output of uname instead # of the specific Alpha model? echo alpha-pc-interix exit ;; 21064:Windows_NT:50:3) echo alpha-dec-winnt3.5 exit ;; Amiga*:UNIX_System_V:4.0:*) echo m68k-unknown-sysv4 exit ;; *:[Aa]miga[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-amigaos exit ;; *:[Mm]orph[Oo][Ss]:*:*) echo ${UNAME_MACHINE}-unknown-morphos exit ;; *:OS/390:*:*) echo i370-ibm-openedition exit ;; *:z/VM:*:*) echo s390-ibm-zvmoe exit ;; *:OS400:*:*) echo powerpc-ibm-os400 exit ;; arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*) echo arm-acorn-riscix${UNAME_RELEASE} exit ;; arm:riscos:*:*|arm:RISCOS:*:*) echo arm-unknown-riscos exit ;; SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*) echo hppa1.1-hitachi-hiuxmpp exit ;; Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*) # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE. if test "`(/bin/universe) 2>/dev/null`" = att ; then echo pyramid-pyramid-sysv3 else echo pyramid-pyramid-bsd fi exit ;; NILE*:*:*:dcosx) echo pyramid-pyramid-svr4 exit ;; DRS?6000:unix:4.0:6*) echo sparc-icl-nx6 exit ;; DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*) case `/usr/bin/uname -p` in sparc) echo sparc-icl-nx7; exit ;; esac ;; s390x:SunOS:*:*) echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4H:SunOS:5.*:*) echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) echo i386-pc-auroraux${UNAME_RELEASE} exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build SUN_ARCH="i386" # If there is a compiler, see if it is configured for 64-bit objects. # Note that the Sun cc does not turn __LP64__ into 1 like gcc does. # This test works for both compilers. if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then SUN_ARCH="x86_64" fi fi echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:6*:*) # According to config.sub, this is the proper way to canonicalize # SunOS6. Hard to guess exactly what SunOS6 will be like, but # it's likely to be more like Solaris than SunOS4. echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; sun4*:SunOS:*:*) case "`/usr/bin/arch -k`" in Series*|S4*) UNAME_RELEASE=`uname -v` ;; esac # Japanese Language versions have a version number like `4.1.3-JL'. echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'` exit ;; sun3*:SunOS:*:*) echo m68k-sun-sunos${UNAME_RELEASE} exit ;; sun*:*:4.2BSD:*) UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null` test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3 case "`/bin/arch`" in sun3) echo m68k-sun-sunos${UNAME_RELEASE} ;; sun4) echo sparc-sun-sunos${UNAME_RELEASE} ;; esac exit ;; aushp:SunOS:*:*) echo sparc-auspex-sunos${UNAME_RELEASE} exit ;; # The situation for MiNT is a little confusing. The machine name # can be virtually everything (everything which is not # "atarist" or "atariste" at least should have a processor # > m68000). The system name ranges from "MiNT" over "FreeMiNT" # to the lowercase version "mint" (or "freemint"). Finally # the system name "TOS" denotes a system which is actually not # MiNT. But MiNT is downward compatible to TOS, so this should # be no problem. atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*) echo m68k-atari-mint${UNAME_RELEASE} exit ;; milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*) echo m68k-milan-mint${UNAME_RELEASE} exit ;; hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*) echo m68k-hades-mint${UNAME_RELEASE} exit ;; *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*) echo m68k-unknown-mint${UNAME_RELEASE} exit ;; m68k:machten:*:*) echo m68k-apple-machten${UNAME_RELEASE} exit ;; powerpc:machten:*:*) echo powerpc-apple-machten${UNAME_RELEASE} exit ;; RISC*:Mach:*:*) echo mips-dec-mach_bsd4.3 exit ;; RISC*:ULTRIX:*:*) echo mips-dec-ultrix${UNAME_RELEASE} exit ;; VAX*:ULTRIX*:*:*) echo vax-dec-ultrix${UNAME_RELEASE} exit ;; 2020:CLIX:*:* | 2430:CLIX:*:*) echo clipper-intergraph-clix${UNAME_RELEASE} exit ;; mips:*:*:UMIPS | mips:*:*:RISCos) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __cplusplus #include /* for printf() prototype */ int main (int argc, char *argv[]) { #else int main (argc, argv) int argc; char *argv[]; { #endif #if defined (host_mips) && defined (MIPSEB) #if defined (SYSTYPE_SYSV) printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_SVR4) printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0); #endif #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD) printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0); #endif #endif exit (-1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` && SYSTEM_NAME=`$dummy $dummyarg` && { echo "$SYSTEM_NAME"; exit; } echo mips-mips-riscos${UNAME_RELEASE} exit ;; Motorola:PowerMAX_OS:*:*) echo powerpc-motorola-powermax exit ;; Motorola:*:4.3:PL8-*) echo powerpc-harris-powermax exit ;; Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*) echo powerpc-harris-powermax exit ;; Night_Hawk:Power_UNIX:*:*) echo powerpc-harris-powerunix exit ;; m88k:CX/UX:7*:*) echo m88k-harris-cxux7 exit ;; m88k:*:4*:R4*) echo m88k-motorola-sysv4 exit ;; m88k:*:3*:R3*) echo m88k-motorola-sysv3 exit ;; AViiON:dgux:*:*) # DG/UX returns AViiON for all architectures UNAME_PROCESSOR=`/usr/bin/uname -p` if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ] then if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \ [ ${TARGET_BINARY_INTERFACE}x = x ] then echo m88k-dg-dgux${UNAME_RELEASE} else echo m88k-dg-dguxbcs${UNAME_RELEASE} fi else echo i586-dg-dgux${UNAME_RELEASE} fi exit ;; M88*:DolphinOS:*:*) # DolphinOS (SVR3) echo m88k-dolphin-sysv3 exit ;; M88*:*:R3*:*) # Delta 88k system running SVR3 echo m88k-motorola-sysv3 exit ;; XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3) echo m88k-tektronix-sysv3 exit ;; Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD) echo m68k-tektronix-bsd exit ;; *:IRIX*:*:*) echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'` exit ;; ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX. echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id exit ;; # Note that: echo "'`uname -s`'" gives 'AIX ' i*86:AIX:*:*) echo i386-ibm-aix exit ;; ia64:AIX:*:*) if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${UNAME_MACHINE}-ibm-aix${IBM_REV} exit ;; *:AIX:2:3) if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include main() { if (!__power_pc()) exit(1); puts("powerpc-ibm-aix3.2.5"); exit(0); } EOF if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` then echo "$SYSTEM_NAME" else echo rs6000-ibm-aix3.2.5 fi elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then echo rs6000-ibm-aix3.2.4 else echo rs6000-ibm-aix3.2 fi exit ;; *:AIX:*:[456]) IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'` if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then IBM_ARCH=rs6000 else IBM_ARCH=powerpc fi if [ -x /usr/bin/oslevel ] ; then IBM_REV=`/usr/bin/oslevel` else IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE} fi echo ${IBM_ARCH}-ibm-aix${IBM_REV} exit ;; *:AIX:*:*) echo rs6000-ibm-aix exit ;; ibmrt:4.4BSD:*|romp-ibm:BSD:*) echo romp-ibm-bsd4.4 exit ;; ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to exit ;; # report: romp-ibm BSD 4.3 *:BOSX:*:*) echo rs6000-bull-bosx exit ;; DPX/2?00:B.O.S.:*:*) echo m68k-bull-sysv3 exit ;; 9000/[34]??:4.3bsd:1.*:*) echo m68k-hp-bsd exit ;; hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*) echo m68k-hp-bsd4.4 exit ;; 9000/[34678]??:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` case "${UNAME_MACHINE}" in 9000/31? ) HP_ARCH=m68000 ;; 9000/[34]?? ) HP_ARCH=m68k ;; 9000/[678][0-9][0-9]) if [ -x /usr/bin/getconf ]; then sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null` sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null` case "${sc_cpu_version}" in 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1 532) # CPU_PA_RISC2_0 case "${sc_kernel_bits}" in 32) HP_ARCH="hppa2.0n" ;; 64) HP_ARCH="hppa2.0w" ;; '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20 esac ;; esac fi if [ "${HP_ARCH}" = "" ]; then eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #define _HPUX_SOURCE #include #include int main () { #if defined(_SC_KERNEL_BITS) long bits = sysconf(_SC_KERNEL_BITS); #endif long cpu = sysconf (_SC_CPU_VERSION); switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0"); break; case CPU_PA_RISC1_1: puts ("hppa1.1"); break; case CPU_PA_RISC2_0: #if defined(_SC_KERNEL_BITS) switch (bits) { case 64: puts ("hppa2.0w"); break; case 32: puts ("hppa2.0n"); break; default: puts ("hppa2.0"); break; } break; #else /* !defined(_SC_KERNEL_BITS) */ puts ("hppa2.0"); break; #endif default: puts ("hppa1.0"); break; } exit (0); } EOF (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy` test -z "$HP_ARCH" && HP_ARCH=hppa fi ;; esac if [ ${HP_ARCH} = "hppa2.0w" ] then eval $set_cc_for_build # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler # generating 64-bit code. GNU and HP use different nomenclature: # # $ CC_FOR_BUILD=cc ./config.guess # => hppa2.0w-hp-hpux11.23 # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | grep -q __LP64__ then HP_ARCH="hppa2.0w" else HP_ARCH="hppa64" fi fi echo ${HP_ARCH}-hp-hpux${HPUX_REV} exit ;; ia64:HP-UX:*:*) HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'` echo ia64-hp-hpux${HPUX_REV} exit ;; 3050*:HI-UX:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #include int main () { long cpu = sysconf (_SC_CPU_VERSION); /* The order matters, because CPU_IS_HP_MC68K erroneously returns true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct results, however. */ if (CPU_IS_PA_RISC (cpu)) { switch (cpu) { case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break; case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break; case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break; default: puts ("hppa-hitachi-hiuxwe2"); break; } } else if (CPU_IS_HP_MC68K (cpu)) puts ("m68k-hitachi-hiuxwe2"); else puts ("unknown-hitachi-hiuxwe2"); exit (0); } EOF $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } echo unknown-hitachi-hiuxwe2 exit ;; 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* ) echo hppa1.1-hp-bsd exit ;; 9000/8??:4.3bsd:*:*) echo hppa1.0-hp-bsd exit ;; *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*) echo hppa1.0-hp-mpeix exit ;; hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* ) echo hppa1.1-hp-osf exit ;; hp8??:OSF1:*:*) echo hppa1.0-hp-osf exit ;; i*86:OSF1:*:*) if [ -x /usr/sbin/sysversion ] ; then echo ${UNAME_MACHINE}-unknown-osf1mk else echo ${UNAME_MACHINE}-unknown-osf1 fi exit ;; parisc*:Lites*:*:*) echo hppa1.1-hp-lites exit ;; C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*) echo c1-convex-bsd exit ;; C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*) echo c34-convex-bsd exit ;; C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*) echo c38-convex-bsd exit ;; C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*) echo c4-convex-bsd exit ;; CRAY*Y-MP:*:*:*) echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*[A-Z]90:*:*:*) echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \ -e 's/\.[^.]*$/.X/' exit ;; CRAY*TS:*:*:*) echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*T3E:*:*:*) echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; CRAY*SV1:*:*:*) echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; *:UNICOS/mp:*:*) echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/' exit ;; F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*) FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'` FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'` echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; 5000:UNIX_System_V:4.*:*) FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'` FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'` echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}" exit ;; i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*) echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE} exit ;; sparc*:BSD/OS:*:*) echo sparc-unknown-bsdi${UNAME_RELEASE} exit ;; *:BSD/OS:*:*) echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE} exit ;; *:FreeBSD:*:*) case ${UNAME_MACHINE} in pc98) echo i386-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; amd64) echo x86_64-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; *) echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` ;; esac exit ;; i*:CYGWIN*:*) echo ${UNAME_MACHINE}-pc-cygwin exit ;; *:MINGW*:*) echo ${UNAME_MACHINE}-pc-mingw32 exit ;; i*:windows32*:*) # uname -m includes "-pc" on this system. echo ${UNAME_MACHINE}-mingw32 exit ;; i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; *:Interix*:*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) echo ia64-unknown-interix${UNAME_RELEASE} exit ;; esac ;; [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; 8664:Windows_NT:*) echo x86_64-pc-mks exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we # UNAME_MACHINE based on the output of uname instead of i386? echo i586-pc-interix exit ;; i*:UWIN*:*) echo ${UNAME_MACHINE}-pc-uwin exit ;; amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*) echo x86_64-unknown-cygwin exit ;; p*:CYGWIN*:*) echo powerpcle-unknown-cygwin exit ;; prep*:SunOS:5.*:*) echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; *:GNU:*:*) # the GNU system echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'` exit ;; *:GNU/*:*:*) # other systems with GNU libc and userland echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu exit ;; i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; alpha:Linux:*:*) case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in EV5) UNAME_MACHINE=alphaev5 ;; EV56) UNAME_MACHINE=alphaev56 ;; PCA56) UNAME_MACHINE=alphapca56 ;; PCA57) UNAME_MACHINE=alphapca56 ;; EV6) UNAME_MACHINE=alphaev6 ;; EV67) UNAME_MACHINE=alphaev67 ;; EV68*) UNAME_MACHINE=alphaev68 ;; esac objdump --private-headers /bin/sh | grep -q ld.so.1 if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ | grep -q __ARM_EABI__ then echo ${UNAME_MACHINE}-unknown-linux-gnu else echo ${UNAME_MACHINE}-unknown-linux-gnueabi fi exit ;; avr32*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; cris:Linux:*:*) echo cris-axis-linux-gnu exit ;; crisv32:Linux:*:*) echo crisv32-axis-linux-gnu exit ;; frv:Linux:*:*) echo frv-unknown-linux-gnu exit ;; i*86:Linux:*:*) LIBC=gnu eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #ifdef __dietlibc__ LIBC=dietlibc #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` echo "${UNAME_MACHINE}-pc-linux-${LIBC}" exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m32r*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU #undef ${UNAME_MACHINE} #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) CPU=${UNAME_MACHINE} #else CPU= #endif #endif EOF eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo or32-unknown-linux-gnu exit ;; padre:Linux:*:*) echo sparc-unknown-linux-gnu exit ;; parisc64:Linux:*:* | hppa64:Linux:*:*) echo hppa64-unknown-linux-gnu exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in PA7*) echo hppa1.1-unknown-linux-gnu ;; PA8*) echo hppa2.0-unknown-linux-gnu ;; *) echo hppa-unknown-linux-gnu ;; esac exit ;; ppc64:Linux:*:*) echo powerpc64-unknown-linux-gnu exit ;; ppc:Linux:*:*) echo powerpc-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux exit ;; sh64*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sh*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; sparc:Linux:*:* | sparc64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; vax:Linux:*:*) echo ${UNAME_MACHINE}-dec-linux-gnu exit ;; x86_64:Linux:*:*) echo x86_64-unknown-linux-gnu exit ;; xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both # sysname and nodename. echo i386-sequent-sysv4 exit ;; i*86:UNIX_SV:4.2MP:2.*) # Unixware is an offshoot of SVR4, but it has its own version # number series starting with 2... # I am not positive that other SVR4 systems won't match this, # I just have to hope. -- rms. # Use sysv4.2uw... so that sysv4* matches it. echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION} exit ;; i*86:OS/2:*:*) # If we were able to find `uname', then EMX Unix compatibility # is probably installed. echo ${UNAME_MACHINE}-pc-os2-emx exit ;; i*86:XTS-300:*:STOP) echo ${UNAME_MACHINE}-unknown-stop exit ;; i*86:atheos:*:*) echo ${UNAME_MACHINE}-unknown-atheos exit ;; i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) echo ${UNAME_MACHINE}-pc-msdosdjgpp exit ;; i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*) UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'` if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL} else echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL} fi exit ;; i*86:*:5:[678]*) # UnixWare 7.x, OpenUNIX and OpenServer 6. case `/bin/uname -X | grep "^Machine"` in *486*) UNAME_MACHINE=i486 ;; *Pentium) UNAME_MACHINE=i586 ;; *Pent*|*Celeron) UNAME_MACHINE=i686 ;; esac echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION} exit ;; i*86:*:3.2:*) if test -f /usr/options/cb.name; then UNAME_REL=`sed -n 's/.*Version //p' /dev/null >/dev/null ; then UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')` (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486 (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \ && UNAME_MACHINE=i586 (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \ && UNAME_MACHINE=i686 (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \ && UNAME_MACHINE=i686 echo ${UNAME_MACHINE}-pc-sco$UNAME_REL else echo ${UNAME_MACHINE}-pc-sysv32 fi exit ;; pc:*:*:*) # Left here for compatibility: # uname -m prints for DJGPP always 'pc', but it prints nothing about # the processor, so we play safe by assuming i586. # Note: whatever this is, it MUST be the same as what config.sub # prints for the "djgpp" host, or else GDB configury will decide that # this is a cross-build. echo i586-pc-msdosdjgpp exit ;; Intel:Mach:3*:*) echo i386-pc-mach3 exit ;; paragon:*:*:*) echo i860-intel-osf1 exit ;; i860:*:4.*:*) # i860-SVR4 if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4 else # Add other i860-SVR4 vendors below as they are discovered. echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4 fi exit ;; mini*:CTIX:SYS*5:*) # "miniframe" echo m68010-convergent-sysv exit ;; mc68k:UNIX:SYSTEM5:3.51m) echo m68k-convergent-sysv exit ;; M680?0:D-NIX:5.3:*) echo m68k-diab-dnix exit ;; M68*:*:R3V[5678]*:*) test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;; 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0) OS_REL='' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*) /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4; exit; } ;; NCR*:*:4.2:* | MPRAS*:*:4.2:*) OS_REL='.3' test -r /etc/.relid \ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid` /bin/uname -p 2>/dev/null | grep 86 >/dev/null \ && { echo i486-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;; m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*) echo m68k-unknown-lynxos${UNAME_RELEASE} exit ;; mc68030:UNIX_System_V:4.*:*) echo m68k-atari-sysv4 exit ;; TSUNAMI:LynxOS:2.*:*) echo sparc-unknown-lynxos${UNAME_RELEASE} exit ;; rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) echo mips-dde-sysv${UNAME_RELEASE} exit ;; RM*:ReliantUNIX-*:*:*) echo mips-sni-sysv4 exit ;; RM*:SINIX-*:*:*) echo mips-sni-sysv4 exit ;; *:SINIX-*:*:*) if uname -p 2>/dev/null >/dev/null ; then UNAME_MACHINE=`(uname -p) 2>/dev/null` echo ${UNAME_MACHINE}-sni-sysv4 else echo ns32k-sni-sysv fi exit ;; PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort # says echo i586-unisys-sysv4 exit ;; *:UNIX_System_V:4*:FTX*) # From Gerald Hewes . # How about differentiating between stratus architectures? -djm echo hppa1.1-stratus-sysv4 exit ;; *:*:*:FTX*) # From seanf@swdc.stratus.com. echo i860-stratus-sysv4 exit ;; i*86:VOS:*:*) # From Paul.Green@stratus.com. echo ${UNAME_MACHINE}-stratus-vos exit ;; *:VOS:*:*) # From Paul.Green@stratus.com. echo hppa1.1-stratus-vos exit ;; mc68*:A/UX:*:*) echo m68k-apple-aux${UNAME_RELEASE} exit ;; news*:NEWS-OS:6*:*) echo mips-sony-newsos6 exit ;; R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*) if [ -d /usr/nec ]; then echo mips-nec-sysv${UNAME_RELEASE} else echo mips-unknown-sysv${UNAME_RELEASE} fi exit ;; BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only. echo powerpc-be-beos exit ;; BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only. echo powerpc-apple-beos exit ;; BePC:BeOS:*:*) # BeOS running on Intel PC compatible. echo i586-pc-beos exit ;; BePC:Haiku:*:*) # Haiku running on Intel PC compatible. echo i586-pc-haiku exit ;; SX-4:SUPER-UX:*:*) echo sx4-nec-superux${UNAME_RELEASE} exit ;; SX-5:SUPER-UX:*:*) echo sx5-nec-superux${UNAME_RELEASE} exit ;; SX-6:SUPER-UX:*:*) echo sx6-nec-superux${UNAME_RELEASE} exit ;; SX-7:SUPER-UX:*:*) echo sx7-nec-superux${UNAME_RELEASE} exit ;; SX-8:SUPER-UX:*:*) echo sx8-nec-superux${UNAME_RELEASE} exit ;; SX-8R:SUPER-UX:*:*) echo sx8r-nec-superux${UNAME_RELEASE} exit ;; Power*:Rhapsody:*:*) echo powerpc-apple-rhapsody${UNAME_RELEASE} exit ;; *:Rhapsody:*:*) echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE} exit ;; *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in i386) eval $set_cc_for_build if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ grep IS_64BIT_ARCH >/dev/null then UNAME_PROCESSOR="x86_64" fi fi ;; unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} exit ;; *:procnto*:*:* | *:QNX:[0123456789]*:*) UNAME_PROCESSOR=`uname -p` if test "$UNAME_PROCESSOR" = "x86"; then UNAME_PROCESSOR=i386 UNAME_MACHINE=pc fi echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE} exit ;; *:QNX:*:4*) echo i386-pc-qnx exit ;; NSE-?:NONSTOP_KERNEL:*:*) echo nse-tandem-nsk${UNAME_RELEASE} exit ;; NSR-?:NONSTOP_KERNEL:*:*) echo nsr-tandem-nsk${UNAME_RELEASE} exit ;; *:NonStop-UX:*:*) echo mips-compaq-nonstopux exit ;; BS2000:POSIX*:*:*) echo bs2000-siemens-sysv exit ;; DS/*:UNIX_System_V:*:*) echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE} exit ;; *:Plan9:*:*) # "uname -m" is not consistent, so use $cputype instead. 386 # is converted to i386 for consistency with other x86 # operating systems. if test "$cputype" = "386"; then UNAME_MACHINE=i386 else UNAME_MACHINE="$cputype" fi echo ${UNAME_MACHINE}-unknown-plan9 exit ;; *:TOPS-10:*:*) echo pdp10-unknown-tops10 exit ;; *:TENEX:*:*) echo pdp10-unknown-tenex exit ;; KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*) echo pdp10-dec-tops20 exit ;; XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*) echo pdp10-xkl-tops20 exit ;; *:TOPS-20:*:*) echo pdp10-unknown-tops20 exit ;; *:ITS:*:*) echo pdp10-unknown-its exit ;; SEI:*:*:SEIUX) echo mips-sei-seiux${UNAME_RELEASE} exit ;; *:DragonFly:*:*) echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'` exit ;; *:*VMS:*:*) UNAME_MACHINE=`(uname -p) 2>/dev/null` case "${UNAME_MACHINE}" in A*) echo alpha-dec-vms ; exit ;; I*) echo ia64-dec-vms ; exit ;; V*) echo vax-dec-vms ; exit ;; esac ;; *:XENIX:*:SysV) echo i386-pc-xenix exit ;; i*86:skyos:*:*) echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE}` | sed -e 's/ .*$//' exit ;; i*86:rdos:*:*) echo ${UNAME_MACHINE}-pc-rdos exit ;; i*86:AROS:*:*) echo ${UNAME_MACHINE}-pc-aros exit ;; esac #echo '(No uname command or uname output not recognized.)' 1>&2 #echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2 eval $set_cc_for_build cat >$dummy.c < # include #endif main () { #if defined (sony) #if defined (MIPSEB) /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed, I don't know.... */ printf ("mips-sony-bsd\n"); exit (0); #else #include printf ("m68k-sony-newsos%s\n", #ifdef NEWSOS4 "4" #else "" #endif ); exit (0); #endif #endif #if defined (__arm) && defined (__acorn) && defined (__unix) printf ("arm-acorn-riscix\n"); exit (0); #endif #if defined (hp300) && !defined (hpux) printf ("m68k-hp-bsd\n"); exit (0); #endif #if defined (NeXT) #if !defined (__ARCHITECTURE__) #define __ARCHITECTURE__ "m68k" #endif int version; version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`; if (version < 4) printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version); else printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version); exit (0); #endif #if defined (MULTIMAX) || defined (n16) #if defined (UMAXV) printf ("ns32k-encore-sysv\n"); exit (0); #else #if defined (CMU) printf ("ns32k-encore-mach\n"); exit (0); #else printf ("ns32k-encore-bsd\n"); exit (0); #endif #endif #endif #if defined (__386BSD__) printf ("i386-pc-bsd\n"); exit (0); #endif #if defined (sequent) #if defined (i386) printf ("i386-sequent-dynix\n"); exit (0); #endif #if defined (ns32000) printf ("ns32k-sequent-dynix\n"); exit (0); #endif #endif #if defined (_SEQUENT_) struct utsname un; uname(&un); if (strncmp(un.version, "V2", 2) == 0) { printf ("i386-sequent-ptx2\n"); exit (0); } if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */ printf ("i386-sequent-ptx1\n"); exit (0); } printf ("i386-sequent-ptx\n"); exit (0); #endif #if defined (vax) # if !defined (ultrix) # include # if defined (BSD) # if BSD == 43 printf ("vax-dec-bsd4.3\n"); exit (0); # else # if BSD == 199006 printf ("vax-dec-bsd4.3reno\n"); exit (0); # else printf ("vax-dec-bsd\n"); exit (0); # endif # endif # else printf ("vax-dec-bsd\n"); exit (0); # endif # else printf ("vax-dec-ultrix\n"); exit (0); # endif #endif #if defined (alliant) && defined (i860) printf ("i860-alliant-bsd\n"); exit (0); #endif exit (1); } EOF $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && SYSTEM_NAME=`$dummy` && { echo "$SYSTEM_NAME"; exit; } # Apollos put the system type in the environment. test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit; } # Convex versions that predate uname can use getsysinfo(1) if [ -x /usr/convex/getsysinfo ] then case `getsysinfo -f cpu_type` in c1*) echo c1-convex-bsd exit ;; c2*) if getsysinfo -f scalar_acc then echo c32-convex-bsd else echo c2-convex-bsd fi exit ;; c34*) echo c34-convex-bsd exit ;; c38*) echo c38-convex-bsd exit ;; c4*) echo c4-convex-bsd exit ;; esac fi cat >&2 < in order to provide the needed information to handle your system. config.guess timestamp = $timestamp uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null` /bin/uname -X = `(/bin/uname -X) 2>/dev/null` hostinfo = `(hostinfo) 2>/dev/null` /bin/universe = `(/bin/universe) 2>/dev/null` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null` /bin/arch = `(/bin/arch) 2>/dev/null` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null` UNAME_MACHINE = ${UNAME_MACHINE} UNAME_RELEASE = ${UNAME_RELEASE} UNAME_SYSTEM = ${UNAME_SYSTEM} UNAME_VERSION = ${UNAME_VERSION} EOF exit 1 # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: aranym-1.0.2/config.h.in000066400000000000000000000451601242022243000150210ustar00rootroot00000000000000/* config.h.in. Generated from configure.ac by autoheader. */ #ifndef __ARANYM_CONFIG_H__ #define __ARANYM_CONFIG_H__ /* Define if building universal (internal helper macro) */ #undef AC_APPLE_UNIVERSAL_BUILD /* Define if you want to try out a different memory check */ #undef ARAM_PAGE_CHECK /* Default ARAnyM config file */ #undef ARANYMCONFIG /* Default ARAnyM directory */ #undef ARANYMHOME /* Default ARAnyM keymap */ #undef ARANYMKEYMAP /* Default ARAnyM NVRAM file */ #undef ARANYMNVRAM /* Define if you want accelerated blitter output */ #undef BLITTER_MEMMOVE /* Define if you want even more accelerated blitter output */ #undef BLITTER_SDLBLIT /* Define CPU type */ #undef CPU_TYPE /* Define if using some internal debugger */ #undef DEBUGGER /* Default directory separator */ #undef DIRSEPARATOR /* Define if not using full ATC */ #undef DISABLE_ATC /* Define if using the builtin disassembler */ #undef DISASM_USE_BUILTIN /* Define if using the opcodes library for disassembly */ #undef DISASM_USE_OPCODES /* Define if DSP disassembly */ #undef DSP_DISASM /* Define if using DSP */ #undef DSP_EMULATION /* Define if your system supports BPF devices. */ #undef ENABLE_BPF /* Define if you want to use EPS limiter */ #undef ENABLE_EPSLIMITER /* Define if lilo enabled */ #undef ENABLE_LILO /* Define if you want to use Linux /dev/sequencer support */ #undef ENABLE_MIDI_SEQUENCER /* Define if OpenGL enabled */ #undef ENABLE_OPENGL /* Define if you want to use Linux /dev/parport access for parallel port */ #undef ENABLE_PARALLELPARPORT /* Define if you want to use Linux/X86 hardware access for parallel port */ #undef ENABLE_PARALLELX86 /* Define if you want real STOP instruction implementation */ #undef ENABLE_REALSTOP /* Define if you want to use /dev/ttyXXX access for serial port */ #undef ENABLE_SERIALUNIX /* Define if you want to use ethernet card emulation */ #undef ETHERNET_SUPPORT /* Define if you want to use setjmp/longjmp instead of C++ exceptions */ #undef EXCEPTIONS_VIA_LONGJMP /* Define if you want to use extended segfault handler */ #undef EXTENDED_SIGSEGV /* Define if you want fixed position of VideoRAM */ #undef FIXED_VIDEORAM /* Define if you want to use CPU flight recorder */ #undef FLIGHT_RECORDER /* Define if using full MMU */ #undef FULLMMU /* Define if you want to use full history */ #undef FULL_HISTORY /* Define if you want FastRAM of fixed size */ #undef FixedSizeFastRAM /* Define to 1 if you have the `acoshl' function. */ #undef HAVE_ACOSHL /* Define to 1 if you have the `acosl' function. */ #undef HAVE_ACOSL /* Define to 1 if you have the header file. */ #undef HAVE_ALLOCA_H /* Define to 1 if you have the `asinhl' function. */ #undef HAVE_ASINHL /* Define to 1 if you have the `asinl' function. */ #undef HAVE_ASINL /* Define to 1 if you have the `atanh' function. */ #undef HAVE_ATANH /* Define to 1 if you have the `atanhl' function. */ #undef HAVE_ATANHL /* Define to 1 if you have the `atanl' function. */ #undef HAVE_ATANL /* Define to 1 if you have the `bcopy' function. */ #undef HAVE_BCOPY /* Define to 1 if you have the header file. */ #undef HAVE_BFD_H /* define if bool is a built-in type */ #undef HAVE_BOOL /* Define to 1 if the system has the type `caddr_t'. */ #undef HAVE_CADDR_T /* Define to 1 if you have the `canonicalize_file_name' function. */ #undef HAVE_CANONICALIZE_FILE_NAME /* Define to 1 if you have the `ceill' function. */ #undef HAVE_CEILL /* Define to 1 if you have the `coshl' function. */ #undef HAVE_COSHL /* Define to 1 if you have the `cosl' function. */ #undef HAVE_COSL /* Define to 1 if you have the header file, and it defines `DIR'. */ #undef HAVE_DIRENT_H /* Define to 1 if you have the header file. */ #undef HAVE_DIS_ASM_H /* Define to 1 if you have the `expl' function. */ #undef HAVE_EXPL /* Define to 1 if you have the header file. */ #undef HAVE_EXT2FS_EXT2_FS_H /* Define to 1 if you have the `fabsl' function. */ #undef HAVE_FABSL /* Define to 1 if you have the header file. */ #undef HAVE_FCNTL_H /* Define to 1 if you have the `finite' function. */ #undef HAVE_FINITE /* Define to 1 if you have the header file. */ #undef HAVE_FLOATINGPOINT_H /* Define to 1 if you have the `floorl' function. */ #undef HAVE_FLOORL /* Define if framework AppKit is available. */ #undef HAVE_FRAMEWORK_APPKIT /* Define if framework CoreFoundation is available. */ #undef HAVE_FRAMEWORK_COREFOUNDATION /* Define if framework IOKit is available. */ #undef HAVE_FRAMEWORK_IOKIT /* Define if framework SDL is available. */ #undef HAVE_FRAMEWORK_SDL /* Define if framework SDL2 is available. */ #undef HAVE_FRAMEWORK_SDL2 /* Define if framework SDL2_image is available. */ #undef HAVE_FRAMEWORK_SDL2_IMAGE /* Define if framework SDL_image is available. */ #undef HAVE_FRAMEWORK_SDL_IMAGE /* Define if framework Security is available. */ #undef HAVE_FRAMEWORK_SECURITY /* Define to 1 if you have the `fseeko' function. */ #undef HAVE_FSEEKO /* Define to 1 if you have the `fsync' function. */ #undef HAVE_FSYNC /* Define to 1 if you have the `futimens' function. */ #undef HAVE_FUTIMENS /* Define to 1 if you have the header file. */ #undef HAVE_GETOPT_H /* Define to 1 if you have the `gettimeofday' function. */ #undef HAVE_GETTIMEOFDAY /* Define if your system support GNU SOURCEs (vasprintf function) */ #undef HAVE_GNU_SOURCE /* Define to 1 if you have the header file. */ #undef HAVE_IEEE754_H /* Define to 1 if you have the header file. */ #undef HAVE_IEEEFP_H /* Define to 1 if you have the header file. */ #undef HAVE_INTTYPES_H /* Define to 1 if you have the `isinf' function. */ #undef HAVE_ISINF /* Define to 1 if you have the `isinfl' function. */ #undef HAVE_ISINFL /* Define to 1 if you have the `isnan' function. */ #undef HAVE_ISNAN /* Define to 1 if you have the `isnanl' function. */ #undef HAVE_ISNANL /* Define to 1 if you have the `isnormal' function. */ #undef HAVE_ISNORMAL /* Define to 1 if you have the `m' library (-lm). */ #undef HAVE_LIBM /* Define to 1 if you have the `opcodes' library (-lopcodes). */ #undef HAVE_LIBOPCODES /* Define to 1 if you have the `usb-1.0' library (-lusb-1.0). */ #undef HAVE_LIBUSB_1_0 /* Define to 1 if you have the `X11' library (-lX11). */ #undef HAVE_LIBX11 /* Define if zlib enabled */ #undef HAVE_LIBZ /* Define to 1 if you have the `link' function. */ #undef HAVE_LINK /* Define to 1 if you have the header file. */ #undef HAVE_LINUX_IF_H /* Define to 1 if you have the header file. */ #undef HAVE_LINUX_IF_TUN_H /* Define to 1 if you have the `log10l' function. */ #undef HAVE_LOG10L /* Define to 1 if you have the `logl' function. */ #undef HAVE_LOGL /* Define to 1 if you have the `lstat' function. */ #undef HAVE_LSTAT /* Define to 1 if you have the header file. */ #undef HAVE_MACH_MACH_H /* Define to 1 if you have the `mach_task_self' function. */ #undef HAVE_MACH_TASK_SELF /* Define if your system has a working vm_allocate()-based memory allocator. */ #undef HAVE_MACH_VM /* Define to 1 if you have the header file. */ #undef HAVE_MATH_H /* Define to 1 if you have the `memcpy' function. */ #undef HAVE_MEMCPY /* Define to 1 if you have the header file. */ #undef HAVE_MEMORY_H /* Define to 1 if you have the `mmap' function. */ #undef HAVE_MMAP /* Define if defines MAP_ANON and mmap()'ing with MAP_ANON works. */ #undef HAVE_MMAP_ANON /* Define if defines MAP_ANONYMOUS and mmap()'ing with MAP_ANONYMOUS works. */ #undef HAVE_MMAP_ANONYMOUS /* Define if your system has a working mmap()-based memory allocator. */ #undef HAVE_MMAP_VM /* Define to 1 if you have the `mprotect' function. */ #undef HAVE_MPROTECT /* Define to 1 if you have the `munmap' function. */ #undef HAVE_MUNMAP /* Define to 1 if you have the header file. */ #undef HAVE_NAN_H /* Define to 1 if you have the header file, and it defines `DIR'. */ #undef HAVE_NDIR_H /* Define to 1 if you have the header file. */ #undef HAVE_NET_BPF_H /* Define to 1 if you have the header file. */ #undef HAVE_NET_IF_H /* Define to 1 if you have the header file. */ #undef HAVE_NET_IF_TUN_H /* Define if you want to use FreeBSD's imitation of O_SYNC */ #undef HAVE_O_FSYNC /* Define to 1 if you have the `pathconf' function. */ #undef HAVE_PATHCONF /* Define if your system supports POSIX shared memory. */ #undef HAVE_POSIX_SHM /* Define to 1 if you have the `powl' function. */ #undef HAVE_POWL /* Define to 1 if you have the `readlink' function. */ #undef HAVE_READLINK /* Define to 1 if you have the `realpath' function. */ #undef HAVE_REALPATH /* Define to 1 if you have the `sbrk' function. */ #undef HAVE_SBRK /* Define if you have SDL_image */ #undef HAVE_SDL_IMAGE /* Define to 1 if you have the `sigaction' function. */ #undef HAVE_SIGACTION /* Define if doesn't define sighandler_t */ #undef HAVE_SIGHANDLER_T /* Define to 1 if you have the `signal' function. */ #undef HAVE_SIGNAL /* Define to 1 if you have the `signbit' function. */ #undef HAVE_SIGNBIT /* Define to 1 if you have the `sigsetjmp' function. */ #undef HAVE_SIGSETJMP /* Define to 1 if you have the `sinhl' function. */ #undef HAVE_SINHL /* Define to 1 if you have the `sinl' function. */ #undef HAVE_SINL /* Define to 1 if you have the `sqrtl' function. */ #undef HAVE_SQRTL /* Define to 1 if you have the header file. */ #undef HAVE_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDINT_H /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H /* Define to 1 if you have the `strchr' function. */ #undef HAVE_STRCHR /* Define to 1 if you have the `strdup' function. */ #undef HAVE_STRDUP /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H /* Define to 1 if you have the header file. */ #undef HAVE_STRING_H /* Define to 1 if `st_atimensec' is a member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_ATIMENSEC /* Define to 1 if `st_atimespec.tv_nsec' is a member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC /* Define to 1 if `st_atim.st__tim.tv_nsec' is a member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC /* Define to 1 if `st_atim.tv_nsec' is a member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC /* Define to 1 if `tm_gmtoff' is a member of `struct tm'. */ #undef HAVE_STRUCT_TM_TM_GMTOFF /* Define to 1 if you have the `symlink' function. */ #undef HAVE_SYMLINK /* Define to 1 if you have the header file, and it defines `DIR'. */ #undef HAVE_SYS_DIR_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_IOCTL_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_MMAN_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_MOUNT_H /* Define to 1 if you have the header file, and it defines `DIR'. */ #undef HAVE_SYS_NDIR_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_PARAM_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_SOCKET_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STATFS_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STATVFS_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_STAT_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TIME_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_SYS_VFS_H /* Define to 1 if you have the `tanhl' function. */ #undef HAVE_TANHL /* Define to 1 if you have the `tanl' function. */ #undef HAVE_TANL /* Define to 1 if you have the `task_self' function. */ #undef HAVE_TASK_SELF /* Define to 1 if you have the header file. */ #undef HAVE_TERMIOS_H /* Define to 1 if you have the header file. */ #undef HAVE_TERMIO_H /* Define to 1 if you have the `truncate' function. */ #undef HAVE_TRUNCATE /* Define to 1 if you have the header file. */ #undef HAVE_TYPES_H /* Define to 1 if you have the header file. */ #undef HAVE_UNISTD_H /* Define to 1 if you have the `usleep' function. */ #undef HAVE_USLEEP /* Define to 1 if you have the header file. */ #undef HAVE_UTIME_H /* Define to 1 if you have the `vm_allocate' function. */ #undef HAVE_VM_ALLOCATE /* Define to 1 if you have the `vm_deallocate' function. */ #undef HAVE_VM_DEALLOCATE /* Define to 1 if you have the `vm_protect' function. */ #undef HAVE_VM_PROTECT /* Define if wchar_t is present */ #undef HAVE_WCHAR_T /* Define if your system has a working VirtualAlloc()-based memory allocator. */ #undef HAVE_WIN32_VM /* Define if your compiler supports __builtin_bswap16 */ #undef HAVE___BUILTIN_BSWAP16 /* Define if your compiler supports __builtin_bswap32 */ #undef HAVE___BUILTIN_BSWAP32 /* Define if you want to use direct access to host's fs */ #undef HOSTFS_SUPPORT /* Define to the floating point format of the host machine. */ #undef HOST_FLOAT_FORMAT /* Define to 1 if the host machine stores floating point numbers in memory with the word containing the sign bit at the lowest address, or to 0 if it does it the other way around. This macro should not be defined if the ordering is the same as for multi-word integers. */ #undef HOST_FLOAT_WORDS_BIG_ENDIAN /* Define if you want to use extended segfault handler also for HW space */ #undef HW_SIGSEGV /* Define if you want to map the control key to the emulated control key */ #undef MAP_CONTROL_TO_CONTROL /* Define if you want to map the meta key to the emulated control key */ #undef MAP_META_TO_CONTROL /* Define if you want to use Linux support as CD-ROM driver */ #undef NFCDROM_LINUX_SUPPORT /* Define if you want to use host CD-ROM driver */ #undef NFCDROM_SUPPORT /* Define if you want to use Win32 support as CD-ROM driver */ #undef NFCDROM_WIN32_SUPPORT /* Define if you want to use Clipboard */ #undef NFCLIPBRD_SUPPORT /* Define if you want to use host JPEG decoder */ #undef NFJPEG_SUPPORT /* Define if you want to use host OSMesa driver */ #undef NFOSMESA_SUPPORT /* Define if you want to use Linux PCI driver */ #undef NFPCI_LINUX_SUPPORT /* Define if you want to use host PCI driver */ #undef NFPCI_SUPPORT /* Define if you want to use NF VDI driver */ #undef NFVDI_SUPPORT /* Define if you don't want to use check memory boundary */ #undef NOCHECKBOUNDARY /* Define to 1 if your C compiler doesn't accept -c and -o together. */ #undef NO_MINUS_C_MINUS_O /* Define if OS needs to cleanly exit sigsegv handler */ #undef NO_NESTED_SIGSEGV /* Define OS type */ #undef OS_TYPE /* Define to the address where bug reports for this package should be sent. */ #undef PACKAGE_BUGREPORT /* Define to the full name of this package. */ #undef PACKAGE_NAME /* Define to the full name and version of this package. */ #undef PACKAGE_STRING /* Define to the one symbol short name of this package. */ #undef PACKAGE_TARNAME /* Define to the home page for this package. */ #undef PACKAGE_URL /* Define to the version of this package. */ #undef PACKAGE_VERSION /* Define if you want to protect first 2kB of RAM against user mode access */ #undef PROTECT2K /* List of Native Features */ #undef PROVIDES_NATFEATS /* Define if you want protect end of memory */ #undef RAMENDNEEDED /* Define as the return type of signal handlers (`int' or `void'). */ #undef RETSIGTYPE /* Define if you want to use Linux /dev/rtc as source timer */ #undef RTC_TIMER /* Define if you want to build SDL GUI */ #undef SDL_GUI /* Define if your system requires sigactions to be reinstalled. */ #undef SIGACTION_NEED_REINSTALL /* Define if your system requires signals to be reinstalled. */ #undef SIGNAL_NEED_REINSTALL /* The size of `double', as computed by sizeof. */ #undef SIZEOF_DOUBLE /* The size of `float', as computed by sizeof. */ #undef SIZEOF_FLOAT /* The size of `int', as computed by sizeof. */ #undef SIZEOF_INT /* The size of `long', as computed by sizeof. */ #undef SIZEOF_LONG /* The size of `long double', as computed by sizeof. */ #undef SIZEOF_LONG_DOUBLE /* The size of `long long', as computed by sizeof. */ #undef SIZEOF_LONG_LONG /* The size of `short', as computed by sizeof. */ #undef SIZEOF_SHORT /* The size of `void *', as computed by sizeof. */ #undef SIZEOF_VOID_P /* Define if using only small ATC */ #undef SMALL_ATC /* Define to 1 if you have the ANSI C header files. */ #undef STDC_HEADERS /* Define if you want to use ATA CD-ROM emulation */ #undef SUPPORT_CDROM /* Define to 1 if you can safely include both and . */ #undef TIME_WITH_SYS_TIME /* Define to 1 if your declares `struct tm'. */ #undef TM_IN_SYS_TIME /* Define to 1 if the type of the st_atim member of a struct stat is struct timespec. */ #undef TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC /* Define if you want to use host USB driver */ #undef USBHOST_SUPPORT /* FPU core */ #undef USES_FPU_CORE /* Define to use 33-bit memory addressing on 64-bit JIT capable systems. */ #undef USE_33BIT_ADDRESSING /* Define if console framebuffer does not support changing host video mode */ #undef USE_FIXED_CONSOLE_FBVIDEOMODE /* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most significant byte first (like Motorola and SPARC, unlike Intel). */ #if defined AC_APPLE_UNIVERSAL_BUILD # if defined __BIG_ENDIAN__ # define WORDS_BIGENDIAN 1 # endif #else # ifndef WORDS_BIGENDIAN # undef WORDS_BIGENDIAN # endif #endif /* Number of bits in a file offset, on hosts where this is settable. */ #undef _FILE_OFFSET_BITS /* Define for large files, on AIX-style hosts. */ #undef _LARGE_FILES /* Define if needed */ #undef _POSIX_C_SOURCE /* Define if needed */ #undef _XOPEN_SOURCE /* Define to empty if `const' does not conform to ANSI C. */ #undef const /* Define to `__inline__' or `__inline' if that's what the C compiler calls it, or to nothing if 'inline' is not supported under any name. */ #ifndef __cplusplus #undef inline #endif /* Define to `off_t' if does not define. */ #undef loff_t /* Define to `long int' if does not define. */ #undef off_t /* Define to `unsigned int' if does not define. */ #undef size_t /* Define to `size_t' if does not define. */ #undef ssize_t /* Define to empty if the keyword `volatile' does not work. Warning: valid code using `volatile' can become incorrect without. Disable with care. */ #undef volatile #ifndef HAVE_CADDR_T typedef void * caddr_t; #endif #endif /* __ARANYM_CONFIG_H__ */ aranym-1.0.2/config.sub000077500000000000000000001034451242022243000147620ustar00rootroot00000000000000#! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, # 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 # Free Software Foundation, Inc. timestamp='2010-01-22' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software # can handle that machine. It does not imply ALL GNU software can. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA # 02110-1301, USA. # # As a special exception to the GNU General Public License, if you # distribute this file as part of a program that contains a # configuration script generated by Autoconf, you may include it under # the same distribution terms that you use for the rest of that program. # Please send patches to . Submit a context # diff and a properly formatted GNU ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. # You can get the latest version of this script from: # http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. # Each package is responsible for reporting which valid configurations # it does not support. The user should be able to distinguish # a failure to support a valid configuration from a meaningless # configuration. # The goal of this file is to map all the various variations of a given # machine specification into a single specification in the form: # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM # or in some cases, the newer four-part form: # CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM # It is wrong to echo any other type of specification. me=`echo "$0" | sed -e 's,.*/,,'` usage="\ Usage: $0 [OPTION] CPU-MFR-OPSYS $0 [OPTION] ALIAS Canonicalize a configuration name. Operation modes: -h, --help print this help, then exit -t, --time-stamp print date of last modification, then exit -v, --version print version number, then exit Report bugs and patches to ." version="\ GNU config.sub ($timestamp) Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE." help=" Try \`$me --help' for more information." # Parse command line while test $# -gt 0 ; do case $1 in --time-stamp | --time* | -t ) echo "$timestamp" ; exit ;; --version | -v ) echo "$version" ; exit ;; --help | --h* | -h ) echo "$usage"; exit ;; -- ) # Stop option processing shift; break ;; - ) # Use stdin as input. break ;; -* ) echo "$me: invalid option $1$help" exit 1 ;; *local*) # First pass through any local machine types. echo $1 exit ;; * ) break ;; esac done case $# in 0) echo "$me: missing argument$help" >&2 exit 1;; 1) ;; *) echo "$me: too many arguments$help" >&2 exit 1;; esac # Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any). # Here we must recognize all the valid KERNEL-OS combinations. maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'` case $maybe_os in nto-qnx* | linux-gnu* | linux-dietlibc | linux-newlib* | linux-uclibc* | \ uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | \ kopensolaris*-gnu* | \ storm-chaos* | os2-emx* | rtmk-nova*) os=-$maybe_os basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'` ;; *) basic_machine=`echo $1 | sed 's/-[^-]*$//'` if [ $basic_machine != $1 ] then os=`echo $1 | sed 's/.*-/-/'` else os=; fi ;; esac ### Let's recognize common machines as not being operating systems so ### that things like config.sub decstation-3100 work. We also ### recognize some manufacturers as not being operating systems, so we ### can provide default operating systems below. case $os in -sun*os*) # Prevent following clause from handling this invalid input. ;; -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ -apple | -axis | -knuth | -cray | -microblaze) os= basic_machine=$1 ;; -bluegene*) os=-cnk ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 ;; -scout) ;; -wrs) os=-vxworks basic_machine=$1 ;; -chorusos*) os=-chorusos basic_machine=$1 ;; -chorusrdb) os=-chorusrdb basic_machine=$1 ;; -hiux*) os=-hiuxwe2 ;; -sco6) os=-sco5v6 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5) os=-sco3.2v5 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco4) os=-sco3.2v4 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2.[4-9]*) os=`echo $os | sed -e 's/sco3.2./sco3.2v/'` basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco3.2v[4-9]*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco5v6*) # Don't forget version if it is 3.2v4 or newer. basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -sco*) os=-sco3.2v2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -udk*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -isc) os=-isc2.2 basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -clix*) basic_machine=clipper-intergraph ;; -isc*) basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'` ;; -lynx*) os=-lynxos ;; -ptx*) basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'` ;; -windowsnt*) os=`echo $os | sed -e 's/windowsnt/winnt/'` ;; -psos*) os=-psos ;; -mint | -mint[0-9]*) basic_machine=m68k-atari os=-mint ;; esac # Decode aliases for certain CPU-COMPANY combinations. case $basic_machine in # Recognize the basic CPU types without company name. # Some are omitted here because they have special meanings below. 1750a | 580 \ | a29k \ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \ | am33_2.0 \ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr | avr32 \ | bfin \ | c4x | clipper \ | d10v | d30v | dlx | dsp16xx \ | fido | fr30 | frv \ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \ | i370 | i860 | i960 | ia64 \ | ip2k | iq2000 \ | lm32 \ | m32c | m32r | m32rle | m68000 | m68k | m88k \ | maxq | mb | microblaze | mcore | mep | metag \ | mips | mipsbe | mipseb | mipsel | mipsle \ | mips16 \ | mips64 | mips64el \ | mips64octeon | mips64octeonel \ | mips64orion | mips64orionel \ | mips64r5900 | mips64r5900el \ | mips64vr | mips64vrel \ | mips64vr4100 | mips64vr4100el \ | mips64vr4300 | mips64vr4300el \ | mips64vr5000 | mips64vr5000el \ | mips64vr5900 | mips64vr5900el \ | mipsisa32 | mipsisa32el \ | mipsisa32r2 | mipsisa32r2el \ | mipsisa64 | mipsisa64el \ | mipsisa64r2 | mipsisa64r2el \ | mipsisa64sb1 | mipsisa64sb1el \ | mipsisa64sr71k | mipsisa64sr71kel \ | mipstx39 | mipstx39el \ | mn10200 | mn10300 \ | moxie \ | mt \ | msp430 \ | nios | nios2 \ | ns16k | ns32k \ | or32 \ | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ | ubicom32 \ | v850 | v850e \ | we32k \ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; m6811 | m68hc11 | m6812 | m68hc12 | picochip) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none ;; m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k) ;; ms1) basic_machine=mt-unknown ;; # We use `pc' rather than `unknown' # because (1) that's what they normally are, and # (2) the word "unknown" tends to confuse beginning users. i*86 | x86_64) basic_machine=$basic_machine-pc ;; # Object if more than one company name word. *-*-*) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; # Recognize the basic CPU types with company name. 580-* \ | a29k-* \ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \ | avr-* | avr32-* \ | bfin-* | bs2000-* \ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \ | clipper-* | craynv-* | cydra-* \ | d10v-* | d30v-* | dlx-* \ | elxsi-* \ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \ | h8300-* | h8500-* \ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \ | i*86-* | i860-* | i960-* | ia64-* \ | ip2k-* | iq2000-* \ | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ | mips64octeon-* | mips64octeonel-* \ | mips64orion-* | mips64orionel-* \ | mips64r5900-* | mips64r5900el-* \ | mips64vr-* | mips64vrel-* \ | mips64vr4100-* | mips64vr4100el-* \ | mips64vr4300-* | mips64vr4300el-* \ | mips64vr5000-* | mips64vr5000el-* \ | mips64vr5900-* | mips64vr5900el-* \ | mipsisa32-* | mipsisa32el-* \ | mipsisa32r2-* | mipsisa32r2el-* \ | mipsisa64-* | mipsisa64el-* \ | mipsisa64r2-* | mipsisa64r2el-* \ | mipsisa64sb1-* | mipsisa64sb1el-* \ | mipsisa64sr71k-* | mipsisa64sr71kel-* \ | mipstx39-* | mipstx39el-* \ | mmix-* \ | mt-* \ | msp430-* \ | nios-* | nios2-* \ | none-* | np1-* | ns16k-* | ns32k-* \ | orion-* \ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ | sparclite-* \ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | strongarm-* | sv1-* | sx?-* \ | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \ | tile-* | tilegx-* \ | tron-* \ | ubicom32-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ | xstormy16-* | xtensa*-* \ | ymp-* \ | z8k-* | z80-*) ;; # Recognize the basic CPU types without company name, with glob match. xtensa*) basic_machine=$basic_machine-unknown ;; # Recognize the various machine names and aliases which stand # for a CPU type and a company and sometimes even an OS. 386bsd) basic_machine=i386-unknown os=-bsd ;; 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc) basic_machine=m68000-att ;; 3b*) basic_machine=we32k-att ;; a29khif) basic_machine=a29k-amd os=-udi ;; abacus) basic_machine=abacus-unknown ;; adobe68k) basic_machine=m68010-adobe os=-scout ;; alliant | fx80) basic_machine=fx80-alliant ;; altos | altos3068) basic_machine=m68k-altos ;; am29k) basic_machine=a29k-none os=-bsd ;; amd64) basic_machine=x86_64-pc ;; amd64-*) basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; amdahl) basic_machine=580-amdahl os=-sysv ;; amiga | amiga-*) basic_machine=m68k-unknown ;; amigaos | amigados) basic_machine=m68k-unknown os=-amigaos ;; amigaunix | amix) basic_machine=m68k-unknown os=-sysv4 ;; apollo68) basic_machine=m68k-apollo os=-sysv ;; apollo68bsd) basic_machine=m68k-apollo os=-bsd ;; aros) basic_machine=i386-pc os=-aros ;; aux) basic_machine=m68k-apple os=-aux ;; balance) basic_machine=ns32k-sequent os=-dynix ;; blackfin) basic_machine=bfin-unknown os=-linux ;; blackfin-*) basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; bluegene*) basic_machine=powerpc-ibm os=-cnk ;; c90) basic_machine=c90-cray os=-unicos ;; cegcc) basic_machine=arm-unknown os=-cegcc ;; convex-c1) basic_machine=c1-convex os=-bsd ;; convex-c2) basic_machine=c2-convex os=-bsd ;; convex-c32) basic_machine=c32-convex os=-bsd ;; convex-c34) basic_machine=c34-convex os=-bsd ;; convex-c38) basic_machine=c38-convex os=-bsd ;; cray | j90) basic_machine=j90-cray os=-unicos ;; craynv) basic_machine=craynv-cray os=-unicosmp ;; cr16) basic_machine=cr16-unknown os=-elf ;; crds | unos) basic_machine=m68k-crds ;; crisv32 | crisv32-* | etraxfs*) basic_machine=crisv32-axis ;; cris | cris-* | etrax*) basic_machine=cris-axis ;; crx) basic_machine=crx-unknown os=-elf ;; da30 | da30-*) basic_machine=m68k-da30 ;; decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn) basic_machine=mips-dec ;; decsystem10* | dec10*) basic_machine=pdp10-dec os=-tops10 ;; decsystem20* | dec20*) basic_machine=pdp10-dec os=-tops20 ;; delta | 3300 | motorola-3300 | motorola-delta \ | 3300-motorola | delta-motorola) basic_machine=m68k-motorola ;; delta88) basic_machine=m88k-motorola os=-sysv3 ;; dicos) basic_machine=i686-pc os=-dicos ;; djgpp) basic_machine=i586-pc os=-msdosdjgpp ;; dpx20 | dpx20-*) basic_machine=rs6000-bull os=-bosx ;; dpx2* | dpx2*-bull) basic_machine=m68k-bull os=-sysv3 ;; ebmon29k) basic_machine=a29k-amd os=-ebmon ;; elxsi) basic_machine=elxsi-elxsi os=-bsd ;; encore | umax | mmax) basic_machine=ns32k-encore ;; es1800 | OSE68k | ose68k | ose | OSE) basic_machine=m68k-ericsson os=-ose ;; fx2800) basic_machine=i860-alliant ;; genix) basic_machine=ns32k-ns ;; gmicro) basic_machine=tron-gmicro os=-sysv ;; go32) basic_machine=i386-pc os=-go32 ;; h3050r* | hiux*) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; h8300hms) basic_machine=h8300-hitachi os=-hms ;; h8300xray) basic_machine=h8300-hitachi os=-xray ;; h8500hms) basic_machine=h8500-hitachi os=-hms ;; harris) basic_machine=m88k-harris os=-sysv3 ;; hp300-*) basic_machine=m68k-hp ;; hp300bsd) basic_machine=m68k-hp os=-bsd ;; hp300hpux) basic_machine=m68k-hp os=-hpux ;; hp3k9[0-9][0-9] | hp9[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k2[0-9][0-9] | hp9k31[0-9]) basic_machine=m68000-hp ;; hp9k3[2-9][0-9]) basic_machine=m68k-hp ;; hp9k6[0-9][0-9] | hp6[0-9][0-9]) basic_machine=hppa1.0-hp ;; hp9k7[0-79][0-9] | hp7[0-79][0-9]) basic_machine=hppa1.1-hp ;; hp9k78[0-9] | hp78[0-9]) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893) # FIXME: really hppa2.0-hp basic_machine=hppa1.1-hp ;; hp9k8[0-9][13679] | hp8[0-9][13679]) basic_machine=hppa1.1-hp ;; hp9k8[0-9][0-9] | hp8[0-9][0-9]) basic_machine=hppa1.0-hp ;; hppa-next) os=-nextstep3 ;; hppaosf) basic_machine=hppa1.1-hp os=-osf ;; hppro) basic_machine=hppa1.1-hp os=-proelf ;; i370-ibm* | ibm*) basic_machine=i370-ibm ;; # I'm not sure what "Sysv32" means. Should this be sysv3.2? i*86v32) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv32 ;; i*86v4*) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv4 ;; i*86v) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-sysv ;; i*86sol2) basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'` os=-solaris2 ;; i386mach) basic_machine=i386-mach os=-mach ;; i386-vsta | vsta) basic_machine=i386-unknown os=-vsta ;; iris | iris4d) basic_machine=mips-sgi case $os in -irix*) ;; *) os=-irix4 ;; esac ;; isi68 | isi) basic_machine=m68k-isi os=-sysv ;; m68knommu) basic_machine=m68k-unknown os=-linux ;; m68knommu-*) basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; m88k-omron*) basic_machine=m88k-omron ;; magnum | m3230) basic_machine=mips-mips os=-sysv ;; merlin) basic_machine=ns32k-utek os=-sysv ;; microblaze) basic_machine=microblaze-xilinx ;; mingw32) basic_machine=i386-pc os=-mingw32 ;; mingw32ce) basic_machine=arm-unknown os=-mingw32ce ;; miniframe) basic_machine=m68000-convergent ;; *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*) basic_machine=m68k-atari os=-mint ;; mips3*-*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'` ;; mips3*) basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown ;; monitor) basic_machine=m68k-rom68k os=-coff ;; morphos) basic_machine=powerpc-unknown os=-morphos ;; msdos) basic_machine=i386-pc os=-msdos ;; ms1-*) basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'` ;; mvs) basic_machine=i370-ibm os=-mvs ;; ncr3000) basic_machine=i486-ncr os=-sysv4 ;; netbsd386) basic_machine=i386-unknown os=-netbsd ;; netwinder) basic_machine=armv4l-rebel os=-linux ;; news | news700 | news800 | news900) basic_machine=m68k-sony os=-newsos ;; news1000) basic_machine=m68030-sony os=-newsos ;; news-3600 | risc-news) basic_machine=mips-sony os=-newsos ;; necv70) basic_machine=v70-nec os=-sysv ;; next | m*-next ) basic_machine=m68k-next case $os in -nextstep* ) ;; -ns2*) os=-nextstep2 ;; *) os=-nextstep3 ;; esac ;; nh3000) basic_machine=m68k-harris os=-cxux ;; nh[45]000) basic_machine=m88k-harris os=-cxux ;; nindy960) basic_machine=i960-intel os=-nindy ;; mon960) basic_machine=i960-intel os=-mon960 ;; nonstopux) basic_machine=mips-compaq os=-nonstopux ;; np1) basic_machine=np1-gould ;; nsr-tandem) basic_machine=nsr-tandem ;; op50n-* | op60c-*) basic_machine=hppa1.1-oki os=-proelf ;; openrisc | openrisc-*) basic_machine=or32-unknown ;; os400) basic_machine=powerpc-ibm os=-os400 ;; OSE68000 | ose68000) basic_machine=m68000-ericsson os=-ose ;; os68k) basic_machine=m68k-none os=-os68k ;; pa-hitachi) basic_machine=hppa1.1-hitachi os=-hiuxwe2 ;; paragon) basic_machine=i860-intel os=-osf ;; parisc) basic_machine=hppa-unknown os=-linux ;; parisc-*) basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; pbd) basic_machine=sparc-tti ;; pbb) basic_machine=m68k-tti ;; pc532 | pc532-*) basic_machine=ns32k-pc532 ;; pc98) basic_machine=i386-pc ;; pc98-*) basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium | p5 | k5 | k6 | nexgen | viac3) basic_machine=i586-pc ;; pentiumpro | p6 | 6x86 | athlon | athlon_*) basic_machine=i686-pc ;; pentiumii | pentium2 | pentiumiii | pentium3) basic_machine=i686-pc ;; pentium4) basic_machine=i786-pc ;; pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*) basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumpro-* | p6-* | 6x86-* | athlon-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*) basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pentium4-*) basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'` ;; pn) basic_machine=pn-gould ;; power) basic_machine=power-ibm ;; ppc) basic_machine=powerpc-unknown ;; ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppcle | powerpclittle | ppc-le | powerpc-little) basic_machine=powerpcle-unknown ;; ppcle-* | powerpclittle-*) basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64) basic_machine=powerpc64-unknown ;; ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ppc64le | powerpc64little | ppc64-le | powerpc64-little) basic_machine=powerpc64le-unknown ;; ppc64le-* | powerpc64little-*) basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'` ;; ps2) basic_machine=i386-ibm ;; pw32) basic_machine=i586-unknown os=-pw32 ;; rdos) basic_machine=i386-pc os=-rdos ;; rom68k) basic_machine=m68k-rom68k os=-coff ;; rm[46]00) basic_machine=mips-siemens ;; rtpc | rtpc-*) basic_machine=romp-ibm ;; s390 | s390-*) basic_machine=s390-ibm ;; s390x | s390x-*) basic_machine=s390x-ibm ;; sa29200) basic_machine=a29k-amd os=-udi ;; sb1) basic_machine=mipsisa64sb1-unknown ;; sb1el) basic_machine=mipsisa64sb1el-unknown ;; sde) basic_machine=mipsisa32-sde os=-elf ;; sei) basic_machine=mips-sei os=-seiux ;; sequent) basic_machine=i386-sequent ;; sh) basic_machine=sh-hitachi os=-hms ;; sh5el) basic_machine=sh5le-unknown ;; sh64) basic_machine=sh64-unknown ;; sparclite-wrs | simso-wrs) basic_machine=sparclite-wrs os=-vxworks ;; sps7) basic_machine=m68k-bull os=-sysv2 ;; spur) basic_machine=spur-unknown ;; st2000) basic_machine=m68k-tandem ;; stratus) basic_machine=i860-stratus os=-sysv4 ;; sun2) basic_machine=m68000-sun ;; sun2os3) basic_machine=m68000-sun os=-sunos3 ;; sun2os4) basic_machine=m68000-sun os=-sunos4 ;; sun3os3) basic_machine=m68k-sun os=-sunos3 ;; sun3os4) basic_machine=m68k-sun os=-sunos4 ;; sun4os3) basic_machine=sparc-sun os=-sunos3 ;; sun4os4) basic_machine=sparc-sun os=-sunos4 ;; sun4sol2) basic_machine=sparc-sun os=-solaris2 ;; sun3 | sun3-*) basic_machine=m68k-sun ;; sun4) basic_machine=sparc-sun ;; sun386 | sun386i | roadrunner) basic_machine=i386-sun ;; sv1) basic_machine=sv1-cray os=-unicos ;; symmetry) basic_machine=i386-sequent os=-dynix ;; t3e) basic_machine=alphaev5-cray os=-unicos ;; t90) basic_machine=t90-cray os=-unicos ;; tic54x | c54x*) basic_machine=tic54x-unknown os=-coff ;; tic55x | c55x*) basic_machine=tic55x-unknown os=-coff ;; tic6x | c6x*) basic_machine=tic6x-unknown os=-coff ;; # This must be matched before tile*. tilegx*) basic_machine=tilegx-unknown os=-linux-gnu ;; tile*) basic_machine=tile-unknown os=-linux-gnu ;; tx39) basic_machine=mipstx39-unknown ;; tx39el) basic_machine=mipstx39el-unknown ;; toad1) basic_machine=pdp10-xkl os=-tops20 ;; tower | tower-32) basic_machine=m68k-ncr ;; tpf) basic_machine=s390x-ibm os=-tpf ;; udi29k) basic_machine=a29k-amd os=-udi ;; ultra3) basic_machine=a29k-nyu os=-sym1 ;; v810 | necv810) basic_machine=v810-nec os=-none ;; vaxv) basic_machine=vax-dec os=-sysv ;; vms) basic_machine=vax-dec os=-vms ;; vpp*|vx|vx-*) basic_machine=f301-fujitsu ;; vxworks960) basic_machine=i960-wrs os=-vxworks ;; vxworks68) basic_machine=m68k-wrs os=-vxworks ;; vxworks29k) basic_machine=a29k-wrs os=-vxworks ;; w65*) basic_machine=w65-wdc os=-none ;; w89k-*) basic_machine=hppa1.1-winbond os=-proelf ;; xbox) basic_machine=i686-pc os=-mingw32 ;; xps | xps100) basic_machine=xps100-honeywell ;; ymp) basic_machine=ymp-cray os=-unicos ;; z8k-*-coff) basic_machine=z8k-unknown os=-sim ;; z80-*-coff) basic_machine=z80-unknown os=-sim ;; none) basic_machine=none-none os=-none ;; # Here we handle the default manufacturer of certain CPU types. It is in # some cases the only manufacturer, in others, it is the most popular. w89k) basic_machine=hppa1.1-winbond ;; op50n) basic_machine=hppa1.1-oki ;; op60c) basic_machine=hppa1.1-oki ;; romp) basic_machine=romp-ibm ;; mmix) basic_machine=mmix-knuth ;; rs6000) basic_machine=rs6000-ibm ;; vax) basic_machine=vax-dec ;; pdp10) # there are many clones, so DEC is not a safe bet basic_machine=pdp10-unknown ;; pdp11) basic_machine=pdp11-dec ;; we32k) basic_machine=we32k-att ;; sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele) basic_machine=sh-unknown ;; sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v) basic_machine=sparc-sun ;; cydra) basic_machine=cydra-cydrome ;; orion) basic_machine=orion-highlevel ;; orion105) basic_machine=clipper-highlevel ;; mac | mpw | mac-mpw) basic_machine=m68k-apple ;; pmac | pmac-mpw) basic_machine=powerpc-apple ;; *-unknown) # Make sure to match an already-canonicalized machine name. ;; *) echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2 exit 1 ;; esac # Here we canonicalize certain aliases for manufacturers. case $basic_machine in *-digital*) basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'` ;; *-commodore*) basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'` ;; *) ;; esac # Decode manufacturer-specific aliases for certain operating systems. if [ x"$os" != x"" ] then case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. -auroraux) os=-auroraux ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; -solaris) os=-solaris2 ;; -svr4*) os=-sysv4 ;; -unixware*) os=-sysv4.2uw ;; -gnu/linux*) os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'` ;; # First accept the basic system types. # The portable systems comes first. # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ | -sym* | -kopensolaris* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \ | -openbsd* | -solidbsd* \ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \ | -chorusos* | -chorusrdb* | -cegcc* \ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \ | -mingw32* | -linux-gnu* | -linux-newlib* | -linux-uclibc* \ | -uxpv* | -beos* | -mpeix* | -udk* \ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) case $basic_machine in x86-* | i*86-*) ;; *) os=-nto$os ;; esac ;; -nto-qnx*) ;; -nto*) os=`echo $os | sed -e 's|nto|nto-qnx|'` ;; -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*) ;; -mac*) os=`echo $os | sed -e 's|mac|macos|'` ;; -linux-dietlibc) os=-linux-dietlibc ;; -linux*) os=`echo $os | sed -e 's|linux|linux-gnu|'` ;; -sunos5*) os=`echo $os | sed -e 's|sunos5|solaris2|'` ;; -sunos6*) os=`echo $os | sed -e 's|sunos6|solaris3|'` ;; -opened*) os=-openedition ;; -os400*) os=-os400 ;; -wince*) os=-wince ;; -osfrose*) os=-osfrose ;; -osf*) os=-osf ;; -utek*) os=-bsd ;; -dynix*) os=-bsd ;; -acis*) os=-aos ;; -atheos*) os=-atheos ;; -syllable*) os=-syllable ;; -386bsd) os=-bsd ;; -ctix* | -uts*) os=-sysv ;; -nova*) os=-rtmk-nova ;; -ns2 ) os=-nextstep2 ;; -nsk*) os=-nsk ;; # Preserve the version number of sinix5. -sinix5.*) os=`echo $os | sed -e 's|sinix|sysv|'` ;; -sinix*) os=-sysv4 ;; -tpf*) os=-tpf ;; -triton*) os=-sysv3 ;; -oss*) os=-sysv3 ;; -svr4) os=-sysv4 ;; -svr3) os=-sysv3 ;; -sysvr4) os=-sysv4 ;; # This must come after -sysvr4. -sysv*) ;; -ose*) os=-ose ;; -es1800*) os=-ose ;; -xenix) os=-xenix ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) os=-mint ;; -aros*) os=-aros ;; -kaos*) os=-kaos ;; -zvmoe) os=-zvmoe ;; -dicos*) os=-dicos ;; -nacl*) ;; -none) ;; *) # Get rid of the `-' at the beginning of $os. os=`echo $os | sed 's/[^-]*-//'` echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2 exit 1 ;; esac else # Here we handle the default operating systems that come with various machines. # The value should be what the vendor currently ships out the door with their # machine or put another way, the most popular os provided with the machine. # Note that if you're going to try to match "-MANUFACTURER" here (say, # "-sun"), then you have to tell the case statement up towards the top # that MANUFACTURER isn't an operating system. Otherwise, code above # will signal an error saying that MANUFACTURER isn't an operating # system, and we'll never get to this point. case $basic_machine in score-*) os=-elf ;; spu-*) os=-elf ;; *-acorn) os=-riscix1.2 ;; arm*-rebel) os=-linux ;; arm*-semi) os=-aout ;; c4x-* | tic4x-*) os=-coff ;; # This must come before the *-dec entry. pdp10-*) os=-tops20 ;; pdp11-*) os=-none ;; *-dec | vax-*) os=-ultrix4.2 ;; m68*-apollo) os=-domain ;; i386-sun) os=-sunos4.0.2 ;; m68000-sun) os=-sunos3 # This also exists in the configure program, but was not the # default. # os=-sunos4 ;; m68*-cisco) os=-aout ;; mep-*) os=-elf ;; mips*-cisco) os=-elf ;; mips*-*) os=-elf ;; or32-*) os=-coff ;; *-tti) # must be before sparc entry or we get the wrong os. os=-sysv3 ;; sparc-* | *-sun) os=-sunos4.1.1 ;; *-be) os=-beos ;; *-haiku) os=-haiku ;; *-ibm) os=-aix ;; *-knuth) os=-mmixware ;; *-wec) os=-proelf ;; *-winbond) os=-proelf ;; *-oki) os=-proelf ;; *-hp) os=-hpux ;; *-hitachi) os=-hiux ;; i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent) os=-sysv ;; *-cbm) os=-amigaos ;; *-dg) os=-dgux ;; *-dolphin) os=-sysv3 ;; m68k-ccur) os=-rtu ;; m88k-omron*) os=-luna ;; *-next ) os=-nextstep ;; *-sequent) os=-ptx ;; *-crds) os=-unos ;; *-ns) os=-genix ;; i370-*) os=-mvs ;; *-next) os=-nextstep3 ;; *-gould) os=-sysv ;; *-highlevel) os=-bsd ;; *-encore) os=-bsd ;; *-sgi) os=-irix ;; *-siemens) os=-sysv4 ;; *-masscomp) os=-rtu ;; f30[01]-fujitsu | f700-fujitsu) os=-uxpv ;; *-rom68k) os=-coff ;; *-*bug) os=-coff ;; *-apple) os=-macos ;; *-atari*) os=-mint ;; *) os=-none ;; esac fi # Here we handle the case where we know the os, and the CPU type, but not the # manufacturer. We pick the logical manufacturer. vendor=unknown case $basic_machine in *-unknown) case $os in -riscix*) vendor=acorn ;; -sunos*) vendor=sun ;; -cnk*|-aix*) vendor=ibm ;; -beos*) vendor=be ;; -hpux*) vendor=hp ;; -mpeix*) vendor=hp ;; -hiux*) vendor=hitachi ;; -unos*) vendor=crds ;; -dgux*) vendor=dg ;; -luna*) vendor=omron ;; -genix*) vendor=ns ;; -mvs* | -opened*) vendor=ibm ;; -os400*) vendor=ibm ;; -ptx*) vendor=sequent ;; -tpf*) vendor=ibm ;; -vxsim* | -vxworks* | -windiss*) vendor=wrs ;; -aux*) vendor=apple ;; -hms*) vendor=hitachi ;; -mpw* | -macos*) vendor=apple ;; -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*) vendor=atari ;; -vos*) vendor=stratus ;; esac basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"` ;; esac echo $basic_machine$os exit # Local variables: # eval: (add-hook 'write-file-hooks 'time-stamp) # time-stamp-start: "timestamp='" # time-stamp-format: "%:y-%02m-%02d" # time-stamp-end: "'" # End: aranym-1.0.2/configure000077500000000000000000013036331242022243000147100ustar00rootroot00000000000000#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.68 for aranym 0.9. # # Report bugs to . # # # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, # 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software # Foundation, Inc. # # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH if test "x$CONFIG_SHELL" = x; then as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which # is contrary to our usage. Disable this feature. alias -g '\${1+\"\$@\"}'='\"\$@\"' setopt NO_GLOB_SUBST else case \`(set -o) 2>/dev/null\` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi " as_required="as_fn_return () { (exit \$1); } as_fn_success () { as_fn_return 0; } as_fn_failure () { as_fn_return 1; } as_fn_ret_success () { return 0; } as_fn_ret_failure () { return 1; } exitcode=0 as_fn_success || { exitcode=1; echo as_fn_success failed.; } as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : else exitcode=1; echo positional parameters were not saved. fi test x\$exitcode = x0 || exit 1" as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1 test \$(( 1 + 1 )) = 2 || exit 1" if (eval "$as_required") 2>/dev/null; then : as_have_required=yes else as_have_required=no fi if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR as_found=false for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. as_found=: case $as_dir in #( /*) for as_base in sh bash ksh sh5; do # Try only shells that exist, to save several forks. as_shell=$as_dir/$as_base if { test -f "$as_shell" || test -f "$as_shell.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : CONFIG_SHELL=$as_shell as_have_required=yes if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : break 2 fi fi done;; esac as_found=false done $as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : CONFIG_SHELL=$SHELL as_have_required=yes fi; } IFS=$as_save_IFS if test "x$CONFIG_SHELL" != x; then : # We cannot yet assume a decent shell, so we have to provide a # neutralization value for shells without unset; and this also # works around shells that cannot unset nonexistent variables. # Preserve -v and -x to the replacement shell. BASH_ENV=/dev/null ENV=/dev/null (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV export CONFIG_SHELL case $- in # (((( *v*x* | *x*v* ) as_opts=-vx ;; *v* ) as_opts=-v ;; *x* ) as_opts=-x ;; * ) as_opts= ;; esac exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"} fi if test x$as_have_required = xno; then : $as_echo "$0: This script requires a shell more modern than all" $as_echo "$0: the shells that I found on your system." if test x${ZSH_VERSION+set} = xset ; then $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" $as_echo "$0: be upgraded to zsh 4.3.4 or later." else $as_echo "$0: Please tell bug-autoconf@gnu.org and $0: aranym@lists.bobek.cz about your system, including any $0: error possibly output before this message. Then install $0: a modern shell, or manually run the script under such a $0: shell if you do have one." fi exit 1 fi fi fi SHELL=${CONFIG_SHELL-/bin/sh} export SHELL # Unset more variables known to interfere with behavior of common tools. CLICOLOR_FORCE= GREP_OPTIONS= unset CLICOLOR_FORCE GREP_OPTIONS ## --------------------- ## ## M4sh Shell Functions. ## ## --------------------- ## # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits as_lineno_1=$LINENO as_lineno_1a=$LINENO as_lineno_2=$LINENO as_lineno_2a=$LINENO eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) sed -n ' p /[$]LINENO/= ' <$as_myself | sed ' s/[$]LINENO.*/&-/ t lineno b :lineno N :loop s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ t loop s/-\n.*// ' >$as_me.lineno && chmod +x "$as_me.lineno" || { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } # Don't try to exec as it changes $[0], causing all sort of problems # (the dirname of $[0] is not the place where we might find the # original and so on. Autoconf is especially sensitive to this). . "./$as_me.lineno" # Exit status is that of the last command. exit } ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in #( -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" test -n "$DJDIR" || exec 7<&0 &1 # Name of the host. # hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, # so uname gets run too. ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` # # Initializations. # ac_default_prefix=/usr/local ac_clean_files= ac_config_libobj_dir=. LIBOBJS= cross_compiling=no subdirs= MFLAGS= MAKEFLAGS= # Identity of this package. PACKAGE_NAME='aranym' PACKAGE_TARNAME='aranym' PACKAGE_VERSION='0.9' PACKAGE_STRING='aranym 0.9' PACKAGE_BUGREPORT='aranym@lists.bobek.cz' PACKAGE_URL='' # Factoring default headers for most tests. ac_includes_default="\ #include #ifdef HAVE_SYS_TYPES_H # include #endif #ifdef HAVE_SYS_STAT_H # include #endif #ifdef STDC_HEADERS # include # include #else # ifdef HAVE_STDLIB_H # include # endif #endif #ifdef HAVE_STRING_H # if !defined STDC_HEADERS && defined HAVE_MEMORY_H # include # endif # include #endif #ifdef HAVE_STRINGS_H # include #endif #ifdef HAVE_INTTYPES_H # include #endif #ifdef HAVE_STDINT_H # include #endif #ifdef HAVE_UNISTD_H # include #endif" ac_subst_vars='LTLIBOBJS LIBOBJS GENCOMP_ARCH BUNDLE_FRAMEWORKS GENCPU_FLAGS ARCHFLAGS CPU_TYPE TARGET TAPIF DBGSP DYNGLSRCS GUISDLSRCS SERIALSRCS PARALLELPARPORTSRCS PARALLELX86SRCS NFCLIPBOARDSRCS NFVDISRCS NFJPEGSRCS NFOSMESASRCS USBHOSTSRCS NFPCISRCS NFCDROMSRCS MIDISEQSRCS DSPSRCS GENCPUSRCS CPUSRCS CPUINCLUDES SYSSRCS DEFINES WFLAGS OSMESA_LIBS OSMESA_CFLAGS LIBUSB_LIBS LIBUSB_CFLAGS ZLIB_LIBS ZLIB_CFLAGS GL_LIBS GL_CFLAGS SDL2_CONFIG SDL2_LIBS SDL2_CFLAGS SDL_LIBS SDL_CFLAGS SDL_CONFIG DISASM_LIBS DISASM_CFLAGS BEOS_SETVERSION BEOS_RC BEOS_XRES EGREP GREP PKG_CONFIG_LIBDIR PKG_CONFIG_PATH PKG_CONFIG PERL MKDIR_P INSTALL_DATA INSTALL_SCRIPT INSTALL_PROGRAM SET_MAKE CXXCPP ac_ct_CXX CXXFLAGS CXX CPP OBJEXT EXEEXT ac_ct_CC CPPFLAGS LDFLAGS CFLAGS CC AM_DEFAULT_VERBOSITY host_os host_vendor host_cpu host build_os build_vendor build_cpu build target_alias host_alias build_alias LIBS ECHO_T ECHO_N ECHO_C DEFS mandir localedir libdir psdir pdfdir dvidir htmldir infodir docdir oldincludedir includedir localstatedir sharedstatedir sysconfdir datadir datarootdir libexecdir sbindir bindir program_transform_name prefix exec_prefix PACKAGE_URL PACKAGE_BUGREPORT PACKAGE_STRING PACKAGE_VERSION PACKAGE_TARNAME PACKAGE_NAME PATH_SEPARATOR SHELL' ac_subst_files='' ac_user_opts=' enable_option_checking enable_silent_rules enable_nat_debug enable_full_debug enable_debug enable_fullhistory enable_flightrecorder enable_fullmmu enable_atc enable_realstop enable_dsp enable_dsp_disasm enable_protect2k enable_fixedfastram enable_fixedvideoram enable_blitmemmove enable_blitsdlblit enable_hostfs enable_ctrlkey enable_gui enable_opengl with_mesa_headers enable_nfpci enable_usbhost enable_nfosmesa enable_nfjpeg enable_nfclipbrd enable_nfvdi enable_ata_cdrom enable_epslimiter enable_lilo enable_rtctimer enable_parallelx86 enable_parport enable_serialport with_fink with_classicconfig enable_fpe enable_addressing enable_addr_check enable_spcflags_excl enable_jit_compiler enable_jit_fpu enable_jit_debug enable_ethernet enable_bpf_ethernet enable_cxx_exceptions enable_largefile with_opcodes enable_disasm enable_sdl2 with_sdl_prefix with_sdl_exec_prefix enable_sdltest with_sdl2_prefix with_sdl2_exec_prefix ' ac_precious_vars='build_alias host_alias target_alias CC CFLAGS LDFLAGS LIBS CPPFLAGS CPP CXX CXXFLAGS CCC CXXCPP PKG_CONFIG PKG_CONFIG_PATH PKG_CONFIG_LIBDIR SDL2_CFLAGS SDL2_LIBS GL_CFLAGS GL_LIBS ZLIB_CFLAGS ZLIB_LIBS LIBUSB_CFLAGS LIBUSB_LIBS OSMESA_CFLAGS OSMESA_LIBS' # Initialize some variables set by options. ac_init_help= ac_init_version=false ac_unrecognized_opts= ac_unrecognized_sep= # The variables have the same names as the options, with # dashes changed to underlines. cache_file=/dev/null exec_prefix=NONE no_create= no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= verbose= x_includes=NONE x_libraries=NONE # Installation directory options. # These are left unexpanded so users can "make install exec_prefix=/foo" # and all the variables that are supposed to be based on exec_prefix # by default will actually change. # Use braces instead of parens because sh, perl, etc. also accept them. # (The list follows the same order as the GNU Coding Standards.) bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datarootdir='${prefix}/share' datadir='${datarootdir}' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' includedir='${prefix}/include' oldincludedir='/usr/include' docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' pdfdir='${docdir}' psdir='${docdir}' libdir='${exec_prefix}/lib' localedir='${datarootdir}/locale' mandir='${datarootdir}/man' ac_prev= ac_dashdash= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval $ac_prev=\$ac_option ac_prev= continue fi case $ac_option in *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; *=) ac_optarg= ;; *) ac_optarg=yes ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case $ac_dashdash$ac_option in --) ac_dashdash=yes ;; -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir=$ac_optarg ;; -build | --build | --buil | --bui | --bu) ac_prev=build_alias ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build_alias=$ac_optarg ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file=$ac_optarg ;; --config-cache | -C) cache_file=config.cache ;; -datadir | --datadir | --datadi | --datad) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=*) datadir=$ac_optarg ;; -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ | --dataroo | --dataro | --datar) ac_prev=datarootdir ;; -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) datarootdir=$ac_optarg ;; -disable-* | --disable-*) ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=no ;; -docdir | --docdir | --docdi | --doc | --do) ac_prev=docdir ;; -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) docdir=$ac_optarg ;; -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) ac_prev=dvidir ;; -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) dvidir=$ac_optarg ;; -enable-* | --enable-*) ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid feature name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "enable_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval enable_$ac_useropt=\$ac_optarg ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix=$ac_optarg ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he | -h) ac_init_help=long ;; -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) ac_init_help=recursive ;; -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) ac_init_help=short ;; -host | --host | --hos | --ho) ac_prev=host_alias ;; -host=* | --host=* | --hos=* | --ho=*) host_alias=$ac_optarg ;; -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) ac_prev=htmldir ;; -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ | --ht=*) htmldir=$ac_optarg ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir=$ac_optarg ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir=$ac_optarg ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir=$ac_optarg ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir=$ac_optarg ;; -localedir | --localedir | --localedi | --localed | --locale) ac_prev=localedir ;; -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) localedir=$ac_optarg ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst | --locals) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) localstatedir=$ac_optarg ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir=$ac_optarg ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c | -n) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir=$ac_optarg ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix=$ac_optarg ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix=$ac_optarg ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix=$ac_optarg ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name=$ac_optarg ;; -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) ac_prev=pdfdir ;; -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) pdfdir=$ac_optarg ;; -psdir | --psdir | --psdi | --psd | --ps) ac_prev=psdir ;; -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) psdir=$ac_optarg ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir=$ac_optarg ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir=$ac_optarg ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site=$ac_optarg ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir=$ac_optarg ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir=$ac_optarg ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target_alias ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target_alias=$ac_optarg ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers | -V) ac_init_version=: ;; -with-* | --with-*) ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=\$ac_optarg ;; -without-* | --without-*) ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` # Reject names that are not valid shell variable names. expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && as_fn_error $? "invalid package name: $ac_useropt" ac_useropt_orig=$ac_useropt ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` case $ac_user_opts in *" "with_$ac_useropt" "*) ;; *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" ac_unrecognized_sep=', ';; esac eval with_$ac_useropt=no ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes=$ac_optarg ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries=$ac_optarg ;; -*) as_fn_error $? "unrecognized option: \`$ac_option' Try \`$0 --help' for more information" ;; *=*) ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` # Reject names that are not valid shell variable names. case $ac_envvar in #( '' | [0-9]* | *[!_$as_cr_alnum]* ) as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; esac eval $ac_envvar=\$ac_optarg export $ac_envvar ;; *) # FIXME: should be removed in autoconf 3.0. $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" ;; esac done if test -n "$ac_prev"; then ac_option=--`echo $ac_prev | sed 's/_/-/g'` as_fn_error $? "missing argument to $ac_option" fi if test -n "$ac_unrecognized_opts"; then case $enable_option_checking in no) ;; fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; esac fi # Check all directory arguments for consistency. for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ datadir sysconfdir sharedstatedir localstatedir includedir \ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ libdir localedir mandir do eval ac_val=\$$ac_var # Remove trailing slashes. case $ac_val in */ ) ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` eval $ac_var=\$ac_val;; esac # Be sure to have absolute directory names. case $ac_val in [\\/$]* | ?:[\\/]* ) continue;; NONE | '' ) case $ac_var in *prefix ) continue;; esac;; esac as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" done # There might be people who depend on the old broken behavior: `$host' # used to hold the argument of --host etc. # FIXME: To remove some day. build=$build_alias host=$host_alias target=$target_alias # FIXME: To remove some day. if test "x$host_alias" != x; then if test "x$build_alias" = x; then cross_compiling=maybe $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used" >&2 elif test "x$build_alias" != "x$host_alias"; then cross_compiling=yes fi fi ac_tool_prefix= test -n "$host_alias" && ac_tool_prefix=$host_alias- test "$silent" = yes && exec 6>/dev/null ac_pwd=`pwd` && test -n "$ac_pwd" && ac_ls_di=`ls -di .` && ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || as_fn_error $? "working directory cannot be determined" test "X$ac_ls_di" = "X$ac_pwd_ls_di" || as_fn_error $? "pwd does not report name of working directory" # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then the parent directory. ac_confdir=`$as_dirname -- "$as_myself" || $as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_myself" : 'X\(//\)[^/]' \| \ X"$as_myself" : 'X\(//\)$' \| \ X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_myself" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` srcdir=$ac_confdir if test ! -r "$srcdir/$ac_unique_file"; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r "$srcdir/$ac_unique_file"; then test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" fi ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" ac_abs_confdir=`( cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" pwd)` # When building in place, set srcdir=. if test "$ac_abs_confdir" = "$ac_pwd"; then srcdir=. fi # Remove unnecessary trailing slashes from srcdir. # Double slashes in file names in object file debugging info # mess up M-x gdb in Emacs. case $srcdir in */) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; esac for ac_var in $ac_precious_vars; do eval ac_env_${ac_var}_set=\${${ac_var}+set} eval ac_env_${ac_var}_value=\$${ac_var} eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} eval ac_cv_env_${ac_var}_value=\$${ac_var} done # # Report the --help message. # if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF \`configure' configures aranym 0.9 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... To assign environment variables (e.g., CC, CFLAGS...), specify them as VAR=VALUE. See below for descriptions of some of the useful variables. Defaults for the options are specified in brackets. Configuration: -h, --help display this help and exit --help=short display options specific to this package --help=recursive display the short help of all the included packages -V, --version display version information and exit -q, --quiet, --silent do not print \`checking ...' messages --cache-file=FILE cache test results in FILE [disabled] -C, --config-cache alias for \`--cache-file=config.cache' -n, --no-create do not create output files --srcdir=DIR find the sources in DIR [configure dir or \`..'] Installation directories: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [PREFIX] By default, \`make install' will install all the files in \`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify an installation prefix other than \`$ac_default_prefix' using \`--prefix', for instance \`--prefix=\$HOME'. For better control, use the options below. Fine tuning of the installation directories: --bindir=DIR user executables [EPREFIX/bin] --sbindir=DIR system admin executables [EPREFIX/sbin] --libexecdir=DIR program executables [EPREFIX/libexec] --sysconfdir=DIR read-only single-machine data [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] --localstatedir=DIR modifiable single-machine data [PREFIX/var] --libdir=DIR object code libraries [EPREFIX/lib] --includedir=DIR C header files [PREFIX/include] --oldincludedir=DIR C header files for non-gcc [/usr/include] --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] --datadir=DIR read-only architecture-independent data [DATAROOTDIR] --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] --docdir=DIR documentation root [DATAROOTDIR/doc/aranym] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] --psdir=DIR ps documentation [DOCDIR] _ACEOF cat <<\_ACEOF System types: --build=BUILD configure for building on BUILD [guessed] --host=HOST cross-compile to build programs to run on HOST [BUILD] _ACEOF fi if test -n "$ac_init_help"; then case $ac_init_help in short | recursive ) echo "Configuration of aranym 0.9:";; esac cat <<\_ACEOF Optional Features: --disable-option-checking ignore unrecognized --enable/--with options --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --enable-silent-rules Enable silent build [[default=yes]] --enable-nat-debug enable native debugger support (default=yes) --enable-full-debug enable full debug outputs (default=no) --enable-debug=which specify wether to use internal debugger (default=no) --enable-fullhistory enable full history for debugger (default=no) --enable-flightrecorder enable CPU flight recorder (default=no) --enable-fullmmu enable full 68040 MMU (default=no) --enable-atc=ATC select type of ATC for MMU (default=full) --enable-realstop enable real STOP instruction (default=yes) --enable-dsp enable DSP 56001 (default=yes) --enable-dsp-disasm enable DSP 56001 disassembler (default=no) --enable-protect2k enable first 2kB of RAM Super protection (default=yes) --enable-fixedfastram=X use fixed size FastRAM of X MB (default=no) --enable-fixedvideoram use fixed start of VideoRAM (default=no) --enable-blitmemmove enable Blitter memmove rout (default=no) --enable-blitsdlblit enable SDL blitting routine EXPERIMENTAL UNSUPPORTED BUGGY (default=no) --enable-hostfs enable hostfs support (default=yes) --enable-ctrlkey=WHICH specify which key to use for control key emulation (default=both) --enable-gui enable GUI (default=yes) --enable-opengl enable OpenGL (default=yes) --enable-nfpci enable NatFeat PCI (default=no) --enable-usbhost enable NatFeat USB (default=no) --enable-nfosmesa enable NatFeat OSMesa (default=no) --enable-nfjpeg enable NatFeat JPEG (default=yes) --enable-nfclipbrd enable NatFeat Clipboard (default=yes) --enable-nfvdi enable NatFeat VDI (default=yes) --enable-ata-cdrom enable ATA CD-ROM emulation (default=yes) --enable-epslimiter enable Exception per second limiter (default=no) --enable-lilo enable Linux-m68k loader (default=no) --enable-rtctimer enable Linux /dev/rtc as source timer (default=yes) --enable-parallelx86 enable Linux X86 hw access for parallel port (default=no) --enable-parport enable Linux /dev/parport access for parallel port (default=yes) --enable-serialport enable Unix /dev/ttySn serial port support (default=yes) --enable-fpe=FPE specify which fpu emulator to use (default=auto) --enable-addressing=AM specify the addressing mode to use (default=fastest) --enable-addr-check=AM specify the memory check to use (default=page) --enable-spcflags-excl enable exclusive spcflags handling (default=no) --enable-jit-compiler enable JIT compiler (default=no) --enable-jit-fpu enable JIT compiler for FPU instructions (default=no) --enable-jit-debug activate native code disassemblers (default=no) --enable-ethernet enable ethernet card emulation (default=yes) --enable-bpf-ethernet enable ethernet card emulation using BPF (default=no) --enable-cxx-exceptions enable the use of C++ try/catch instead of setjmp/longjmp (default=yes) --disable-largefile omit support for large files --enable-disasm=builtin|opcodes Specify which library to use for disassembly [none] --disable-sdl2 disable use of SDL2 even if available (default=no) --disable-sdltest Do not try to compile and run a test SDL program Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --with-mesa-headers Path to Mesa header files --with-fink Use Fink suite to build Aranym on MacOSX (default=no) --with-classicconfig Use Classic config names on MacOSX (default=no) --with-opcodes=DIR specify the directory where the opcodes library is located --with-sdl-prefix=PFX Prefix where SDL is installed (optional) --with-sdl-exec-prefix=PFX Exec prefix where SDL is installed (optional) --with-sdl2-prefix=PFX Prefix where SDL2 is installed (optional) --with-sdl2-exec-prefix=PFX Exec prefix where SDL2 is installed (optional) Some influential environment variables: CC C compiler command CFLAGS C compiler flags LDFLAGS linker flags, e.g. -L if you have libraries in a nonstandard directory LIBS libraries to pass to the linker, e.g. -l CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if you have headers in a nonstandard directory CPP C preprocessor CXX C++ compiler command CXXFLAGS C++ compiler flags CXXCPP C++ preprocessor PKG_CONFIG path to pkg-config utility PKG_CONFIG_PATH directories to add to pkg-config's search path PKG_CONFIG_LIBDIR path overriding pkg-config's built-in search path SDL2_CFLAGS C compiler flags for SDL2, overriding pkg-config SDL2_LIBS linker flags for SDL2, overriding pkg-config GL_CFLAGS C compiler flags for GL, overriding pkg-config GL_LIBS linker flags for GL, overriding pkg-config ZLIB_CFLAGS C compiler flags for ZLIB, overriding pkg-config ZLIB_LIBS linker flags for ZLIB, overriding pkg-config LIBUSB_CFLAGS C compiler flags for LIBUSB, overriding pkg-config LIBUSB_LIBS linker flags for LIBUSB, overriding pkg-config OSMESA_CFLAGS C compiler flags for OSMESA, overriding pkg-config OSMESA_LIBS linker flags for OSMESA, overriding pkg-config Use these variables to override the choices made by `configure' or to help it to find libraries and programs with nonstandard names/locations. Report bugs to . _ACEOF ac_status=$? fi if test "$ac_init_help" = "recursive"; then # If there are subdirs, report their specific --help. for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue test -d "$ac_dir" || { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || continue ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix cd "$ac_dir" || { ac_status=$?; continue; } # Check for guested configure. if test -f "$ac_srcdir/configure.gnu"; then echo && $SHELL "$ac_srcdir/configure.gnu" --help=recursive elif test -f "$ac_srcdir/configure"; then echo && $SHELL "$ac_srcdir/configure" --help=recursive else $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 fi || ac_status=$? cd "$ac_pwd" || { ac_status=$?; break; } done fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF aranym configure 0.9 generated by GNU Autoconf 2.68 Copyright (C) 2010 Free Software Foundation, Inc. This configure script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it. _ACEOF exit fi ## ------------------------ ## ## Autoconf initialization. ## ## ------------------------ ## # ac_fn_c_try_compile LINENO # -------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_compile # ac_fn_c_try_cpp LINENO # ---------------------- # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_cpp # ac_fn_cxx_try_compile LINENO # ---------------------------- # Try to compile conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_try_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_cxx_werror_flag" || test ! -s conftest.err } && test -s conftest.$ac_objext; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_compile # ac_fn_cxx_try_cpp LINENO # ------------------------ # Try to preprocess conftest.$ac_ext, and return whether this succeeded. ac_fn_cxx_try_cpp () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_cpp conftest.$ac_ext" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } > conftest.i && { test -z "$ac_cxx_preproc_warn_flag$ac_cxx_werror_flag" || test ! -s conftest.err }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_cpp # ac_fn_c_try_run LINENO # ---------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes # that executables *can* be run. ac_fn_c_try_run () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then : ac_retval=0 else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_run # ac_fn_c_try_link LINENO # ----------------------- # Try to link conftest.$ac_ext, and return whether this succeeded. ac_fn_c_try_link () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack rm -f conftest.$ac_objext conftest$ac_exeext if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>conftest.err ac_status=$? if test -s conftest.err; then grep -v '^ *+' conftest.err >conftest.er1 cat conftest.er1 >&5 mv -f conftest.er1 conftest.err fi $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { test -z "$ac_c_werror_flag" || test ! -s conftest.err } && test -s conftest$ac_exeext && { test "$cross_compiling" = yes || $as_test_x conftest$ac_exeext }; then : ac_retval=0 else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=1 fi # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would # interfere with the next link command; also delete a directory that is # left behind by Apple's compiler. We do this before executing the actions. rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_c_try_link # ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists, giving a warning if it cannot be compiled using # the include files in INCLUDES and setting the cache variable VAR # accordingly. ac_fn_c_check_header_mongrel () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if eval \${$3+:} false; then : { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } else # Is the header compilable? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5 $as_echo_n "checking $2 usability... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_header_compiler=yes else ac_header_compiler=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5 $as_echo "$ac_header_compiler" >&6; } # Is the header present? { $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5 $as_echo_n "checking $2 presence... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include <$2> _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : ac_header_preproc=yes else ac_header_preproc=no fi rm -f conftest.err conftest.i conftest.$ac_ext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5 $as_echo "$ac_header_preproc" >&6; } # So? What about this header? case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #(( yes:no: ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5 $as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ;; no:yes:* ) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5 $as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5 $as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5 $as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5 $as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5 $as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;} ( $as_echo "## ------------------------------------ ## ## Report this to aranym@lists.bobek.cz ## ## ------------------------------------ ##" ) | sed "s/^/$as_me: WARNING: /" >&2 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=\$ac_header_compiler" fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } fi eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_mongrel # ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES # ------------------------------------------------------- # Tests whether HEADER exists and can be compiled using the include files in # INCLUDES, setting the cache variable VAR accordingly. ac_fn_c_check_header_compile () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 #include <$2> _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_header_compile # ac_fn_c_compute_int LINENO EXPR VAR INCLUDES # -------------------------------------------- # Tries to find the compile-time value of EXPR in a program that includes # INCLUDES, setting VAR accordingly. Returns whether the value could be # computed ac_fn_c_compute_int () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if test "$cross_compiling" = yes; then # Depending upon the size, compute the lo and hi bounds. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) >= 0)]; test_array [0] = 0 ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_lo=0 ac_mid=0 while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_hi=$ac_mid; break else as_fn_arith $ac_mid + 1 && ac_lo=$as_val if test $ac_lo -le $ac_mid; then ac_lo= ac_hi= break fi as_fn_arith 2 '*' $ac_mid + 1 && ac_mid=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) < 0)]; test_array [0] = 0 ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_hi=-1 ac_mid=-1 while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) >= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_lo=$ac_mid; break else as_fn_arith '(' $ac_mid ')' - 1 && ac_hi=$as_val if test $ac_mid -le $ac_hi; then ac_lo= ac_hi= break fi as_fn_arith 2 '*' $ac_mid && ac_mid=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done else ac_lo= ac_hi= fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext # Binary search between lo and hi bounds. while test "x$ac_lo" != "x$ac_hi"; do as_fn_arith '(' $ac_hi - $ac_lo ')' / 2 + $ac_lo && ac_mid=$as_val cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { static int test_array [1 - 2 * !(($2) <= $ac_mid)]; test_array [0] = 0 ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_hi=$ac_mid else as_fn_arith '(' $ac_mid ')' + 1 && ac_lo=$as_val fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext done case $ac_lo in #(( ?*) eval "$3=\$ac_lo"; ac_retval=0 ;; '') ac_retval=1 ;; esac else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 static long int longval () { return $2; } static unsigned long int ulongval () { return $2; } #include #include int main () { FILE *f = fopen ("conftest.val", "w"); if (! f) return 1; if (($2) < 0) { long int i = longval (); if (i != ($2)) return 1; fprintf (f, "%ld", i); } else { unsigned long int i = ulongval (); if (i != ($2)) return 1; fprintf (f, "%lu", i); } /* Do not output a trailing newline, as this causes \r\n confusion on some platforms. */ return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : echo >>conftest.val; read $3 &5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else eval "$3=no" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { if (sizeof ($2)) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $4 int main () { if (sizeof (($2))) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else eval "$3=yes" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_type # ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES # ---------------------------------------------------- # Tries to find if the field MEMBER exists in type AGGR, after including # INCLUDES, setting cache variable VAR accordingly. ac_fn_c_check_member () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5 $as_echo_n "checking for $2.$3... " >&6; } if eval \${$4+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $5 int main () { static $2 ac_aggr; if (ac_aggr.$3) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$4=yes" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $5 int main () { static $2 ac_aggr; if (sizeof ac_aggr.$3) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$4=yes" else eval "$4=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$4 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_member # ac_fn_c_check_func LINENO FUNC VAR # ---------------------------------- # Tests whether FUNC exists, setting the cache variable VAR accordingly ac_fn_c_check_func () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5 $as_echo_n "checking for $2... " >&6; } if eval \${$3+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Define $2 to an innocuous variant, in case declares $2. For example, HP-UX 11i declares gettimeofday. */ #define $2 innocuous_$2 /* System header to define __stub macros and hopefully few prototypes, which can conflict with char $2 (); below. Prefer to if __STDC__ is defined, since exists even on freestanding compilers. */ #ifdef __STDC__ # include #else # include #endif #undef $2 /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char $2 (); /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined __stub_$2 || defined __stub___$2 choke me #endif int main () { return $2 (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : eval "$3=yes" else eval "$3=no" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi eval ac_res=\$$3 { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_func # ac_fn_cxx_try_run LINENO # ------------------------ # Try to link conftest.$ac_ext, and return whether this succeeded. Assumes # that executables *can* be run. ac_fn_cxx_try_run () { as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && { ac_try='./conftest$ac_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then : ac_retval=0 else $as_echo "$as_me: program exited with status $ac_status" >&5 $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 ac_retval=$ac_status fi rm -rf conftest.dSYM conftest_ipa8_conftest.oo eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno as_fn_set_status $ac_retval } # ac_fn_cxx_try_run cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. It was created by aranym $as_me 0.9, which was generated by GNU Autoconf 2.68. Invocation command line was $ $0 $@ _ACEOF exec 5>>config.log { cat <<_ASUNAME ## --------- ## ## Platform. ## ## --------- ## hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` uname -m = `(uname -m) 2>/dev/null || echo unknown` uname -r = `(uname -r) 2>/dev/null || echo unknown` uname -s = `(uname -s) 2>/dev/null || echo unknown` uname -v = `(uname -v) 2>/dev/null || echo unknown` /usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` /bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` /bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` /usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` /usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` /usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` /bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` /usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` /bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` _ASUNAME as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. $as_echo "PATH: $as_dir" done IFS=$as_save_IFS } >&5 cat >&5 <<_ACEOF ## ----------- ## ## Core tests. ## ## ----------- ## _ACEOF # Keep a trace of the command line. # Strip out --no-create and --no-recursion so they do not pile up. # Strip out --silent because we don't want to record it for future runs. # Also quote any args containing shell meta-characters. # Make two passes to allow for proper duplicate-argument suppression. ac_configure_args= ac_configure_args0= ac_configure_args1= ac_must_keep_next=false for ac_pass in 1 2 do for ac_arg do case $ac_arg in -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) continue ;; *\'*) ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; esac case $ac_pass in 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; 2) as_fn_append ac_configure_args1 " '$ac_arg'" if test $ac_must_keep_next = true; then ac_must_keep_next=false # Got value, back to normal. else case $ac_arg in *=* | --config-cache | -C | -disable-* | --disable-* \ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | -with-* | --with-* | -without-* | --without-* | --x) case "$ac_configure_args0 " in "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; esac ;; -* ) ac_must_keep_next=true ;; esac fi as_fn_append ac_configure_args " '$ac_arg'" ;; esac done done { ac_configure_args0=; unset ac_configure_args0;} { ac_configure_args1=; unset ac_configure_args1;} # When interrupted or exit'd, cleanup temporary files, and complete # config.log. We remove comments because anyway the quotes in there # would cause problems or look ugly. # WARNING: Use '\'' to represent an apostrophe within the trap. # WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. trap 'exit_status=$? # Save into config.log some information that might help in debugging. { echo $as_echo "## ---------------- ## ## Cache variables. ## ## ---------------- ##" echo # The following way of writing the cache mishandles newlines in values, ( for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( *${as_nl}ac_space=\ *) sed -n \ "s/'\''/'\''\\\\'\'''\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" ;; #( *) sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) echo $as_echo "## ----------------- ## ## Output variables. ## ## ----------------- ##" echo for ac_var in $ac_subst_vars do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo if test -n "$ac_subst_files"; then $as_echo "## ------------------- ## ## File substitutions. ## ## ------------------- ##" echo for ac_var in $ac_subst_files do eval ac_val=\$$ac_var case $ac_val in *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; esac $as_echo "$ac_var='\''$ac_val'\''" done | sort echo fi if test -s confdefs.h; then $as_echo "## ----------- ## ## confdefs.h. ## ## ----------- ##" echo cat confdefs.h echo fi test "$ac_signal" != 0 && $as_echo "$as_me: caught signal $ac_signal" $as_echo "$as_me: exit $exit_status" } >&5 rm -f core *.core core.conftest.* && rm -f -r conftest* confdefs* conf$$* $ac_clean_files && exit $exit_status ' 0 for ac_signal in 1 2 13 15; do trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal done ac_signal=0 # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -f -r conftest* confdefs.h $as_echo "/* confdefs.h */" > confdefs.h # Predefined preprocessor variables. cat >>confdefs.h <<_ACEOF #define PACKAGE_NAME "$PACKAGE_NAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_TARNAME "$PACKAGE_TARNAME" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_VERSION "$PACKAGE_VERSION" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_STRING "$PACKAGE_STRING" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" _ACEOF cat >>confdefs.h <<_ACEOF #define PACKAGE_URL "$PACKAGE_URL" _ACEOF # Let the site file select an alternate cache file if it wants to. # Prefer an explicitly selected file to automatically selected ones. ac_site_file1=NONE ac_site_file2=NONE if test -n "$CONFIG_SITE"; then # We do not want a PATH search for config.site. case $CONFIG_SITE in #(( -*) ac_site_file1=./$CONFIG_SITE;; */*) ac_site_file1=$CONFIG_SITE;; *) ac_site_file1=./$CONFIG_SITE;; esac elif test "x$prefix" != xNONE; then ac_site_file1=$prefix/share/config.site ac_site_file2=$prefix/etc/config.site else ac_site_file1=$ac_default_prefix/share/config.site ac_site_file2=$ac_default_prefix/etc/config.site fi for ac_site_file in "$ac_site_file1" "$ac_site_file2" do test "x$ac_site_file" = xNONE && continue if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 $as_echo "$as_me: loading site script $ac_site_file" >&6;} sed 's/^/| /' "$ac_site_file" >&5 . "$ac_site_file" \ || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "failed to load site script $ac_site_file See \`config.log' for more details" "$LINENO" 5; } fi done if test -r "$cache_file"; then # Some versions of bash will fail to source /dev/null (special files # actually), so we avoid doing that. DJGPP emulates it as a regular file. if test /dev/null != "$cache_file" && test -f "$cache_file"; then { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 $as_echo "$as_me: loading cache $cache_file" >&6;} case $cache_file in [\\/]* | ?:[\\/]* ) . "$cache_file";; *) . "./$cache_file";; esac fi else { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 $as_echo "$as_me: creating cache $cache_file" >&6;} >$cache_file fi # Check that the precious variables saved in the cache have kept the same # value. ac_cache_corrupted=false for ac_var in $ac_precious_vars; do eval ac_old_set=\$ac_cv_env_${ac_var}_set eval ac_new_set=\$ac_env_${ac_var}_set eval ac_old_val=\$ac_cv_env_${ac_var}_value eval ac_new_val=\$ac_env_${ac_var}_value case $ac_old_set,$ac_new_set in set,) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} ac_cache_corrupted=: ;; ,set) { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 $as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} ac_cache_corrupted=: ;; ,);; *) if test "x$ac_old_val" != "x$ac_new_val"; then # differences in whitespace do not lead to failure. ac_old_val_w=`echo x $ac_old_val` ac_new_val_w=`echo x $ac_new_val` if test "$ac_old_val_w" != "$ac_new_val_w"; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 $as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} ac_cache_corrupted=: else { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 $as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} eval $ac_var=\$ac_old_val fi { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 $as_echo "$as_me: former value: \`$ac_old_val'" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 $as_echo "$as_me: current value: \`$ac_new_val'" >&2;} fi;; esac # Pass precious variables to config.status. if test "$ac_new_set" = set; then case $ac_new_val in *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; *) ac_arg=$ac_var=$ac_new_val ;; esac case " $ac_configure_args " in *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. *) as_fn_append ac_configure_args " '$ac_arg'" ;; esac fi done if $ac_cache_corrupted; then { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 $as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 fi ## -------------------- ## ## Main body of script. ## ## -------------------- ## ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_config_headers="$ac_config_headers config.h" PROVIDES_NF="audio bootstrap xhdi" ac_aux_dir= for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do if test -f "$ac_dir/install-sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f "$ac_dir/install.sh"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break elif test -f "$ac_dir/shtool"; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/shtool install -c" break fi done if test -z "$ac_aux_dir"; then as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5 fi # These three variables are undocumented and unsupported, # and are intended to be withdrawn in a future Autoconf release. # They can cause serious problems if a builder's source tree is in a directory # whose full name contains unusual characters. ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var. ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var. ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var. # Make sure we can run config.sub. $SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 || as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5 { $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5 $as_echo_n "checking build system type... " >&6; } if ${ac_cv_build+:} false; then : $as_echo_n "(cached) " >&6 else ac_build_alias=$build_alias test "x$ac_build_alias" = x && ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"` test "x$ac_build_alias" = x && as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5 ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5 fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5 $as_echo "$ac_cv_build" >&6; } case $ac_cv_build in *-*-*) ;; *) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;; esac build=$ac_cv_build ac_save_IFS=$IFS; IFS='-' set x $ac_cv_build shift build_cpu=$1 build_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: build_os=$* IFS=$ac_save_IFS case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5 $as_echo_n "checking host system type... " >&6; } if ${ac_cv_host+:} false; then : $as_echo_n "(cached) " >&6 else if test "x$host_alias" = x; then ac_cv_host=$ac_cv_build else ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` || as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5 fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5 $as_echo "$ac_cv_host" >&6; } case $ac_cv_host in *-*-*) ;; *) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;; esac host=$ac_cv_host ac_save_IFS=$IFS; IFS='-' set x $ac_cv_host shift host_cpu=$1 host_vendor=$2 shift; shift # Remember, the first character of IFS is used to create $*, # except with old shells: host_os=$* IFS=$ac_save_IFS case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac # Check whether --enable-silent-rules was given. if test "${enable_silent_rules+set}" = set; then : enableval=$enable_silent_rules; else enable_silent_rules=yes fi AM_DEFAULT_VERBOSITY=1 if test x$enable_silent_rules = xyes; then AM_DEFAULT_VERBOSITY=0 fi # Check whether --enable-nat-debug was given. if test "${enable_nat_debug+set}" = set; then : enableval=$enable_nat_debug; WANT_NATDEBUG=$enableval else WANT_NATDEBUG=yes fi # Check whether --enable-full-debug was given. if test "${enable_full_debug+set}" = set; then : enableval=$enable_full_debug; WANT_FULLDEBUG=$enableval else WANT_FULLDEBUG=no fi # Check whether --enable-debug was given. if test "${enable_debug+set}" = set; then : enableval=$enable_debug; case "$enableval" in default | yes | uae | ndebug) USE_DEBUGGER=yes;; no) USE_DEBUGGER="no";; *) as_fn_error $? "--enable-debug takes only one of the following values: default, uae, ndebug, no" "$LINENO" 5;; esac else USE_DEBUGGER=no fi # Check whether --enable-fullhistory was given. if test "${enable_fullhistory+set}" = set; then : enableval=$enable_fullhistory; WANT_HISTORY=$enableval else WANT_HISTORY=no fi # Check whether --enable-flightrecorder was given. if test "${enable_flightrecorder+set}" = set; then : enableval=$enable_flightrecorder; WANT_FLIGHTRECORDER=$enableval else WANT_FLIGHTRECORDER=no fi # Check whether --enable-fullmmu was given. if test "${enable_fullmmu+set}" = set; then : enableval=$enable_fullmmu; WANT_MMU=$enableval else WANT_MMU=no fi # Check whether --enable-atc was given. if test "${enable_atc+set}" = set; then : enableval=$enable_atc; case "$enableval" in full) ATC_TYPE="full";; small) ATC_type="small";; no) ATC_TYPE="no";; *) as_fn_error $? "--enable-atc takes only one of the following values: full, small, no" "$LINENO" 5;; esac else ATC_TYPE=full fi # Check whether --enable-realstop was given. if test "${enable_realstop+set}" = set; then : enableval=$enable_realstop; WANT_REALSTOP=$enableval else WANT_REALSTOP=yes fi # Check whether --enable-dsp was given. if test "${enable_dsp+set}" = set; then : enableval=$enable_dsp; WANT_DSP=$enableval else WANT_DSP=yes fi # Check whether --enable-dsp-disasm was given. if test "${enable_dsp_disasm+set}" = set; then : enableval=$enable_dsp_disasm; WANT_DSP_DISASM=$enableval else WANT_DSP_DISASM=no fi # Check whether --enable-protect2k was given. if test "${enable_protect2k+set}" = set; then : enableval=$enable_protect2k; WANT_PROTECT2K=$enableval else WANT_PROTECT2K=yes fi # Check whether --enable-fixedfastram was given. if test "${enable_fixedfastram+set}" = set; then : enableval=$enable_fixedfastram; WANT_FIXEDFASTRAM=$enableval else WANT_FIXEDFASTRAM=no fi # Check whether --enable-fixedvideoram was given. if test "${enable_fixedvideoram+set}" = set; then : enableval=$enable_fixedvideoram; WANT_FIXEDVIDEORAM=$enableval else WANT_FIXEDVIDEORAM=no fi # Check whether --enable-blitmemmove was given. if test "${enable_blitmemmove+set}" = set; then : enableval=$enable_blitmemmove; WANT_BLITMEMMOVE=$enableval else WANT_BLITMEMMOVE=no fi # Check whether --enable-blitsdlblit was given. if test "${enable_blitsdlblit+set}" = set; then : enableval=$enable_blitsdlblit; WANT_BLITSDLBLIT=$enableval else WANT_BLITSDLBLIT=no fi # Check whether --enable-hostfs was given. if test "${enable_hostfs+set}" = set; then : enableval=$enable_hostfs; WANT_HOSTFS=$enableval else WANT_HOSTFS=yes fi # Check whether --enable-ctrlkey was given. if test "${enable_ctrlkey+set}" = set; then : enableval=$enable_ctrlkey; case "$enableval" in ctrl) CONTROL_KEY="ctrl";; meta) CONTROL_KEY="meta";; both) CONTROL_KEY="both";; *) as_fn_error $? "--enable-ctrlkey takes only one of the following values: ctrl, meta, both" "$LINENO" 5;; esac else CONTROL_KEY="both" fi # Check whether --enable-gui was given. if test "${enable_gui+set}" = set; then : enableval=$enable_gui; WANT_SDLGUI=$enableval else WANT_SDLGUI=yes fi # Check whether --enable-opengl was given. if test "${enable_opengl+set}" = set; then : enableval=$enable_opengl; WANT_OPENGL=$enableval else WANT_OPENGL=yes fi # Check whether --with-mesa-headers was given. if test "${with_mesa_headers+set}" = set; then : withval=$with_mesa_headers; WITH_MESAINC=$withval else WITH_MESAINC=no fi # Check whether --enable-nfpci was given. if test "${enable_nfpci+set}" = set; then : enableval=$enable_nfpci; WANT_NFPCI=$enableval else WANT_NFPCI=no fi # Check whether --enable-usbhost was given. if test "${enable_usbhost+set}" = set; then : enableval=$enable_usbhost; WANT_USBHOST=$enableval else WANT_USBHOST=no fi # Check whether --enable-nfosmesa was given. if test "${enable_nfosmesa+set}" = set; then : enableval=$enable_nfosmesa; WANT_NFOSMESA=$enableval else WANT_NFOSMESA=no fi # Check whether --enable-nfjpeg was given. if test "${enable_nfjpeg+set}" = set; then : enableval=$enable_nfjpeg; WANT_NFJPEG=$enableval else WANT_NFJPEG=yes fi # Check whether --enable-nfclipbrd was given. if test "${enable_nfclipbrd+set}" = set; then : enableval=$enable_nfclipbrd; WANT_NFCLIPBRD=$enableval else WANT_NFCLIPBRD=yes fi # Check whether --enable-nfvdi was given. if test "${enable_nfvdi+set}" = set; then : enableval=$enable_nfvdi; WANT_NFVDI=$enableval else WANT_NFVDI=yes fi # Check whether --enable-ata-cdrom was given. if test "${enable_ata_cdrom+set}" = set; then : enableval=$enable_ata_cdrom; WANT_CDROM=$enableval else WANT_CDROM=yes fi # Check whether --enable-epslimiter was given. if test "${enable_epslimiter+set}" = set; then : enableval=$enable_epslimiter; WANT_EPSLIMITER=$enableval else WANT_EPSLIMITER=no fi # Check whether --enable-lilo was given. if test "${enable_lilo+set}" = set; then : enableval=$enable_lilo; WANT_LILO="$enableval" else WANT_LILO="no" fi # Check whether --enable-rtctimer was given. if test "${enable_rtctimer+set}" = set; then : enableval=$enable_rtctimer; WANT_RTCTIMER="$enableval" else WANT_RTCTIMER="yes" fi # Check whether --enable-parallelx86 was given. if test "${enable_parallelx86+set}" = set; then : enableval=$enable_parallelx86; WANT_PARALLELX86=$enableval else WANT_PARALLELX86=no fi # Check whether --enable-parport was given. if test "${enable_parport+set}" = set; then : enableval=$enable_parport; WANT_PARALLELPARPORT=$enableval else WANT_PARALLELPARPORT=yes fi # Check whether --enable-serialport was given. if test "${enable_serialport+set}" = set; then : enableval=$enable_serialport; WANT_UNIXSERIALPORT=$enableval else WANT_UNIXSERIALPORT=yes fi # Check whether --with-fink was given. if test "${with_fink+set}" = set; then : withval=$with_fink; WITH_FINK=$withval else WITH_FINK=no fi # Check whether --with-classicconfig was given. if test "${with_classicconfig+set}" = set; then : withval=$with_classicconfig; WITH_CLASSIC_CONFIG=$withval else WITH_CLASSIC_CONFIG=no fi if [ "x$WANT_MMU" = "xyes" ]; then SUGGESTED_AUTO_FPE_CORE_TEST_ORDER="mpfr ieee uae" else SUGGESTED_AUTO_FPE_CORE_TEST_ORDER="ieee uae" fi # Check whether --enable-fpe was given. if test "${enable_fpe+set}" = set; then : enableval=$enable_fpe; case "$enableval" in auto) FPE_CORE_TEST_ORDER=$SUGGESTED_AUTO_FPE_CORE_TEST_ORDER;; ieee) FPE_CORE_TEST_ORDER="ieee";; uae) FPE_CORE_TEST_ORDER="uae";; x86) FPE_CORE_TEST_ORDER="x86";; mpfr) FPE_CORE_TEST_ORDER="mpfr";; *) as_fn_error $? "--enable-fpe takes only one of the following values: auto, uae, x86, ieee, mpfr" "$LINENO" 5;; esac else FPE_CORE_TEST_ORDER=$SUGGESTED_AUTO_FPE_CORE_TEST_ORDER fi # Check whether --enable-addressing was given. if test "${enable_addressing+set}" = set; then : enableval=$enable_addressing; case "$enableval" in direct) ADDRESSING_TEST_ORDER="direct";; normal) ADDRESSING_TEST_ORDER="normal";; fixed) ADDRESSING_TEST_ORDER="fixed";; *) as_fn_error $? "--enable-addressing takes only one of the following values: direct, fixed, normal" "$LINENO" 5;; esac else ADDRESSING_TEST_ORDER="direct normal" fi # Check whether --enable-addr-check was given. if test "${enable_addr_check+set}" = set; then : enableval=$enable_addr_check; case "$enableval" in no) MEMORY_CHECK="no";; full) MEMORY_CHECK="full";; page) MEMORY_CHECK="page";; hwsp) MEMORY_CHECK="hwsp";; pagehwsp) MEMORY_CHECK="pagehwsp";; sseg) MEMORY_CHECK="sseg";; *) as_fn_error $? "--enable-addr-check takes only one of the following values: no, full, page, hwsp, pagehwsp, sseg" "$LINENO" 5;; esac else MEMORY_CHECK="page" fi # Check whether --enable-spcflags-excl was given. if test "${enable_spcflags_excl+set}" = set; then : enableval=$enable_spcflags_excl; WANT_SPCFLAGS_EXCL=$enableval else WANT_SPCFLAGS_EXCL=no fi # Check whether --enable-jit-compiler was given. if test "${enable_jit_compiler+set}" = set; then : enableval=$enable_jit_compiler; WANT_JIT=$enableval else WANT_JIT=no fi # Check whether --enable-jit-fpu was given. if test "${enable_jit_fpu+set}" = set; then : enableval=$enable_jit_fpu; WANT_JIT_FPU=$enableval else WANT_JIT_FPU=no fi # Check whether --enable-jit-debug was given. if test "${enable_jit_debug+set}" = set; then : enableval=$enable_jit_debug; WANT_JIT_DEBUG=$enableval else WANT_JIT_DEBUG=no fi # Check whether --enable-ethernet was given. if test "${enable_ethernet+set}" = set; then : enableval=$enable_ethernet; WANT_ETHERNET=$enableval else WANT_ETHERNET=yes fi # Check whether --enable-bpf-ethernet was given. if test "${enable_bpf_ethernet+set}" = set; then : enableval=$enable_bpf_ethernet; WANT_BFP_ETHERNET=$enableval else WANT_BFP_ETHERNET=no fi # Check whether --enable-cxx-exceptions was given. if test "${enable_cxx_exceptions+set}" = set; then : enableval=$enable_cxx_exceptions; WANT_CXX_EXCEPTIONS=$enableval else WANT_CXX_EXCEPTIONS=yes fi case "$host_os" in linux*) OS_TYPE=linux;; openbsd*) OS_TYPE=openbsd;; netbsd*) OS_TYPE=netbsd;; freebsd*|kfreebsd*-gnu) OS_TYPE=freebsd;; solaris*) OS_TYPE=solaris;; darwin*) OS_TYPE=darwin;; cygwin*) OS_TYPE=cygwin;; irix*) OS_TYPE=irix;; mint*) OS_TYPE=mint;; beos*|haiku*) OS_TYPE=beos;; mingw*) OS_TYPE=mingw;; *) OS_TYPE=`echo $host_os | sed -e 's/-/_/g' | sed -e 's/\./_/g'`;; esac DEFINES="$DEFINES -DOS_$OS_TYPE" cat >>confdefs.h <<_ACEOF #define OS_TYPE "$OS_TYPE" _ACEOF ARCHFLAGS= HAVE_I386=no HAVE_ARM=no HAVE_SPARC=no HAVE_POWERPC=no HAVE_X86_64=no case "$host_cpu" in i386* | i486* | i586* | i686* | i786* ) CPU_TYPE=i386 HAVE_I386=yes if [ "x$OS_TYPE" = "xdarwin" ]; then ARCHFLAGS="-arch i386" if [ "x$DEVELOPER_SDK_DIR" = "x" ]; then DEVELOPER_SDK_DIR=/Developer/SDKs fi if [ ! -d "$DEVELOPER_SDK_DIR" ]; then as_fn_error $? "Cannot find SDKs directory at $DEVELOPER_SDK_DIR" "$LINENO" 5 fi case "$host_os" in darwin8* | darwin9* ) ISYSROOT="-mmacosx-version-min=10.4 -isysroot $DEVELOPER_SDK_DIR/MacOSX10.4u.sdk";; darwin10* ) ISYSROOT="-mmacosx-version-min=10.4 -isysroot $DEVELOPER_SDK_DIR/MacOSX10.5.sdk";; darwin11* | darwin12* ) ISYSROOT="-mmacosx-version-min=10.5";; darwin13* ) ISYSROOT="-mmacosx-version-min=10.7";; *) as_fn_error $? "Sorry, unknown Darwin version: $host_os" "$LINENO" 5 ;; esac CPPFLAGS="$CPPFLAGS $ISYSROOT $ARCHFLAGS" LDFLAGS="$LDFLAGS $ISYSROOT $ARCHFLAGS" fi ;; sparc* ) CPU_TYPE=sparc HAVE_SPARC=yes;; arm* ) CPU_TYPE=arm HAVE_ARM=yes;; powerpc* ) CPU_TYPE=powerpc HAVE_POWERPC=yes if [ "x$OS_TYPE" = "xdarwin" ]; then ARCHFLAGS="-arch ppc" ISYSROOT="-mmacosx-version-min=10.3" CPPFLAGS="$CPPFLAGS $ISYSROOT $ARCHFLAGS" LDFLAGS="$LDFLAGS $ISYSROOT $ARCHFLAGS" fi ;; x86_64* ) CPU_TYPE=x86_64 HAVE_X86_64=yes;; *) CPU_TYPE=`echo $host_cpu | sed -e 's/-/_/g'`;; esac DEFINES="$DEFINES -DCPU_$CPU_TYPE" cat >>confdefs.h <<_ACEOF #define CPU_TYPE "$CPU_TYPE" _ACEOF ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. set dummy ${ac_tool_prefix}gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_prog_CC"; then ac_ct_CC=$CC # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="gcc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi else CC="$ac_cv_prog_CC" fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. set dummy ${ac_tool_prefix}cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="${ac_tool_prefix}cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else ac_prog_rejected=no as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# != 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" fi fi fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$CC"; then if test -n "$ac_tool_prefix"; then for ac_prog in cl.exe do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CC="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CC=$ac_cv_prog_CC if test -n "$CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 $as_echo "$CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CC" && break done fi if test -z "$CC"; then ac_ct_CC=$CC for ac_prog in cl.exe do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CC+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CC"; then ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CC="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CC=$ac_cv_prog_ac_ct_CC if test -n "$ac_ct_CC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 $as_echo "$ac_ct_CC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CC" && break done if test "x$ac_ct_CC" = x; then CC="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CC=$ac_ct_CC fi fi fi test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "no acceptable C compiler found in \$PATH See \`config.log' for more details" "$LINENO" 5; } # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" # Try to create an executable without -o first, disregard a.out. # It will help us diagnose broken compilers, and finding out an intuition # of exeext. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 $as_echo_n "checking whether the C compiler works... " >&6; } ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` # The possible output files: ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" ac_rmfiles= for ac_file in $ac_files do case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; * ) ac_rmfiles="$ac_rmfiles $ac_file";; esac done rm -f $ac_rmfiles if { { ac_try="$ac_link_default" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link_default") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. # So ignore a value of `no', otherwise this would lead to `EXEEXT = no' # in a Makefile. We should not override ac_cv_exeext if it was cached, # so that the user can short-circuit this test for compilers unknown to # Autoconf. for ac_file in $ac_files '' do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; [ab].out ) # We found the default executable, but exeext='' is most # certainly right. break;; *.* ) if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; then :; else ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` fi # We set ac_cv_exeext here because the later test for it is not # safe: cross compilers may not add the suffix if given an `-o' # argument, so we may need to know it at that point already. # Even if this section looks crufty: it has the advantage of # actually working. break;; * ) break;; esac done test "$ac_cv_exeext" = no && ac_cv_exeext= else ac_file='' fi if test -z "$ac_file"; then : { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "C compiler cannot create executables See \`config.log' for more details" "$LINENO" 5; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 $as_echo_n "checking for C compiler default output file name... " >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 $as_echo "$ac_file" >&6; } ac_exeext=$ac_cv_exeext rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 $as_echo_n "checking for suffix of executables... " >&6; } if { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : # If both `conftest.exe' and `conftest' are `present' (well, observable) # catch `conftest.exe'. For instance with Cygwin, `ls conftest' will # work properly (i.e., refer to `conftest.exe'), while it won't with # `rm'. for ac_file in conftest.exe conftest conftest.*; do test -f "$ac_file" || continue case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` break;; * ) break;; esac done else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of executables: cannot compile and link See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest conftest$ac_cv_exeext { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 $as_echo "$ac_cv_exeext" >&6; } rm -f conftest.$ac_ext EXEEXT=$ac_cv_exeext ac_exeext=$EXEEXT cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { FILE *f = fopen ("conftest.out", "w"); return ferror (f) || fclose (f) != 0; ; return 0; } _ACEOF ac_clean_files="$ac_clean_files conftest.out" # Check that the compiler produces executables we can run. If not, either # the compiler is broken, or we cross compile. { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 $as_echo_n "checking whether we are cross compiling... " >&6; } if test "$cross_compiling" != yes; then { { ac_try="$ac_link" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_link") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } if { ac_try='./conftest$ac_cv_exeext' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then cross_compiling=no else if test "$cross_compiling" = maybe; then cross_compiling=yes else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot run C compiled programs. If you meant to cross compile, use \`--host'. See \`config.log' for more details" "$LINENO" 5; } fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 $as_echo "$cross_compiling" >&6; } rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out ac_clean_files=$ac_clean_files_save { $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 $as_echo_n "checking for suffix of object files... " >&6; } if ${ac_cv_objext+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF rm -f conftest.o conftest.obj if { { ac_try="$ac_compile" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compile") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then : for ac_file in conftest.o conftest.obj conftest.*; do test -f "$ac_file" || continue; case $ac_file in *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` break;; esac done else $as_echo "$as_me: failed program was:" >&5 sed 's/^/| /' conftest.$ac_ext >&5 { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "cannot compute suffix of object files: cannot compile See \`config.log' for more details" "$LINENO" 5; } fi rm -f conftest.$ac_cv_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 $as_echo "$ac_cv_objext" >&6; } OBJEXT=$ac_cv_objext ac_objext=$OBJEXT { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 $as_echo_n "checking whether we are using the GNU C compiler... " >&6; } if ${ac_cv_c_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_c_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 $as_echo "$ac_cv_c_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GCC=yes else GCC= fi ac_test_CFLAGS=${CFLAGS+set} ac_save_CFLAGS=$CFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 $as_echo_n "checking whether $CC accepts -g... " >&6; } if ${ac_cv_prog_cc_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_c_werror_flag=$ac_c_werror_flag ac_c_werror_flag=yes ac_cv_prog_cc_g=no CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes else CFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : else ac_c_werror_flag=$ac_save_c_werror_flag CFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_c_werror_flag=$ac_save_c_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 $as_echo "$ac_cv_prog_cc_g" >&6; } if test "$ac_test_CFLAGS" = set; then CFLAGS=$ac_save_CFLAGS elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 $as_echo_n "checking for $CC option to accept ISO C89... " >&6; } if ${ac_cv_prog_cc_c89+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_prog_cc_c89=no ac_save_CC=$CC cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include /* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ struct buf { int x; }; FILE * (*rcsopen) (struct buf *, struct stat *, int); static char *e (p, i) char **p; int i; { return p[i]; } static char *f (char * (*g) (char **, int), char **p, ...) { char *s; va_list v; va_start (v,p); s = g (p, va_arg (v,int)); va_end (v); return s; } /* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has function prototypes and stuff, but not '\xHH' hex character constants. These don't provoke an error unfortunately, instead are silently treated as 'x'. The following induces an error, until -std is added to get proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an array size at least. It's necessary to write '\x00'==0 to get something that's true only with -std. */ int osf4_cc_array ['\x00' == 0 ? 1 : -1]; /* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters inside strings and character constants. */ #define FOO(x) 'x' int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; int test (int i, double x); struct s1 {int (*f) (int a);}; struct s2 {int (*f) (double a);}; int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); int argc; char **argv; int main () { return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; ; return 0; } _ACEOF for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" do CC="$ac_save_CC $ac_arg" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_prog_cc_c89=$ac_arg fi rm -f core conftest.err conftest.$ac_objext test "x$ac_cv_prog_cc_c89" != "xno" && break done rm -f conftest.$ac_ext CC=$ac_save_CC fi # AC_CACHE_VAL case "x$ac_cv_prog_cc_c89" in x) { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 $as_echo "none needed" >&6; } ;; xno) { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 $as_echo "unsupported" >&6; } ;; *) CC="$CC $ac_cv_prog_cc_c89" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 $as_echo "$ac_cv_prog_cc_c89" >&6; } ;; esac if test "x$ac_cv_prog_cc_c89" != xno; then : fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu if test "x$CC" != xcc; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC and cc understand -c and -o together" >&5 $as_echo_n "checking whether $CC and cc understand -c and -o together... " >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether cc understands -c and -o together" >&5 $as_echo_n "checking whether cc understands -c and -o together... " >&6; } fi set dummy $CC; ac_cc=`$as_echo "$2" | sed 's/[^a-zA-Z0-9_]/_/g;s/^[0-9]/_/'` if eval \${ac_cv_prog_cc_${ac_cc}_c_o+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF # Make sure it works both with $CC and with simple cc. # We do the test twice because some compilers refuse to overwrite an # existing .o file with -o, though they will create one. ac_try='$CC -c conftest.$ac_ext -o conftest2.$ac_objext >&5' rm -f conftest2.* if { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -f conftest2.$ac_objext && { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then eval ac_cv_prog_cc_${ac_cc}_c_o=yes if test "x$CC" != xcc; then # Test first that cc exists at all. if { ac_try='cc -c conftest.$ac_ext >&5' { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; }; then ac_try='cc -c conftest.$ac_ext -o conftest2.$ac_objext >&5' rm -f conftest2.* if { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } && test -f conftest2.$ac_objext && { { case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_try") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then # cc works too. : else # cc exists but doesn't like -o. eval ac_cv_prog_cc_${ac_cc}_c_o=no fi fi fi else eval ac_cv_prog_cc_${ac_cc}_c_o=no fi rm -f core conftest* fi if eval test \$ac_cv_prog_cc_${ac_cc}_c_o = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } $as_echo "#define NO_MINUS_C_MINUS_O 1" >>confdefs.h fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 $as_echo_n "checking how to run the C preprocessor... " >&6; } # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if ${ac_cv_prog_CPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CPP needs to be expanded for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" do ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CPP=$CPP fi CPP=$ac_cv_prog_CPP else ac_cv_prog_CPP=$CPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 $as_echo "$CPP" >&6; } ac_preproc_ok=false for ac_c_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_c_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C preprocessor \"$CPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test -z "$CXX"; then if test -n "$CCC"; then CXX=$CCC else if test -n "$ac_tool_prefix"; then for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. set dummy $ac_tool_prefix$ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_CXX="$ac_tool_prefix$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi CXX=$ac_cv_prog_CXX if test -n "$CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXX" >&5 $as_echo "$CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$CXX" && break done fi if test -z "$CXX"; then ac_ct_CXX=$CXX for ac_prog in g++ c++ gpp aCC CC cxx cc++ cl.exe FCC KCC RCC xlC_r xlC do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_prog_ac_ct_CXX+:} false; then : $as_echo_n "(cached) " >&6 else if test -n "$ac_ct_CXX"; then ac_cv_prog_ac_ct_CXX="$ac_ct_CXX" # Let the user override the test. else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_prog_ac_ct_CXX="$ac_prog" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS fi fi ac_ct_CXX=$ac_cv_prog_ac_ct_CXX if test -n "$ac_ct_CXX"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CXX" >&5 $as_echo "$ac_ct_CXX" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi test -n "$ac_ct_CXX" && break done if test "x$ac_ct_CXX" = x; then CXX="g++" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac CXX=$ac_ct_CXX fi fi fi fi # Provide some information about the compiler. $as_echo "$as_me:${as_lineno-$LINENO}: checking for C++ compiler version" >&5 set X $ac_compile ac_compiler=$2 for ac_option in --version -v -V -qversion; do { { ac_try="$ac_compiler $ac_option >&5" case "(($ac_try" in *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; *) ac_try_echo=$ac_try;; esac eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" $as_echo "$ac_try_echo"; } >&5 (eval "$ac_compiler $ac_option >&5") 2>conftest.err ac_status=$? if test -s conftest.err; then sed '10a\ ... rest of stderr output deleted ... 10q' conftest.err >conftest.er1 cat conftest.er1 >&5 fi rm -f conftest.er1 conftest.err $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; } done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C++ compiler" >&5 $as_echo_n "checking whether we are using the GNU C++ compiler... " >&6; } if ${ac_cv_cxx_compiler_gnu+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { #ifndef __GNUC__ choke me #endif ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_compiler_gnu=yes else ac_compiler_gnu=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_cxx_compiler_gnu=$ac_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_compiler_gnu" >&5 $as_echo "$ac_cv_cxx_compiler_gnu" >&6; } if test $ac_compiler_gnu = yes; then GXX=yes else GXX= fi ac_test_CXXFLAGS=${CXXFLAGS+set} ac_save_CXXFLAGS=$CXXFLAGS { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CXX accepts -g" >&5 $as_echo_n "checking whether $CXX accepts -g... " >&6; } if ${ac_cv_prog_cxx_g+:} false; then : $as_echo_n "(cached) " >&6 else ac_save_cxx_werror_flag=$ac_cxx_werror_flag ac_cxx_werror_flag=yes ac_cv_prog_cxx_g=no CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes else CXXFLAGS="" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : else ac_cxx_werror_flag=$ac_save_cxx_werror_flag CXXFLAGS="-g" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_prog_cxx_g=yes fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cxx_werror_flag=$ac_save_cxx_werror_flag fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cxx_g" >&5 $as_echo "$ac_cv_prog_cxx_g" >&6; } if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS=$ac_save_CXXFLAGS elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C++ preprocessor" >&5 $as_echo_n "checking how to run the C++ preprocessor... " >&6; } if test -z "$CXXCPP"; then if ${ac_cv_prog_CXXCPP+:} false; then : $as_echo_n "(cached) " >&6 else # Double quotes because CXXCPP needs to be expanded for CXXCPP in "$CXX -E" "/lib/cpp" do ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : break fi done ac_cv_prog_CXXCPP=$CXXCPP fi CXXCPP=$ac_cv_prog_CXXCPP else ac_cv_prog_CXXCPP=$CXXCPP fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CXXCPP" >&5 $as_echo "$CXXCPP" >&6; } ac_preproc_ok=false for ac_cxx_preproc_warn_flag in '' yes do # Use a header file that comes with gcc, so configuring glibc # with a fresh cross-compiler works. # Prefer to if __STDC__ is defined, since # exists even on freestanding compilers. # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. "Syntax error" is here to catch this case. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifdef __STDC__ # include #else # include #endif Syntax error _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : else # Broken: fails on valid input. continue fi rm -f conftest.err conftest.i conftest.$ac_ext # OK, works on sane cases. Now check whether nonexistent headers # can be detected and how. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if ac_fn_cxx_try_cpp "$LINENO"; then : # Broken: success on invalid input. continue else # Passes both tests. ac_preproc_ok=: break fi rm -f conftest.err conftest.i conftest.$ac_ext done # Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. rm -f conftest.i conftest.err conftest.$ac_ext if $ac_preproc_ok; then : else { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "C++ preprocessor \"$CXXCPP\" fails sanity check See \`config.log' for more details" "$LINENO" 5; } fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ${MAKE-make} sets \$(MAKE)" >&5 $as_echo_n "checking whether ${MAKE-make} sets \$(MAKE)... " >&6; } set x ${MAKE-make} ac_make=`$as_echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'` if eval \${ac_cv_prog_make_${ac_make}_set+:} false; then : $as_echo_n "(cached) " >&6 else cat >conftest.make <<\_ACEOF SHELL = /bin/sh all: @echo '@@@%%%=$(MAKE)=@@@%%%' _ACEOF # GNU make sometimes prints "make[1]: Entering ...", which would confuse us. case `${MAKE-make} -f conftest.make 2>/dev/null` in *@@@%%%=?*=@@@%%%*) eval ac_cv_prog_make_${ac_make}_set=yes;; *) eval ac_cv_prog_make_${ac_make}_set=no;; esac rm -f conftest.make fi if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } SET_MAKE= else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } SET_MAKE="MAKE=${MAKE-make}" fi # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AmigaOS /C/install, which installs bootblocks on floppy discs # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # OS/2's system install, which has a completely different semantic # ./install, which can be erroneously created by make from ./install.sh. # Reject install programs that cannot install multiple files. { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5 $as_echo_n "checking for a BSD-compatible install... " >&6; } if test -z "$INSTALL"; then if ${ac_cv_path_install+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. # Account for people who put trailing slashes in PATH elements. case $as_dir/ in #(( ./ | .// | /[cC]/* | \ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \ /usr/ucb/* ) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then if test $ac_prog = install && grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : elif test $ac_prog = install && grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then # program-specific install script used by HP pwplus--don't use. : else rm -rf conftest.one conftest.two conftest.dir echo one > conftest.one echo two > conftest.two mkdir conftest.dir if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" && test -s conftest.one && test -s conftest.two && test -s conftest.dir/conftest.one && test -s conftest.dir/conftest.two then ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" break 3 fi fi fi done done ;; esac done IFS=$as_save_IFS rm -rf conftest.one conftest.two conftest.dir fi if test "${ac_cv_path_install+set}" = set; then INSTALL=$ac_cv_path_install else # As a last resort, use the slow shell script. Don't cache a # value for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. INSTALL=$ac_install_sh fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5 $as_echo "$INSTALL" >&6; } # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' { $as_echo "$as_me:${as_lineno-$LINENO}: checking for a thread-safe mkdir -p" >&5 $as_echo_n "checking for a thread-safe mkdir -p... " >&6; } if test -z "$MKDIR_P"; then if ${ac_cv_path_mkdir+:} false; then : $as_echo_n "(cached) " >&6 else as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/opt/sfw/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in mkdir gmkdir; do for ac_exec_ext in '' $ac_executable_extensions; do { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; } || continue case `"$as_dir/$ac_prog$ac_exec_ext" --version 2>&1` in #( 'mkdir (GNU coreutils) '* | \ 'mkdir (coreutils) '* | \ 'mkdir (fileutils) '4.1*) ac_cv_path_mkdir=$as_dir/$ac_prog$ac_exec_ext break 3;; esac done done done IFS=$as_save_IFS fi test -d ./--version && rmdir ./--version if test "${ac_cv_path_mkdir+set}" = set; then MKDIR_P="$ac_cv_path_mkdir -p" else # As a last resort, use the slow shell script. Don't cache a # value for MKDIR_P within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the value is a relative name. MKDIR_P="$ac_install_sh -d" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MKDIR_P" >&5 $as_echo "$MKDIR_P" >&6; } # Extract the first word of "perl", so it can be a program name with args. set dummy perl; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_PERL+:} false; then : $as_echo_n "(cached) " >&6 else case $PERL in [\\/]* | ?:[\\/]*) ac_cv_path_PERL="$PERL" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PERL="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi PERL=$ac_cv_path_PERL if test -n "$PERL"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PERL" >&5 $as_echo "$PERL" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_cv_env_PKG_CONFIG_set" != "xset"; then if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}pkg-config", so it can be a program name with args. set dummy ${ac_tool_prefix}pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_PKG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_PKG_CONFIG="$PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi PKG_CONFIG=$ac_cv_path_PKG_CONFIG if test -n "$PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $PKG_CONFIG" >&5 $as_echo "$PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi fi if test -z "$ac_cv_path_PKG_CONFIG"; then ac_pt_PKG_CONFIG=$PKG_CONFIG # Extract the first word of "pkg-config", so it can be a program name with args. set dummy pkg-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_ac_pt_PKG_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $ac_pt_PKG_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_ac_pt_PKG_CONFIG="$ac_pt_PKG_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_ac_pt_PKG_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS ;; esac fi ac_pt_PKG_CONFIG=$ac_cv_path_ac_pt_PKG_CONFIG if test -n "$ac_pt_PKG_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_pt_PKG_CONFIG" >&5 $as_echo "$ac_pt_PKG_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$ac_pt_PKG_CONFIG" = x; then PKG_CONFIG="" else case $cross_compiling:$ac_tool_warned in yes:) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 $as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} ac_tool_warned=yes ;; esac PKG_CONFIG=$ac_pt_PKG_CONFIG fi else PKG_CONFIG="$ac_cv_path_PKG_CONFIG" fi fi if test -n "$PKG_CONFIG"; then _pkg_min_version=0.9.0 { $as_echo "$as_me:${as_lineno-$LINENO}: checking pkg-config is at least version $_pkg_min_version" >&5 $as_echo_n "checking pkg-config is at least version $_pkg_min_version... " >&6; } if $PKG_CONFIG --atleast-pkgconfig-version $_pkg_min_version; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } PKG_CONFIG="" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5 $as_echo_n "checking for grep that handles long lines and -e... " >&6; } if ${ac_cv_path_GREP+:} false; then : $as_echo_n "(cached) " >&6 else if test -z "$GREP"; then ac_path_GREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in grep ggrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue # Check for GNU ac_path_GREP and select it if it is found. # Check for GNU $ac_path_GREP case `"$ac_path_GREP" --version 2>&1` in *GNU*) ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'GREP' >> "conftest.nl" "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_GREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_GREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_GREP"; then as_fn_error $? "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_GREP=$GREP fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5 $as_echo "$ac_cv_path_GREP" >&6; } GREP="$ac_cv_path_GREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5 $as_echo_n "checking for egrep... " >&6; } if ${ac_cv_path_EGREP+:} false; then : $as_echo_n "(cached) " >&6 else if echo a | $GREP -E '(a|b)' >/dev/null 2>&1 then ac_cv_path_EGREP="$GREP -E" else if test -z "$EGREP"; then ac_path_EGREP_found=false # Loop through the user's path and test for each of PROGNAME-LIST as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_prog in egrep; do for ac_exec_ext in '' $ac_executable_extensions; do ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext" { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue # Check for GNU ac_path_EGREP and select it if it is found. # Check for GNU $ac_path_EGREP case `"$ac_path_EGREP" --version 2>&1` in *GNU*) ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;; *) ac_count=0 $as_echo_n 0123456789 >"conftest.in" while : do cat "conftest.in" "conftest.in" >"conftest.tmp" mv "conftest.tmp" "conftest.in" cp "conftest.in" "conftest.nl" $as_echo 'EGREP' >> "conftest.nl" "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break as_fn_arith $ac_count + 1 && ac_count=$as_val if test $ac_count -gt ${ac_path_EGREP_max-0}; then # Best one so far, save it but keep looking for a better one ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_max=$ac_count fi # 10*(2^10) chars as input seems more than enough test $ac_count -gt 10 && break done rm -f conftest.in conftest.tmp conftest.nl conftest.out;; esac $ac_path_EGREP_found && break 3 done done done IFS=$as_save_IFS if test -z "$ac_cv_path_EGREP"; then as_fn_error $? "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5 fi else ac_cv_path_EGREP=$EGREP fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5 $as_echo "$ac_cv_path_EGREP" >&6; } EGREP="$ac_cv_path_EGREP" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5 $as_echo_n "checking for ANSI C header files... " >&6; } if ${ac_cv_header_stdc+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_stdc=yes else ac_cv_header_stdc=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "memchr" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include _ACEOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | $EGREP "free" >/dev/null 2>&1; then : else ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : : else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if ((' ' & 0x0FF) == 0x020) # define ISLOWER(c) ('a' <= (c) && (c) <= 'z') # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #else # define ISLOWER(c) \ (('a' <= (c) && (c) <= 'i') \ || ('j' <= (c) && (c) <= 'r') \ || ('s' <= (c) && (c) <= 'z')) # define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) #endif #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) return 2; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else ac_cv_header_stdc=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_stdc" >&5 $as_echo "$ac_cv_header_stdc" >&6; } if test $ac_cv_header_stdc = yes; then $as_echo "#define STDC_HEADERS 1" >>confdefs.h fi ac_header_dirent=no for ac_hdr in dirent.h sys/ndir.h sys/dir.h ndir.h; do as_ac_Header=`$as_echo "ac_cv_header_dirent_$ac_hdr" | $as_tr_sh` { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_hdr that defines DIR" >&5 $as_echo_n "checking for $ac_hdr that defines DIR... " >&6; } if eval \${$as_ac_Header+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include <$ac_hdr> int main () { if ((DIR *) 0) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : eval "$as_ac_Header=yes" else eval "$as_ac_Header=no" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi eval ac_res=\$$as_ac_Header { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5 $as_echo "$ac_res" >&6; } if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_hdr" | $as_tr_cpp` 1 _ACEOF ac_header_dirent=$ac_hdr; break fi done # Two versions of opendir et al. are in -ldir and -lx on SCO Xenix. if test $ac_header_dirent = dirent.h; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 $as_echo_n "checking for library containing opendir... " >&6; } if ${ac_cv_search_opendir+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char opendir (); int main () { return opendir (); ; return 0; } _ACEOF for ac_lib in '' dir; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_opendir=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if ${ac_cv_search_opendir+:} false; then : break fi done if ${ac_cv_search_opendir+:} false; then : else ac_cv_search_opendir=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 $as_echo "$ac_cv_search_opendir" >&6; } ac_res=$ac_cv_search_opendir if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi else { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing opendir" >&5 $as_echo_n "checking for library containing opendir... " >&6; } if ${ac_cv_search_opendir+:} false; then : $as_echo_n "(cached) " >&6 else ac_func_search_save_LIBS=$LIBS cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char opendir (); int main () { return opendir (); ; return 0; } _ACEOF for ac_lib in '' x; do if test -z "$ac_lib"; then ac_res="none required" else ac_res=-l$ac_lib LIBS="-l$ac_lib $ac_func_search_save_LIBS" fi if ac_fn_c_try_link "$LINENO"; then : ac_cv_search_opendir=$ac_res fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext if ${ac_cv_search_opendir+:} false; then : break fi done if ${ac_cv_search_opendir+:} false; then : else ac_cv_search_opendir=no fi rm conftest.$ac_ext LIBS=$ac_func_search_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_opendir" >&5 $as_echo "$ac_cv_search_opendir" >&6; } ac_res=$ac_cv_search_opendir if test "$ac_res" != no; then : test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" fi fi # On IRIX 5.3, sys/types and inttypes.h are conflicting. for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ inttypes.h stdint.h unistd.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in unistd.h fcntl.h sys/mman.h mach/mach.h sys/ioctl.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in getopt.h do : ac_fn_c_check_header_mongrel "$LINENO" "getopt.h" "ac_cv_header_getopt_h" "$ac_includes_default" if test "x$ac_cv_header_getopt_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_GETOPT_H 1 _ACEOF fi done for ac_header in termios.h termio.h alloca.h sys/statfs.h sys/statvfs.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in sys/types.h sys/stat.h sys/vfs.h utime.h sys/param.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in sys/mount.h types.h stat.h ext2fs/ext2_fs.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in sys/socket.h do : ac_fn_c_check_header_mongrel "$LINENO" "sys/socket.h" "ac_cv_header_sys_socket_h" "$ac_includes_default" if test "x$ac_cv_header_sys_socket_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SYS_SOCKET_H 1 _ACEOF fi done for ac_header in linux/if.h linux/if_tun.h net/if.h net/if_tun.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" " #ifdef HAVE_SYS_SOCKET_H #include #endif " if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done for ac_header in net/bpf.h do : ac_fn_c_check_header_mongrel "$LINENO" "net/bpf.h" "ac_cv_header_net_bpf_h" "$ac_includes_default" if test "x$ac_cv_header_net_bpf_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_NET_BPF_H 1 _ACEOF fi done { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5 $as_echo_n "checking whether byte ordering is bigendian... " >&6; } if ${ac_cv_c_bigendian+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_c_bigendian=unknown # See if we're dealing with a universal compiler. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __APPLE_CC__ not a universal capable compiler #endif typedef int dummy; _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # Check for potential -arch flags. It is not universal unless # there are at least two -arch flags with different values. ac_arch= ac_prev= for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do if test -n "$ac_prev"; then case $ac_word in i?86 | x86_64 | ppc | ppc64) if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then ac_arch=$ac_word else ac_cv_c_bigendian=universal break fi ;; esac ac_prev= elif test "x$ac_word" = "x-arch"; then ac_prev=arch fi done fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext if test $ac_cv_c_bigendian = unknown; then # See if sys/param.h defines the BYTE_ORDER macro. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { #if ! (defined BYTE_ORDER && defined BIG_ENDIAN \ && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \ && LITTLE_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # It does; now see whether it defined to BIG_ENDIAN or not. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { #if BYTE_ORDER != BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_bigendian=yes else ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # See if defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris). cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN) bogus endian macros #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : # It does; now see whether it defined to _BIG_ENDIAN or not. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { #ifndef _BIG_ENDIAN not big endian #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_bigendian=yes else ac_cv_c_bigendian=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi if test $ac_cv_c_bigendian = unknown; then # Compile a test program. if test "$cross_compiling" = yes; then : # Try to guess by grepping values from an object file. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ short int ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; short int ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; int use_ascii (int i) { return ascii_mm[i] + ascii_ii[i]; } short int ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; short int ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; int use_ebcdic (int i) { return ebcdic_mm[i] + ebcdic_ii[i]; } extern int foo; int main () { return use_ascii (foo) == use_ebcdic (foo); ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then ac_cv_c_bigendian=yes fi if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then if test "$ac_cv_c_bigendian" = unknown; then ac_cv_c_bigendian=no else # finding both strings is unlikely to happen, but who knows? ac_cv_c_bigendian=unknown fi fi fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ $ac_includes_default int main () { /* Are we little or big endian? From Harbison&Steele. */ union { long int l; char c[sizeof (long int)]; } u; u.l = 1; return u.c[sizeof (long int) - 1] == 1; ; return 0; } _ACEOF if ac_fn_c_try_run "$LINENO"; then : ac_cv_c_bigendian=no else ac_cv_c_bigendian=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5 $as_echo "$ac_cv_c_bigendian" >&6; } case $ac_cv_c_bigendian in #( yes) $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h ;; #( no) ;; #( universal) $as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h ;; #( *) as_fn_error $? "unknown endianness presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for an ANSI C-conforming const" >&5 $as_echo_n "checking for an ANSI C-conforming const... " >&6; } if ${ac_cv_c_const+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { /* FIXME: Include the comments suggested by Paul. */ #ifndef __cplusplus /* Ultrix mips cc rejects this. */ typedef int charset[2]; const charset cs; /* SunOS 4.1.1 cc rejects this. */ char const *const *pcpcc; char **ppc; /* NEC SVR4.0.2 mips cc rejects this. */ struct point {int x, y;}; static struct point const zero = {0,0}; /* AIX XL C 1.02.0.0 rejects this. It does not let you subtract one const X* pointer from another in an arm of an if-expression whose if-part is not a constant expression */ const char *g = "string"; pcpcc = &g + (g ? g-g : 0); /* HPUX 7.0 cc rejects these. */ ++pcpcc; ppc = (char**) pcpcc; pcpcc = (char const *const *) ppc; { /* SCO 3.2v4 cc rejects this. */ char *t; char const *s = 0 ? (char *) 0 : (char const *) 0; *t++ = 0; if (s) return 0; } { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ int x[] = {25, 17}; const int *foo = &x[0]; ++foo; } { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ typedef const int *iptr; iptr p = 0; ++p; } { /* AIX XL C 1.02.0.0 rejects this saying "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ struct s { int j; const int *ap[3]; }; struct s *b; b->j = 5; } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; if (!foo) return 0; } return !cs[0] && !zero.x; #endif ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_const=yes else ac_cv_c_const=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_const" >&5 $as_echo "$ac_cv_c_const" >&6; } if test $ac_cv_c_const = no; then $as_echo "#define const /**/" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for inline" >&5 $as_echo_n "checking for inline... " >&6; } if ${ac_cv_c_inline+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_c_inline=no for ac_kw in inline __inline__ __inline; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #ifndef __cplusplus typedef int foo_t; static $ac_kw foo_t static_foo () {return 0; } $ac_kw foo_t foo () {return 0; } #endif _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_inline=$ac_kw fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext test "$ac_cv_c_inline" != no && break done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_inline" >&5 $as_echo "$ac_cv_c_inline" >&6; } case $ac_cv_c_inline in inline | yes) ;; *) case $ac_cv_c_inline in no) ac_val=;; *) ac_val=$ac_cv_c_inline;; esac cat >>confdefs.h <<_ACEOF #ifndef __cplusplus #define inline $ac_val #endif _ACEOF ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for working volatile" >&5 $as_echo_n "checking for working volatile... " >&6; } if ${ac_cv_c_volatile+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { volatile int x; int * volatile y = (int *) 0; return !x && !y; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_c_volatile=yes else ac_cv_c_volatile=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_volatile" >&5 $as_echo "$ac_cv_c_volatile" >&6; } if test $ac_cv_c_volatile = no; then $as_echo "#define volatile /**/" >>confdefs.h fi # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of short" >&5 $as_echo_n "checking size of short... " >&6; } if ${ac_cv_sizeof_short+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (short))" "ac_cv_sizeof_short" "$ac_includes_default"; then : else if test "$ac_cv_type_short" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (short) See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_short=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_short" >&5 $as_echo "$ac_cv_sizeof_short" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_SHORT $ac_cv_sizeof_short _ACEOF # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of int" >&5 $as_echo_n "checking size of int... " >&6; } if ${ac_cv_sizeof_int+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (int))" "ac_cv_sizeof_int" "$ac_includes_default"; then : else if test "$ac_cv_type_int" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (int) See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_int=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_int" >&5 $as_echo "$ac_cv_sizeof_int" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_INT $ac_cv_sizeof_int _ACEOF # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long" >&5 $as_echo_n "checking size of long... " >&6; } if ${ac_cv_sizeof_long+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long))" "ac_cv_sizeof_long" "$ac_includes_default"; then : else if test "$ac_cv_type_long" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (long) See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_long=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long" >&5 $as_echo "$ac_cv_sizeof_long" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_LONG $ac_cv_sizeof_long _ACEOF # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long long" >&5 $as_echo_n "checking size of long long... " >&6; } if ${ac_cv_sizeof_long_long+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long long))" "ac_cv_sizeof_long_long" "$ac_includes_default"; then : else if test "$ac_cv_type_long_long" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (long long) See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_long_long=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_long" >&5 $as_echo "$ac_cv_sizeof_long_long" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_LONG_LONG $ac_cv_sizeof_long_long _ACEOF # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of float" >&5 $as_echo_n "checking size of float... " >&6; } if ${ac_cv_sizeof_float+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (float))" "ac_cv_sizeof_float" "$ac_includes_default"; then : else if test "$ac_cv_type_float" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (float) See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_float=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_float" >&5 $as_echo "$ac_cv_sizeof_float" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_FLOAT $ac_cv_sizeof_float _ACEOF # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of double" >&5 $as_echo_n "checking size of double... " >&6; } if ${ac_cv_sizeof_double+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (double))" "ac_cv_sizeof_double" "$ac_includes_default"; then : else if test "$ac_cv_type_double" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (double) See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_double=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_double" >&5 $as_echo "$ac_cv_sizeof_double" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_DOUBLE $ac_cv_sizeof_double _ACEOF # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of long double" >&5 $as_echo_n "checking size of long double... " >&6; } if ${ac_cv_sizeof_long_double+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (long double))" "ac_cv_sizeof_long_double" "$ac_includes_default"; then : else if test "$ac_cv_type_long_double" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (long double) See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_long_double=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_long_double" >&5 $as_echo "$ac_cv_sizeof_long_double" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_LONG_DOUBLE $ac_cv_sizeof_long_double _ACEOF # The cast to long int works around a bug in the HP C Compiler # version HP92453-01 B.11.11.23709.GP, which incorrectly rejects # declarations like `int a3[[(sizeof (unsigned char)) >= 0]];'. # This bug is HP SR number 8606223364. { $as_echo "$as_me:${as_lineno-$LINENO}: checking size of void *" >&5 $as_echo_n "checking size of void *... " >&6; } if ${ac_cv_sizeof_void_p+:} false; then : $as_echo_n "(cached) " >&6 else if ac_fn_c_compute_int "$LINENO" "(long int) (sizeof (void *))" "ac_cv_sizeof_void_p" "$ac_includes_default"; then : else if test "$ac_cv_type_void_p" = yes; then { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error 77 "cannot compute sizeof (void *) See \`config.log' for more details" "$LINENO" 5; } else ac_cv_sizeof_void_p=0 fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sizeof_void_p" >&5 $as_echo "$ac_cv_sizeof_void_p" >&6; } cat >>confdefs.h <<_ACEOF #define SIZEOF_VOID_P $ac_cv_sizeof_void_p _ACEOF ac_fn_c_check_type "$LINENO" "off_t" "ac_cv_type_off_t" "$ac_includes_default" if test "x$ac_cv_type_off_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define off_t long int _ACEOF fi ac_fn_c_check_type "$LINENO" "loff_t" "ac_cv_type_loff_t" "$ac_includes_default" if test "x$ac_cv_type_loff_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define loff_t off_t _ACEOF fi ac_fn_c_check_type "$LINENO" "size_t" "ac_cv_type_size_t" "$ac_includes_default" if test "x$ac_cv_type_size_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define size_t unsigned int _ACEOF fi ac_fn_c_check_type "$LINENO" "ssize_t" "ac_cv_type_ssize_t" "$ac_includes_default" if test "x$ac_cv_type_ssize_t" = xyes; then : else cat >>confdefs.h <<_ACEOF #define ssize_t size_t _ACEOF fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5 $as_echo_n "checking return type of signal handlers... " >&6; } if ${ac_cv_type_signal+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { return *(signal (0, 0)) (0) == 1; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_type_signal=int else ac_cv_type_signal=void fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_signal" >&5 $as_echo "$ac_cv_type_signal" >&6; } cat >>confdefs.h <<_ACEOF #define RETSIGTYPE $ac_cv_type_signal _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether time.h and sys/time.h may both be included" >&5 $as_echo_n "checking whether time.h and sys/time.h may both be included... " >&6; } if ${ac_cv_header_time+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include int main () { if ((struct tm *) 0) return 0; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_header_time=yes else ac_cv_header_time=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_header_time" >&5 $as_echo "$ac_cv_header_time" >&6; } if test $ac_cv_header_time = yes; then $as_echo "#define TIME_WITH_SYS_TIME 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct tm is in sys/time.h or time.h" >&5 $as_echo_n "checking whether struct tm is in sys/time.h or time.h... " >&6; } if ${ac_cv_struct_tm+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { struct tm tm; int *p = &tm.tm_sec; return !p; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_struct_tm=time.h else ac_cv_struct_tm=sys/time.h fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_struct_tm" >&5 $as_echo "$ac_cv_struct_tm" >&6; } if test $ac_cv_struct_tm = sys/time.h; then $as_echo "#define TM_IN_SYS_TIME 1" >>confdefs.h fi # Check whether --enable-largefile was given. if test "${enable_largefile+set}" = set; then : enableval=$enable_largefile; fi if test "$enable_largefile" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5 $as_echo_n "checking for special C compiler options needed for large files... " >&6; } if ${ac_cv_sys_largefile_CC+:} false; then : $as_echo_n "(cached) " >&6 else ac_cv_sys_largefile_CC=no if test "$GCC" != yes; then ac_save_CC=$CC while :; do # IRIX 6.2 and later do not support large files by default, # so use the C compiler's -n32 option if that helps. cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : break fi rm -f core conftest.err conftest.$ac_objext CC="$CC -n32" if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_largefile_CC=' -n32'; break fi rm -f core conftest.err conftest.$ac_objext break done CC=$ac_save_CC rm -f conftest.$ac_ext fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5 $as_echo "$ac_cv_sys_largefile_CC" >&6; } if test "$ac_cv_sys_largefile_CC" != no; then CC=$CC$ac_cv_sys_largefile_CC fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 $as_echo_n "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } if ${ac_cv_sys_file_offset_bits+:} false; then : $as_echo_n "(cached) " >&6 else while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_file_offset_bits=no; break fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _FILE_OFFSET_BITS 64 #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_file_offset_bits=64; break fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_sys_file_offset_bits=unknown break done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5 $as_echo "$ac_cv_sys_file_offset_bits" >&6; } case $ac_cv_sys_file_offset_bits in #( no | unknown) ;; *) cat >>confdefs.h <<_ACEOF #define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits _ACEOF ;; esac rm -rf conftest* if test $ac_cv_sys_file_offset_bits = unknown; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 $as_echo_n "checking for _LARGE_FILES value needed for large files... " >&6; } if ${ac_cv_sys_large_files+:} false; then : $as_echo_n "(cached) " >&6 else while :; do cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_large_files=no; break fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _LARGE_FILES 1 #include /* Check that off_t can represent 2**63 - 1 correctly. We can't simply define LARGE_OFF_T to be 9223372036854775807, since some C++ compilers masquerading as C compilers incorrectly reject 9223372036854775807. */ #define LARGE_OFF_T (((off_t) 1 << 62) - 1 + ((off_t) 1 << 62)) int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 && LARGE_OFF_T % 2147483647 == 1) ? 1 : -1]; int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_sys_large_files=1; break fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_cv_sys_large_files=unknown break done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5 $as_echo "$ac_cv_sys_large_files" >&6; } case $ac_cv_sys_large_files in #( no | unknown) ;; *) cat >>confdefs.h <<_ACEOF #define _LARGE_FILES $ac_cv_sys_large_files _ACEOF ;; esac rm -rf conftest* fi fi ac_fn_c_check_member "$LINENO" "struct tm" "tm_gmtoff" "ac_cv_member_struct_tm_tm_gmtoff" "#include " if test "x$ac_cv_member_struct_tm_tm_gmtoff" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_TM_TM_GMTOFF 1 _ACEOF fi for ac_header in sys/time.h do : ac_fn_c_check_header_mongrel "$LINENO" "sys/time.h" "ac_cv_header_sys_time_h" "$ac_includes_default" if test "x$ac_cv_header_sys_time_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_SYS_TIME_H 1 _ACEOF fi done ac_fn_c_check_member "$LINENO" "struct stat" "st_atim.tv_nsec" "ac_cv_member_struct_stat_st_atim_tv_nsec" "#include #include " if test "x$ac_cv_member_struct_stat_st_atim_tv_nsec" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_ATIM_TV_NSEC 1 _ACEOF { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether struct stat.st_atim is of type struct timespec" >&5 $as_echo_n "checking whether struct stat.st_atim is of type struct timespec... " >&6; } if ${ac_cv_typeof_struct_stat_st_atim_is_struct_timespec+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #if HAVE_SYS_TIME_H # include #endif #include struct timespec ts; struct stat st; int main () { st.st_atim = ts; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=yes else ac_cv_typeof_struct_stat_st_atim_is_struct_timespec=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_typeof_struct_stat_st_atim_is_struct_timespec" >&5 $as_echo "$ac_cv_typeof_struct_stat_st_atim_is_struct_timespec" >&6; } if test $ac_cv_typeof_struct_stat_st_atim_is_struct_timespec = yes; then $as_echo "#define TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC 1" >>confdefs.h fi else ac_fn_c_check_member "$LINENO" "struct stat" "st_atimespec.tv_nsec" "ac_cv_member_struct_stat_st_atimespec_tv_nsec" "#include #include " if test "x$ac_cv_member_struct_stat_st_atimespec_tv_nsec" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_ATIMESPEC_TV_NSEC 1 _ACEOF else ac_fn_c_check_member "$LINENO" "struct stat" "st_atimensec" "ac_cv_member_struct_stat_st_atimensec" "#include #include " if test "x$ac_cv_member_struct_stat_st_atimensec" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_ATIMENSEC 1 _ACEOF else ac_fn_c_check_member "$LINENO" "struct stat" "st_atim.st__tim.tv_nsec" "ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec" "#include #include " if test "x$ac_cv_member_struct_stat_st_atim_st__tim_tv_nsec" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRUCT_STAT_ST_ATIM_ST__TIM_TV_NSEC 1 _ACEOF fi fi fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler recognizes bool as a built-in type" >&5 $as_echo_n "checking whether the compiler recognizes bool as a built-in type... " >&6; } if ${ac_cv_cxx_bool+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int f(int x){return 1;} int f(char x){return 1;} int f(bool x){return 1;} int main () { bool b = true; return f(b); ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_cxx_bool=yes else ac_cv_cxx_bool=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cxx_bool" >&5 $as_echo "$ac_cv_cxx_bool" >&6; } if test "$ac_cv_cxx_bool" = yes; then $as_echo "#define HAVE_BOOL /**/" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sin in -lm" >&5 $as_echo_n "checking for sin in -lm... " >&6; } if ${ac_cv_lib_m_sin+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lm $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char sin (); int main () { return sin (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_m_sin=yes else ac_cv_lib_m_sin=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_sin" >&5 $as_echo "$ac_cv_lib_m_sin" >&6; } if test "x$ac_cv_lib_m_sin" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBM 1 _ACEOF LIBS="-lm $LIBS" fi for ac_func in strdup do : ac_fn_c_check_func "$LINENO" "strdup" "ac_cv_func_strdup" if test "x$ac_cv_func_strdup" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_STRDUP 1 _ACEOF fi done for ac_func in sigaction signal sigsetjmp do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in mmap mprotect munmap do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in vm_allocate vm_deallocate vm_protect sbrk do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in strchr memcpy bcopy do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in usleep gettimeofday do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in fseeko fsync futimens link readlink symlink lstat truncate pathconf do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in canonicalize_file_name realpath do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done ac_fn_c_check_type "$LINENO" "caddr_t" "ac_cv_type_caddr_t" "$ac_includes_default" if test "x$ac_cv_type_caddr_t" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_CADDR_T 1 _ACEOF fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sigsetjmp is supported" >&5 $as_echo_n "checking whether sigsetjmp is supported... " >&6; } if ${ac_cv_have_sigsetjmp+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include int main () { sigjmp_buf b; sigsetjmp(b, 1); siglongjmp(b, 1); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_have_sigsetjmp=yes else ac_cv_have_sigsetjmp=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_sigsetjmp" >&5 $as_echo "$ac_cv_have_sigsetjmp" >&6; } if test "$ac_cv_have_sigsetjmp" = "yes"; then $as_echo "#define HAVE_SIGSETJMP 1" >>confdefs.h fi for ac_func in mach_task_self task_self do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done $as_echo "#define DIRSEPARATOR \"/\"" >>confdefs.h case "$host_os" in linux*) EXTRASYSSRCS="Unix/linux/parameters_linux.cpp Unix/linux/ethernet_linux.cpp Unix/host_filesys_unix.cpp" ;; cygwin*) $as_echo "#define ARANYMHOME \"aranym\"" >>confdefs.h LIBS="$LIBS -liberty" EXTRASYSSRCS="Unix/cygwin/parameters_cygwin.cpp Unix/cygwin/tools_cygwin.cpp Unix/cygwin/ethernet_cygwin.cpp Unix/cygwin/win32_supp.cpp" ;; mingw*) $as_echo "#define ARANYMHOME \"aranym\"" >>confdefs.h EXTRASYSSRCS="Unix/cygwin/parameters_cygwin.cpp Unix/cygwin/win32_supp.cpp" ;; solaris*) $as_echo "#define _XOPEN_SOURCE 500" >>confdefs.h $as_echo "#define _POSIX_C_SOURCE 199506L" >>confdefs.h DEFINES="$DEFINES -DBSD_COMP -D__EXTENSIONS__" EXTRASYSSRCS="Unix/parameters_unix.cpp Unix/host_filesys_unix.cpp" ;; irix*) EXTRASYSSRCS="Unix/parameters_unix.cpp Unix/irix/unaligned.c Unix/host_filesys_unix.cpp" ;; freebsd*|kfreebsd*-gnu) $as_echo "#define HAVE_O_FSYNC 1" >>confdefs.h EXTRASYSSRCS="Unix/parameters_unix.cpp Unix/host_filesys_unix.cpp" ;; darwin*) $as_echo "#define HAVE_O_FSYNC 1" >>confdefs.h if test "x$WITH_FINK" = "xyes"; then $as_echo "#define ARANYMHOME \"aranym\"" >>confdefs.h EXTRASYSSRCS="Unix/parameters_unix.cpp Unix/host_filesys_unix.cpp Unix/darwin/ethernet_darwin.cpp Unix/darwin/SDLHotkeysRefresh.M" else $as_echo "#define ARANYMHOME \"ARAnyM\"" >>confdefs.h if test "x$WITH_CLASSIC_CONFIG" = "xyes"; then echo "Using classic config" $as_echo "#define ARANYMCONFIG \"config\"" >>confdefs.h $as_echo "#define ARANYMNVRAM \"nvram\"" >>confdefs.h $as_echo "#define ARANYMKEYMAP \"keymap\"" >>confdefs.h else echo "Using preference files" $as_echo "#define ARANYMCONFIG \"org.aranym.amcfg\"" >>confdefs.h $as_echo "#define ARANYMNVRAM \"org.aranym.nvram\"" >>confdefs.h $as_echo "#define ARANYMKEYMAP \"org.aranym.keymap\"" >>confdefs.h fi EXTRASYSSRCS="Unix/darwin/SDLMain.M Unix/darwin/host_filesys_darwin.M Unix/darwin/parameters_darwin.cpp Unix/darwin/ethernet_darwin.cpp Unix/darwin/SDLHotkeysRefresh.M" BUNDLE_FRAMEWORKS= { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler supports framework AppKit" >&5 $as_echo_n "checking whether compiler supports framework AppKit... " >&6; } if ${aranym_cv_have_framework_AppKit+:} false; then : $as_echo_n "(cached) " >&6 else saved_LIBS="$LIBS" LIBS="$LIBS -framework AppKit" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : aranym_cv_have_framework_AppKit=yes; AppKit_LIBS=" -framework AppKit" else aranym_cv_have_framework_AppKit=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$saved_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $aranym_cv_have_framework_AppKit" >&5 $as_echo "$aranym_cv_have_framework_AppKit" >&6; } if test $aranym_cv_have_framework_AppKit = yes; then : $as_echo "#define HAVE_FRAMEWORK_APPKIT 1" >>confdefs.h fi have_framework_AppKit=$aranym_cv_have_framework_AppKit { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler supports framework CoreFoundation" >&5 $as_echo_n "checking whether compiler supports framework CoreFoundation... " >&6; } if ${aranym_cv_have_framework_CoreFoundation+:} false; then : $as_echo_n "(cached) " >&6 else saved_LIBS="$LIBS" LIBS="$LIBS -framework CoreFoundation" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : aranym_cv_have_framework_CoreFoundation=yes; CoreFoundation_LIBS=" -framework CoreFoundation" else aranym_cv_have_framework_CoreFoundation=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$saved_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $aranym_cv_have_framework_CoreFoundation" >&5 $as_echo "$aranym_cv_have_framework_CoreFoundation" >&6; } if test $aranym_cv_have_framework_CoreFoundation = yes; then : $as_echo "#define HAVE_FRAMEWORK_COREFOUNDATION 1" >>confdefs.h fi have_framework_CoreFoundation=$aranym_cv_have_framework_CoreFoundation { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler supports framework IOKit" >&5 $as_echo_n "checking whether compiler supports framework IOKit... " >&6; } if ${aranym_cv_have_framework_IOKit+:} false; then : $as_echo_n "(cached) " >&6 else saved_LIBS="$LIBS" LIBS="$LIBS -framework IOKit" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : aranym_cv_have_framework_IOKit=yes; IOKit_LIBS=" -framework IOKit" else aranym_cv_have_framework_IOKit=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$saved_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $aranym_cv_have_framework_IOKit" >&5 $as_echo "$aranym_cv_have_framework_IOKit" >&6; } if test $aranym_cv_have_framework_IOKit = yes; then : $as_echo "#define HAVE_FRAMEWORK_IOKIT 1" >>confdefs.h fi have_framework_IOKit=$aranym_cv_have_framework_IOKit { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler supports framework Security" >&5 $as_echo_n "checking whether compiler supports framework Security... " >&6; } if ${aranym_cv_have_framework_Security+:} false; then : $as_echo_n "(cached) " >&6 else saved_LIBS="$LIBS" LIBS="$LIBS -framework Security" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : aranym_cv_have_framework_Security=yes; Security_LIBS=" -framework Security" else aranym_cv_have_framework_Security=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$saved_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $aranym_cv_have_framework_Security" >&5 $as_echo "$aranym_cv_have_framework_Security" >&6; } if test $aranym_cv_have_framework_Security = yes; then : $as_echo "#define HAVE_FRAMEWORK_SECURITY 1" >>confdefs.h fi have_framework_Security=$aranym_cv_have_framework_Security PKG_CONFIG="" fi ;; beos*|haiku*) # Extract the first word of "xres", so it can be a program name with args. set dummy xres; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_BEOS_XRES+:} false; then : $as_echo_n "(cached) " >&6 else case $BEOS_XRES in [\\/]* | ?:[\\/]*) ac_cv_path_BEOS_XRES="$BEOS_XRES" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_BEOS_XRES="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_BEOS_XRES" && ac_cv_path_BEOS_XRES="as_fn_error $? "xres not found." "$LINENO" 5" ;; esac fi BEOS_XRES=$ac_cv_path_BEOS_XRES if test -n "$BEOS_XRES"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BEOS_XRES" >&5 $as_echo "$BEOS_XRES" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "rc", so it can be a program name with args. set dummy rc; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_BEOS_RC+:} false; then : $as_echo_n "(cached) " >&6 else case $BEOS_RC in [\\/]* | ?:[\\/]*) ac_cv_path_BEOS_RC="$BEOS_RC" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_BEOS_RC="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_BEOS_RC" && ac_cv_path_BEOS_RC="as_fn_error $? "rc not found." "$LINENO" 5" ;; esac fi BEOS_RC=$ac_cv_path_BEOS_RC if test -n "$BEOS_RC"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BEOS_RC" >&5 $as_echo "$BEOS_RC" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi # Extract the first word of "setversion", so it can be a program name with args. set dummy setversion; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_BEOS_SETVERSION+:} false; then : $as_echo_n "(cached) " >&6 else case $BEOS_SETVERSION in [\\/]* | ?:[\\/]*) ac_cv_path_BEOS_SETVERSION="$BEOS_SETVERSION" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_BEOS_SETVERSION="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_BEOS_SETVERSION" && ac_cv_path_BEOS_SETVERSION="as_fn_error $? "setversion not found." "$LINENO" 5" ;; esac fi BEOS_SETVERSION=$ac_cv_path_BEOS_SETVERSION if test -n "$BEOS_SETVERSION"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $BEOS_SETVERSION" >&5 $as_echo "$BEOS_SETVERSION" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi EXTRASYSSRCS="Unix/parameters_unix.cpp Unix/beos/cdrom_beos.cpp Unix/host_filesys_unix.cpp" CPPFLAGS="$CPPFLAGS -I\$(srcdir)/Unix/beos" WANT_UNIXSERIALPORT=no ac_cv_tun_tap_support=no ;; *) EXTRASYSSRCS="Unix/parameters_unix.cpp Unix/host_filesys_unix.cpp" ;; esac SYSSRCS="$SYSSRCS $EXTRASYSSRCS" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __wchar_t" >&5 $as_echo_n "checking for __wchar_t... " >&6; } if ${ac_cv_wchar_t+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test "$cross_compiling" = yes; then : ac_cv_wchar_t="guessing no" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include _ACEOF if ac_fn_cxx_try_run "$LINENO"; then : ac_cv_wchar_t=yes else ac_cv_wchar_t=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_wchar_t" >&5 $as_echo "$ac_cv_wchar_t" >&6; } if [ "x$ac_cv_wchar_t" = "xyes" -o "x$ac_cv_wchar_t" = "xguessing yes" ]; then $as_echo "#define HAVE_WCHAR_T 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether TUN/TAP is supported" >&5 $as_echo_n "checking whether TUN/TAP is supported... " >&6; } if ${ac_cv_tun_tap_support+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined(HAVE_LINUX_IF_H) && defined(HAVE_LINUX_IF_TUN_H) #ifdef HAVE_SYS_SOCKET_H #include #endif #include #include #endif #if defined(HAVE_NET_IF_H) && defined(HAVE_NET_IF_TUN_H) #include #include #endif int main () { struct ifreq ifr; memset(&ifr, 0, sizeof(ifr)); ifr.ifr_flags = IFF_TAP | IFF_NO_PI; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_tun_tap_support=yes else ac_cv_tun_tap_support=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_tun_tap_support" >&5 $as_echo "$ac_cv_tun_tap_support" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether BPF is supported" >&5 $as_echo_n "checking whether BPF is supported... " >&6; } if ${ac_cv_bpf_support+:} false; then : $as_echo_n "(cached) " >&6 else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #if defined(HAVE_NET_BPF_H) #include #endif int main () { struct bpf_program filter; ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : ac_cv_bpf_support=yes else ac_cv_bpf_support=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_bpf_support" >&5 $as_echo "$ac_cv_bpf_support" >&6; } have_mach_vm=no if [ "x$ac_cv_func_vm_allocate" = "xyes" -a "x$ac_cv_func_vm_deallocate" = "xyes" -a \ "x$ac_cv_func_vm_protect" = "xyes" ]; then have_mach_vm=yes fi if [ "x$have_mach_vm" = "xyes" -o "x$have_mach_vm" = "xguessing yes" ]; then $as_echo "#define HAVE_MACH_VM 1" >>confdefs.h fi case "$host_os" in darwin*) OSdarwinReq="#define OS_darwin";; *) OSdarwinReq= ;; esac if [ "x$have_mach_vm" = "xyes" ]; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether vm_protect works" >&5 $as_echo_n "checking whether vm_protect works... " >&6; } if ${ac_cv_vm_protect_works+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_cv_vm_protect_works=yes for test_def in NONE_READ NONE_WRITE READ_WRITE; do if test "$cross_compiling" = yes; then : ac_cv_vm_protect_works="guessing no" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define CONFIGURE_TEST_VM_MAP #define TEST_VM_PROT_$test_def $OSdarwinReq #include "$srcdir/src/Unix/vm_alloc.cpp" _ACEOF if ac_fn_cxx_try_run "$LINENO"; then : ac_cv_vm_protect_works=no else rm -f core fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi done if test "$cross_compiling" = yes; then : ac_cv_vm_protect_works="guessing no" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define CONFIGURE_TEST_VM_MAP #define TEST_VM_PROT_RDWR_WRITE $OSdarwinReq #include "$srcdir/src/Unix/vm_alloc.cpp" _ACEOF if ac_fn_cxx_try_run "$LINENO"; then : else ac_cv_vm_protect_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_vm_protect_works" >&5 $as_echo "$ac_cv_vm_protect_works" >&6; } if [ "x$have_mach_vm" = "xyes" ]; then case $ac_cv_vm_protect_works in *yes) have_mach_vm=yes;; *no) have_mach_vm=no;; esac fi if [ "x$have_mach_vm" = "xyes" -o "x$have_mach_vm" = "xguessing yes" ]; then $as_echo "#define HAVE_MACH_VM 1" >>confdefs.h fi fi have_mmap_vm=no if [ "x$ac_cv_func_mmap" = "xyes" -a "x$ac_cv_func_munmap" = "xyes" -a \ "x$ac_cv_func_mprotect" = "xyes" ]; then if [ "x$have_mach_vm" = "xno" ]; then have_mmap_vm=yes fi fi if [ "x$have_mmap_vm" = "xyes" -o "x$have_mmap_vm" = "xguessing yes" ]; then $as_echo "#define HAVE_MMAP_VM 1" >>confdefs.h fi if [ "x$have_mmap_vm" = "xyes" ]; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap supports MAP_ANON" >&5 $as_echo_n "checking whether mmap supports MAP_ANON... " >&6; } if ${ac_cv_mmap_anon+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test "$cross_compiling" = yes; then : ac_cv_mmap_anon="guessing no" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define HAVE_MMAP_ANON #define CONFIGURE_TEST_VM_MAP #define TEST_VM_MMAP_ANON #include "$srcdir/src/Unix/vm_alloc.cpp" _ACEOF if ac_fn_cxx_try_run "$LINENO"; then : ac_cv_mmap_anon=yes else ac_cv_mmap_anon=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_mmap_anon" >&5 $as_echo "$ac_cv_mmap_anon" >&6; } if [ "x$ac_cv_mmap_anon" = "xyes" -o "x$ac_cv_mmap_anon" = "xguessing yes" ]; then $as_echo "#define HAVE_MMAP_ANON 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mmap supports MAP_ANONYMOUS" >&5 $as_echo_n "checking whether mmap supports MAP_ANONYMOUS... " >&6; } if ${ac_cv_mmap_anonymous+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test "$cross_compiling" = yes; then : ac_cv_mmap_anonymous="guessing no" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define HAVE_MMAP_ANONYMOUS #define CONFIGURE_TEST_VM_MAP #define TEST_VM_MMAP_ANON #include "$srcdir/src/Unix/vm_alloc.cpp" _ACEOF if ac_fn_cxx_try_run "$LINENO"; then : ac_cv_mmap_anonymous=yes else ac_cv_mmap_anonymous=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_mmap_anonymous" >&5 $as_echo "$ac_cv_mmap_anonymous" >&6; } if [ "x$ac_cv_mmap_anonymous" = "xyes" -o "x$ac_cv_mmap_anonymous" = "xguessing yes" ]; then $as_echo "#define HAVE_MMAP_ANONYMOUS 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether mprotect works" >&5 $as_echo_n "checking whether mprotect works... " >&6; } if ${ac_cv_mprotect_works+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu ac_cv_mprotect_works=yes for test_def in NONE_READ NONE_WRITE READ_WRITE; do if test "$cross_compiling" = yes; then : ac_cv_mprotect_works="guessing no" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define CONFIGURE_TEST_VM_MAP #define TEST_VM_PROT_$test_def #include "$srcdir/src/Unix/vm_alloc.cpp" _ACEOF if ac_fn_cxx_try_run "$LINENO"; then : ac_cv_mprotect_works=no else rm -f core fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi done if test "$cross_compiling" = yes; then : ac_cv_mprotect_works="guessing no" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define CONFIGURE_TEST_VM_MAP #define TEST_VM_PROT_RDWR_WRITE #include "$srcdir/src/Unix/vm_alloc.cpp" _ACEOF if ac_fn_cxx_try_run "$LINENO"; then : else ac_cv_mprotect_works=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_mprotect_works" >&5 $as_echo "$ac_cv_mprotect_works" >&6; } if [ "x$have_mmap_vm" = "xyes" ]; then case $ac_cv_mprotect_works in *yes) have_mmap_vm=yes;; *no) have_mmap_vm=no;; esac fi if [ "x$have_mmap_vm" = "xyes" -o "x$have_mmap_vm" = "xguessing yes" ]; then $as_echo "#define HAVE_MMAP_VM 1" >>confdefs.h fi fi if test "$OS_TYPE" = mingw; then $as_echo "#define HAVE_WIN32_VM 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether POSIX shared memory is working" >&5 $as_echo_n "checking whether POSIX shared memory is working... " >&6; } if ${ac_cv_have_posix_shm+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test "$cross_compiling" = yes; then : ac_cv_have_posix_shm="guessing no" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define HAVE_POSIX_SHM $OSdarwinReq #include "$srcdir/src/Unix/vm_alloc.cpp" int main(void) { /* returns 0 if we have working POSIX shm */ if (vm_init() < 0) exit(2); char *m1 = (char *)vm_acquire(32768, VM_MAP_DEFAULT | VM_MAP_33BIT); if (m1 == VM_MAP_FAILED) exit(3); vm_exit(); exit(0); } _ACEOF if ac_fn_cxx_try_run "$LINENO"; then : ac_cv_have_posix_shm=yes else ac_cv_have_posix_shm=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_posix_shm" >&5 $as_echo "$ac_cv_have_posix_shm" >&6; } if [ "x$ac_cv_have_posix_shm" = "xyes" -o "x$ac_cv_have_posix_shm" = "xguessing yes" ]; then $as_echo "#define HAVE_POSIX_SHM 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether 33-bit memory addressing is working" >&5 $as_echo_n "checking whether 33-bit memory addressing is working... " >&6; } if ${ac_cv_have_33bit_addressing+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test "$cross_compiling" = yes; then : ac_cv_have_33bit_addressing="guessing no" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define USE_33BIT_ADDRESSING 1 #include "$srcdir/src/Unix/vm_alloc.cpp" int main(void) { /* returns 0 if we have working 33-bit addressing */ if (sizeof(void *) < 8) exit(1); if (vm_init() < 0) exit(2); char *m1 = (char *)vm_acquire(32768, VM_MAP_DEFAULT | VM_MAP_33BIT); if (m1 == VM_MAP_FAILED) exit(3); char *m2 = m1 + (1L << 32); m1[0] = 0x12; if (m2[0] != 0x12) exit(4); m2[0] = 0x34; if (m1[0] != 0x34) exit(5); vm_exit(); exit(0); } _ACEOF if ac_fn_cxx_try_run "$LINENO"; then : ac_cv_have_33bit_addressing=yes else ac_cv_have_33bit_addressing=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_33bit_addressing" >&5 $as_echo "$ac_cv_have_33bit_addressing" >&6; } { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether signal handlers need to be reinstalled" >&5 $as_echo_n "checking whether signal handlers need to be reinstalled... " >&6; } if ${ac_cv_signal_need_reinstall+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test "$cross_compiling" = yes; then : ac_cv_signal_need_reinstall="guessing yes" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #ifdef HAVE_UNISTD_H #include #endif #include static int handled_signal = 0; RETSIGTYPE sigusr1_handler(int) { handled_signal++; } int main(void) { /* returns 0 if signals need not to be reinstalled */ signal(SIGUSR1, sigusr1_handler); raise(SIGUSR1); raise(SIGUSR1); exit(handled_signal == 2); } _ACEOF if ac_fn_cxx_try_run "$LINENO"; then : ac_cv_signal_need_reinstall=yes else ac_cv_signal_need_reinstall=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_signal_need_reinstall" >&5 $as_echo "$ac_cv_signal_need_reinstall" >&6; } if [ "x$ac_cv_signal_need_reinstall" = "xyes" -o "x$ac_cv_signal_need_reinstall" = "xguessing yes" ]; then $as_echo "#define SIGNAL_NEED_REINSTALL 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether sigaction handlers need to be reinstalled" >&5 $as_echo_n "checking whether sigaction handlers need to be reinstalled... " >&6; } if ${ac_cv_sigaction_need_reinstall+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu if test "$cross_compiling" = yes; then : ac_cv_sigaction_need_reinstall="guessing yes" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #ifdef HAVE_UNISTD_H #include #endif #include static int handled_signal = 0; RETSIGTYPE sigusr1_handler(int) { handled_signal++; } typedef RETSIGTYPE (*signal_handler)(int); static signal_handler mysignal(int sig, signal_handler handler) { struct sigaction old_sa; struct sigaction new_sa; new_sa.sa_handler = handler; return ((sigaction(sig,&new_sa,&old_sa) < 0) ? SIG_IGN : old_sa.sa_handler); } int main(void) { /* returns 0 if signals need not to be reinstalled */ mysignal(SIGUSR1, sigusr1_handler); raise(SIGUSR1); raise(SIGUSR1); exit(handled_signal == 2); } _ACEOF if ac_fn_cxx_try_run "$LINENO"; then : ac_cv_sigaction_need_reinstall=yes else ac_cv_sigaction_need_reinstall=no fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sigaction_need_reinstall" >&5 $as_echo "$ac_cv_sigaction_need_reinstall" >&6; } if [ "x$ac_cv_sigaction_need_reinstall" = "xyes" -o "x$ac_cv_sigaction_need_reinstall" = "xguessing yes" ]; then $as_echo "#define SIGACTION_NEED_REINSTALL 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for vasprintf" >&5 $as_echo_n "checking for vasprintf... " >&6; } if ${ac_cv_have_vasprintf+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _GNU_SOURCE #include #include int main () { va_list a; vasprintf(NULL, NULL, a); ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_have_vasprintf=yes else ac_cv_have_vasprintf=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_vasprintf" >&5 $as_echo "$ac_cv_have_vasprintf" >&6; } if [ "x$ac_cv_have_vasprintf" = "xyes" -o "x$ac_cv_have_vasprintf" = "xguessing yes" ]; then $as_echo "#define HAVE_GNU_SOURCE 1" >>confdefs.h fi if [ "x$ac_cv_have_vasprintf" = "xyes" ]; then DEFINES="$DEFINES -D_GNU_SOURCE" else SYSSRCS="$SYSSRCS Unix/vasprintf.c" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for sighandler_t" >&5 $as_echo_n "checking for sighandler_t... " >&6; } if ${ac_cv_have_sighandler_t+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _GNU_SOURCE #include #include int main () { signal(0, (sighandler_t)NULL); ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_have_sighandler_t=yes else ac_cv_have_sighandler_t=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_sighandler_t" >&5 $as_echo "$ac_cv_have_sighandler_t" >&6; } if [ "x$ac_cv_have_sighandler_t" = "xyes" -o "x$ac_cv_have_sighandler_t" = "xguessing yes" ]; then $as_echo "#define HAVE_SIGHANDLER_T 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for getopt_long" >&5 $as_echo_n "checking for getopt_long... " >&6; } if ${ac_cv_have_getopt_long+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #define _GNU_SOURCE #include #include int main () { getopt_long(0, NULL, NULL, NULL, NULL); ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_have_getopt_long=yes else ac_cv_have_getopt_long=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have_getopt_long" >&5 $as_echo "$ac_cv_have_getopt_long" >&6; } if [ "x$ac_cv_have_getopt_long" = "xyes" -o "x$ac_cv_have_getopt_long" = "xguessing yes" ]; then $as_echo "#define HAVE_GETOPT_H 1" >>confdefs.h fi if [ "x$ac_cv_have_getopt_long" = "xno" ]; then SYSSRCS="$SYSSRCS Unix/getopt_init.c Unix/getopt1.c Unix/getopt.c" fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __builtin_bswap16" >&5 $as_echo_n "checking for __builtin_bswap16... " >&6; } if ${ac_cv_have___builtin_bswap16+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include unsigned short v; int main () { v = __builtin_bswap16(v); ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_have___builtin_bswap16=yes else ac_cv_have___builtin_bswap16=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have___builtin_bswap16" >&5 $as_echo "$ac_cv_have___builtin_bswap16" >&6; } if [ "x$ac_cv_have___builtin_bswap16" = "xyes" -o "x$ac_cv_have___builtin_bswap16" = "xguessing yes" ]; then $as_echo "#define HAVE___BUILTIN_BSWAP16 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __builtin_bswap32" >&5 $as_echo_n "checking for __builtin_bswap32... " >&6; } if ${ac_cv_have___builtin_bswap32+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include unsigned int v; int main () { v = __builtin_bswap32(v); ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_have___builtin_bswap32=yes else ac_cv_have___builtin_bswap32=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_have___builtin_bswap32" >&5 $as_echo "$ac_cv_have___builtin_bswap32" >&6; } if [ "x$ac_cv_have___builtin_bswap32" = "xyes" -o "x$ac_cv_have___builtin_bswap32" = "xguessing yes" ]; then $as_echo "#define HAVE___BUILTIN_BSWAP32 1" >>confdefs.h fi case $CONTROL_KEY in meta) $as_echo "#define MAP_META_TO_CONTROL 1" >>confdefs.h ;; both) $as_echo "#define MAP_META_TO_CONTROL 1" >>confdefs.h $as_echo "#define MAP_CONTROL_TO_CONTROL 1" >>confdefs.h ;; ctrl) $as_echo "#define MAP_CONTROL_TO_CONTROL 1" >>confdefs.h ;; esac if [ "x$WANT_JIT" = "xyes" ]; then WANT_EXSIGSEGV=yes MEMORY_CHECK=sseg fi case $MEMORY_CHECK in no) $as_echo "#define NOCHECKBOUNDARY 1" >>confdefs.h ;; page) $as_echo "#define ARAM_PAGE_CHECK 1" >>confdefs.h ;; hwsp) ADDRESSING_TEST_ORDER="fixed" WANT_EXSIGSEGV="yes" $as_echo "#define NOCHECKBOUNDARY 1" >>confdefs.h $as_echo "#define EXTENDED_SIGSEGV 1" >>confdefs.h $as_echo "#define RAMENDNEEDED 1" >>confdefs.h ;; pagehwsp) ADDRESSING_TEST_ORDER="fixed" WANT_EXSIGSEGV="yes" $as_echo "#define ARAM_PAGE_CHECK 1" >>confdefs.h $as_echo "#define NOCHECKBOUNDARY 1" >>confdefs.h $as_echo "#define EXTENDED_SIGSEGV 1" >>confdefs.h $as_echo "#define RAMENDNEEDED 1" >>confdefs.h ;; sseg) ADDRESSING_TEST_ORDER="fixed" WANT_EXSIGSEGV="yes" $as_echo "#define NOCHECKBOUNDARY 1" >>confdefs.h $as_echo "#define RAMENDNEEDED 1" >>confdefs.h $as_echo "#define EXTENDED_SIGSEGV 1" >>confdefs.h $as_echo "#define HW_SIGSEGV 1" >>confdefs.h ;; *) ;; esac if [ "x$WANT_HISTORY" = "xyes" ]; then $as_echo "#define FULL_HISTORY 1" >>confdefs.h fi if [ "x$WANT_FLIGHTRECORDER" = "xyes" ]; then $as_echo "#define FLIGHT_RECORDER 1" >>confdefs.h fi if [ "x$WANT_CDROM" = "xyes" ]; then $as_echo "#define SUPPORT_CDROM 1" >>confdefs.h fi MMUSRCS="uae_cpu/cpummu.cpp" if [ "x$WANT_MMU" = "xyes" ]; then $as_echo "#define FULLMMU 1" >>confdefs.h fi if [ "x$ATC_TYPE" = "xsmall" ]; then $as_echo "#define SMALL_ATC 1" >>confdefs.h fi if [ "x$ATC_TYPE" = "xno" ]; then $as_echo "#define DISABLE_ATC 1" >>confdefs.h fi DSPSRCS="" if [ "x$WANT_DSP" = "xyes" ]; then $as_echo "#define DSP_EMULATION 1" >>confdefs.h DSPSRCS="dsp_core.c dsp_cpu.c" if [ "x$WANT_DSP_DISASM" = "xyes" ]; then $as_echo "#define DSP_DISASM 1" >>confdefs.h DSPSRCS="$DSPSRCS dsp_disasm.c" fi fi if [ "x$WANT_PROTECT2K" != "xno" ]; then $as_echo "#define PROTECT2K 1" >>confdefs.h fi if [ "x$WANT_FIXEDFASTRAM" != "xno" ]; then cat >>confdefs.h <<_ACEOF #define FixedSizeFastRAM $WANT_FIXEDFASTRAM _ACEOF fi if [ "x$WANT_FIXEDVIDEORAM" = "xyes" ]; then $as_echo "#define FIXED_VIDEORAM 1" >>confdefs.h else if [ "x$WANT_MMU" = "xyes" ]; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Protection of first 2kB RAM enabled as well - won't hurt" >&5 $as_echo "$as_me: WARNING: Protection of first 2kB RAM enabled as well - won't hurt" >&2;} $as_echo "#define PROTECT2K 1" >>confdefs.h fi if [ "x$WANT_BLITSDLBLIT" = "xyes" ]; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Blitter SDL surface blitting support needs fixed position of VideoRAM" >&5 $as_echo "$as_me: WARNING: Blitter SDL surface blitting support needs fixed position of VideoRAM" >&2;} $as_echo "#define FIXED_VIDEORAM 1" >>confdefs.h WANT_FIXEDVIDEORAM="yes" fi fi if [ "x$WANT_REALSTOP" = "xyes" ]; then $as_echo "#define ENABLE_REALSTOP 1" >>confdefs.h WANT_SPCFLAGS_EXCL=yes fi if [ "x$WANT_BLITMEMMOVE" = "xyes" ]; then $as_echo "#define BLITTER_MEMMOVE 1" >>confdefs.h fi if [ "x$WANT_BLITSDLBLIT" = "xyes" ]; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Blitter SDL surface blitting support needs fixed position of VideoRAM" >&5 $as_echo "$as_me: WARNING: Blitter SDL surface blitting support needs fixed position of VideoRAM" >&2;} $as_echo "#define FIXED_VIDEORAM 1" >>confdefs.h WANT_FIXEDVIDEORAM="yes" fi if [ "x$WANT_BLITSDLBLIT" = "xyes" ]; then $as_echo "#define BLITTER_SDLBLIT 1" >>confdefs.h $as_echo "#define BLITTER_MEMMOVE 1" >>confdefs.h fi HAVE_ETHERNET=no if [ "x$WANT_ETHERNET" = "xyes" ]; then if [ "x$ac_cv_tun_tap_support" = "xyes" ]; then $as_echo "#define ETHERNET_SUPPORT 1" >>confdefs.h SYSSRCS="$SYSSRCS natfeat/ethernet.cpp" TAPIF="aratapif" HAVE_ETHERNET="yes" elif [ "x$OS_TYPE" = "xcygwin" -a "x$HAVE_I386" ]; then $as_echo "#define ETHERNET_SUPPORT 1" >>confdefs.h SYSSRCS="$SYSSRCS natfeat/ethernet.cpp" TAPIF="" HAVE_ETHERNET="yes" elif [ "x$OS_TYPE" = "xdarwin" ]; then $as_echo "#define ETHERNET_SUPPORT 1" >>confdefs.h if [ "x$WANT_BFP_ETHERNET" = "xyes" ]; then if [ "x$ac_cv_bpf_support" = "xyes" -o "x$ac_cv_bpf_support" = "xguessing yes" ]; then $as_echo "#define ENABLE_BPF 1" >>confdefs.h fi else { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ethernet won't work without TunTap driver for Mac OS X. See http://tuntaposx.sourceforge.net/" >&5 $as_echo "$as_me: WARNING: Ethernet won't work without TunTap driver for Mac OS X. See http://tuntaposx.sourceforge.net/" >&2;} fi SYSSRCS="$SYSSRCS natfeat/ethernet.cpp" TAPIF="" HAVE_ETHERNET="yes" else { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Ethernet interface not supported on your system" >&5 $as_echo "$as_me: WARNING: Ethernet interface not supported on your system" >&2;} TAPIF="" fi else TAPIF="" fi if [ "x$HAVE_ETHERNET" = "xyes" ]; then PROVIDES_NF="$PROVIDES_NF ethernet" fi if [ "x$WANT_HOSTFS" = "xyes" ]; then SYSSRCS="$SYSSRCS natfeat/hostfs.cpp" $as_echo "#define HOSTFS_SUPPORT 1" >>confdefs.h PROVIDES_NF="$PROVIDES_NF hostfs" fi GUISDLSRCS="" if test "x$WANT_SDLGUI" = "xyes" ; then GUISDLSRCS="gui-sdl/sdlgui.cpp gui-sdl/dlgFileSelect.cpp gui-sdl/file.cpp gui-sdl/dlgMain.cpp gui-sdl/dlgDisk.cpp gui-sdl/dlgPartition.cpp gui-sdl/dlgKeyboard.cpp gui-sdl/dlgHotkeys.cpp gui-sdl/dlgAlert.cpp gui-sdl/dlgOs.cpp gui-sdl/dlgVideo.cpp gui-sdl/dlgNetwork.cpp gui-sdl/dlgKeypress.cpp gui-sdl/dialog.cpp gui-sdl/dlgUsb.cpp" CPPFLAGS="$CPPFLAGS -I\$(srcdir)/gui-sdl" $as_echo "#define SDL_GUI 1" >>confdefs.h fi if [ "x$WANT_EXSIGSEGV" = "xyes" ]; then WANT_CXX_EXCEPTIONS="no" fi if [ "x$WANT_CXX_EXCEPTIONS" = "xno" ]; then $as_echo "#define EXCEPTIONS_VIA_LONGJMP 1" >>confdefs.h fi if [ "x$WANT_EXSIGSEGV" = "xyes" ]; then case "$host_os" in linux*) case "$CPU_TYPE" in i386) SYSSRCS="$SYSSRCS Unix/linux/sigsegv_linux_x86.cpp" $as_echo "#define NO_NESTED_SIGSEGV 1" >>confdefs.h ;; x86_64) SYSSRCS="$SYSSRCS Unix/linux/sigsegv_linux_x86.cpp" $as_echo "#define NO_NESTED_SIGSEGV 1" >>confdefs.h ;; arm) SYSSRCS="$SYSSRCS Unix/linux/sigsegv_linux_arm.cpp" ;; *) as_fn_error $? "Sorry, extended segfault handler not supported on your platform" "$LINENO" 5 ;; esac ;; openbsd*) if [ "x$HAVE_I386" = "xyes" ]; then SYSSRCS="$SYSSRCS Unix/xbsd/sigsegv_xbsd.cpp" else as_fn_error $? "Sorry, extended segfault handler not supported on your platform" "$LINENO" 5 fi ;; darwin*) if [ "x$CPU_TYPE" = "powerpc" ]; then as_fn_error $? "Sorry, extended segfault handler not supported on your platform" "$LINENO" 5 else SYSSRCS="$SYSSRCS Unix/darwin/sigsegv_darwin_x86.cpp" $as_echo "#define NO_NESTED_SIGSEGV 1" >>confdefs.h fi ;; netbsd*) if [ "x$HAVE_I386" = "xyes" ]; then SYSSRCS="$SYSSRCS Unix/xbsd/sigsegv_xbsd.cpp" else as_fn_error $? "Sorry, extended segfault handler not supported on your platform" "$LINENO" 5 fi ;; freebsd*|kfreebsd*-gnu) if [ "x$HAVE_I386" = "xyes" ]; then SYSSRCS="$SYSSRCS Unix/xbsd/sigsegv_xbsd.cpp" else as_fn_error $? "Sorry, extended segfault handler not supported on your platform" "$LINENO" 5 fi ;; cygwin*) if [ "x$HAVE_I386" = "xyes" ]; then SYSSRCS="$SYSSRCS Unix/cygwin/sigsegv_cygwin.cpp" $as_echo "#define NO_NESTED_SIGSEGV 1" >>confdefs.h else as_fn_error $? "Sorry, extended segfault handler not supported on your platform" "$LINENO" 5 fi ;; solaris*) if [ "x$HAVE_I386" = "xyes" ]; then SYSSRCS="$SYSSRCS Unix/solaris/sigsegv_solaris_x86.cpp" else as_fn_error $? "Sorry, extended segfault handler not supported on your platform" "$LINENO" 5 fi ;; *) as_fn_error $? "Sorry, extended segfault handler not supported on your platform" "$LINENO" 5 ;; esac fi ADDRESSING_MODE="" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for the addressing mode to use" >&5 $as_echo_n "checking for the addressing mode to use... " >&6; } for am in $ADDRESSING_TEST_ORDER; do case $am in direct) if [ "x$HAVE_MMAP_VM" = "xno" -a "x$HAVE_MACH_VM" = "xno" ]; then continue fi if [ "x$OS_TYPE" = "xsolaris" ]; then continue fi ADDRESSING_MODE="direct" DEFINES="$DEFINES -DDIRECT_ADDRESSING" break ;; fixed) if [ "x$HAVE_MMAP_VM" = "xno" -a "x$HAVE_MACH_VM" = "xno" ]; then continue fi if [ "x$OS_TYPE" = "xlinux" -a "x$HAVE_I386" ]; then ADDRESSING_MODE="fixed (0x51000000)" DEFINES="$DEFINES -DFIXED_ADDRESSING -DFMEMORY=0x51000000" break fi if [ "x$OS_TYPE" = "xfreebsd" -a "x$HAVE_I386" ]; then ADDRESSING_MODE="fixed (0x51000000)" DEFINES="$DEFINES -DFIXED_ADDRESSING -DFMEMORY=0x51000000" break fi if [ "x$OS_TYPE" = "xopenbsd" -a "x$HAVE_I386" ]; then ADDRESSING_MODE="fixed (0x51000000)" DEFINES="$DEFINES -DFIXED_ADDRESSING -DFMEMORY=0x51000000" break fi if [ "x$OS_TYPE" = "xdarwin" -a "x$HAVE_I386" ]; then ADDRESSING_MODE="fixed (0x51000000)" DEFINES="$DEFINES -DFIXED_ADDRESSING -DFMEMORY=0x51000000" break fi if [ "x$OS_TYPE" = "xcygwin" -a "x$HAVE_I386" ]; then ADDRESSING_MODE="fixed (0x51000000)" DEFINES="$DEFINES -DFIXED_ADDRESSING -DFMEMORY=0x51000000" break fi if [ "x$OS_TYPE" = "xsolaris" -a "x$HAVE=I386" ]; then ADDRESSING_MODE="fixed (0x51000000)" DEFINES="$DEFINES -DFIXED_ADDRESSING -DFMEMORY=0x51000000" break fi ;; normal) ADDRESSING_MODE="normal" DEFINES="$DEFINES -DNORMAL_ADDRESSING" break ;; *) as_fn_error $? "Internal configure.in script error for $am addressing mode" "$LINENO" 5 esac done { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ADDRESSING_MODE" >&5 $as_echo "$ADDRESSING_MODE" >&6; } if [ "x$ADDRESSING_MODE" = "x" ]; then as_fn_error $? "Sorry, no suitable addressing mode in $ADDRESSING_TEST_ORDER" "$LINENO" 5 fi HAVE_GAS=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GAS .p2align feature" >&5 $as_echo_n "checking for GAS .p2align feature... " >&6; } cat >conftest.S << EOF .text .p2align 5 EOF if $CC conftest.S -c -o conftest.o >/dev/null 2>&1 ; then HAVE_GAS=yes; fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $HAVE_GAS" >&5 $as_echo "$HAVE_GAS" >&6; } if [ "x$GCC" = "xyes" -a "x$FPE_CORE" = "xx86" ]; then SAVED_CXXFLAGS="$CXXFLAGS" CXXFLAGS="$CXXFLAGS -fno-merge-constants" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether GCC supports constants merging" >&5 $as_echo_n "checking whether GCC supports constants merging... " >&6; } if ${ac_cv_gcc_constants_merging+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_gcc_constants_merging=yes else ac_cv_gcc_constants_merging=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc_constants_merging" >&5 $as_echo "$ac_cv_gcc_constants_merging" >&6; } if [ "x$ac_cv_gcc_constants_merging" != "xyes" ]; then CXXFLAGS="$SAVED_CXXFLAGS" fi fi CPUSRCS= GENCPUSRCS= ASM_OPTIMIZATIONS=none GENCPUSRCS="cpuemu1.cpp cpuemu2.cpp cpuemu3.cpp cpuemu4.cpp cpuemu5.cpp cpuemu6.cpp cpuemu7.cpp cpuemu8.cpp" CAN_JIT=no JITSRCS= GENJITSRCS="compemu1.cpp compemu2.cpp compemu3.cpp compemu4.cpp compemu5.cpp compemu6.cpp compemu7.cpp compemu8.cpp" GENCOMP_ARCH= if [ "x$GCC" = "xyes" -a "x$HAVE_I386" = "xyes" ]; then DEFINES="$DEFINES -DUNALIGNED_PROFITABLE -DREGPARAM=\"__attribute__((regparm(3)))\"" if [ "x$HAVE_GAS" = "xyes" ]; then ASM_OPTIMIZATIONS=i386 DEFINES="$DEFINES -DX86_ASSEMBLY -DOPTIMIZED_FLAGS -DSAHF_SETO_PROFITABLE" # GENCPUSRCS="cpufast1.s cpufast2.s cpufast3.s cpufast4.s cpufast5.s cpufast6.s cpufast7.s cpufast8.s" GENJITSRCS="cpuemu1_nf.cpp cpuemu2_nf.cpp cpuemu3_nf.cpp cpuemu4_nf.cpp cpuemu5_nf.cpp cpuemu6_nf.cpp cpuemu7_nf.cpp cpuemu8_nf.cpp $GENJITSRCS" # GENJITSRCS="cpufast1_nf.s cpufast2_nf.s cpufast3_nf.s cpufast4_nf.s cpufast5_nf.s cpufast6_nf.s cpufast7_nf.s cpufast8_nf.s $GENJITSRCS" CAN_JIT=yes GENCOMP_ARCH=x86 fi elif [ "x$GCC" = "xyes" -a "x$HAVE_X86_64" = "xyes" ]; then DEFINES="$DEFINES -DUNALIGNED_PROFITABLE" if [ "x$HAVE_GAS" = "xyes" ]; then ASM_OPTIMIZATIONS="x86-64" DEFINES="$DEFINES -DX86_64_ASSEMBLY -DOPTIMIZED_FLAGS" GENJITSRCS="cpuemu1_nf.cpp cpuemu2_nf.cpp cpuemu3_nf.cpp cpuemu4_nf.cpp cpuemu5_nf.cpp cpuemu6_nf.cpp cpuemu7_nf.cpp cpuemu8_nf.cpp $GENJITSRCS" CAN_JIT=yes GENCOMP_ARCH=x86 WANT_33BIT_ADDRESSING=yes SAVED_CXXFLAGS="$CXXFLAGS" CXXFLAGS="$CXXFLAGS -mno-red-zone" { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether GCC supports -mno-red-zone" >&5 $as_echo_n "checking whether GCC supports -mno-red-zone... " >&6; } if ${ac_cv_gcc_no_red_zone+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=cpp ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='$CXX -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CXX -o conftest$ac_exeext $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_cxx_compiler_gnu cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_cxx_try_compile "$LINENO"; then : ac_cv_gcc_no_red_zone=yes else ac_cv_gcc_no_red_zone=no fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_gcc_no_red_zone" >&5 $as_echo "$ac_cv_gcc_no_red_zone" >&6; } CXXFLAGS="$SAVED_CXXFLAGS" if [ "x$ac_cv_gcc_no_red_zone" = "xyes" ]; then GENCPU_FLAGS="-mno-red-zone" fi fi elif [ "x$GCC" = "xyes" -a "x$HAVE_SPARC" = "xyes" -a "x$HAVE_GAS" = "xyes" ]; then case "$host_os" in solaris*) { $as_echo "$as_me:${as_lineno-$LINENO}: checking SPARC CPU architecture" >&5 $as_echo_n "checking SPARC CPU architecture... " >&6; } SPARC_TYPE=`solaris/which_sparc` { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SPARC_TYPE" >&5 $as_echo "$SPARC_TYPE" >&6; } case "$SPARC_TYPE" in SPARC_V8) ASM_OPTIMIZATIONS="SPARC V8 architecture" DEFINES="$DEFINES -DSPARC_V8_ASSEMBLY" CFLAGS="$CFLAGS -Wa,-Av8" CXXFLAGS="$CXXFLAGS -Wa,-Av8" ;; SPARC_V9) ASM_OPTIMIZATIONS="SPARC V9 architecture" DEFINES="$DEFINES -DSPARC_V9_ASSEMBLY" CFLAGS="$CFLAGS -Wa,-Av9" CXXFLAGS="$CXXFLAGS -Wa,-Av9" ;; esac ;; esac elif [ "x$GCC" = "xyes" -a "x$HAVE_ARM" = "xyes" ]; then if [ "x$HAVE_GAS" = "xyes" ]; then case "$host_cpu" in armv6*) ASM_OPTIMIZATIONS="ARM/V6 architecture w optimized flags" DEFINES="$DEFINES -DARMV6_ASSEMBLY -DARM_ASSEMBLY -DOPTIMIZED_FLAGS" CFLAGS="$CFLAGS -march=armv6" CXXFLAGS="$CXXFLAGS -march=armv6" ;; *) ASM_OPTIMIZATIONS="ARM/generic w optimized flags" DEFINES="$DEFINES -DARM_ASSEMBLY -DOPTIMIZED_FLAGS" ;; esac GENJITSRCS="cpuemu1_nf.cpp cpuemu2_nf.cpp cpuemu3_nf.cpp cpuemu4_nf.cpp cpuemu5_nf.cpp cpuemu6_nf.cpp cpuemu7_nf.cpp cpuemu8_nf.cpp $GENJITSRCS" GENCOMP_ARCH=arm CAN_JIT=yes fi fi if [ "x$WANT_JIT" = "xyes" -a "x$CAN_JIT" = "xyes" ]; then if [ "x$WANT_MMU" = "xyes" ]; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: !!!!! MMU&JIT in progress, dangerous !!!!!" >&5 $as_echo "$as_me: WARNING: !!!!! MMU&JIT in progress, dangerous !!!!!" >&2;} fi JITSRCS="$JITSRCS uae_cpu/compiler/compemu_support.cpp" DEFINES="$DEFINES -DUSE_JIT=1" CXXFLAGS="$CXXFLAGS -fno-strict-aliasing" if [ "x$WANT_JIT_DEBUG" = "xyes" ]; then DEFINES="$DEFINES -DJIT_DEBUG=1" fi if [ "x$WANT_JIT_FPU" = "xyes" ]; then DEFINES="$DEFINES -DUSE_JIT_FPU=1" JITSRCS="$JITSRCS uae_cpu/compiler/compemu_fpp.cpp" fi GENJITSRCS="$GENJITSRCS compstbl.cpp cpustbl_nf.cpp" else WANT_JIT=no WANT_JIT_FPU=no WANT_JIT_DEBUG=no JITSRCS="" GENJITSRCS="" fi if [ "$ac_cv_have_33bit_addressing:$WANT_33BIT_ADDRESSING" = "yes:yes" ]; then use_33bit_addressing=yes fi if [ "x$use_33bit_addressing" = "xyes" -o "x$use_33bit_addressing" = "xguessing yes" ]; then $as_echo "#define USE_33BIT_ADDRESSING 1" >>confdefs.h fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking floating point format" >&5 $as_echo_n "checking floating point format... " >&6; } if ${ac_cv_c_float_format+:} false; then : $as_echo_n "(cached) " >&6 else ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu cat > conftest.$ac_ext <&5 (eval $ac_compile) 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then od -c conftest.o | sed 's/^[0-7]*[ ]*/ / s/\*/./g s/ \\n/*/g s/ [0-9][0-9][0-9]/./g s/ \\[^ ]/./g' | tr -d ' ' | tr -s '*' ' ' | fold | sed '$a\ ' > conftest.dmp if grep 'format:.@IEEEF.:tamrof' conftest.dmp >/dev/null 2>&1; then ac_cv_c_float_format='IEEE (big-endian)' elif grep 'format:.I@@PFE.:tamrof' conftest.dmp >/dev/null 2>&1; then ac_cv_c_float_format='IEEE (big-endian)' elif grep 'format:.FEEEI@.:tamrof' conftest.dmp >/dev/null 2>&1; then ac_cv_c_float_format='IEEE (little-endian)' elif grep 'format:.EFP@@I.:tamrof' conftest.dmp >/dev/null 2>&1; then ac_cv_c_float_format='IEEE (little-endian)' elif grep 'format:.__floa.:tamrof' conftest.dmp >/dev/null 2>&1; then ac_cv_c_float_format='VAX D-float' elif grep 'format:..PDP-1.:tamrof' conftest.dmp >/dev/null 2>&1; then ac_cv_c_float_format='PDP-10' elif grep 'format:.BMHEXF.:tamrof' conftest.dmp >/dev/null 2>&1; then ac_cv_c_float_format='IBM 370 hex' else as_fn_error $? "Unknown floating point format" "$LINENO" 5 fi else as_fn_error $? "compile failed" "$LINENO" 5 fi rm -rf conftest* ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' ac_compiler_gnu=$ac_cv_c_compiler_gnu fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_float_format" >&5 $as_echo "$ac_cv_c_float_format" >&6; } # IEEE is the default format. If the float endianness isn't the same # as the integer endianness, we have to set FLOAT_WORDS_BIG_ENDIAN # (which is a tristate: yes, no, default). This is only an issue with # IEEE; the other formats are only supported by a few machines each, # all with the same endianness. format=IEEE_FLOAT_FORMAT fbigend= case $ac_cv_c_float_format in 'IEEE (big-endian)' ) if test $ac_cv_c_bigendian = no; then fbigend=1 fi if test $ac_cv_c_bigendian = universal; then fbigend=WORDS_BIGENDIAN fi ;; 'IEEE (little-endian)' ) if test $ac_cv_c_bigendian = yes; then fbigend=0 fi if test $ac_cv_c_bigendian = universal; then fbigend='!WORDS_BIGENDIAN' fi ;; 'VAX D-float' ) format=VAX_FLOAT_FORMAT ;; 'PDP-10' ) format=PDP10_FLOAT_FORMAT ;; 'IBM 370 hex' ) format=IBM_FLOAT_FORMAT ;; esac cat >>confdefs.h <<_ACEOF #define HOST_FLOAT_FORMAT $format _ACEOF if test -n "$fbigend"; then cat >>confdefs.h <<_ACEOF #define HOST_FLOAT_WORDS_BIG_ENDIAN $fbigend _ACEOF fi for ac_header in ieee754.h ieeefp.h floatingpoint.h nan.h math.h do : as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh` ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default" if eval test \"x\$"$as_ac_Header"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1 _ACEOF fi done if [ "x$WANT_JIT_FPU" = "xyes" -a "x$FPE_CORE_TEST_ORDER" != "xieee" ]; then FPE_CORE_TEST_ORDER="ieee" fi for fpe in $FPE_CORE_TEST_ORDER; do case $fpe in ieee) case $ac_cv_c_float_format in IEEE*) FPE_CORE="IEEE fpu core" $as_echo "#define USES_FPU_CORE \"IEEE\"" >>confdefs.h DEFINES="$DEFINES -DFPU_IEEE" FPUSRCS="uae_cpu/fpu/fpu_ieee.cpp" for ac_func in isnanl isinfl do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in logl log10l expl powl fabsl sqrtl do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in sinl cosl tanl sinhl coshl tanhl do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in asinl acosl atanl asinhl acoshl atanhl do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done for ac_func in floorl ceill do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done case $CPU_TYPE in alpha) CXXFLAGS="$CXXFLAGS -mieee" LDFLAGS="$LDFLAGS -mieee" break ;; *) ;; esac break ;; esac ;; x86) if test ":$GCC:$HAVE_I386:$HAVE_GAS:" = ":yes:yes:yes:" -o ":$GCC:$HAVE_X86_64:$HAVE_GAS:" = ":yes:yes:yes:"; then FPE_CORE="i387 fpu core" DEFINES="$DEFINES -DFPU_X86" FPUSRCS="uae_cpu/fpu/fpu_x86.cpp" break fi ;; uae) FPE_CORE="uae fpu core" $as_echo "#define USES_FPU_CORE \"UAE\"" >>confdefs.h DEFINES="$DEFINES -DFPU_UAE" FPUSRCS="uae_cpu/fpu/fpu_uae.cpp" break ;; mpfr) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for mpfr_set_zero in -lmpfr" >&5 $as_echo_n "checking for mpfr_set_zero in -lmpfr... " >&6; } if ${ac_cv_lib_mpfr_mpfr_set_zero+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lmpfr -lgmp $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char mpfr_set_zero (); int main () { return mpfr_set_zero (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_mpfr_mpfr_set_zero=yes else ac_cv_lib_mpfr_mpfr_set_zero=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_mpfr_mpfr_set_zero" >&5 $as_echo "$ac_cv_lib_mpfr_mpfr_set_zero" >&6; } if test "x$ac_cv_lib_mpfr_mpfr_set_zero" = xyes; then : LIBS="$LIBS -lmpfr -lgmp" fi if test $ac_cv_lib_mpfr_mpfr_set_zero = yes; then FPE_CORE="mpfr fpu core" $as_echo "#define USES_FPU_CORE \"MPFR\"" >>confdefs.h DEFINES="$DEFINES -DFPU_MPFR" FPUSRCS="uae_cpu/fpu/fpu_mpfr.cpp" break fi ;; *) as_fn_error $? "Internal configure.in script error for $fpe fpu core" "$LINENO" 5 ;; esac done if [ "x$FPE_CORE" = "x" ]; then as_fn_error $? "Sorry, no suitable FPU core found in $FPE_CORE_TEST_ORDER" "$LINENO" 5 fi for ac_func in atanh do : ac_fn_c_check_func "$LINENO" "atanh" "ac_cv_func_atanh" if test "x$ac_cv_func_atanh" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_ATANH 1 _ACEOF fi done for ac_func in isnan isinf finite isnormal signbit do : as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" if eval test \"x\$"$as_ac_var"\" = x"yes"; then : cat >>confdefs.h <<_ACEOF #define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1 _ACEOF fi done if [ "x$WANT_JIT" = "xno" ]; then if [ "$USE_DEBUGGER" = "yes" ]; then $as_echo "#define DEBUGGER 1" >>confdefs.h CPUSRCS="$CPUSRCS uae_cpu/debug.cpp" fi else if [ "$USE_DEBUGGER" = "yes" ]; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: interactive debugger not usable with JIT" >&5 $as_echo "$as_me: WARNING: interactive debugger not usable with JIT" >&2;} USE_DEBUGGER=no fi fi # Check whether --with-opcodes was given. if test "${with_opcodes+set}" = set; then : withval=$with_opcodes; with_opcodes=$withval else with_opcodes= fi # Check whether --enable-disasm was given. if test "${enable_disasm+set}" = set; then : enableval=$enable_disasm; enable_disasm=$enableval else enable_disasm=no; enable_disasm_defaulted=yes fi case "$enable_disasm" in no|builtin|opcodes) ;; yes|auto) enable_disasm=auto ;; *) as_fn_error $? "unknown disassembler $enable_disasm" "$LINENO" 5 ;; esac # check wether we need disassembly support, and which one DISASM_CFLAGS= DISASM_LIBS= if test "$USE_DEBUGGER" != no -o "$WANT_HISTORY" = yes; then if test "$enable_disasm" = no; then if test "$enable_disasm_defaulted" = "yes"; then if test "$with_opcodes" != ""; then enable_disasm=opcodes else enable_disasm=auto fi else { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: you have requested debug support but disabled disassembly. The debugger needs some disassembling support." >&5 $as_echo "$as_me: WARNING: you have requested debug support but disabled disassembly. The debugger needs some disassembling support." >&2;} fi fi fi if test "$enable_disasm" = auto -o "$enable_disasm" = opcodes; then CPPFLAGS_save="$CPPFLAGS" LIBS_save="$LIBS" if test "$with_opcodes" != ""; then if test -f "$with_opcodes/build-dir/bfd/bfd.h" ; then OPCODES_CFLAGS="-I$with_opcodes/build-dir/bfd -I$with_opcodes/build-dir/libiberty -I$with_opcodes/build-dir/opcodes" OPCODES_LIBS="-L$with_opcodes/build-dir/bfd -L$with_opcodes/build-dir/libiberty -L$with_opcodes/build-dir/opcodes" else OPCODES_CFLAGS="-I$with_opcodes/include" OPCODES_LIBS="-L$with_opcodes/lib" fi CPPFLAGS="$CPPFLAGS $OPCODES_CFLAGS" fi OPCODES_LIBS="$OPCODES_LIBS -lopcodes -lbfd -liberty -lz -ldl" found=yes for ac_header in bfd.h do : ac_fn_c_check_header_mongrel "$LINENO" "bfd.h" "ac_cv_header_bfd_h" "$ac_includes_default" if test "x$ac_cv_header_bfd_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_BFD_H 1 _ACEOF else found=no fi done for ac_header in dis-asm.h do : ac_fn_c_check_header_mongrel "$LINENO" "dis-asm.h" "ac_cv_header_dis_asm_h" "$ac_includes_default" if test "x$ac_cv_header_dis_asm_h" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_DIS_ASM_H 1 _ACEOF else found=no fi done CPPFLAGS=$CPPFLAGS_save if test "$found" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for print_insn_m68k in -lopcodes" >&5 $as_echo_n "checking for print_insn_m68k in -lopcodes... " >&6; } if ${ac_cv_lib_opcodes_print_insn_m68k+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lopcodes $OPCODES_LIBS $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char print_insn_m68k (); int main () { return print_insn_m68k (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_opcodes_print_insn_m68k=yes else ac_cv_lib_opcodes_print_insn_m68k=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_opcodes_print_insn_m68k" >&5 $as_echo "$ac_cv_lib_opcodes_print_insn_m68k" >&6; } if test "x$ac_cv_lib_opcodes_print_insn_m68k" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBOPCODES 1 _ACEOF LIBS="-lopcodes $LIBS" else found=no fi fi LIBS="$LIBS_save" { $as_echo "$as_me:${as_lineno-$LINENO}: checking for opcodes usability" >&5 $as_echo_n "checking for opcodes usability... " >&6; } if test "$found" = "yes"; then $as_echo "#define DISASM_USE_OPCODES 1" >>confdefs.h DISASM_CFLAGS="$OPCODES_CFLAGS" DISASM_LIBS="$OPCODES_LIBS" { $as_echo "$as_me:${as_lineno-$LINENO}: result: $found" >&5 $as_echo "$found" >&6; } if test "$with_opcodes" != ""; then DISASM_LIBS="$DISASM_LIBS -Wl,-rpath,$with_opcodes/lib" fi enable_disasm=opcodes else { $as_echo "$as_me:${as_lineno-$LINENO}: result: $found" >&5 $as_echo "$found" >&6; } if test "$enable_disasm" = "opcodes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: Required libraries not found. You may have to specify the path to the correct directory. If your system isn't m68k-based, the libraries may be installed in some unusual place (maybe something like /usr/$host/m68k-unknown-linux-gnu). In the meantime, i will use the builtin support. " >&5 $as_echo "$as_me: Required libraries not found. You may have to specify the path to the correct directory. If your system isn't m68k-based, the libraries may be installed in some unusual place (maybe something like /usr/$host/m68k-unknown-linux-gnu). In the meantime, i will use the builtin support. " >&6;} fi enable_disasm=auto fi fi if test "$enable_disasm" = auto -o "$enable_disasm" = builtin; then $as_echo "#define DISASM_USE_BUILTIN 1" >>confdefs.h enable_disasm=builtin fi if [ "x$WANT_SPCFLAGS_EXCL" = "xyes" ]; then DEFINES="$DEFINES -DENABLE_EXCLUSIVE_SPCFLAGS" fi CPUINCLUDES="-I\$(srcdir)/uae_cpu" CPUSRCS="$CPUSRCS uae_cpu/aranym_glue.cpp uae_cpu/memory.cpp uae_cpu/newcpu.cpp uae_cpu/readcpu.cpp $JITSRCS $FPUSRCS $MMUSRCS" GENCPUSRCS="$GENCPUSRCS cpudefs.cpp cpustbl.cpp $GENJITSRCS" if [ "x$GCC" = "xyes" ]; then if test "$ac_test_CFLAGS" != set; then CFLAGS=`echo $CFLAGS | sed -e 's/-g\b//g'` fi if test "$ac_test_CXXFLAGS" != set; then CXXFLAGS=`echo $CXXFLAGS | sed -e 's/-g\b//g'` fi fi if [ "x$WANT_NATDEBUG" = "xyes" ]; then DBGSP="-g" WFLAGS="" if [ "x$GCC" = "xyes" ]; then WFLAGS="$WFLAGS -W -Wall -Wundef" fi else DBGSP="" WFLAGS="" fi if [ "x$WANT_FULLDEBUG" = "xyes" ]; then CFLAGS="$CFLAGS -DWHOLEDEBUG" CXXFLAGS="$CXXFLAGS -DWHOLEDEBUG" fi if [ "x$GCC" = "xyes" ]; then if test "$ac_test_CFLAGS" != set; then CFLAGS=`echo $CFLAGS | sed -e 's/-O2//g'` CFLAGS="-O3 $CFLAGS" fi if test "$ac_test_CXXFLAGS" != set; then CXXFLAGS=`echo $CXXFLAGS | sed -e 's/-O2//g'` CXXFLAGS="-O3 $CXXFLAGS" fi fi if [ "x$HAVE_OFAST" = "xyes" ]; then CFLAGS="`echo $CFLAGS | sed -e 's/-g//g'` -Ofast" CXXFLAGS="`echo $CXXFLAGS | sed -e 's/-g//g'` -Ofast" CXXFLAGS="-LANG:std $CXXFLAGS" LDFLAGS="$LDFLAGS -ipa" fi # Check whether --enable-sdl2 was given. if test "${enable_sdl2+set}" = set; then : enableval=$enable_sdl2; else enable_sdl2=auto fi SDL_CFLAGS= SDL_LIBS= no_sdl=yes no_sdl2=yes if test "$OS_TYPE" == darwin -a "$WITH_FINK" = no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler supports framework SDL" >&5 $as_echo_n "checking whether compiler supports framework SDL... " >&6; } if ${aranym_cv_have_framework_SDL+:} false; then : $as_echo_n "(cached) " >&6 else saved_LIBS="$LIBS" LIBS="$LIBS -framework SDL" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : aranym_cv_have_framework_SDL=yes; SDL_LIBS=" -framework SDL" else aranym_cv_have_framework_SDL=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$saved_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $aranym_cv_have_framework_SDL" >&5 $as_echo "$aranym_cv_have_framework_SDL" >&6; } if test $aranym_cv_have_framework_SDL = yes; then : $as_echo "#define HAVE_FRAMEWORK_SDL 1" >>confdefs.h fi have_framework_SDL=$aranym_cv_have_framework_SDL if test "$have_framework_SDL" = yes ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking location of SDL framework" >&5 $as_echo_n "checking location of SDL framework... " >&6; } if ${aranym_cv_SDL_location+:} false; then : $as_echo_n "(cached) " >&6 else aranym_cv_SDL_location="" echo "#error dummy" > conftest.c pos_locations=`$CC -v conftest.c -framework SDL 2>&1 | grep -e "> search" -A 999 | grep -e "End of " -B 999 | grep -e "^ "` rm -f conftest.c for pos_location in $FRAMEWORK_SEARCH_PATHS $pos_locations ; do pos_location="`echo $pos_location | sed 's/^"//' | sed 's/"$//'`" framework_loc="$pos_location/SDL.framework" if test -d "$framework_loc" ; then aranym_cv_SDL_location="$framework_loc" break; fi done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $aranym_cv_SDL_location" >&5 $as_echo "$aranym_cv_SDL_location" >&6; } if test -z $aranym_cv_SDL_location ; then as_fn_error $? "SDL framework not found" "$LINENO" 5 fi SDL_LOCATION=$aranym_cv_SDL_location sdl_version="`defaults read $SDL_LOCATION/Resources/Info.plist CFBundleShortVersionString`" no_sdl=no fi if test "$enable_sdl2" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler supports framework SDL2" >&5 $as_echo_n "checking whether compiler supports framework SDL2... " >&6; } if ${aranym_cv_have_framework_SDL2+:} false; then : $as_echo_n "(cached) " >&6 else saved_LIBS="$LIBS" LIBS="$LIBS -framework SDL2" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : aranym_cv_have_framework_SDL2=yes; SDL2_LIBS=" -framework SDL2" else aranym_cv_have_framework_SDL2=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$saved_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $aranym_cv_have_framework_SDL2" >&5 $as_echo "$aranym_cv_have_framework_SDL2" >&6; } if test $aranym_cv_have_framework_SDL2 = yes; then : $as_echo "#define HAVE_FRAMEWORK_SDL2 1" >>confdefs.h fi have_framework_SDL2=$aranym_cv_have_framework_SDL2 if test "$have_framework_SDL2" = yes ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking location of SDL2 framework" >&5 $as_echo_n "checking location of SDL2 framework... " >&6; } if ${aranym_cv_SDL2_location+:} false; then : $as_echo_n "(cached) " >&6 else aranym_cv_SDL2_location="" echo "#error dummy" > conftest.c pos_locations=`$CC -v conftest.c -framework SDL2 2>&1 | grep -e "> search" -A 999 | grep -e "End of " -B 999 | grep -e "^ "` rm -f conftest.c for pos_location in $FRAMEWORK_SEARCH_PATHS $pos_locations ; do pos_location="`echo $pos_location | sed 's/^"//' | sed 's/"$//'`" framework_loc="$pos_location/SDL2.framework" if test -d "$framework_loc" ; then aranym_cv_SDL2_location="$framework_loc" break; fi done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $aranym_cv_SDL2_location" >&5 $as_echo "$aranym_cv_SDL2_location" >&6; } if test -z $aranym_cv_SDL2_location ; then as_fn_error $? "SDL2 framework not found" "$LINENO" 5 fi SDL2_LOCATION=$aranym_cv_SDL2_location sdl2_version="`defaults read $SDL2_LOCATION/Resources/Info.plist CFBundleShortVersionString`" no_sdl2=no fi fi else # Check whether --with-sdl-prefix was given. if test "${with_sdl_prefix+set}" = set; then : withval=$with_sdl_prefix; sdl_prefix="$withval" else sdl_prefix="" fi # Check whether --with-sdl-exec-prefix was given. if test "${with_sdl_exec_prefix+set}" = set; then : withval=$with_sdl_exec_prefix; sdl_exec_prefix="$withval" else sdl_exec_prefix="" fi # Check whether --enable-sdltest was given. if test "${enable_sdltest+set}" = set; then : enableval=$enable_sdltest; else enable_sdltest=yes fi if test x$sdl_exec_prefix != x ; then sdl_config_args="$sdl_config_args --exec-prefix=$sdl_exec_prefix" if test x${SDL_CONFIG+set} != xset ; then SDL_CONFIG=$sdl_exec_prefix/bin/sdl-config fi fi if test x$sdl_prefix != x ; then sdl_config_args="$sdl_config_args --prefix=$sdl_prefix" if test x${SDL_CONFIG+set} != xset ; then SDL_CONFIG=$sdl_prefix/bin/sdl-config fi fi as_save_PATH="$PATH" if test "x$prefix" != xNONE; then PATH="$prefix/bin:$prefix/usr/bin:$PATH" fi # Extract the first word of "sdl-config", so it can be a program name with args. set dummy sdl-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_SDL_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $SDL_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_SDL_CONFIG="$SDL_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_SDL_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_SDL_CONFIG" && ac_cv_path_SDL_CONFIG="no" ;; esac fi SDL_CONFIG=$ac_cv_path_SDL_CONFIG if test -n "$SDL_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SDL_CONFIG" >&5 $as_echo "$SDL_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi PATH="$as_save_PATH" min_sdl_version=1.2.12 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SDL - version >= $min_sdl_version" >&5 $as_echo_n "checking for SDL - version >= $min_sdl_version... " >&6; } no_sdl="" if test "$SDL_CONFIG" = "no" ; then no_sdl=yes else SDL_CFLAGS=`$SDL_CONFIG $sdl_config_args --cflags` SDL_LIBS=`$SDL_CONFIG $sdl_config_args --libs` case $host in *-*-cygwin*) # switches that must be removed for the mixed cygwin/MinGW32 platform nosdlswitch='s/-Dmain=SDL_main//; s=-I/usr.*/SDL='-I${includedir}/SDL'=; s=-I/mingw.*/SDL='-I${includedir}/SDL'=; s/-DWIN32//; s/-Uunix//; s/-mno-cygwin//; s/-lmingw32//; s/-lSDLmain//; s/-mwindows//; s/-mms-bitfields// ' SDL_CFLAGS=`echo $SDL_CFLAGS | sed -e "$nosdlswitch"` SDL_LIBS=`echo $SDL_LIBS | sed -e "$nosdlswitch"` enable_sdltest=no ;; *-*-mingw*) # switches that must be removed because we dont link SDLmain nosdlswitch='s/-Dmain=SDL_main//; s=-I/usr.*/SDL='-I${includedir}/SDL'=; s=-I/mingw.*/SDL='-I${includedir}/SDL'=; s/-DWIN32//; s/-Uunix//; s/-lmingw32//; s/-lSDLmain//; s/-mwindows//; ' SDL_CFLAGS=`echo $SDL_CFLAGS | sed -e "$nosdlswitch"` SDL_LIBS=`echo $SDL_LIBS | sed -e "$nosdlswitch"` enable_sdltest=no ;; esac # remove -L/usr/lib{32,64} from SDL_LIBS; this is # a default search directory anyways, # and will cause trouble when compiling in 32-bit mode # on 64-bit machines SDL_LIBS=`echo $SDL_LIBS | sed -e 's,-L/usr/lib[2346]* ,,'` sdl_version=`$SDL_CONFIG $sdl_config_args --version` sdl_major_version=`$SDL_CONFIG $sdl_config_args --version | \ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'` sdl_minor_version=`$SDL_CONFIG $sdl_config_args --version | \ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'` sdl_micro_version=`$SDL_CONFIG $sdl_config_args --version | \ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'` if test "x$enable_sdltest" = "xyes" ; then ac_save_CFLAGS="$CFLAGS" ac_save_CXXFLAGS="$CXXFLAGS" ac_save_LIBS="$LIBS" CFLAGS="$CFLAGS $SDL_CFLAGS" eval CFLAGS=\"$CFLAGS\" eval CFLAGS=\"$CFLAGS\" CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" eval CXXFLAGS=\"$CXXFLAGS\" eval CXXFLAGS=\"$CXXFLAGS\" LIBS="$LIBS $SDL_LIBS" rm -f conf.sdltest if test "$cross_compiling" = yes; then : echo $ac_n "cross compiling; assumed OK... $ac_c" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include "SDL.h" char* my_strdup (char *str) { char *new_str; if (str) { new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char)); strcpy (new_str, str); } else new_str = NULL; return new_str; } int main (int argc, char *argv[]) { int major, minor, micro; char *tmp_version; /* This hangs on some systems (?) system ("touch conf.sdltest"); */ { FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); } /* HP/UX 9 (%@#!) writes to sscanf strings */ tmp_version = my_strdup("$min_sdl_version"); if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { printf("%s, bad version string\n", "$min_sdl_version"); exit(1); } if (($sdl_major_version > major) || (($sdl_major_version == major) && ($sdl_minor_version > minor)) || (($sdl_major_version == major) && ($sdl_minor_version == minor) && ($sdl_micro_version >= micro))) { return 0; } else { printf("\n*** 'sdl-config --version' returned %d.%d.%d, but the minimum version\n", $sdl_major_version, $sdl_minor_version, $sdl_micro_version); printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro); printf("*** best to upgrade to the required version.\n"); printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n"); printf("*** to point to the correct copy of sdl-config, and remove the file\n"); printf("*** config.cache before re-running configure\n"); return 1; } } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else no_sdl=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi CFLAGS="$ac_save_CFLAGS" CXXFLAGS="$ac_save_CXXFLAGS" LIBS="$ac_save_LIBS" fi fi if test "x$no_sdl" = x ; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } : else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if test "$SDL_CONFIG" = "no" ; then echo "*** The sdl-config script installed by SDL could not be found" echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in" echo "*** your path, or set the SDL_CONFIG environment variable to the" echo "*** full path to sdl-config." else if test -f conf.sdltest ; then : else echo "*** Could not run SDL test program, checking why..." CFLAGS="$CFLAGS $SDL_CFLAGS" CXXFLAGS="$CXXFLAGS $SDL_CFLAGS" LIBS="$LIBS $SDL_LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include "SDL.h" int main(int argc, char *argv[]) { return 0; } #undef main #define main K_and_R_C_main int main () { return 0; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : echo "*** The test program compiled, but did not run. This usually means" echo "*** that the run-time linker is not finding SDL or finding the wrong" echo "*** version of SDL. If it is not finding SDL, you'll need to set your" echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" echo "*** to the installed location Also, make sure you have run ldconfig if that" echo "*** is required on your system" echo "***" echo "*** If you have an old version installed, it is best to remove it, although" echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" else echo "*** The test program failed to compile or link. See the file config.log for the" echo "*** exact error that occured. This usually means SDL was incorrectly installed" echo "*** or that you have moved SDL since it was installed. In the latter case, you" echo "*** may want to edit the sdl-config script: $SDL_CONFIG" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext CFLAGS="$ac_save_CFLAGS" CXXFLAGS="$ac_save_CXXFLAGS" LIBS="$ac_save_LIBS" fi fi SDL_CFLAGS="" SDL_LIBS="" : fi rm -f conf.sdltest if test "$enable_sdl2" != no; then # Check whether --with-sdl2-prefix was given. if test "${with_sdl2_prefix+set}" = set; then : withval=$with_sdl2_prefix; sdl2_prefix="$withval" else sdl2_prefix="" fi # Check whether --with-sdl2-exec-prefix was given. if test "${with_sdl2_exec_prefix+set}" = set; then : withval=$with_sdl2_exec_prefix; sdl2_exec_prefix="$withval" else sdl2_exec_prefix="" fi # Check whether --enable-sdltest was given. if test "${enable_sdltest+set}" = set; then : enableval=$enable_sdltest; else enable_sdltest=yes fi min_sdl2_version=2.0.3 if test "x$sdl2_prefix$sdl2_exec_prefix" = x ; then pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SDL2" >&5 $as_echo_n "checking for SDL2... " >&6; } if test -n "$SDL2_CFLAGS"; then pkg_cv_SDL2_CFLAGS="$SDL2_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sdl2 >= \$min_sdl2_version\""; } >&5 ($PKG_CONFIG --exists --print-errors "sdl2 >= $min_sdl2_version") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_SDL2_CFLAGS=`$PKG_CONFIG --cflags "sdl2 >= $min_sdl2_version" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$SDL2_LIBS"; then pkg_cv_SDL2_LIBS="$SDL2_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"sdl2 >= \$min_sdl2_version\""; } >&5 ($PKG_CONFIG --exists --print-errors "sdl2 >= $min_sdl2_version") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_SDL2_LIBS=`$PKG_CONFIG --libs "sdl2 >= $min_sdl2_version" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then SDL2_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "sdl2 >= $min_sdl2_version" 2>&1` else SDL2_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "sdl2 >= $min_sdl2_version" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$SDL2_PKG_ERRORS" >&5 sdl2_pc=no elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } sdl2_pc=no else SDL2_CFLAGS=$pkg_cv_SDL2_CFLAGS SDL2_LIBS=$pkg_cv_SDL2_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } sdl2_pc=yes fi else sdl2_pc=no if test x$sdl2_exec_prefix != x ; then sdl2_config_args="$sdl2_config_args --exec-prefix=$sdl2_exec_prefix" if test x${SDL2_CONFIG+set} != xset ; then SDL2_CONFIG=$sdl2_exec_prefix/bin/sdl2-config fi fi if test x$sdl2_prefix != x ; then sdl2_config_args="$sdl2_config_args --prefix=$sdl2_prefix" if test x${SDL2_CONFIG+set} != xset ; then SDL2_CONFIG=$sdl2_prefix/bin/sdl2-config fi fi fi if test "x$sdl2_pc" = xyes ; then no_sdl2="" SDL2_CONFIG="$PKG_CONFIG sdl2" sdl2_version=`$PKG_CONFIG --modversion sdl2` else as_save_PATH="$PATH" if test "x$prefix" != xNONE && test "$cross_compiling" != yes; then PATH="$prefix/bin:$prefix/usr/bin:$PATH" fi # Extract the first word of "sdl2-config", so it can be a program name with args. set dummy sdl2-config; ac_word=$2 { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 $as_echo_n "checking for $ac_word... " >&6; } if ${ac_cv_path_SDL2_CONFIG+:} false; then : $as_echo_n "(cached) " >&6 else case $SDL2_CONFIG in [\\/]* | ?:[\\/]*) ac_cv_path_SDL2_CONFIG="$SDL2_CONFIG" # Let the user override the test with a path. ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. for ac_exec_ext in '' $ac_executable_extensions; do if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then ac_cv_path_SDL2_CONFIG="$as_dir/$ac_word$ac_exec_ext" $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 break 2 fi done done IFS=$as_save_IFS test -z "$ac_cv_path_SDL2_CONFIG" && ac_cv_path_SDL2_CONFIG="no" ;; esac fi SDL2_CONFIG=$ac_cv_path_SDL2_CONFIG if test -n "$SDL2_CONFIG"; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: $SDL2_CONFIG" >&5 $as_echo "$SDL2_CONFIG" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi PATH="$as_save_PATH" no_sdl2="" if test "$SDL2_CONFIG" = "no" ; then no_sdl2=yes else SDL2_CFLAGS=`$SDL2_CONFIG $sdl_config_args --cflags` SDL2_LIBS=`$SDL2_CONFIG $sdl2_config_args --libs` sdl2_version=`$SDL2_CONFIG $sdl2_config_args --version` fi fi case $host in *-*-cygwin*) # switches that must be removed for the mixed cygwin/MinGW32 platform nosdlswitch='s/-Dmain=SDL_main//; s=-I/usr.*/SDL=-I${includedir}/SDL=; s=-I/mingw.*/SDL=-I${includedir}/SDL=; s/-DWIN32//; s/-Uunix//; s/-mno-cygwin//; s/-lmingw32//; s/-lSDL2main//; s/-mwindows//; s/-mms-bitfields// ' SDL2_CFLAGS=`echo $SDL2_CFLAGS | sed -e "$nosdlswitch"` SDL2_LIBS=`echo $SDL2_LIBS | sed -e "$nosdlswitch"` # pkg-config --libs on cygwin returns all private libs?? SDL2_LIBS=-lSDL2 enable_sdltest=no ;; *-*-mingw*) # switches that must be removed because we dont link SDLmain nosdlswitch='s/-Dmain=SDL_main//; s=-I/usr.*/SDL='-I${includedir}/SDL'=; s=-I/mingw.*/SDL='-I${includedir}/SDL'=; s/-DWIN32//; s/-Uunix//; s/-lmingw32//; s/-lSDL2main//; s/-mwindows//; ' SDL2_CFLAGS=`echo $SDL2_CFLAGS | sed -e "$nosdlswitch"` SDL2_LIBS=`echo $SDL2_LIBS | sed -e "$nosdlswitch"` SDL2_LIBS=-lSDL2 enable_sdltest=no ;; esac # remove -L/usr/lib{32,64} from SDL_LIBS; this is # a default search directory anyways, # and will cause trouble when compiling in 32-bit mode # on 64-bit machines SDL2_LIBS=`echo $SDL2_LIBS | sed -e 's,-L/usr/lib[2346]* ,,'` if test "$no_sdl2" != yes ; then if test "x$enable_sdltest" = "xyes" ; then ac_save_CFLAGS="$CFLAGS" ac_save_CXXFLAGS="$CXXFLAGS" ac_save_LIBS="$LIBS" CFLAGS="$CFLAGS $SDL2_CFLAGS" eval CFLAGS=\"$CFLAGS\" eval CFLAGS=\"$CFLAGS\" CXXFLAGS="$CXXFLAGS $SDL2_CFLAGS" eval CXXFLAGS=\"$CXXFLAGS\" eval CXXFLAGS=\"$CXXFLAGS\" LIBS="$LIBS $SDL2_LIBS" sdl2_major_version=`echo $sdl2_version | \ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\1/'` sdl2_minor_version=`echo $sdl2_version | \ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\2/'` sdl2_micro_version=`echo $sdl2_version | \ sed 's/\([0-9]*\).\([0-9]*\).\([0-9]*\)/\3/'` rm -f conf.sdltest if test "$cross_compiling" = yes; then : echo $ac_n "cross compiling; assumed OK... $ac_c" else cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include #include #include "SDL.h" char* my_strdup (char *str) { char *new_str; if (str) { new_str = (char *)malloc ((strlen (str) + 1) * sizeof(char)); strcpy (new_str, str); } else new_str = NULL; return new_str; } int main (int argc, char *argv[]) { int major, minor, micro; char *tmp_version; /* This hangs on some systems (?) system ("touch conf.sdltest"); */ { FILE *fp = fopen("conf.sdltest", "a"); if ( fp ) fclose(fp); } /* HP/UX 9 (%@#!) writes to sscanf strings */ tmp_version = my_strdup("$min_sdl2_version"); if (sscanf(tmp_version, "%d.%d.%d", &major, &minor, µ) != 3) { printf("%s, bad version string\n", "$min_sdl2_version"); exit(1); } if (($sdl2_major_version > major) || (($sdl2_major_version == major) && ($sdl2_minor_version > minor)) || (($sdl2_major_version == major) && ($sdl2_minor_version == minor) && ($sdl2_micro_version >= micro))) { return 0; } else { printf("\n*** 'sdl2-config --version' returned %d.%d.%d, but the minimum version\n", $sdl2_major_version, $sdl2_minor_version, $sdl2_micro_version); printf("*** of SDL required is %d.%d.%d. If sdl2-config is correct, then it is\n", major, minor, micro); printf("*** best to upgrade to the required version.\n"); printf("*** If sdl2-config was wrong, set the environment variable SDL2_CONFIG\n"); printf("*** to point to the correct copy of sdl2-config, and remove the file\n"); printf("*** config.cache before re-running configure\n"); return 1; } } _ACEOF if ac_fn_c_try_run "$LINENO"; then : else no_sdl2=yes fi rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ conftest.$ac_objext conftest.beam conftest.$ac_ext fi CFLAGS="$ac_save_CFLAGS" CXXFLAGS="$ac_save_CXXFLAGS" LIBS="$ac_save_LIBS" fi fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for SDL2 - version >= $min_sdl2_version" >&5 $as_echo_n "checking for SDL2 - version >= $min_sdl2_version... " >&6; } if test "x$no_sdl2" = x ; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } else { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } fi if test "x$no_sdl2" = x ; then : else if test "$SDL2_CONFIG" = "no" ; then echo "*** The sdl2-config script installed by SDL could not be found" echo "*** If SDL was installed in PREFIX, make sure PREFIX/bin is in" echo "*** your path, or set the SDL2_CONFIG environment variable to the" echo "*** full path to sdl2-config." else if test -f conf.sdltest ; then : else echo "*** Could not run SDL2 test program, checking why..." CFLAGS="$CFLAGS $SDL2_CFLAGS" CXXFLAGS="$CXXFLAGS $SDL2_CFLAGS" LIBS="$LIBS $SDL2_LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include #include "SDL.h" int main(int argc, char *argv[]) { return 0; } #undef main #define main K_and_R_C_main int main () { return 0; ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : echo "*** The test program compiled, but did not run. This usually means" echo "*** that the run-time linker is not finding SDL or finding the wrong" echo "*** version of SDL. If it is not finding SDL, you'll need to set your" echo "*** LD_LIBRARY_PATH environment variable, or edit /etc/ld.so.conf to point" echo "*** to the installed location Also, make sure you have run ldconfig if that" echo "*** is required on your system" echo "***" echo "*** If you have an old version installed, it is best to remove it, although" echo "*** you may also be able to get things to work by modifying LD_LIBRARY_PATH" else echo "*** The test program failed to compile or link. See the file config.log for the" echo "*** exact error that occured. This usually means SDL was incorrectly installed" echo "*** or that you have moved SDL since it was installed. In the latter case, you" echo "*** may want to edit the sdl2-config script: $SDL2_CONFIG" fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext CFLAGS="$ac_save_CFLAGS" CXXFLAGS="$ac_save_CXXFLAGS" LIBS="$ac_save_LIBS" fi fi SDL2_CFLAGS="" SDL2_LIBS="" : fi rm -f conf.sdltest fi fi if test "$no_sdl" = yes -a "$no_sdl2" = yes; then as_fn_error $? "*** neither SDL nor SDL2 found! ***" "$LINENO" 5 else case "$host" in #( arm*-*-linux*) : on_rpi=`awk -v r=0 '/^Hardware[ \t]+:[ \t]+BCM2708/ { ++r;} /^Serial[ \t]+:/ { ++r; } END { print ((r > 1) ? "yes" : "no");}' /proc/cpuinfo` ;; #( *) : on_rpi="no" ;; esac if test "$on_rpi" = yes; then $as_echo "#define USE_FIXED_CONSOLE_FBVIDEOMODE 1" >>confdefs.h fi fi if test "$no_sdl2" = yes -a "$enable_sdl2" = yes; then as_fn_error $? "*** SDL2 was requested, but was not found ***" "$LINENO" 5 fi if test "$no_sdl2" != yes -a "$enable_sdl2" != no; then enable_sdl2=yes fi if test "$have_framework_SDL" = yes -o "$have_framework_SDL2" = yes; then if test "$enable_sdl2" = yes; then SDL_CFLAGS="-I$SDL2_LOCATION/Headers" BUNDLE_FRAMEWORKS="$BUNDLE_FRAMEWORKS $SDL2_LOCATION" SDL_LIBS="$SDL2_LIBS" sdl_version="$sdl2_version" else SDL_CFLAGS="-I$SDL_LOCATION/Headers" BUNDLE_FRAMEWORKS="$BUNDLE_FRAMEWORKS $SDL_LOCATION" fi else if test "$enable_sdl2" = yes; then SDL_CFLAGS="$SDL2_CFLAGS" SDL_LIBS="$SDL2_LIBS" sdl_version="$sdl2_version" fi fi if test "$enable_sdl2" = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler supports framework SDL2_image" >&5 $as_echo_n "checking whether compiler supports framework SDL2_image... " >&6; } if ${aranym_cv_have_framework_SDL2_image+:} false; then : $as_echo_n "(cached) " >&6 else saved_LIBS="$LIBS" LIBS="$LIBS -framework SDL2_image" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : aranym_cv_have_framework_SDL2_image=yes; SDL2_image_LIBS=" -framework SDL2_image" else aranym_cv_have_framework_SDL2_image=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$saved_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $aranym_cv_have_framework_SDL2_image" >&5 $as_echo "$aranym_cv_have_framework_SDL2_image" >&6; } if test $aranym_cv_have_framework_SDL2_image = yes; then : $as_echo "#define HAVE_FRAMEWORK_SDL2_IMAGE 1" >>confdefs.h fi have_framework_SDL2_image=$aranym_cv_have_framework_SDL2_image else { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether compiler supports framework SDL_image" >&5 $as_echo_n "checking whether compiler supports framework SDL_image... " >&6; } if ${aranym_cv_have_framework_SDL_image+:} false; then : $as_echo_n "(cached) " >&6 else saved_LIBS="$LIBS" LIBS="$LIBS -framework SDL_image" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int main () { ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : aranym_cv_have_framework_SDL_image=yes; SDL_image_LIBS=" -framework SDL_image" else aranym_cv_have_framework_SDL_image=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS="$saved_LIBS" fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $aranym_cv_have_framework_SDL_image" >&5 $as_echo "$aranym_cv_have_framework_SDL_image" >&6; } if test $aranym_cv_have_framework_SDL_image = yes; then : $as_echo "#define HAVE_FRAMEWORK_SDL_IMAGE 1" >>confdefs.h fi have_framework_SDL_image=$aranym_cv_have_framework_SDL_image fi if test "$have_framework_SDL2_image" = yes ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking location of SDL2_image framework" >&5 $as_echo_n "checking location of SDL2_image framework... " >&6; } if ${aranym_cv_SDL2_image_location+:} false; then : $as_echo_n "(cached) " >&6 else aranym_cv_SDL2_image_location="" echo "#error dummy" > conftest.c pos_locations=`$CC -v conftest.c -framework SDL2_image 2>&1 | grep -e "> search" -A 999 | grep -e "End of " -B 999 | grep -e "^ "` rm -f conftest.c for pos_location in $FRAMEWORK_SEARCH_PATHS $pos_locations ; do pos_location="`echo $pos_location | sed 's/^"//' | sed 's/"$//'`" framework_loc="$pos_location/SDL2_image.framework" if test -d "$framework_loc" ; then aranym_cv_SDL2_image_location="$framework_loc" break; fi done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $aranym_cv_SDL2_image_location" >&5 $as_echo "$aranym_cv_SDL2_image_location" >&6; } if test -z $aranym_cv_SDL2_image_location ; then as_fn_error $? "SDL2_image framework not found" "$LINENO" 5 fi SDL2_image_LOCATION=$aranym_cv_SDL2_image_location SDL_CFLAGS="$SDL_CFLAGS -I$SDL2_image_LOCATION/Headers" BUNDLE_FRAMEWORKS="$BUNDLE_FRAMEWORKS $SDL2_image_LOCATION" have_sdlimage_lib=yes have_sdlimage_h=yes elif test "$have_framework_SDL_image" = yes ; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking location of SDL_image framework" >&5 $as_echo_n "checking location of SDL_image framework... " >&6; } if ${aranym_cv_SDL_image_location+:} false; then : $as_echo_n "(cached) " >&6 else aranym_cv_SDL_image_location="" echo "#error dummy" > conftest.c pos_locations=`$CC -v conftest.c -framework SDL_image 2>&1 | grep -e "> search" -A 999 | grep -e "End of " -B 999 | grep -e "^ "` rm -f conftest.c for pos_location in $FRAMEWORK_SEARCH_PATHS $pos_locations ; do pos_location="`echo $pos_location | sed 's/^"//' | sed 's/"$//'`" framework_loc="$pos_location/SDL_image.framework" if test -d "$framework_loc" ; then aranym_cv_SDL_image_location="$framework_loc" break; fi done fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $aranym_cv_SDL_image_location" >&5 $as_echo "$aranym_cv_SDL_image_location" >&6; } if test -z $aranym_cv_SDL_image_location ; then as_fn_error $? "SDL_image framework not found" "$LINENO" 5 fi SDL_image_LOCATION=$aranym_cv_SDL_image_location CPPFLAGS="$CPPFLAGS -I$SDL_image_LOCATION/Headers" BUNDLE_FRAMEWORKS="$BUNDLE_FRAMEWORKS $SDL_image_LOCATION" have_sdlimage_lib=yes have_sdlimage_h=yes else tmp_cflags=$CFLAGS tmp_cppflags=$CPPFLAGS CFLAGS="$CFLAGS $SDL_CFLAGS" CPPFLAGS="$CPPFLAGS $SDL_CFLAGS" case "$host" in # the mixed environment on cygwin usually # causes link tests against SDL fail here, # just assume it is present *-*-cygwin* | *-*-mingw*) have_sdlimage_lib=yes have_sdlimage_h=yes ;; *) ac_fn_c_check_header_mongrel "$LINENO" "SDL_image.h" "ac_cv_header_SDL_image_h" "$ac_includes_default" if test "x$ac_cv_header_SDL_image_h" = xyes; then : have_sdlimage_h=yes else havesdlimage_h=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for IMG_isJPG in -lSDL_image" >&5 $as_echo_n "checking for IMG_isJPG in -lSDL_image... " >&6; } if ${ac_cv_lib_SDL_image_IMG_isJPG+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lSDL_image $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char IMG_isJPG (); int main () { return IMG_isJPG (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_SDL_image_IMG_isJPG=yes else ac_cv_lib_SDL_image_IMG_isJPG=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_SDL_image_IMG_isJPG" >&5 $as_echo "$ac_cv_lib_SDL_image_IMG_isJPG" >&6; } if test "x$ac_cv_lib_SDL_image_IMG_isJPG" = xyes; then : have_sdlimage_lib=yes else have_sdlimage_lib=no fi ;; esac CFLAGS=$tmp_cflags CPPFLAGS=$tmp_cppflags if test "$have_sdlimage_h" = yes -a "$have_sdlimage_lib" = yes; then if test "$enable_sdl2" = yes; then SDL_LIBS="-lSDL2_image $SDL_LIBS" else SDL_LIBS="-lSDL_image $SDL_LIBS" fi fi fi if test "$have_sdlimage_h" = yes -a "$have_sdlimage_lib" = yes; then $as_echo "#define HAVE_SDL_IMAGE 1" >>confdefs.h fi if test "x$WANT_OPENGL" = "xyes"; then have_opengl="no" if test "x$PKG_CONFIG" != "x"; then pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GL" >&5 $as_echo_n "checking for GL... " >&6; } if test -n "$GL_CFLAGS"; then pkg_cv_GL_CFLAGS="$GL_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gl\""; } >&5 ($PKG_CONFIG --exists --print-errors "gl") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GL_CFLAGS=`$PKG_CONFIG --cflags "gl" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$GL_LIBS"; then pkg_cv_GL_LIBS="$GL_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gl\""; } >&5 ($PKG_CONFIG --exists --print-errors "gl") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_GL_LIBS=`$PKG_CONFIG --libs "gl" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then GL_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "gl" 2>&1` else GL_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "gl" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$GL_PKG_ERRORS" >&5 as_fn_error $? "Package requirements (gl) were not met: $GL_PKG_ERRORS Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix. Alternatively, you may set the environment variables GL_CFLAGS and GL_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details." "$LINENO" 5 elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} as_fn_error $? "The pkg-config script could not be found or is too old. Make sure it is in your PATH or set the PKG_CONFIG environment variable to the full path to pkg-config. Alternatively, you may set the environment variables GL_CFLAGS and GL_LIBS to avoid the need to call pkg-config. See the pkg-config man page for more details. To get pkg-config, see . See \`config.log' for more details" "$LINENO" 5; } else GL_CFLAGS=$pkg_cv_GL_CFLAGS GL_LIBS=$pkg_cv_GL_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } fi fi if test "x$GL_LIBS" = "x"; then case "$host" in *-*-cygwin* | *-*-mingw*) GL_LIBS="-lopengl32" ;; *-*-darwin*) GL_LIBS="-Wl,-framework,OpenGL" ;; *) GL_LIBS="-lGL" ;; esac fi case "$host" in # the mixed environment on cygwin usually # causes link tests against SDL fail here, # just assume it is present *-*-cygwin* | *-*-mingw*) have_opengl=yes ;; esac { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OpenGL support" >&5 $as_echo_n "checking for OpenGL support... " >&6; } if test "$have_opengl" = no; then tmp_cflags=$CFLAGS tmp_libs=$LIBS CFLAGS="$CFLAGS $SDL_CFLAGS" LIBS="$LIBS $SDL_LIBS $GL_LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include "SDL_opengl.h" int main () { ; return 0; } _ACEOF if ac_fn_c_try_compile "$LINENO"; then : have_opengl="yes" fi rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $have_opengl" >&5 $as_echo "$have_opengl" >&6; } CFLAGS=$tmp_cflags LIBS=$tmp_libs DYNGLSRCS="" if test "x$have_opengl" = "xyes"; then $as_echo "#define ENABLE_OPENGL 1" >>confdefs.h DYNGLSRCS="dyngl.c" else WANT_OPENGL="no" fi fi if [ "x$WANT_LILO" = "xyes" ]; then # Search using pkg-config if test "x$PKG_CONFIG" != "x"; then pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ZLIB" >&5 $as_echo_n "checking for ZLIB... " >&6; } if test -n "$ZLIB_CFLAGS"; then pkg_cv_ZLIB_CFLAGS="$ZLIB_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zlib\""; } >&5 ($PKG_CONFIG --exists --print-errors "zlib") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_ZLIB_CFLAGS=`$PKG_CONFIG --cflags "zlib" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$ZLIB_LIBS"; then pkg_cv_ZLIB_LIBS="$ZLIB_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"zlib\""; } >&5 ($PKG_CONFIG --exists --print-errors "zlib") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_ZLIB_LIBS=`$PKG_CONFIG --libs "zlib" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then ZLIB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "zlib" 2>&1` else ZLIB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "zlib" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$ZLIB_PKG_ERRORS" >&5 have_zlib=no elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } have_zlib=no else ZLIB_CFLAGS=$pkg_cv_ZLIB_CFLAGS ZLIB_LIBS=$pkg_cv_ZLIB_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } have_zlib=yes fi fi # Fallback to autoconf (helps in Ubuntu 10.04 LTS) if [ "x$have_zlib" = "xno" ]; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for gzopen in -lz" >&5 $as_echo_n "checking for gzopen in -lz... " >&6; } if ${ac_cv_lib_z_gzopen+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lz $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char gzopen (); int main () { return gzopen (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_z_gzopen=yes else ac_cv_lib_z_gzopen=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_z_gzopen" >&5 $as_echo "$ac_cv_lib_z_gzopen" >&6; } if test "x$ac_cv_lib_z_gzopen" = xyes; then : have_zlib=yes else have_zlib=no fi fi if [ "x$have_zlib" = "xyes" ]; then $as_echo "#define HAVE_LIBZ 1" >>confdefs.h fi else have_zlib="not required" fi WITH_USBHOST="no" if test "x$WANT_USBHOST" = "xyes"; then # Search using pkg-config if test "x$PKG_CONFIG" != "x"; then pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for LIBUSB" >&5 $as_echo_n "checking for LIBUSB... " >&6; } if test -n "$LIBUSB_CFLAGS"; then pkg_cv_LIBUSB_CFLAGS="$LIBUSB_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libusb-1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "libusb-1.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBUSB_CFLAGS=`$PKG_CONFIG --cflags "libusb-1.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$LIBUSB_LIBS"; then pkg_cv_LIBUSB_LIBS="$LIBUSB_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"libusb-1.0\""; } >&5 ($PKG_CONFIG --exists --print-errors "libusb-1.0") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_LIBUSB_LIBS=`$PKG_CONFIG --libs "libusb-1.0" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then LIBUSB_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "libusb-1.0" 2>&1` else LIBUSB_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "libusb-1.0" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$LIBUSB_PKG_ERRORS" >&5 WITH_USBHOST="no" elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } WITH_USBHOST="no" else LIBUSB_CFLAGS=$pkg_cv_LIBUSB_CFLAGS LIBUSB_LIBS=$pkg_cv_LIBUSB_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } WITH_USBHOST="yes" fi fi # Search the library and headers directly if test "x$WITH_USBHOST" = "xno"; then ac_fn_c_check_header_mongrel "$LINENO" "libusb-1.0/libusb.h" "ac_cv_header_libusb_1_0_libusb_h" "$ac_includes_default" if test "x$ac_cv_header_libusb_1_0_libusb_h" = xyes; then : WITH_USBHOST="yes" else WITH_USBHOST="no" fi if test "x$WITH_USBHOST" = "xyes"; then { $as_echo "$as_me:${as_lineno-$LINENO}: checking for libusb_init in -lusb-1.0" >&5 $as_echo_n "checking for libusb_init in -lusb-1.0... " >&6; } if ${ac_cv_lib_usb_1_0_libusb_init+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lusb-1.0 $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char libusb_init (); int main () { return libusb_init (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_usb_1_0_libusb_init=yes else ac_cv_lib_usb_1_0_libusb_init=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_usb_1_0_libusb_init" >&5 $as_echo "$ac_cv_lib_usb_1_0_libusb_init" >&6; } if test "x$ac_cv_lib_usb_1_0_libusb_init" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBUSB_1_0 1 _ACEOF LIBS="-lusb-1.0 $LIBS" else WITH_USBHOST="no" fi LIBUSB_LIBS="-lusb-1.0" fi fi if test "x$WITH_USBHOST" = "xno"; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: libusb is missing, USB NF disabled" >&5 $as_echo "$as_me: WARNING: libusb is missing, USB NF disabled" >&2;} fi fi if [ "x$WANT_LILO" = "xyes" ]; then if [ "x$WANT_MMU" = "xyes" ]; then $as_echo "#define ENABLE_LILO 1" >>confdefs.h else as_fn_error $? "Linux kernel requires functional MMU emulation" "$LINENO" 5 fi fi NFCDROM_DRIVER="" case "$host_os" in linux*) NFCDROMSRCS="natfeat/nfcdrom_linux.cpp" $as_echo "#define NFCDROM_LINUX_SUPPORT 1" >>confdefs.h NFCDROM_DRIVER="linux" ;; mingw*|cygwin*) NFCDROMSRCS="natfeat/nfcdrom_win32.cpp" $as_echo "#define NFCDROM_WIN32_SUPPORT 1" >>confdefs.h NFCDROM_DRIVER="win32" ;; esac if test "$enable_sdl2" != yes; then test "$NFCDROM_DRIVER" != "" && NFCDROM_DRIVER="${NFCDROM_DRIVER}," NFCDROM_DRIVER="${NFCDROM_DRIVER}sdl" NFCDROMSRCS="$NFCDROMSRCS natfeat/nfcdrom_sdl.cpp" fi if test "$NFCDROM_DRIVER" != ""; then NFCDROMSRCS="$NFCDROMSRCS natfeat/nfcdrom.cpp" $as_echo "#define NFCDROM_SUPPORT 1" >>confdefs.h else NFCDROM_DRIVER=no fi PROVIDES_NF="$PROVIDES_NF cdrom($NFCDROM_DRIVER)" NFPCISRCS="" if [ "x$WANT_NFPCI" = "xyes" ]; then case "$host_os" in linux*) $as_echo "#define NFPCI_SUPPORT 1" >>confdefs.h NFPCISRCS="natfeat/nfpci.cpp" $as_echo "#define NFPCI_LINUX_SUPPORT 1" >>confdefs.h NFPCISRCS="$NFPCISRCS natfeat/nfpci_linux.cpp" PROVIDES_NF="$PROVIDES_NF pci" ;; *) as_fn_error $? "*** NatFeats PCI not supported by this OS ***" "$LINENO" 5 WANT_NFPCI="no" ;; esac fi USBHOSTSRCS="" if [ "x$WANT_USBHOST" = "xyes" -a "x$WITH_USBHOST" = "xyes" ]; then $as_echo "#define USBHOST_SUPPORT 1" >>confdefs.h USBHOSTSRCS="natfeat/usbhost.cpp" LIBS="$LIBS $LIBUSB_LIBS" PROVIDES_NF="$PROVIDES_NF usb" fi NFOSMESASRCS="" if test "x$WANT_NFOSMESA" = "xyes"; then have_osmesa=no if test "x$PKG_CONFIG" != "x"; then pkg_failed=no { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OSMESA" >&5 $as_echo_n "checking for OSMESA... " >&6; } if test -n "$OSMESA_CFLAGS"; then pkg_cv_OSMESA_CFLAGS="$OSMESA_CFLAGS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"osmesa\""; } >&5 ($PKG_CONFIG --exists --print-errors "osmesa") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_OSMESA_CFLAGS=`$PKG_CONFIG --cflags "osmesa" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test -n "$OSMESA_LIBS"; then pkg_cv_OSMESA_LIBS="$OSMESA_LIBS" elif test -n "$PKG_CONFIG"; then if test -n "$PKG_CONFIG" && \ { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"osmesa\""; } >&5 ($PKG_CONFIG --exists --print-errors "osmesa") 2>&5 ac_status=$? $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 test $ac_status = 0; }; then pkg_cv_OSMESA_LIBS=`$PKG_CONFIG --libs "osmesa" 2>/dev/null` test "x$?" != "x0" && pkg_failed=yes else pkg_failed=yes fi else pkg_failed=untried fi if test $pkg_failed = yes; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } if $PKG_CONFIG --atleast-pkgconfig-version 0.20; then _pkg_short_errors_supported=yes else _pkg_short_errors_supported=no fi if test $_pkg_short_errors_supported = yes; then OSMESA_PKG_ERRORS=`$PKG_CONFIG --short-errors --print-errors --cflags --libs "osmesa" 2>&1` else OSMESA_PKG_ERRORS=`$PKG_CONFIG --print-errors --cflags --libs "osmesa" 2>&1` fi # Put the nasty error message in config.log where it belongs echo "$OSMESA_PKG_ERRORS" >&5 : elif test $pkg_failed = untried; then { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 $as_echo "no" >&6; } : else OSMESA_CFLAGS=$pkg_cv_OSMESA_CFLAGS OSMESA_LIBS=$pkg_cv_OSMESA_LIBS { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 $as_echo "yes" >&6; } have_osmesa=yes fi fi if test "$have_osmesa" = "no"; then case "$host_os" in darwin*) OSMESA_CFLAGS="-I/usr/X11R6/include/" ;; *) ;; esac have_osmesa=yes ac_fn_c_check_header_mongrel "$LINENO" "GL/osmesa.h" "ac_cv_header_GL_osmesa_h" "$ac_includes_default" if test "x$ac_cv_header_GL_osmesa_h" = xyes; then : : else have_osmesa=no fi { $as_echo "$as_me:${as_lineno-$LINENO}: checking for OSMesaCreateContext in -lOSMesa" >&5 $as_echo_n "checking for OSMesaCreateContext in -lOSMesa... " >&6; } if ${ac_cv_lib_OSMesa_OSMesaCreateContext+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lOSMesa $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char OSMesaCreateContext (); int main () { return OSMesaCreateContext (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_OSMesa_OSMesaCreateContext=yes else ac_cv_lib_OSMesa_OSMesaCreateContext=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_OSMesa_OSMesaCreateContext" >&5 $as_echo "$ac_cv_lib_OSMesa_OSMesaCreateContext" >&6; } if test "x$ac_cv_lib_OSMesa_OSMesaCreateContext" = xyes; then : : else have_osmesa=no fi fi if test "$have_osmesa" = "yes"; then CPPFLAGS="$CPPFLAGS $OSMESA_CFLAGS" $as_echo "#define NFOSMESA_SUPPORT 1" >>confdefs.h NFOSMESASRCS="natfeat/nfosmesa.cpp" else WANT_NFOSMESA="no" fi fi if [ "x$WANT_NFOSMESA" = "xyes" ]; then PROVIDES_NF="$PROVIDES_NF osmesa" fi NFJPEGSRCS="" if [ "x$WANT_NFJPEG" = "xyes" ]; then if test "x$have_sdlimage_h" = "xyes" -a "x$have_sdlimage_lib" = "xyes"; then $as_echo "#define NFJPEG_SUPPORT 1" >>confdefs.h NFJPEGSRCS="natfeat/nfjpeg.cpp" PROVIDES_NF="$PROVIDES_NF jpeg" else WANT_NFJPEG="no" fi fi NFVDISRCS="" if [ "x$WANT_NFVDI" = "xyes" ]; then $as_echo "#define NFVDI_SUPPORT 1" >>confdefs.h NFVDISRCS="natfeat/nfvdi.cpp natfeat/nfvdi_soft.cpp" NFVDI_DRIVER="sw" if [ "x$WANT_OPENGL" = "xyes" ]; then NFVDISRCS="$NFVDISRCS natfeat/nfvdi_opengl.cpp" NFVDI_DRIVER="opengl,$NFVDI_DRIVER" fi PROVIDES_NF="$PROVIDES_NF vdi($NFVDI_DRIVER)" fi NFCLIPBOARDSRCS="" if [ "x$WANT_NFCLIPBRD" = "xyes" ]; then case $OS_TYPE in cygwin | mingw) $as_echo "#define NFCLIPBRD_SUPPORT 1" >>confdefs.h NFCLIPBOARDSRCS="natfeat/nfclipbrd.cpp" SYSSRCS="$SYSSRCS Unix/cygwin/clipbrd_cygwin.cpp" ;; darwin) $as_echo "#define NFCLIPBRD_SUPPORT 1" >>confdefs.h NFCLIPBOARDSRCS="natfeat/nfclipbrd.cpp" SYSSRCS="$SYSSRCS Unix/darwin/clipbrd_darwin.M" ;; beos | haiku) $as_echo "#define NFCLIPBRD_SUPPORT 1" >>confdefs.h NFCLIPBOARDSRCS="natfeat/nfclipbrd.cpp" SYSSRCS="$SYSSRCS Unix/beos/clipbrd_beos.cpp" LIBS="$LIBS -lbe" ;; *) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for XOpenDisplay in -lX11" >&5 $as_echo_n "checking for XOpenDisplay in -lX11... " >&6; } if ${ac_cv_lib_X11_XOpenDisplay+:} false; then : $as_echo_n "(cached) " >&6 else ac_check_lib_save_LIBS=$LIBS LIBS="-lX11 $LIBS" cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ /* Override any GCC internal prototype to avoid an error. Use char because int might match the return type of a GCC builtin and then its argument prototype would still apply. */ #ifdef __cplusplus extern "C" #endif char XOpenDisplay (); int main () { return XOpenDisplay (); ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO"; then : ac_cv_lib_X11_XOpenDisplay=yes else ac_cv_lib_X11_XOpenDisplay=no fi rm -f core conftest.err conftest.$ac_objext \ conftest$ac_exeext conftest.$ac_ext LIBS=$ac_check_lib_save_LIBS fi { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_X11_XOpenDisplay" >&5 $as_echo "$ac_cv_lib_X11_XOpenDisplay" >&6; } if test "x$ac_cv_lib_X11_XOpenDisplay" = xyes; then : cat >>confdefs.h <<_ACEOF #define HAVE_LIBX11 1 _ACEOF LIBS="-lX11 $LIBS" fi if [ "x$ac_cv_lib_X11_XOpenDisplay" = "xyes" ]; then $as_echo "#define NFCLIPBRD_SUPPORT 1" >>confdefs.h NFCLIPBOARDSRCS="natfeat/nfclipbrd.cpp" SYSSRCS="$SYSSRCS Unix/clipbrd_x11.cpp" LIBS="$LIBS -lX11" else as_fn_error $? "Sorry, NatFeat Clipboard not implemented on your platform yet" "$LINENO" 5 WANT_NFCLIPBRD="no" fi ;; esac fi if [ "x$WANT_NFCLIPBRD" = "xyes" ]; then PROVIDES_NF="$PROVIDES_NF clipboard" fi if [ "x$WANT_EPSLIMITER" = "xyes" ]; then $as_echo "#define ENABLE_EPSLIMITER 1" >>confdefs.h fi if test "x$WANT_RTCTIMER" = "xyes" ; then if test "x$OS_TYPE" = "xlinux"; then $as_echo "#define RTC_TIMER 1" >>confdefs.h else WANT_RTCTIMER="no" fi fi PARALLELX86SRCS="" if test "x$WANT_PARALLELX86" = "xyes" ; then if test "x$OS_TYPE" = "xlinux" -a "x$HAVE_I386" = "xyes"; then $as_echo "#define ENABLE_PARALLELX86 1" >>confdefs.h PARALLELX86SRCS="parallel_x86.cpp" else WANT_PARALLELX86="no" fi fi PARALLELPARPORTSRCS="" if test "x$WANT_PARALLELPARPORT" = "xyes" ; then if test "x$OS_TYPE" = "xlinux"; then $as_echo "#define ENABLE_PARALLELPARPORT 1" >>confdefs.h PARALLELPARPORTSRCS="parallel_parport.cpp" else WANT_PARALLELPARPORT="no" fi fi if test "x$OS_TYPE" = "xlinux"; then $as_echo "#define ENABLE_MIDI_SEQUENCER 1" >>confdefs.h MIDISEQSRCS="midi_sequencer.cpp" fi SERIALSRCS="" if test "x$WANT_UNIXSERIALPORT" = "xyes" ; then if test "x$ac_cv_header_termios_h" = "xyes" -a "x$ac_cv_header_sys_ioctl_h" = "xyes"; then $as_echo "#define ENABLE_SERIALUNIX 1" >>confdefs.h SERIALSRCS="serial_port.cpp" else WANT_UNIXSERIALPORT="no" fi fi cat >>confdefs.h <<_ACEOF #define PROVIDES_NATFEATS "$PROVIDES_NF" _ACEOF APP=aranym case "$host_os" in darwin*) if test "x$WITH_FINK" = "xyes"; then TARGET="\$(APP)" else TARGET="\$(APP_BUNDLE)" fi ARANYM_DATADIR="\"\\\"\${datadir}/\${APP}\\\"\"" srcdir="." ;; mingw*) TARGET="\$(APP)" ARANYM_DATADIR="\"\\\"./\${APP}\\\"\"" ;; *) TARGET="\$(APP)" ARANYM_DATADIR="\"\\\"\${datadir}/\${APP}\\\"\"" ;; esac CFLAGS="$CFLAGS -DARANYM_DATADIR=$ARANYM_DATADIR" CXXFLAGS="$CXXFLAGS -DARANYM_DATADIR=$ARANYM_DATADIR" if [ "x$ARCHFLAGS" != "x" ]; then CPPFLAGS=`echo $CPPFLAGS | sed -e "s:$ARCHFLAGS::g"` LDFLAGS=`echo $LDFLAGS | sed -e "s:$ARCHFLAGS::g"` fi ac_config_files="$ac_config_files Makefile" cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs, see configure's option --config-cache. # It is not useful on other systems. If it contains results you don't # want to keep, you may remove or edit it. # # config.status only pays attention to the cache file if you give it # the --recheck option to rerun configure. # # `ac_cv_env_foo' variables (set or unset) will be overridden when # loading this file, other *unset* `ac_cv_foo' will be assigned the # following values. _ACEOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, we kill variables containing newlines. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. ( for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do eval ac_val=\$$ac_var case $ac_val in #( *${as_nl}*) case $ac_var in #( *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 $as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; esac case $ac_var in #( _ | IFS | as_nl) ;; #( BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( *) { eval $ac_var=; unset $ac_var;} ;; esac ;; esac done (set) 2>&1 | case $as_nl`(ac_space=' '; set) 2>&1` in #( *${as_nl}ac_space=\ *) # `set' does not quote correctly, so add quotes: double-quote # substitution turns \\\\ into \\, and sed turns \\ into \. sed -n \ "s/'/'\\\\''/g; s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" ;; #( *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" ;; esac | sort ) | sed ' /^ac_cv_env_/b end t clear :clear s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ t end s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ :end' >>confcache if diff "$cache_file" confcache >/dev/null 2>&1; then :; else if test -w "$cache_file"; then if test "x$cache_file" != "x/dev/null"; then { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5 $as_echo "$as_me: updating cache $cache_file" >&6;} if test ! -f "$cache_file" || test -h "$cache_file"; then cat confcache >"$cache_file" else case $cache_file in #( */* | ?:*) mv -f confcache "$cache_file"$$ && mv -f "$cache_file"$$ "$cache_file" ;; #( *) mv -f confcache "$cache_file" ;; esac fi fi else { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5 $as_echo "$as_me: not updating unwritable cache $cache_file" >&6;} fi fi rm -f confcache test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' DEFS=-DHAVE_CONFIG_H ac_libobjs= ac_ltlibobjs= U= for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue # 1. Remove the extension, and $U if already installed. ac_script='s/\$U\././;s/\.o$//;s/\.obj$//' ac_i=`$as_echo "$ac_i" | sed "$ac_script"` # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR # will be set to the directory where LIBOBJS objects are built. as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext" as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo' done LIBOBJS=$ac_libobjs LTLIBOBJS=$ac_ltlibobjs : "${CONFIG_STATUS=./config.status}" ac_write_fail=0 ac_clean_files_save=$ac_clean_files ac_clean_files="$ac_clean_files $CONFIG_STATUS" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5 $as_echo "$as_me: creating $CONFIG_STATUS" >&6;} as_write_fail=0 cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1 #! $SHELL # Generated by $as_me. # Run this file to recreate the current configuration. # Compiler output produced by configure, useful for debugging # configure, is in config.log if it exists. debug=false ac_cs_recheck=false ac_cs_silent=false SHELL=\${CONFIG_SHELL-$SHELL} export SHELL _ASEOF cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1 ## -------------------- ## ## M4sh Initialization. ## ## -------------------- ## # Be more Bourne compatible DUALCASE=1; export DUALCASE # for MKS sh if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : emulate sh NULLCMD=: # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which # is contrary to our usage. Disable this feature. alias -g '${1+"$@"}'='"$@"' setopt NO_GLOB_SUBST else case `(set -o) 2>/dev/null` in #( *posix*) : set -o posix ;; #( *) : ;; esac fi as_nl=' ' export as_nl # Printing a long string crashes Solaris 7 /usr/bin/printf. as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo # Prefer a ksh shell builtin over an external printf program on Solaris, # but without wasting forks for bash or zsh. if test -z "$BASH_VERSION$ZSH_VERSION" \ && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='print -r --' as_echo_n='print -rn --' elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then as_echo='printf %s\n' as_echo_n='printf %s' else if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' as_echo_n='/usr/ucb/echo -n' else as_echo_body='eval expr "X$1" : "X\\(.*\\)"' as_echo_n_body='eval arg=$1; case $arg in #( *"$as_nl"*) expr "X$arg" : "X\\(.*\\)$as_nl"; arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; esac; expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" ' export as_echo_n_body as_echo_n='sh -c $as_echo_n_body as_echo' fi export as_echo_body as_echo='sh -c $as_echo_body as_echo' fi # The user is always right. if test "${PATH_SEPARATOR+set}" != set; then PATH_SEPARATOR=: (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || PATH_SEPARATOR=';' } fi # IFS # We need space, tab and new line, in precisely that order. Quoting is # there to prevent editors from complaining about space-tab. # (If _AS_PATH_WALK were called with IFS unset, it would disable word # splitting by setting IFS to empty value.) IFS=" "" $as_nl" # Find who we are. Look in the path if we contain no directory separator. as_myself= case $0 in #(( *[\\/]* ) as_myself=$0 ;; *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR for as_dir in $PATH do IFS=$as_save_IFS test -z "$as_dir" && as_dir=. test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break done IFS=$as_save_IFS ;; esac # We did not find ourselves, most probably we were run as `sh COMMAND' # in which case we are not to be found in the path. if test "x$as_myself" = x; then as_myself=$0 fi if test ! -f "$as_myself"; then $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 exit 1 fi # Unset variables that we do not need and which cause bugs (e.g. in # pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" # suppresses any "Segmentation fault" message there. '((' could # trigger a bug in pdksh 5.2.14. for as_var in BASH_ENV ENV MAIL MAILPATH do eval test x\${$as_var+set} = xset \ && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : done PS1='$ ' PS2='> ' PS4='+ ' # NLS nuisances. LC_ALL=C export LC_ALL LANGUAGE=C export LANGUAGE # CDPATH. (unset CDPATH) >/dev/null 2>&1 && unset CDPATH # as_fn_error STATUS ERROR [LINENO LOG_FD] # ---------------------------------------- # Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are # provided, also output the error to LOG_FD, referencing LINENO. Then exit the # script with STATUS, using 1 if that was 0. as_fn_error () { as_status=$1; test $as_status -eq 0 && as_status=1 if test "$4"; then as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 fi $as_echo "$as_me: error: $2" >&2 as_fn_exit $as_status } # as_fn_error # as_fn_set_status STATUS # ----------------------- # Set $? to STATUS, without forking. as_fn_set_status () { return $1 } # as_fn_set_status # as_fn_exit STATUS # ----------------- # Exit the shell with STATUS, even in a "trap 0" or "set -e" context. as_fn_exit () { set +e as_fn_set_status $1 exit $1 } # as_fn_exit # as_fn_unset VAR # --------------- # Portably unset VAR. as_fn_unset () { { eval $1=; unset $1;} } as_unset=as_fn_unset # as_fn_append VAR VALUE # ---------------------- # Append the text in VALUE to the end of the definition contained in VAR. Take # advantage of any shell optimizations that allow amortized linear growth over # repeated appends, instead of the typical quadratic growth present in naive # implementations. if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : eval 'as_fn_append () { eval $1+=\$2 }' else as_fn_append () { eval $1=\$$1\$2 } fi # as_fn_append # as_fn_arith ARG... # ------------------ # Perform arithmetic evaluation on the ARGs, and store the result in the # global $as_val. Take advantage of shells that can avoid forks. The arguments # must be portable across $(()) and expr. if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : eval 'as_fn_arith () { as_val=$(( $* )) }' else as_fn_arith () { as_val=`expr "$@" || test $? -eq 1` } fi # as_fn_arith if expr a : '\(a\)' >/dev/null 2>&1 && test "X`expr 00001 : '.*\(...\)'`" = X001; then as_expr=expr else as_expr=false fi if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then as_basename=basename else as_basename=false fi if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then as_dirname=dirname else as_dirname=false fi as_me=`$as_basename -- "$0" || $as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ X"$0" : 'X\(//\)$' \| \ X"$0" : 'X\(/\)' \| . 2>/dev/null || $as_echo X/"$0" | sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/ q } /^X\/\(\/\/\)$/{ s//\1/ q } /^X\/\(\/\).*/{ s//\1/ q } s/.*/./; q'` # Avoid depending upon Character Ranges. as_cr_letters='abcdefghijklmnopqrstuvwxyz' as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' as_cr_Letters=$as_cr_letters$as_cr_LETTERS as_cr_digits='0123456789' as_cr_alnum=$as_cr_Letters$as_cr_digits ECHO_C= ECHO_N= ECHO_T= case `echo -n x` in #((((( -n*) case `echo 'xy\c'` in *c*) ECHO_T=' ';; # ECHO_T is single tab character. xy) ECHO_C='\c';; *) echo `echo ksh88 bug on AIX 6.1` > /dev/null ECHO_T=' ';; esac;; *) ECHO_N='-n';; esac rm -f conf$$ conf$$.exe conf$$.file if test -d conf$$.dir; then rm -f conf$$.dir/conf$$.file else rm -f conf$$.dir mkdir conf$$.dir 2>/dev/null fi if (echo >conf$$.file) 2>/dev/null; then if ln -s conf$$.file conf$$ 2>/dev/null; then as_ln_s='ln -s' # ... but there are two gotchas: # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. # In both cases, we have to default to `cp -p'. ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || as_ln_s='cp -p' elif ln conf$$.file conf$$ 2>/dev/null; then as_ln_s=ln else as_ln_s='cp -p' fi else as_ln_s='cp -p' fi rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file rmdir conf$$.dir 2>/dev/null # as_fn_mkdir_p # ------------- # Create "$as_dir" as a directory, including parents if necessary. as_fn_mkdir_p () { case $as_dir in #( -*) as_dir=./$as_dir;; esac test -d "$as_dir" || eval $as_mkdir_p || { as_dirs= while :; do case $as_dir in #( *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( *) as_qdir=$as_dir;; esac as_dirs="'$as_qdir' $as_dirs" as_dir=`$as_dirname -- "$as_dir" || $as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$as_dir" : 'X\(//\)[^/]' \| \ X"$as_dir" : 'X\(//\)$' \| \ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$as_dir" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` test -d "$as_dir" && break done test -z "$as_dirs" || eval "mkdir $as_dirs" } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" } # as_fn_mkdir_p if mkdir -p . 2>/dev/null; then as_mkdir_p='mkdir -p "$as_dir"' else test -d ./-p && rmdir ./-p as_mkdir_p=false fi if test -x / >/dev/null 2>&1; then as_test_x='test -x' else if ls -dL / >/dev/null 2>&1; then as_ls_L_option=L else as_ls_L_option= fi as_test_x=' eval sh -c '\'' if test -d "$1"; then test -d "$1/."; else case $1 in #( -*)set "./$1";; esac; case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( ???[sx]*):;;*)false;;esac;fi '\'' sh ' fi as_executable_p=$as_test_x # Sed expression to map a string onto a valid CPP name. as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" # Sed expression to map a string onto a valid variable name. as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" exec 6>&1 ## ----------------------------------- ## ## Main body of $CONFIG_STATUS script. ## ## ----------------------------------- ## _ASEOF test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Save the log message, to keep $0 and so on meaningful, and to # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" This file was extended by aranym $as_me 0.9, which was generated by GNU Autoconf 2.68. Invocation command line was CONFIG_FILES = $CONFIG_FILES CONFIG_HEADERS = $CONFIG_HEADERS CONFIG_LINKS = $CONFIG_LINKS CONFIG_COMMANDS = $CONFIG_COMMANDS $ $0 $@ on `(hostname || uname -n) 2>/dev/null | sed 1q` " _ACEOF case $ac_config_files in *" "*) set x $ac_config_files; shift; ac_config_files=$*;; esac case $ac_config_headers in *" "*) set x $ac_config_headers; shift; ac_config_headers=$*;; esac cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 # Files that config.status was made for. config_files="$ac_config_files" config_headers="$ac_config_headers" _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 ac_cs_usage="\ \`$as_me' instantiates files and other configuration actions from templates according to the current configuration. Unless the files and actions are specified as TAGs, all are instantiated by default. Usage: $0 [OPTION]... [TAG]... -h, --help print this help, then exit -V, --version print version number and configuration settings, then exit --config print configuration, then exit -q, --quiet, --silent do not print progress messages -d, --debug don't remove temporary files --recheck update $as_me by reconfiguring in the same conditions --file=FILE[:TEMPLATE] instantiate the configuration file FILE --header=FILE[:TEMPLATE] instantiate the configuration header FILE Configuration files: $config_files Configuration headers: $config_headers Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ aranym config.status 0.9 configured by $0, generated by GNU Autoconf 2.68, with options \\"\$ac_cs_config\\" Copyright (C) 2010 Free Software Foundation, Inc. This config.status script is free software; the Free Software Foundation gives unlimited permission to copy, distribute and modify it." ac_pwd='$ac_pwd' srcdir='$srcdir' INSTALL='$INSTALL' MKDIR_P='$MKDIR_P' test -n "\$AWK" || AWK=awk _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # The default lists apply if the user does not specify any file. ac_need_defaults=: while test $# != 0 do case $1 in --*=?*) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'` ac_shift=: ;; --*=) ac_option=`expr "X$1" : 'X\([^=]*\)='` ac_optarg= ac_shift=: ;; *) ac_option=$1 ac_optarg=$2 ac_shift=shift ;; esac case $ac_option in # Handling of the options. -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) ac_cs_recheck=: ;; --version | --versio | --versi | --vers | --ver | --ve | --v | -V ) $as_echo "$ac_cs_version"; exit ;; --config | --confi | --conf | --con | --co | --c ) $as_echo "$ac_cs_config"; exit ;; --debug | --debu | --deb | --de | --d | -d ) debug=: ;; --file | --fil | --fi | --f ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; '') as_fn_error $? "missing file argument" ;; esac as_fn_append CONFIG_FILES " '$ac_optarg'" ac_need_defaults=false;; --header | --heade | --head | --hea ) $ac_shift case $ac_optarg in *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;; esac as_fn_append CONFIG_HEADERS " '$ac_optarg'" ac_need_defaults=false;; --he | --h) # Conflict between --help and --header as_fn_error $? "ambiguous option: \`$1' Try \`$0 --help' for more information.";; --help | --hel | -h ) $as_echo "$ac_cs_usage"; exit ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil | --si | --s) ac_cs_silent=: ;; # This is an error. -*) as_fn_error $? "unrecognized option: \`$1' Try \`$0 --help' for more information." ;; *) as_fn_append ac_config_targets " $1" ac_need_defaults=false ;; esac shift done ac_configure_extra_args= if $ac_cs_silent; then exec 6>/dev/null ac_configure_extra_args="$ac_configure_extra_args --silent" fi _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 if \$ac_cs_recheck; then set X '$SHELL' '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion shift \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6 CONFIG_SHELL='$SHELL' export CONFIG_SHELL exec "\$@" fi _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 exec 5>>config.log { echo sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX ## Running $as_me. ## _ASBOX $as_echo "$ac_log" } >&5 _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # Handling of arguments. for ac_config_target in $ac_config_targets do case $ac_config_target in "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h" ;; "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;; *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;; esac done # If the user did not use the arguments to specify the items to instantiate, # then the envvar interface is used. Set only those that are not. # We use the long form for the default assignment because of an extremely # bizarre bug on SunOS 4.1.3. if $ac_need_defaults; then test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers fi # Have a temporary directory for convenience. Make it in the build tree # simply because there is no reason against having it here, and in addition, # creating and moving files from /tmp can sometimes cause problems. # Hook for its removal unless debugging. # Note that there is a small window in which the directory will not be cleaned: # after its creation but before its name has been assigned to `$tmp'. $debug || { tmp= ac_tmp= trap 'exit_status=$? : "${ac_tmp:=$tmp}" { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status ' 0 trap 'as_fn_exit 1' 1 2 13 15 } # Create a (secure) tmp directory for tmp files. { tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` && test -d "$tmp" } || { tmp=./conf$$-$RANDOM (umask 077 && mkdir "$tmp") } || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5 ac_tmp=$tmp # Set up the scripts for CONFIG_FILES section. # No need to generate them if there are no CONFIG_FILES. # This happens for instance with `./config.status config.h'. if test -n "$CONFIG_FILES"; then ac_cr=`echo X | tr X '\015'` # On cygwin, bash can eat \r inside `` if the user requested igncr. # But we know of no other shell where ac_cr would be empty at this # point, so we can use a bashism as a fallback. if test "x$ac_cr" = x; then eval ac_cr=\$\'\\r\' fi ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' /dev/null` if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then ac_cs_awk_cr='\\r' else ac_cs_awk_cr=$ac_cr fi echo 'BEGIN {' >"$ac_tmp/subs1.awk" && _ACEOF { echo "cat >conf$$subs.awk <<_ACEOF" && echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' && echo "_ACEOF" } >conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'` ac_delim='%!_!# ' for ac_last_try in false false false false false :; do . ./conf$$subs.sh || as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X` if test $ac_delim_n = $ac_delim_num; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done rm -f conf$$subs.sh cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK && _ACEOF sed -n ' h s/^/S["/; s/!.*/"]=/ p g s/^[^!]*!// :repl t repl s/'"$ac_delim"'$// t delim :nl h s/\(.\{148\}\)..*/\1/ t more1 s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/ p n b repl :more1 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t nl :delim h s/\(.\{148\}\)..*/\1/ t more2 s/["\\]/\\&/g; s/^/"/; s/$/"/ p b :more2 s/["\\]/\\&/g; s/^/"/; s/$/"\\/ p g s/.\{148\}// t delim ' >$CONFIG_STATUS || ac_write_fail=1 rm -f conf$$subs.awk cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 _ACAWK cat >>"\$ac_tmp/subs1.awk" <<_ACAWK && for (key in S) S_is_set[key] = 1 FS = "" } { line = $ 0 nfields = split(line, field, "@") substed = 0 len = length(field[1]) for (i = 2; i < nfields; i++) { key = field[i] keylen = length(key) if (S_is_set[key]) { value = S[key] line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3) len += length(value) + length(field[++i]) substed = 1 } else len += 1 + keylen } print line } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g" else cat fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \ || as_fn_error $? "could not setup config files machinery" "$LINENO" 5 _ACEOF # VPATH may cause trouble with some makes, so we remove sole $(srcdir), # ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and # trailing colons and then remove the whole line if VPATH becomes empty # (actually we leave an empty line to preserve line numbers). if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[ ]*/{ h s/// s/^/:/ s/[ ]*$/:/ s/:\$(srcdir):/:/g s/:\${srcdir}:/:/g s/:@srcdir@:/:/g s/^:*// s/:*$// x s/\(=[ ]*\).*/\1/ G s/\n// s/^[^=]*=[ ]*$// }' fi cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 fi # test -n "$CONFIG_FILES" # Set up the scripts for CONFIG_HEADERS section. # No need to generate them if there are no CONFIG_HEADERS. # This happens for instance with `./config.status Makefile'. if test -n "$CONFIG_HEADERS"; then cat >"$ac_tmp/defines.awk" <<\_ACAWK || BEGIN { _ACEOF # Transform confdefs.h into an awk script `defines.awk', embedded as # here-document in config.status, that substitutes the proper values into # config.h.in to produce config.h. # Create a delimiter string that does not exist in confdefs.h, to ease # handling of long lines. ac_delim='%!_!# ' for ac_last_try in false false :; do ac_tt=`sed -n "/$ac_delim/p" confdefs.h` if test -z "$ac_tt"; then break elif $ac_last_try; then as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5 else ac_delim="$ac_delim!$ac_delim _$ac_delim!! " fi done # For the awk script, D is an array of macro values keyed by name, # likewise P contains macro parameters if any. Preserve backslash # newline sequences. ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]* sed -n ' s/.\{148\}/&'"$ac_delim"'/g t rset :rset s/^[ ]*#[ ]*define[ ][ ]*/ / t def d :def s/\\$// t bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3"/p s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2"/p d :bsnl s/["\\]/\\&/g s/^ \('"$ac_word_re"'\)\(([^()]*)\)[ ]*\(.*\)/P["\1"]="\2"\ D["\1"]=" \3\\\\\\n"\\/p t cont s/^ \('"$ac_word_re"'\)[ ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p t cont d :cont n s/.\{148\}/&'"$ac_delim"'/g t clear :clear s/\\$// t bsnlc s/["\\]/\\&/g; s/^/"/; s/$/"/p d :bsnlc s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p b cont ' >$CONFIG_STATUS || ac_write_fail=1 cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 for (key in D) D_is_set[key] = 1 FS = "" } /^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ { line = \$ 0 split(line, arg, " ") if (arg[1] == "#") { defundef = arg[2] mac1 = arg[3] } else { defundef = substr(arg[1], 2) mac1 = arg[2] } split(mac1, mac2, "(") #) macro = mac2[1] prefix = substr(line, 1, index(line, defundef) - 1) if (D_is_set[macro]) { # Preserve the white space surrounding the "#". print prefix "define", macro P[macro] D[macro] next } else { # Replace #undef with comments. This is necessary, for example, # in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. if (defundef == "undef") { print "/*", prefix defundef, macro, "*/" next } } } { print } _ACAWK _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 as_fn_error $? "could not setup config headers machinery" "$LINENO" 5 fi # test -n "$CONFIG_HEADERS" eval set X " :F $CONFIG_FILES :H $CONFIG_HEADERS " shift for ac_tag do case $ac_tag in :[FHLC]) ac_mode=$ac_tag; continue;; esac case $ac_mode$ac_tag in :[FHL]*:*);; :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;; :[FH]-) ac_tag=-:-;; :[FH]*) ac_tag=$ac_tag:$ac_tag.in;; esac ac_save_IFS=$IFS IFS=: set x $ac_tag IFS=$ac_save_IFS shift ac_file=$1 shift case $ac_mode in :L) ac_source=$1;; :[FH]) ac_file_inputs= for ac_f do case $ac_f in -) ac_f="$ac_tmp/stdin";; *) # Look for the file first in the build tree, then in the source tree # (if the path is not absolute). The absolute path cannot be DOS-style, # because $ac_f cannot contain `:'. test -f "$ac_f" || case $ac_f in [\\/$]*) false;; *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";; esac || as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;; esac case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac as_fn_append ac_file_inputs " '$ac_f'" done # Let's still pretend it is `configure' which instantiates (i.e., don't # use $as_me), people would be surprised to read: # /* config.h. Generated by config.status. */ configure_input='Generated from '` $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g' `' by configure.' if test x"$ac_file" != x-; then configure_input="$ac_file. $configure_input" { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5 $as_echo "$as_me: creating $ac_file" >&6;} fi # Neutralize special characters interpreted by sed in replacement strings. case $configure_input in #( *\&* | *\|* | *\\* ) ac_sed_conf_input=`$as_echo "$configure_input" | sed 's/[\\\\&|]/\\\\&/g'`;; #( *) ac_sed_conf_input=$configure_input;; esac case $ac_tag in *:-:* | *:-) cat >"$ac_tmp/stdin" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; esac ;; esac ac_dir=`$as_dirname -- "$ac_file" || $as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ X"$ac_file" : 'X\(//\)[^/]' \| \ X"$ac_file" : 'X\(//\)$' \| \ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null || $as_echo X"$ac_file" | sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/ q } /^X\(\/\/\)[^/].*/{ s//\1/ q } /^X\(\/\/\)$/{ s//\1/ q } /^X\(\/\).*/{ s//\1/ q } s/.*/./; q'` as_dir="$ac_dir"; as_fn_mkdir_p ac_builddir=. case "$ac_dir" in .) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` # A ".." for each directory in $ac_dir_suffix. ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` case $ac_top_builddir_sub in "") ac_top_builddir_sub=. ac_top_build_prefix= ;; *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; esac ;; esac ac_abs_top_builddir=$ac_pwd ac_abs_builddir=$ac_pwd$ac_dir_suffix # for backward compatibility: ac_top_builddir=$ac_top_build_prefix case $srcdir in .) # We are building in place. ac_srcdir=. ac_top_srcdir=$ac_top_builddir_sub ac_abs_top_srcdir=$ac_pwd ;; [\\/]* | ?:[\\/]* ) # Absolute name. ac_srcdir=$srcdir$ac_dir_suffix; ac_top_srcdir=$srcdir ac_abs_top_srcdir=$srcdir ;; *) # Relative name. ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix ac_top_srcdir=$ac_top_build_prefix$srcdir ac_abs_top_srcdir=$ac_pwd/$srcdir ;; esac ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix case $ac_mode in :F) # # CONFIG_FILE # case $INSTALL in [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;; esac ac_MKDIR_P=$MKDIR_P case $MKDIR_P in [\\/$]* | ?:[\\/]* ) ;; */*) ac_MKDIR_P=$ac_top_build_prefix$MKDIR_P ;; esac _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # If the template does not know about datarootdir, expand it. # FIXME: This hack should be removed a few years after 2.60. ac_datarootdir_hack=; ac_datarootdir_seen= ac_sed_dataroot=' /datarootdir/ { p q } /@datadir@/p /@docdir@/p /@infodir@/p /@localedir@/p /@mandir@/p' case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in *datarootdir*) ac_datarootdir_seen=yes;; *@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5 $as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;} _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_datarootdir_hack=' s&@datadir@&$datadir&g s&@docdir@&$docdir&g s&@infodir@&$infodir&g s&@localedir@&$localedir&g s&@mandir@&$mandir&g s&\\\${datarootdir}&$datarootdir&g' ;; esac _ACEOF # Neutralize VPATH when `$srcdir' = `.'. # Shell code in configure.ac might set extrasub. # FIXME: do we really want to maintain this feature? cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_sed_extra="$ac_vpsub $extrasub _ACEOF cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 :t /@[a-zA-Z_][a-zA-Z_0-9]*@/!b s|@configure_input@|$ac_sed_conf_input|;t t s&@top_builddir@&$ac_top_builddir_sub&;t t s&@top_build_prefix@&$ac_top_build_prefix&;t t s&@srcdir@&$ac_srcdir&;t t s&@abs_srcdir@&$ac_abs_srcdir&;t t s&@top_srcdir@&$ac_top_srcdir&;t t s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t s&@builddir@&$ac_builddir&;t t s&@abs_builddir@&$ac_abs_builddir&;t t s&@abs_top_builddir@&$ac_abs_top_builddir&;t t s&@INSTALL@&$ac_INSTALL&;t t s&@MKDIR_P@&$ac_MKDIR_P&;t t $ac_datarootdir_hack " eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \ >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5 test -z "$ac_datarootdir_hack$ac_datarootdir_seen" && { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } && { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' \ "$ac_tmp/out"`; test -z "$ac_out"; } && { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&5 $as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir' which seems to be undefined. Please make sure it is defined" >&2;} rm -f "$ac_tmp/stdin" case $ac_file in -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";; *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";; esac \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;; :H) # # CONFIG_HEADER # if test x"$ac_file" != x-; then { $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" } >"$ac_tmp/config.h" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5 $as_echo "$as_me: $ac_file is unchanged" >&6;} else rm -f "$ac_file" mv "$ac_tmp/config.h" "$ac_file" \ || as_fn_error $? "could not create $ac_file" "$LINENO" 5 fi else $as_echo "/* $configure_input */" \ && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \ || as_fn_error $? "could not create -" "$LINENO" 5 fi ;; esac done # for ac_tag as_fn_exit 0 _ACEOF ac_clean_files=$ac_clean_files_save test $ac_write_fail = 0 || as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5 # configure is writing to config.log, and then calls config.status. # config.status does its own redirection, appending to config.log. # Unfortunately, on DOS this fails, as config.log is still kept open # by configure, so config.status won't be able to write to it; its # output is simply discarded. So we exec the FD to /dev/null, # effectively closing config.log, so it can be properly (re)opened and # appended to by config.status. When coming back to configure, we # need to make the FD available again. if test "$no_create" != yes; then ac_cs_success=: ac_config_status_args= test "$silent" = yes && ac_config_status_args="$ac_config_status_args --quiet" exec 5>/dev/null $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false exec 5>>config.log # Use ||, not &&, to avoid exiting from the if with $? = 1, which # would make configure fail if this is the last instruction. $ac_cs_success || as_fn_exit 1 fi if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5 $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;} fi echo echo ARAnyM configuration summary: echo echo SDL version ................... ........ : $sdl_version echo Use exclusive spcflags handling ........ : $WANT_SPCFLAGS_EXCL echo Use JIT compiler ....................... : $WANT_JIT echo Use JIT compiler for FPU instructions .. : $WANT_JIT_FPU echo JIT debug mode ......................... : $WANT_JIT_DEBUG echo Floating-Point emulation core .......... : $FPE_CORE echo Assembly optimizations ................. : $ASM_OPTIMIZATIONS echo Addressing mode ........................ : $ADDRESSING_MODE echo -n Full MMU support ....................... : $WANT_MMU if [ "x$WANT_MMU" = "xyes" ]; then echo -n " (" case "$ATC_TYPE" in full) echo -n "with ATC";; small) echo -n "with small ATC";; no) echo -n "without ATC";; esac echo -n \) fi echo echo Linux /dev/rtc source timer ............ : $WANT_RTCTIMER echo Real STOP implementation ............... : $WANT_REALSTOP echo DSP 56001 support ...................... : $WANT_DSP echo DSP 56001 disassembly support .......... : $WANT_DSP_DISASM echo Debugger ............................... : $USE_DEBUGGER echo Check memory ........................... : $MEMORY_CHECK echo First 2kB of RAM Supervisor protected... : $WANT_PROTECT2K echo FastRAM fixed size ..................... : $WANT_FIXEDFASTRAM echo Fixed position of VideoRAM ............. : $WANT_FIXEDVIDEORAM echo Blitter memmove acceleration ........... : $WANT_BLITMEMMOVE echo Blitter SDL blit acceleration .......... : $WANT_BLITSDLBLIT echo Support for hostfs ..................... : $WANT_HOSTFS echo Support for ethernet ................... : $HAVE_ETHERNET echo GUI .................................... : $WANT_SDLGUI echo OpenGL ................................. : $WANT_OPENGL echo Linux-m68k loader ...................... : $WANT_LILO echo Zlib ................................... : $have_zlib echo libusb-1.0.............................. : $WITH_USBHOST echo NatFeat CD-ROM driver .................. : $NFCDROM_DRIVER echo NatFeat PCI driver ..................... : $WANT_NFPCI echo NatFeat USB driver ..................... : $WANT_USBHOST echo NatFeat OSMesa driver .................. : $WANT_NFOSMESA echo NatFeat JPEG decoder ................... : $WANT_NFJPEG echo NatFeat Clipboard ...................... : $WANT_NFCLIPBRD echo NatFeat VDI driver ..................... : $WANT_NFVDI echo Exception per second limiter ........... : $WANT_EPSLIMITER echo Linux/X86 h/w access for parallel port.. : $WANT_PARALLELX86 echo Linux /dev/parport for parallel port.... : $WANT_PARALLELPARPORT echo Unix /dev/ttySn for serial port......... : $WANT_UNIXSERIALPORT echo Use C++ exceptions for m68k exceptions.. : $WANT_CXX_EXCEPTIONS echo echo "Configuration done. Now type \"make depend\" (or \"gmake depend\") then \"make\" (or \"gmake\")." aranym-1.0.2/configure.ac000066400000000000000000002153331242022243000152650ustar00rootroot00000000000000dnl Process this file with autoconf to produce a configure script. dnl Written in 1999 by Christian Bauer et al. dnl Adapted for ARAnyM by Milan Jurik AC_INIT(aranym,0.9,aranym@lists.bobek.cz,aranym) AC_PREREQ(2.52) AC_CONFIG_HEADER(config.h) dnl Define list of provided Native Features PROVIDES_NF="audio bootstrap xhdi" dnl Canonical system information. AC_CANONICAL_HOST dnl Silent rules AC_ARG_ENABLE(silent-rules, AC_HELP_STRING([--enable-silent-rules], [Enable silent build [[default=yes]]]), , enable_silent_rules=yes) AM_DEFAULT_VERBOSITY=1 if test x$enable_silent_rules = xyes; then AM_DEFAULT_VERBOSITY=0 fi AC_SUBST(AM_DEFAULT_VERBOSITY) AH_TOP([ #ifndef __ARANYM_CONFIG_H__ #define __ARANYM_CONFIG_H__ ]) dnl Options. AC_ARG_ENABLE(nat-debug, [AC_HELP_STRING([--enable-nat-debug], [enable native debugger support (default=yes)])], [WANT_NATDEBUG=$enableval], [WANT_NATDEBUG=yes]) AC_ARG_ENABLE(full-debug, [AC_HELP_STRING([--enable-full-debug], [enable full debug outputs (default=no)])], [WANT_FULLDEBUG=$enableval], [WANT_FULLDEBUG=no]) AC_ARG_ENABLE(debug, [AC_HELP_STRING([--enable-debug=which], [specify wether to use internal debugger (default=no)])], [ case "$enableval" in default | yes | uae | ndebug) USE_DEBUGGER=yes;; no) USE_DEBUGGER="no";; *) AC_MSG_ERROR([--enable-debug takes only one of the following values: default, uae, ndebug, no]);; esac ], [USE_DEBUGGER=no ]) AC_ARG_ENABLE(fullhistory, [AC_HELP_STRING([--enable-fullhistory], [enable full history for debugger (default=no)])], [WANT_HISTORY=$enableval], [WANT_HISTORY=no]) AC_ARG_ENABLE(flightrecorder, [AC_HELP_STRING([--enable-flightrecorder], [enable CPU flight recorder (default=no)])], [WANT_FLIGHTRECORDER=$enableval], [WANT_FLIGHTRECORDER=no]) AC_ARG_ENABLE(fullmmu, [AC_HELP_STRING([--enable-fullmmu], [enable full 68040 MMU (default=no)])], [WANT_MMU=$enableval], [WANT_MMU=no]) AC_ARG_ENABLE(atc, [AC_HELP_STRING([--enable-atc=ATC], [select type of ATC for MMU (default=full)])], [ case "$enableval" in full) ATC_TYPE="full";; small) ATC_type="small";; no) ATC_TYPE="no";; *) AC_MSG_ERROR([--enable-atc takes only one of the following values: full, small, no]);; esac ], [ATC_TYPE=full]) AC_ARG_ENABLE(realstop, [AC_HELP_STRING([--enable-realstop], [enable real STOP instruction (default=yes)])], [WANT_REALSTOP=$enableval], [WANT_REALSTOP=yes]) AC_ARG_ENABLE(dsp, [AC_HELP_STRING([--enable-dsp], [enable DSP 56001 (default=yes)])], [WANT_DSP=$enableval], [WANT_DSP=yes]) AC_ARG_ENABLE(dsp-disasm, [AC_HELP_STRING([--enable-dsp-disasm], [enable DSP 56001 disassembler (default=no)])], [WANT_DSP_DISASM=$enableval], [WANT_DSP_DISASM=no]) AC_ARG_ENABLE(protect2k, [AC_HELP_STRING([--enable-protect2k], [enable first 2kB of RAM Super protection (default=yes)])], [WANT_PROTECT2K=$enableval], [WANT_PROTECT2K=yes]) AC_ARG_ENABLE(fixedfastram, [AC_HELP_STRING([--enable-fixedfastram=X], [use fixed size FastRAM of X MB (default=no)])], [WANT_FIXEDFASTRAM=$enableval], [WANT_FIXEDFASTRAM=no]) AC_ARG_ENABLE(fixedvideoram, [AC_HELP_STRING([--enable-fixedvideoram], [use fixed start of VideoRAM (default=no)])], [WANT_FIXEDVIDEORAM=$enableval], [WANT_FIXEDVIDEORAM=no]) AC_ARG_ENABLE(blitmemmove, [AC_HELP_STRING([--enable-blitmemmove], [enable Blitter memmove rout (default=no)])], [WANT_BLITMEMMOVE=$enableval], [WANT_BLITMEMMOVE=no]) AC_ARG_ENABLE(blitsdlblit, [AC_HELP_STRING([--enable-blitsdlblit], [enable SDL blitting routine EXPERIMENTAL UNSUPPORTED BUGGY (default=no)])], [WANT_BLITSDLBLIT=$enableval], [WANT_BLITSDLBLIT=no]) AC_ARG_ENABLE(hostfs, [AC_HELP_STRING([--enable-hostfs], [enable hostfs support (default=yes)])], [WANT_HOSTFS=$enableval], [WANT_HOSTFS=yes]) AC_ARG_ENABLE(ctrlkey, [AC_HELP_STRING([--enable-ctrlkey=WHICH], [specify which key to use for control key emulation (default=both)])], [ case "$enableval" in dnl default is both ctrl) CONTROL_KEY="ctrl";; meta) CONTROL_KEY="meta";; both) CONTROL_KEY="both";; *) AC_MSG_ERROR([--enable-ctrlkey takes only one of the following values: ctrl, meta, both]);; esac ], [ CONTROL_KEY="both" ]) AC_ARG_ENABLE(gui, [AC_HELP_STRING([--enable-gui], [enable GUI (default=yes)])], [WANT_SDLGUI=$enableval], [WANT_SDLGUI=yes]) AC_ARG_ENABLE(opengl, [AC_HELP_STRING([--enable-opengl], [enable OpenGL (default=yes)])], [WANT_OPENGL=$enableval], [WANT_OPENGL=yes]) AC_ARG_WITH(mesa-headers, [AC_HELP_STRING([--with-mesa-headers], [Path to Mesa header files])], [WITH_MESAINC=$withval], [WITH_MESAINC=no]) AC_ARG_ENABLE(nfpci, [AC_HELP_STRING([--enable-nfpci], [enable NatFeat PCI (default=no)])], [WANT_NFPCI=$enableval], [WANT_NFPCI=no]) AC_ARG_ENABLE(usbhost, [AC_HELP_STRING([--enable-usbhost], [enable NatFeat USB (default=no)])], [WANT_USBHOST=$enableval], [WANT_USBHOST=no]) AC_ARG_ENABLE(nfosmesa, [AC_HELP_STRING([--enable-nfosmesa], [enable NatFeat OSMesa (default=no)])], [WANT_NFOSMESA=$enableval], [WANT_NFOSMESA=no]) AC_ARG_ENABLE(nfjpeg, [AC_HELP_STRING([--enable-nfjpeg], [enable NatFeat JPEG (default=yes)])], [WANT_NFJPEG=$enableval], [WANT_NFJPEG=yes]) AC_ARG_ENABLE(nfclipbrd, [AC_HELP_STRING([--enable-nfclipbrd], [enable NatFeat Clipboard (default=yes)])], [WANT_NFCLIPBRD=$enableval], [WANT_NFCLIPBRD=yes]) AC_ARG_ENABLE(nfvdi, [AC_HELP_STRING([--enable-nfvdi], [enable NatFeat VDI (default=yes)])], [WANT_NFVDI=$enableval], [WANT_NFVDI=yes]) AC_ARG_ENABLE(ata-cdrom, [AC_HELP_STRING([--enable-ata-cdrom], [enable ATA CD-ROM emulation (default=yes)])], [WANT_CDROM=$enableval], [WANT_CDROM=yes]) AC_ARG_ENABLE(epslimiter, [AC_HELP_STRING([--enable-epslimiter], [enable Exception per second limiter (default=no)])], [WANT_EPSLIMITER=$enableval], [WANT_EPSLIMITER=no]) AC_ARG_ENABLE(lilo, [AC_HELP_STRING([--enable-lilo], [enable Linux-m68k loader (default=no)])], WANT_LILO="$enableval", WANT_LILO="no") AC_ARG_ENABLE(rtctimer, [AC_HELP_STRING([--enable-rtctimer], [enable Linux /dev/rtc as source timer (default=yes)])], WANT_RTCTIMER="$enableval", WANT_RTCTIMER="yes") AC_ARG_ENABLE(parallelx86, [AC_HELP_STRING([--enable-parallelx86], [enable Linux X86 hw access for parallel port (default=no)])], [WANT_PARALLELX86=$enableval], [WANT_PARALLELX86=no]) AC_ARG_ENABLE(parport, [AC_HELP_STRING([--enable-parport], [enable Linux /dev/parport access for parallel port (default=yes)])], [WANT_PARALLELPARPORT=$enableval], [WANT_PARALLELPARPORT=yes]) AC_ARG_ENABLE(serialport, [AC_HELP_STRING([--enable-serialport], [enable Unix /dev/ttySn serial port support (default=yes)])], [WANT_UNIXSERIALPORT=$enableval], [WANT_UNIXSERIALPORT=yes]) AC_ARG_WITH(fink, [AC_HELP_STRING([--with-fink], [Use Fink suite to build Aranym on MacOSX (default=no)])], [WITH_FINK=$withval], [WITH_FINK=no]) AC_ARG_WITH(classicconfig, [AC_HELP_STRING([--with-classicconfig], [Use Classic config names on MacOSX (default=no)])], [WITH_CLASSIC_CONFIG=$withval], [WITH_CLASSIC_CONFIG=no]) dnl FPU emulation core. if [[ "x$WANT_MMU" = "xyes" ]]; then SUGGESTED_AUTO_FPE_CORE_TEST_ORDER="mpfr ieee uae" else SUGGESTED_AUTO_FPE_CORE_TEST_ORDER="ieee uae" fi AC_ARG_ENABLE(fpe, [AC_HELP_STRING([--enable-fpe=FPE], [specify which fpu emulator to use (default=auto)])], [ case "$enableval" in dnl default is always ieee, if architecture has this fp format auto) FPE_CORE_TEST_ORDER=$SUGGESTED_AUTO_FPE_CORE_TEST_ORDER;; ieee) FPE_CORE_TEST_ORDER="ieee";; uae) FPE_CORE_TEST_ORDER="uae";; x86) FPE_CORE_TEST_ORDER="x86";; mpfr) FPE_CORE_TEST_ORDER="mpfr";; *) AC_MSG_ERROR([--enable-fpe takes only one of the following values: auto, uae, x86, ieee, mpfr]);; esac ], [ FPE_CORE_TEST_ORDER=$SUGGESTED_AUTO_FPE_CORE_TEST_ORDER ]) dnl Addressing modes. AC_ARG_ENABLE(addressing, [AC_HELP_STRING([--enable-addressing=AM], [specify the addressing mode to use (default=fastest)])], [ case "$enableval" in direct) ADDRESSING_TEST_ORDER="direct";; normal) ADDRESSING_TEST_ORDER="normal";; fixed) ADDRESSING_TEST_ORDER="fixed";; *) AC_MSG_ERROR([--enable-addressing takes only one of the following values: direct, fixed, normal]);; esac ], [ ADDRESSING_TEST_ORDER="direct normal" ]) AC_ARG_ENABLE(addr-check, [AC_HELP_STRING([--enable-addr-check=AM], [specify the memory check to use (default=page)])], [ case "$enableval" in no) MEMORY_CHECK="no";; full) MEMORY_CHECK="full";; page) MEMORY_CHECK="page";; hwsp) MEMORY_CHECK="hwsp";; pagehwsp) MEMORY_CHECK="pagehwsp";; sseg) MEMORY_CHECK="sseg";; *) AC_MSG_ERROR([--enable-addr-check takes only one of the following values: no, full, page, hwsp, pagehwsp, sseg]);; esac ], [ MEMORY_CHECK="page" ]) dnl Experimental hacks around spcflags handling. AC_ARG_ENABLE(spcflags-excl, [AC_HELP_STRING([--enable-spcflags-excl], [enable exclusive spcflags handling (default=no)])], [WANT_SPCFLAGS_EXCL=$enableval], [WANT_SPCFLAGS_EXCL=no]) dnl JIT compiler options. AC_ARG_ENABLE(jit-compiler, [AC_HELP_STRING([--enable-jit-compiler], [enable JIT compiler (default=no)])], [WANT_JIT=$enableval], [WANT_JIT=no]) AC_ARG_ENABLE(jit-fpu, [AC_HELP_STRING([--enable-jit-fpu], [enable JIT compiler for FPU instructions (default=no)])], [WANT_JIT_FPU=$enableval], [WANT_JIT_FPU=no]) AC_ARG_ENABLE(jit-debug, [AC_HELP_STRING([--enable-jit-debug], [activate native code disassemblers (default=no)])], [WANT_JIT_DEBUG=$enableval], [WANT_JIT_DEBUG=no]) AC_ARG_ENABLE(ethernet, [AC_HELP_STRING([--enable-ethernet], [enable ethernet card emulation (default=yes)])], [WANT_ETHERNET=$enableval], [WANT_ETHERNET=yes]) AC_ARG_ENABLE(bpf-ethernet, [AC_HELP_STRING([--enable-bpf-ethernet], [enable ethernet card emulation using BPF (default=no)])], [WANT_BFP_ETHERNET=$enableval], [WANT_BFP_ETHERNET=no]) AC_ARG_ENABLE(cxx-exceptions, [AC_HELP_STRING([--enable-cxx-exceptions], [enable the use of C++ try/catch instead of setjmp/longjmp (default=yes)])], [WANT_CXX_EXCEPTIONS=$enableval], [WANT_CXX_EXCEPTIONS=yes]) dnl Host OS type (host is build if not cross-compiling). case "$host_os" in linux*) OS_TYPE=linux;; openbsd*) OS_TYPE=openbsd;; netbsd*) OS_TYPE=netbsd;; freebsd*|kfreebsd*-gnu) OS_TYPE=freebsd;; solaris*) OS_TYPE=solaris;; darwin*) OS_TYPE=darwin;; cygwin*) OS_TYPE=cygwin;; irix*) OS_TYPE=irix;; mint*) OS_TYPE=mint;; beos*|haiku*) OS_TYPE=beos;; mingw*) OS_TYPE=mingw;; *) OS_TYPE=`echo $host_os | sed -e 's/-/_/g' | sed -e 's/\./_/g'`;; esac DEFINES="$DEFINES -DOS_$OS_TYPE" AC_DEFINE_UNQUOTED([OS_TYPE], "$OS_TYPE", [Define OS type]) dnl Target CPU type. ARCHFLAGS= HAVE_I386=no HAVE_ARM=no HAVE_SPARC=no HAVE_POWERPC=no HAVE_X86_64=no case "$host_cpu" in i386* | i486* | i586* | i686* | i786* ) CPU_TYPE=i386 HAVE_I386=yes if [[ "x$OS_TYPE" = "xdarwin" ]]; then ARCHFLAGS="-arch i386" if [[ "x$DEVELOPER_SDK_DIR" = "x" ]]; then DEVELOPER_SDK_DIR=/Developer/SDKs fi if [[ ! -d "$DEVELOPER_SDK_DIR" ]]; then AC_MSG_ERROR([Cannot find SDKs directory at $DEVELOPER_SDK_DIR]) fi case "$host_os" in darwin8* | darwin9* ) ISYSROOT="-mmacosx-version-min=10.4 -isysroot $DEVELOPER_SDK_DIR/MacOSX10.4u.sdk";; darwin10* ) ISYSROOT="-mmacosx-version-min=10.4 -isysroot $DEVELOPER_SDK_DIR/MacOSX10.5.sdk";; darwin11* | darwin12* ) ISYSROOT="-mmacosx-version-min=10.5";; darwin13* ) ISYSROOT="-mmacosx-version-min=10.7";; *) AC_MSG_ERROR([Sorry, unknown Darwin version: $host_os]) ;; esac dnl Add the ARCHFLAGS here to let configure check for the target and not host capabilities. CPPFLAGS="$CPPFLAGS $ISYSROOT $ARCHFLAGS" LDFLAGS="$LDFLAGS $ISYSROOT $ARCHFLAGS" fi ;; sparc* ) CPU_TYPE=sparc HAVE_SPARC=yes;; arm* ) CPU_TYPE=arm HAVE_ARM=yes;; powerpc* ) CPU_TYPE=powerpc HAVE_POWERPC=yes if [[ "x$OS_TYPE" = "xdarwin" ]]; then ARCHFLAGS="-arch ppc" ISYSROOT="-mmacosx-version-min=10.3" dnl Add the ARCHFLAGS here to let configure check for the target and not host capabilities. CPPFLAGS="$CPPFLAGS $ISYSROOT $ARCHFLAGS" LDFLAGS="$LDFLAGS $ISYSROOT $ARCHFLAGS" fi ;; x86_64* ) CPU_TYPE=x86_64 HAVE_X86_64=yes;; *) CPU_TYPE=`echo $host_cpu | sed -e 's/-/_/g'`;; esac DEFINES="$DEFINES -DCPU_$CPU_TYPE" AC_DEFINE_UNQUOTED([CPU_TYPE], "$CPU_TYPE", [Define CPU type]) dnl Checks for programs. AC_PROG_CC AC_PROG_CC_C_O AC_PROG_CPP AC_PROG_CXX AC_PROG_CXXCPP AC_PROG_MAKE_SET AC_PROG_INSTALL AC_PROG_MKDIR_P AC_PATH_PROG(PERL, perl) PKG_PROG_PKG_CONFIG m4_ifndef([PKG_CHECK_MODULES], [AC_DEFUN([PKG_CHECK_MODULES], [true])]) dnl Checks for header files. AC_HEADER_STDC AC_HEADER_DIRENT AC_CHECK_HEADERS(unistd.h fcntl.h sys/mman.h mach/mach.h sys/ioctl.h) AC_CHECK_HEADERS(getopt.h) AC_CHECK_HEADERS(termios.h termio.h alloca.h sys/statfs.h sys/statvfs.h) AC_CHECK_HEADERS(sys/types.h sys/stat.h sys/vfs.h utime.h sys/param.h) AC_CHECK_HEADERS(sys/mount.h types.h stat.h ext2fs/ext2_fs.h) AC_CHECK_HEADERS(sys/socket.h) AC_CHECK_HEADERS(linux/if.h linux/if_tun.h net/if.h net/if_tun.h, [], [], [ #ifdef HAVE_SYS_SOCKET_H #include #endif ]) AC_CHECK_HEADERS(net/bpf.h) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_BIGENDIAN AC_C_CONST AC_C_INLINE AC_C_VOLATILE AC_CHECK_SIZEOF(short, 2) AC_CHECK_SIZEOF(int, 4) AC_CHECK_SIZEOF(long, 4) AC_CHECK_SIZEOF(long long, 8) AC_CHECK_SIZEOF(float, 4) AC_CHECK_SIZEOF(double, 8) AC_CHECK_SIZEOF(long double, 12) AC_CHECK_SIZEOF(void *, 4) AC_TYPE_OFF_T AC_CHECK_TYPE(loff_t, off_t) AC_TYPE_SIZE_T AC_CHECK_TYPE(ssize_t, size_t) AC_TYPE_SIGNAL AC_HEADER_TIME AC_STRUCT_TM AC_SYS_LARGEFILE gl_TM_GMTOFF gl_STAT_TIME AC_CXX_BOOL dnl Checks for libraries AC_CHECK_LIB(m, sin) dnl Checks for library functions. AC_CHECK_FUNCS(strdup) AC_CHECK_FUNCS(sigaction signal sigsetjmp) AC_CHECK_FUNCS(mmap mprotect munmap) AC_CHECK_FUNCS(vm_allocate vm_deallocate vm_protect sbrk) AC_CHECK_FUNCS(strchr memcpy bcopy) AC_CHECK_FUNCS(usleep gettimeofday) AC_CHECK_FUNCS(fseeko fsync futimens link readlink symlink lstat truncate pathconf) AC_CHECK_FUNCS(canonicalize_file_name realpath) dnl Defines caddr_t as void * if not already defined AC_CHECK_TYPES(caddr_t) AH_BOTTOM( [#ifndef HAVE_CADDR_T typedef void * caddr_t; #endif]) AC_CACHE_CHECK([whether sigsetjmp is supported], ac_cv_have_sigsetjmp, [ AC_TRY_LINK([ #include #include ], [ sigjmp_buf b; sigsetjmp(b, 1); siglongjmp(b, 1); ], ac_cv_have_sigsetjmp=yes, ac_cv_have_sigsetjmp=no ) ]) if test "$ac_cv_have_sigsetjmp" = "yes"; then AC_DEFINE([HAVE_SIGSETJMP], 1) fi dnl Darwin seems to define mach_task_self() instead of task_self(). AC_CHECK_FUNCS(mach_task_self task_self) AC_DEFINE([DIRSEPARATOR], "/", [Default directory separator]) AH_TEMPLATE([ARANYMHOME], [Default ARAnyM directory]) AH_TEMPLATE([HAVE_O_FSYNC], [Define if you want to use FreeBSD's imitation of O_SYNC]) AH_TEMPLATE([ARANYMCONFIG], [Default ARAnyM config file]) AH_TEMPLATE([ARANYMNVRAM], [Default ARAnyM NVRAM file]) AH_TEMPLATE([ARANYMKEYMAP], [Default ARAnyM keymap]) case "$host_os" in linux*) EXTRASYSSRCS="Unix/linux/parameters_linux.cpp Unix/linux/ethernet_linux.cpp Unix/host_filesys_unix.cpp" ;; cygwin*) AC_DEFINE([ARANYMHOME], "aranym") LIBS="$LIBS -liberty" EXTRASYSSRCS="Unix/cygwin/parameters_cygwin.cpp Unix/cygwin/tools_cygwin.cpp Unix/cygwin/ethernet_cygwin.cpp Unix/cygwin/win32_supp.cpp" ;; mingw*) AC_DEFINE([ARANYMHOME], "aranym") EXTRASYSSRCS="Unix/cygwin/parameters_cygwin.cpp Unix/cygwin/win32_supp.cpp" ;; solaris*) AC_DEFINE([_XOPEN_SOURCE], 500, [Define if needed]) AC_DEFINE([_POSIX_C_SOURCE], 199506L, [Define if needed]) DEFINES="$DEFINES -DBSD_COMP -D__EXTENSIONS__" EXTRASYSSRCS="Unix/parameters_unix.cpp Unix/host_filesys_unix.cpp" ;; irix*) EXTRASYSSRCS="Unix/parameters_unix.cpp Unix/irix/unaligned.c Unix/host_filesys_unix.cpp" ;; freebsd*|kfreebsd*-gnu) AC_DEFINE([HAVE_O_FSYNC], 1) EXTRASYSSRCS="Unix/parameters_unix.cpp Unix/host_filesys_unix.cpp" ;; darwin*) AC_DEFINE([HAVE_O_FSYNC], 1) if test "x$WITH_FINK" = "xyes"; then AC_DEFINE([ARANYMHOME], "aranym") EXTRASYSSRCS="Unix/parameters_unix.cpp Unix/host_filesys_unix.cpp Unix/darwin/ethernet_darwin.cpp Unix/darwin/SDLHotkeysRefresh.M" else AC_DEFINE([ARANYMHOME], "ARAnyM") if test "x$WITH_CLASSIC_CONFIG" = "xyes"; then echo "Using classic config" AC_DEFINE([ARANYMCONFIG], "config") AC_DEFINE([ARANYMNVRAM], "nvram") AC_DEFINE([ARANYMKEYMAP], "keymap") else echo "Using preference files" AC_DEFINE([ARANYMCONFIG], "org.aranym.amcfg") AC_DEFINE([ARANYMNVRAM], "org.aranym.nvram") AC_DEFINE([ARANYMKEYMAP], "org.aranym.keymap") fi EXTRASYSSRCS="Unix/darwin/SDLMain.M Unix/darwin/host_filesys_darwin.M Unix/darwin/parameters_darwin.cpp Unix/darwin/ethernet_darwin.cpp Unix/darwin/SDLHotkeysRefresh.M" BUNDLE_FRAMEWORKS= dnl Empty list of frameworks to bundle dnl Check for some important frameworks ARANYM_CHECK_FRAMEWORK(AppKit, []) ARANYM_CHECK_FRAMEWORK(CoreFoundation, [#include ]) ARANYM_CHECK_FRAMEWORK(IOKit, [#include ]) ARANYM_CHECK_FRAMEWORK(Security, [#include ]) dnl We (Mac OS X target) don't want to use PKG_CONFIG even if it exists (e.g. in /opt) PKG_CONFIG="" fi ;; beos*|haiku*) dnl Find tools needed to add resources AC_PATH_PROG(BEOS_XRES, xres, [AC_MSG_ERROR([xres not found.])]) AC_PATH_PROG(BEOS_RC, rc, [AC_MSG_ERROR([rc not found.])]) AC_PATH_PROG(BEOS_SETVERSION, setversion, [AC_MSG_ERROR([setversion not found.])]) EXTRASYSSRCS="Unix/parameters_unix.cpp Unix/beos/cdrom_beos.cpp Unix/host_filesys_unix.cpp" CPPFLAGS="$CPPFLAGS -I\$(srcdir)/Unix/beos" WANT_UNIXSERIALPORT=no ac_cv_tun_tap_support=no ;; *) EXTRASYSSRCS="Unix/parameters_unix.cpp Unix/host_filesys_unix.cpp" ;; esac SYSSRCS="$SYSSRCS $EXTRASYSSRCS" dnl Stupid hack around problem with extfs straply vs. Mac OS X AC_CACHE_CHECK([for __wchar_t], ac_cv_wchar_t, [ AC_LANG_SAVE AC_LANG_CPLUSPLUS AC_TRY_RUN([ #include #include #include ], ac_cv_wchar_t=yes, ac_cv_wchar_t=no, dnl When cross-compiling, do not assume anything. ac_cv_wchar_t="guessing no" ) AC_LANG_RESTORE ]) AC_TRANSLATE_DEFINE(HAVE_WCHAR_T, $ac_cv_wchar_t, [Define if wchar_t is present]) dnl Check that the host supports TUN/TAP devices AC_CACHE_CHECK([whether TUN/TAP is supported], ac_cv_tun_tap_support, [ AC_TRY_COMPILE([ #if defined(HAVE_LINUX_IF_H) && defined(HAVE_LINUX_IF_TUN_H) #ifdef HAVE_SYS_SOCKET_H #include #endif #include #include #endif #if defined(HAVE_NET_IF_H) && defined(HAVE_NET_IF_TUN_H) #include #include #endif ], [ struct ifreq ifr; memset(&ifr, 0, sizeof(ifr)); ifr.ifr_flags = IFF_TAP | IFF_NO_PI; ], ac_cv_tun_tap_support=yes, ac_cv_tun_tap_support=no ) ]) dnl Check that the host supports BPF devices AC_CACHE_CHECK([whether BPF is supported], ac_cv_bpf_support, [ AC_TRY_COMPILE([ #if defined(HAVE_NET_BPF_H) #include #endif ], [ struct bpf_program filter; ], ac_cv_bpf_support=yes, ac_cv_bpf_support=no ) ]) dnl Various checks if the system supports vm_allocate() and the like functions. have_mach_vm=no if [[ "x$ac_cv_func_vm_allocate" = "xyes" -a "x$ac_cv_func_vm_deallocate" = "xyes" -a \ "x$ac_cv_func_vm_protect" = "xyes" ]]; then have_mach_vm=yes fi AC_TRANSLATE_DEFINE(HAVE_MACH_VM, $have_mach_vm, [Define if your system has a working vm_allocate()-based memory allocator.]) case "$host_os" in darwin*) OSdarwinReq="#define OS_darwin";; *) OSdarwinReq= ;; esac dnl Check that vm_allocate(), vm_protect() work if [[ "x$have_mach_vm" = "xyes" ]]; then AC_CACHE_CHECK([whether vm_protect works], ac_cv_vm_protect_works, [ AC_LANG_SAVE AC_LANG_CPLUSPLUS ac_cv_vm_protect_works=yes dnl First the tests that should segfault for test_def in NONE_READ NONE_WRITE READ_WRITE; do AC_TRY_RUN([ #define CONFIGURE_TEST_VM_MAP #define TEST_VM_PROT_$test_def $OSdarwinReq #include "$srcdir/src/Unix/vm_alloc.cpp" ], ac_cv_vm_protect_works=no, rm -f core, dnl When cross-compiling, do not assume anything ac_cv_vm_protect_works="guessing no" ) done AC_TRY_RUN([ #define CONFIGURE_TEST_VM_MAP #define TEST_VM_PROT_RDWR_WRITE $OSdarwinReq #include "$srcdir/src/Unix/vm_alloc.cpp" ], , ac_cv_vm_protect_works=no, dnl When cross-compiling, do not assume anything ac_cv_vm_protect_works="guessing no" ) AC_LANG_RESTORE ] ) dnl Remove support for vm_allocate() if vm_protect() does not work if [[ "x$have_mach_vm" = "xyes" ]]; then case $ac_cv_vm_protect_works in *yes) have_mach_vm=yes;; *no) have_mach_vm=no;; esac fi AC_TRANSLATE_DEFINE(HAVE_MACH_VM, $have_mach_vm, [Define if your system has a working vm_allocate()-based memory allocator.]) fi dnl HAVE_MACH_VM dnl Various checks if the system supports mmap() and the like functions. dnl ... and Mach memory allocators are not supported have_mmap_vm=no if [[ "x$ac_cv_func_mmap" = "xyes" -a "x$ac_cv_func_munmap" = "xyes" -a \ "x$ac_cv_func_mprotect" = "xyes" ]]; then if [[ "x$have_mach_vm" = "xno" ]]; then have_mmap_vm=yes fi fi AC_TRANSLATE_DEFINE(HAVE_MMAP_VM, $have_mmap_vm, [Define if your system has a working mmap()-based memory allocator.]) dnl Check that mmap() and associated functions work. if [[ "x$have_mmap_vm" = "xyes" ]]; then dnl Check if we have a working anonymous mmap() AC_CACHE_CHECK([whether mmap supports MAP_ANON], ac_cv_mmap_anon, [ AC_LANG_SAVE AC_LANG_CPLUSPLUS AC_TRY_RUN([ #define HAVE_MMAP_ANON #define CONFIGURE_TEST_VM_MAP #define TEST_VM_MMAP_ANON #include "$srcdir/src/Unix/vm_alloc.cpp" ], ac_cv_mmap_anon=yes, ac_cv_mmap_anon=no, dnl When cross-compiling, do not assume anything. ac_cv_mmap_anon="guessing no" ) AC_LANG_RESTORE ] ) AC_TRANSLATE_DEFINE(HAVE_MMAP_ANON, $ac_cv_mmap_anon, [Define if defines MAP_ANON and mmap()'ing with MAP_ANON works.]) AC_CACHE_CHECK([whether mmap supports MAP_ANONYMOUS], ac_cv_mmap_anonymous, [ AC_LANG_SAVE AC_LANG_CPLUSPLUS AC_TRY_RUN([ #define HAVE_MMAP_ANONYMOUS #define CONFIGURE_TEST_VM_MAP #define TEST_VM_MMAP_ANON #include "$srcdir/src/Unix/vm_alloc.cpp" ], ac_cv_mmap_anonymous=yes, ac_cv_mmap_anonymous=no, dnl When cross-compiling, do not assume anything. ac_cv_mmap_anonymous="guessing no" ) AC_LANG_RESTORE ] ) AC_TRANSLATE_DEFINE(HAVE_MMAP_ANONYMOUS, $ac_cv_mmap_anonymous, [Define if defines MAP_ANONYMOUS and mmap()'ing with MAP_ANONYMOUS works.]) AC_CACHE_CHECK([whether mprotect works], ac_cv_mprotect_works, [ AC_LANG_SAVE AC_LANG_CPLUSPLUS ac_cv_mprotect_works=yes dnl First the tests that should segfault for test_def in NONE_READ NONE_WRITE READ_WRITE; do AC_TRY_RUN([ #define CONFIGURE_TEST_VM_MAP #define TEST_VM_PROT_$test_def #include "$srcdir/src/Unix/vm_alloc.cpp" ], ac_cv_mprotect_works=no, rm -f core, dnl When cross-compiling, do not assume anything ac_cv_mprotect_works="guessing no" ) done AC_TRY_RUN([ #define CONFIGURE_TEST_VM_MAP #define TEST_VM_PROT_RDWR_WRITE #include "$srcdir/src/Unix/vm_alloc.cpp" ], , ac_cv_mprotect_works=no, dnl When cross-compiling, do not assume anything ac_cv_mprotect_works="guessing no" ) AC_LANG_RESTORE ] ) dnl Remove support for mmap() if mprotect() does not work if [[ "x$have_mmap_vm" = "xyes" ]]; then case $ac_cv_mprotect_works in *yes) have_mmap_vm=yes;; *no) have_mmap_vm=no;; esac fi AC_TRANSLATE_DEFINE(HAVE_MMAP_VM, $have_mmap_vm, [Define if your system has a working mmap()-based memory allocator.]) fi dnl HAVE_MMAP_VM AH_TEMPLATE(HAVE_WIN32_VM, [Define if your system has a working VirtualAlloc()-based memory allocator.]) if test "$OS_TYPE" = mingw; then AC_DEFINE([HAVE_WIN32_VM]) fi dnl Check if we have POSIX shared memory support AC_CACHE_CHECK([whether POSIX shared memory is working], ac_cv_have_posix_shm, [ AC_LANG_SAVE AC_LANG_CPLUSPLUS AC_TRY_RUN([ #define HAVE_POSIX_SHM $OSdarwinReq #include "$srcdir/src/Unix/vm_alloc.cpp" int main(void) { /* returns 0 if we have working POSIX shm */ if (vm_init() < 0) exit(2); char *m1 = (char *)vm_acquire(32768, VM_MAP_DEFAULT | VM_MAP_33BIT); if (m1 == VM_MAP_FAILED) exit(3); vm_exit(); exit(0); } ], ac_cv_have_posix_shm=yes, ac_cv_have_posix_shm=no, dnl When cross-compiling, do not assume anything. ac_cv_have_posix_shm="guessing no" ) AC_LANG_RESTORE ] ) AC_TRANSLATE_DEFINE(HAVE_POSIX_SHM, $ac_cv_have_posix_shm, [Define if your system supports POSIX shared memory.]) dnl Check if we have working 33-bit memory addressing AC_CACHE_CHECK([whether 33-bit memory addressing is working], ac_cv_have_33bit_addressing, [ AC_LANG_SAVE AC_LANG_CPLUSPLUS AC_TRY_RUN([ #define USE_33BIT_ADDRESSING 1 #include "$srcdir/src/Unix/vm_alloc.cpp" int main(void) { /* returns 0 if we have working 33-bit addressing */ if (sizeof(void *) < 8) exit(1); if (vm_init() < 0) exit(2); char *m1 = (char *)vm_acquire(32768, VM_MAP_DEFAULT | VM_MAP_33BIT); if (m1 == VM_MAP_FAILED) exit(3); char *m2 = m1 + (1L << 32); m1[0] = 0x12; if (m2[0] != 0x12) exit(4); m2[0] = 0x34; if (m1[0] != 0x34) exit(5); vm_exit(); exit(0); } ], ac_cv_have_33bit_addressing=yes, ac_cv_have_33bit_addressing=no, dnl When cross-compiling, do not assume anything. ac_cv_have_33bit_addressing="guessing no" ) AC_LANG_RESTORE ] ) dnl Check signal handlers need to be reinstalled AC_CACHE_CHECK([whether signal handlers need to be reinstalled], ac_cv_signal_need_reinstall, [ AC_LANG_SAVE AC_LANG_CPLUSPLUS AC_TRY_RUN([ #include #ifdef HAVE_UNISTD_H #include #endif #include static int handled_signal = 0; RETSIGTYPE sigusr1_handler(int) { handled_signal++; } int main(void) { /* returns 0 if signals need not to be reinstalled */ signal(SIGUSR1, sigusr1_handler); raise(SIGUSR1); raise(SIGUSR1); exit(handled_signal == 2); } ], ac_cv_signal_need_reinstall=yes, ac_cv_signal_need_reinstall=no, dnl When cross-compiling, do not assume anything. ac_cv_signal_need_reinstall="guessing yes" ) AC_LANG_RESTORE ] ) AC_TRANSLATE_DEFINE(SIGNAL_NEED_REINSTALL, $ac_cv_signal_need_reinstall, [Define if your system requires signals to be reinstalled.]) dnl Check if sigaction handlers need to be reinstalled AC_CACHE_CHECK([whether sigaction handlers need to be reinstalled], ac_cv_sigaction_need_reinstall, [ AC_LANG_SAVE AC_LANG_CPLUSPLUS AC_TRY_RUN([ #include #ifdef HAVE_UNISTD_H #include #endif #include static int handled_signal = 0; RETSIGTYPE sigusr1_handler(int) { handled_signal++; } typedef RETSIGTYPE (*signal_handler)(int); static signal_handler mysignal(int sig, signal_handler handler) { struct sigaction old_sa; struct sigaction new_sa; new_sa.sa_handler = handler; return ((sigaction(sig,&new_sa,&old_sa) < 0) ? SIG_IGN : old_sa.sa_handler); } int main(void) { /* returns 0 if signals need not to be reinstalled */ mysignal(SIGUSR1, sigusr1_handler); raise(SIGUSR1); raise(SIGUSR1); exit(handled_signal == 2); } ], ac_cv_sigaction_need_reinstall=yes, ac_cv_sigaction_need_reinstall=no, dnl When cross-compiling, do not assume anything. ac_cv_sigaction_need_reinstall="guessing yes" ) AC_LANG_RESTORE ] ) AC_TRANSLATE_DEFINE(SIGACTION_NEED_REINSTALL, $ac_cv_sigaction_need_reinstall, [Define if your system requires sigactions to be reinstalled.]) dnl Check if we have vasprintf (_GNU_SOURCE) AC_CACHE_CHECK([for vasprintf], ac_cv_have_vasprintf, [ AC_LANG_SAVE AC_LANG_CPLUSPLUS AC_TRY_COMPILE([ #define _GNU_SOURCE #include #include ], [ va_list a; vasprintf(NULL, NULL, a); ], [ac_cv_have_vasprintf=yes], [ac_cv_have_vasprintf=no] ) AC_LANG_RESTORE ] ) AC_TRANSLATE_DEFINE(HAVE_GNU_SOURCE, $ac_cv_have_vasprintf, [Define if your system support GNU SOURCEs (vasprintf function)]) if [[ "x$ac_cv_have_vasprintf" = "xyes" ]]; then DEFINES="$DEFINES -D_GNU_SOURCE" else SYSSRCS="$SYSSRCS Unix/vasprintf.c" fi AC_CACHE_CHECK([for sighandler_t], ac_cv_have_sighandler_t, [ AC_LANG_SAVE AC_LANG_CPLUSPLUS AC_TRY_COMPILE([ #define _GNU_SOURCE #include #include ], [ signal(0, (sighandler_t)NULL); ], [ac_cv_have_sighandler_t=yes], [ac_cv_have_sighandler_t=no] ) AC_LANG_RESTORE ] ) AC_TRANSLATE_DEFINE(HAVE_SIGHANDLER_T, $ac_cv_have_sighandler_t, [Define if doesn't define sighandler_t]) dnl Check if we have getopt_long AC_CACHE_CHECK([for getopt_long], ac_cv_have_getopt_long, [ AC_LANG_SAVE AC_LANG_CPLUSPLUS AC_TRY_COMPILE([ #define _GNU_SOURCE #include #include ], [ getopt_long(0, NULL, NULL, NULL, NULL); ], [ac_cv_have_getopt_long=yes], [ac_cv_have_getopt_long=no] ) AC_LANG_RESTORE ] ) AC_TRANSLATE_DEFINE(HAVE_GETOPT_H, $ac_cv_have_getopt_long) if [[ "x$ac_cv_have_getopt_long" = "xno" ]]; then SYSSRCS="$SYSSRCS Unix/getopt_init.c Unix/getopt1.c Unix/getopt.c" fi dnl Check if we have __builtin_bswap16/32 AC_CACHE_CHECK([for __builtin_bswap16], ac_cv_have___builtin_bswap16, [ AC_LANG_SAVE AC_LANG_CPLUSPLUS AC_TRY_COMPILE([ #include #include unsigned short v; ], [ v = __builtin_bswap16(v); ], [ac_cv_have___builtin_bswap16=yes], [ac_cv_have___builtin_bswap16=no] ) AC_LANG_RESTORE ] ) AC_TRANSLATE_DEFINE(HAVE___BUILTIN_BSWAP16, $ac_cv_have___builtin_bswap16, [Define if your compiler supports __builtin_bswap16]) AC_CACHE_CHECK([for __builtin_bswap32], ac_cv_have___builtin_bswap32, [ AC_LANG_SAVE AC_LANG_CPLUSPLUS AC_TRY_COMPILE([ #include #include unsigned int v; ], [ v = __builtin_bswap32(v); ], [ac_cv_have___builtin_bswap32=yes], [ac_cv_have___builtin_bswap32=no] ) AC_LANG_RESTORE ] ) AC_TRANSLATE_DEFINE(HAVE___BUILTIN_BSWAP32, $ac_cv_have___builtin_bswap32, [Define if your compiler supports __builtin_bswap32]) AH_TEMPLATE([MAP_META_TO_CONTROL], [Define if you want to map the meta key to the emulated control key]) AH_TEMPLATE([MAP_CONTROL_TO_CONTROL], [Define if you want to map the control key to the emulated control key]) case $CONTROL_KEY in meta) AC_DEFINE([MAP_META_TO_CONTROL], 1) ;; both) AC_DEFINE([MAP_META_TO_CONTROL], 1) AC_DEFINE([MAP_CONTROL_TO_CONTROL], 1) ;; ctrl) AC_DEFINE([MAP_CONTROL_TO_CONTROL], 1) ;; esac if [[ "x$WANT_JIT" = "xyes" ]]; then WANT_EXSIGSEGV=yes MEMORY_CHECK=sseg fi AH_TEMPLATE([ARAM_PAGE_CHECK], [Define if you want to try out a different memory check]) AH_TEMPLATE([NOCHECKBOUNDARY], [Define if you don't want to use check memory boundary]) AH_TEMPLATE([EXTENDED_SIGSEGV], [Define if you want to use extended segfault handler]) AH_TEMPLATE([RAMENDNEEDED], [Define if you want protect end of memory]) AH_TEMPLATE([HW_SIGSEGV], [Define if you want to use extended segfault handler also for HW space]) case $MEMORY_CHECK in no) AC_DEFINE([NOCHECKBOUNDARY], 1) ;; page) AC_DEFINE([ARAM_PAGE_CHECK], 1) ;; hwsp) ADDRESSING_TEST_ORDER="fixed" WANT_EXSIGSEGV="yes" AC_DEFINE([NOCHECKBOUNDARY], 1) AC_DEFINE([EXTENDED_SIGSEGV], 1) AC_DEFINE([RAMENDNEEDED]) ;; pagehwsp) ADDRESSING_TEST_ORDER="fixed" WANT_EXSIGSEGV="yes" AC_DEFINE([ARAM_PAGE_CHECK], 1) AC_DEFINE([NOCHECKBOUNDARY], 1) AC_DEFINE([EXTENDED_SIGSEGV], 1) AC_DEFINE([RAMENDNEEDED], 1) ;; sseg) ADDRESSING_TEST_ORDER="fixed" WANT_EXSIGSEGV="yes" AC_DEFINE([NOCHECKBOUNDARY], 1) AC_DEFINE([RAMENDNEEDED], 1) AC_DEFINE([EXTENDED_SIGSEGV], 1) AC_DEFINE([HW_SIGSEGV], 1) ;; *) ;; esac dnl Full opcode's history if [[ "x$WANT_HISTORY" = "xyes" ]]; then AC_DEFINE([FULL_HISTORY], 1, [Define if you want to use full history]) fi dnl CPU flight recorder if [[ "x$WANT_FLIGHTRECORDER" = "xyes" ]]; then AC_DEFINE([FLIGHT_RECORDER], 1, [Define if you want to use CPU flight recorder]) fi dnl ATA CD-ROM emulation if [[ "x$WANT_CDROM" = "xyes" ]]; then AC_DEFINE([SUPPORT_CDROM], 1, [Define if you want to use ATA CD-ROM emulation]) fi MMUSRCS="uae_cpu/cpummu.cpp" dnl Full MMU if [[ "x$WANT_MMU" = "xyes" ]]; then AC_DEFINE([FULLMMU], 1, [Define if using full MMU]) fi dnl Small ATC if [[ "x$ATC_TYPE" = "xsmall" ]]; then AC_DEFINE([SMALL_ATC], 1, [Define if using only small ATC]) fi dnl Full ATC if [[ "x$ATC_TYPE" = "xno" ]]; then AC_DEFINE([DISABLE_ATC], 1, [Define if not using full ATC]) fi dnl DSP DSPSRCS="" if [[ "x$WANT_DSP" = "xyes" ]]; then AC_DEFINE([DSP_EMULATION], 1, [Define if using DSP]) DSPSRCS="dsp_core.c dsp_cpu.c" dnl DSP disassembler if [[ "x$WANT_DSP_DISASM" = "xyes" ]]; then AC_DEFINE([DSP_DISASM], 1, [Define if DSP disassembly]) DSPSRCS="$DSPSRCS dsp_disasm.c" fi fi AH_TEMPLATE([FIXED_VIDEORAM], [Define if you want fixed position of VideoRAM]) AH_TEMPLATE([PROTECT2K], [Define if you want to protect first 2kB of RAM against user mode access]) dnl protect first 2kB of RAM if [[ "x$WANT_PROTECT2K" != "xno" ]]; then AC_DEFINE([PROTECT2K], 1, [Define if you want to protect first 2kB of RAM against user mode access]) fi dnl fixed size FastRAM if [[ "x$WANT_FIXEDFASTRAM" != "xno" ]]; then AC_DEFINE_UNQUOTED([FixedSizeFastRAM], $WANT_FIXEDFASTRAM, [Define if you want FastRAM of fixed size]) fi dnl fixed start of VideoRAM if [[ "x$WANT_FIXEDVIDEORAM" = "xyes" ]]; then AC_DEFINE([FIXED_VIDEORAM], 1) else if [[ "x$WANT_MMU" = "xyes" ]]; then AC_MSG_WARN([Protection of first 2kB RAM enabled as well - won't hurt]) AC_DEFINE([PROTECT2K], 1) fi if [[ "x$WANT_BLITSDLBLIT" = "xyes" ]]; then AC_MSG_WARN([Blitter SDL surface blitting support needs fixed position of VideoRAM]) AC_DEFINE([FIXED_VIDEORAM], 1) WANT_FIXEDVIDEORAM="yes" fi fi dnl Full STOP instruction if [[ "x$WANT_REALSTOP" = "xyes" ]]; then AC_DEFINE([ENABLE_REALSTOP], 1, [Define if you want real STOP instruction implementation]) WANT_SPCFLAGS_EXCL=yes fi dnl Blitter memmove acceleration if [[ "x$WANT_BLITMEMMOVE" = "xyes" ]]; then AC_DEFINE([BLITTER_MEMMOVE], 1, [Define if you want accelerated blitter output]) fi if [[ "x$WANT_BLITSDLBLIT" = "xyes" ]]; then AC_MSG_WARN([Blitter SDL surface blitting support needs fixed position of VideoRAM]) AC_DEFINE([FIXED_VIDEORAM], 1) WANT_FIXEDVIDEORAM="yes" fi dnl Blitter SDL surface blitting if [[ "x$WANT_BLITSDLBLIT" = "xyes" ]]; then AC_DEFINE([BLITTER_SDLBLIT], 1, [Define if you want even more accelerated blitter output]) AC_DEFINE([BLITTER_MEMMOVE], 1, [Define if you want accelerated blitter output]) dnl required for the SDLBLIT fi AH_TEMPLATE([ETHERNET_SUPPORT], [Define if you want to use ethernet card emulation]) dnl Ethernet card emulation HAVE_ETHERNET=no if [[ "x$WANT_ETHERNET" = "xyes" ]]; then if [[ "x$ac_cv_tun_tap_support" = "xyes" ]]; then AC_DEFINE([ETHERNET_SUPPORT], 1) SYSSRCS="$SYSSRCS natfeat/ethernet.cpp" TAPIF="aratapif" HAVE_ETHERNET="yes" elif [[ "x$OS_TYPE" = "xcygwin" -a "x$HAVE_I386" ]]; then AC_DEFINE([ETHERNET_SUPPORT], 1) SYSSRCS="$SYSSRCS natfeat/ethernet.cpp" TAPIF="" HAVE_ETHERNET="yes" elif [[ "x$OS_TYPE" = "xdarwin" ]]; then AC_DEFINE([ETHERNET_SUPPORT], 1) if [[ "x$WANT_BFP_ETHERNET" = "xyes" ]]; then AC_TRANSLATE_DEFINE(ENABLE_BPF, $ac_cv_bpf_support, [Define if your system supports BPF devices.]) else AC_MSG_WARN([Ethernet won't work without TunTap driver for Mac OS X. See http://tuntaposx.sourceforge.net/]) fi SYSSRCS="$SYSSRCS natfeat/ethernet.cpp" TAPIF="" HAVE_ETHERNET="yes" else AC_MSG_WARN([Ethernet interface not supported on your system]) TAPIF="" fi else TAPIF="" fi if [[ "x$HAVE_ETHERNET" = "xyes" ]]; then PROVIDES_NF="$PROVIDES_NF ethernet" fi dnl Support for direct access to host's fs if [[ "x$WANT_HOSTFS" = "xyes" ]]; then SYSSRCS="$SYSSRCS natfeat/hostfs.cpp" AC_DEFINE([HOSTFS_SUPPORT], 1, [Define if you want to use direct access to host's fs]) PROVIDES_NF="$PROVIDES_NF hostfs" fi dnl SDL GUI GUISDLSRCS="" if test "x$WANT_SDLGUI" = "xyes" ; then GUISDLSRCS="gui-sdl/sdlgui.cpp gui-sdl/dlgFileSelect.cpp gui-sdl/file.cpp gui-sdl/dlgMain.cpp gui-sdl/dlgDisk.cpp gui-sdl/dlgPartition.cpp gui-sdl/dlgKeyboard.cpp gui-sdl/dlgHotkeys.cpp gui-sdl/dlgAlert.cpp gui-sdl/dlgOs.cpp gui-sdl/dlgVideo.cpp gui-sdl/dlgNetwork.cpp gui-sdl/dlgKeypress.cpp gui-sdl/dialog.cpp gui-sdl/dlgUsb.cpp" CPPFLAGS="$CPPFLAGS -I\$(srcdir)/gui-sdl" AC_DEFINE([SDL_GUI], 1, [Define if you want to build SDL GUI]) fi dnl C++ exceptions if [[ "x$WANT_EXSIGSEGV" = "xyes" ]]; then WANT_CXX_EXCEPTIONS="no" fi if [[ "x$WANT_CXX_EXCEPTIONS" = "xno" ]]; then AC_DEFINE(EXCEPTIONS_VIA_LONGJMP, 1, [Define if you want to use setjmp/longjmp instead of C++ exceptions]) fi AH_TEMPLATE(NO_NESTED_SIGSEGV, [Define if OS needs to cleanly exit sigsegv handler]) dnl Extended signal segmentation fault handler if [[ "x$WANT_EXSIGSEGV" = "xyes" ]]; then case "$host_os" in linux*) case "$CPU_TYPE" in i386) SYSSRCS="$SYSSRCS Unix/linux/sigsegv_linux_x86.cpp" AC_DEFINE(NO_NESTED_SIGSEGV, 1) ;; x86_64) SYSSRCS="$SYSSRCS Unix/linux/sigsegv_linux_x86.cpp" AC_DEFINE(NO_NESTED_SIGSEGV, 1) ;; arm) SYSSRCS="$SYSSRCS Unix/linux/sigsegv_linux_arm.cpp" ;; *) AC_MSG_ERROR([Sorry, extended segfault handler not supported on your platform]) ;; esac ;; openbsd*) if [[ "x$HAVE_I386" = "xyes" ]]; then SYSSRCS="$SYSSRCS Unix/xbsd/sigsegv_xbsd.cpp" else AC_MSG_ERROR([Sorry, extended segfault handler not supported on your platform]) fi ;; darwin*) if [[ "x$CPU_TYPE" = "powerpc" ]]; then AC_MSG_ERROR([Sorry, extended segfault handler not supported on your platform]) else SYSSRCS="$SYSSRCS Unix/darwin/sigsegv_darwin_x86.cpp" AC_DEFINE(NO_NESTED_SIGSEGV, 1) fi ;; netbsd*) if [[ "x$HAVE_I386" = "xyes" ]]; then SYSSRCS="$SYSSRCS Unix/xbsd/sigsegv_xbsd.cpp" else AC_MSG_ERROR([Sorry, extended segfault handler not supported on your platform]) fi ;; freebsd*|kfreebsd*-gnu) if [[ "x$HAVE_I386" = "xyes" ]]; then SYSSRCS="$SYSSRCS Unix/xbsd/sigsegv_xbsd.cpp" else AC_MSG_ERROR([Sorry, extended segfault handler not supported on your platform]) fi ;; cygwin*) if [[ "x$HAVE_I386" = "xyes" ]]; then SYSSRCS="$SYSSRCS Unix/cygwin/sigsegv_cygwin.cpp" AC_DEFINE(NO_NESTED_SIGSEGV, 1) else AC_MSG_ERROR([Sorry, extended segfault handler not supported on your platform]) fi ;; solaris*) if [[ "x$HAVE_I386" = "xyes" ]]; then SYSSRCS="$SYSSRCS Unix/solaris/sigsegv_solaris_x86.cpp" else AC_MSG_ERROR([Sorry, extended segfault handler not supported on your platform]) fi ;; *) AC_MSG_ERROR([Sorry, extended segfault handler not supported on your platform]) ;; esac fi dnl Determine the addressing mode to use ADDRESSING_MODE="" AC_MSG_CHECKING([for the addressing mode to use]) for am in $ADDRESSING_TEST_ORDER; do case $am in direct) if [[ "x$HAVE_MMAP_VM" = "xno" -a "x$HAVE_MACH_VM" = "xno" ]]; then continue fi dnl Problems with Solaris if [[ "x$OS_TYPE" = "xsolaris" ]]; then continue fi ADDRESSING_MODE="direct" DEFINES="$DEFINES -DDIRECT_ADDRESSING" break ;; fixed) if [[ "x$HAVE_MMAP_VM" = "xno" -a "x$HAVE_MACH_VM" = "xno" ]]; then continue fi if [[ "x$OS_TYPE" = "xlinux" -a "x$HAVE_I386" ]]; then ADDRESSING_MODE="fixed (0x51000000)" DEFINES="$DEFINES -DFIXED_ADDRESSING -DFMEMORY=0x51000000" break fi if [[ "x$OS_TYPE" = "xfreebsd" -a "x$HAVE_I386" ]]; then ADDRESSING_MODE="fixed (0x51000000)" DEFINES="$DEFINES -DFIXED_ADDRESSING -DFMEMORY=0x51000000" break fi if [[ "x$OS_TYPE" = "xopenbsd" -a "x$HAVE_I386" ]]; then ADDRESSING_MODE="fixed (0x51000000)" DEFINES="$DEFINES -DFIXED_ADDRESSING -DFMEMORY=0x51000000" break fi if [[ "x$OS_TYPE" = "xdarwin" -a "x$HAVE_I386" ]]; then ADDRESSING_MODE="fixed (0x51000000)" DEFINES="$DEFINES -DFIXED_ADDRESSING -DFMEMORY=0x51000000" break fi if [[ "x$OS_TYPE" = "xcygwin" -a "x$HAVE_I386" ]]; then ADDRESSING_MODE="fixed (0x51000000)" DEFINES="$DEFINES -DFIXED_ADDRESSING -DFMEMORY=0x51000000" break fi if [[ "x$OS_TYPE" = "xsolaris" -a "x$HAVE=I386" ]]; then ADDRESSING_MODE="fixed (0x51000000)" DEFINES="$DEFINES -DFIXED_ADDRESSING -DFMEMORY=0x51000000" break fi ;; normal) ADDRESSING_MODE="normal" DEFINES="$DEFINES -DNORMAL_ADDRESSING" break ;; *) AC_MSG_ERROR([Internal configure.in script error for $am addressing mode]) esac done AC_MSG_RESULT($ADDRESSING_MODE) if [[ "x$ADDRESSING_MODE" = "x" ]]; then AC_MSG_ERROR([Sorry, no suitable addressing mode in $ADDRESSING_TEST_ORDER]) fi dnl Check for GAS. HAVE_GAS=no AC_MSG_CHECKING(for GAS .p2align feature) cat >conftest.S << EOF .text .p2align 5 EOF if $CC conftest.S -c -o conftest.o >/dev/null 2>&1 ; then HAVE_GAS=yes; fi AC_MSG_RESULT($HAVE_GAS) dnl (gb) Do not merge constants since it breaks fpu/fpu_x86.cpp. dnl As of 2001/08/02, this affects the following compilers: dnl Official: probably gcc-3.1 (mainline CVS) dnl Mandrake: gcc-2.96 >= 0.59mdk, gcc-3.0.1 >= 0.1mdk dnl Red Hat : gcc-2.96 >= 89, gcc-3.0 >= 1 if [[ "x$GCC" = "xyes" -a "x$FPE_CORE" = "xx86" ]]; then SAVED_CXXFLAGS="$CXXFLAGS" CXXFLAGS="$CXXFLAGS -fno-merge-constants" AC_CACHE_CHECK([whether GCC supports constants merging], ac_cv_gcc_constants_merging, [ AC_LANG_SAVE AC_LANG_CPLUSPLUS AC_TRY_COMPILE([],[],[ac_cv_gcc_constants_merging=yes],[ac_cv_gcc_constants_merging=no]) AC_LANG_RESTORE ]) if [[ "x$ac_cv_gcc_constants_merging" != "xyes" ]]; then CXXFLAGS="$SAVED_CXXFLAGS" fi fi dnl Select appropriate CPU source and REGPARAM define. CPUSRCS= GENCPUSRCS= ASM_OPTIMIZATIONS=none GENCPUSRCS="cpuemu1.cpp cpuemu2.cpp cpuemu3.cpp cpuemu4.cpp cpuemu5.cpp cpuemu6.cpp cpuemu7.cpp cpuemu8.cpp" dnl gb-- JITSRCS and GENJITSRCS will be emptied later if the JIT is not available dnl gb-- Other platforms should define their own set of noflags file variants CAN_JIT=no JITSRCS= GENJITSRCS="compemu1.cpp compemu2.cpp compemu3.cpp compemu4.cpp compemu5.cpp compemu6.cpp compemu7.cpp compemu8.cpp" GENCOMP_ARCH= if [[ "x$GCC" = "xyes" -a "x$HAVE_I386" = "xyes" ]]; then dnl i386 CPU DEFINES="$DEFINES -DUNALIGNED_PROFITABLE -DREGPARAM=\"__attribute__((regparm(3)))\"" if [[ "x$HAVE_GAS" = "xyes" ]]; then ASM_OPTIMIZATIONS=i386 DEFINES="$DEFINES -DX86_ASSEMBLY -DOPTIMIZED_FLAGS -DSAHF_SETO_PROFITABLE" # GENCPUSRCS="cpufast1.s cpufast2.s cpufast3.s cpufast4.s cpufast5.s cpufast6.s cpufast7.s cpufast8.s" GENJITSRCS="cpuemu1_nf.cpp cpuemu2_nf.cpp cpuemu3_nf.cpp cpuemu4_nf.cpp cpuemu5_nf.cpp cpuemu6_nf.cpp cpuemu7_nf.cpp cpuemu8_nf.cpp $GENJITSRCS" # GENJITSRCS="cpufast1_nf.s cpufast2_nf.s cpufast3_nf.s cpufast4_nf.s cpufast5_nf.s cpufast6_nf.s cpufast7_nf.s cpufast8_nf.s $GENJITSRCS" CAN_JIT=yes GENCOMP_ARCH=x86 fi elif [[ "x$GCC" = "xyes" -a "x$HAVE_X86_64" = "xyes" ]]; then dnl x86-64 CPU DEFINES="$DEFINES -DUNALIGNED_PROFITABLE" if [[ "x$HAVE_GAS" = "xyes" ]]; then ASM_OPTIMIZATIONS="x86-64" DEFINES="$DEFINES -DX86_64_ASSEMBLY -DOPTIMIZED_FLAGS" GENJITSRCS="cpuemu1_nf.cpp cpuemu2_nf.cpp cpuemu3_nf.cpp cpuemu4_nf.cpp cpuemu5_nf.cpp cpuemu6_nf.cpp cpuemu7_nf.cpp cpuemu8_nf.cpp $GENJITSRCS" CAN_JIT=yes GENCOMP_ARCH=x86 WANT_33BIT_ADDRESSING=yes SAVED_CXXFLAGS="$CXXFLAGS" CXXFLAGS="$CXXFLAGS -mno-red-zone" AC_CACHE_CHECK([whether GCC supports -mno-red-zone], ac_cv_gcc_no_red_zone, [ AC_LANG_SAVE AC_LANG_CPLUSPLUS AC_TRY_COMPILE([],[],[ac_cv_gcc_no_red_zone=yes],[ac_cv_gcc_no_red_zone=no]) AC_LANG_RESTORE ]) CXXFLAGS="$SAVED_CXXFLAGS" if [[ "x$ac_cv_gcc_no_red_zone" = "xyes" ]]; then GENCPU_FLAGS="-mno-red-zone" fi fi elif [[ "x$GCC" = "xyes" -a "x$HAVE_SPARC" = "xyes" -a "x$HAVE_GAS" = "xyes" ]]; then dnl SPARC CPU case "$host_os" in solaris*) AC_MSG_CHECKING(SPARC CPU architecture) SPARC_TYPE=`solaris/which_sparc` AC_MSG_RESULT($SPARC_TYPE) case "$SPARC_TYPE" in SPARC_V8) ASM_OPTIMIZATIONS="SPARC V8 architecture" DEFINES="$DEFINES -DSPARC_V8_ASSEMBLY" dnl -DOPTIMIZED_FLAGS" CFLAGS="$CFLAGS -Wa,-Av8" CXXFLAGS="$CXXFLAGS -Wa,-Av8" ;; SPARC_V9) ASM_OPTIMIZATIONS="SPARC V9 architecture" DEFINES="$DEFINES -DSPARC_V9_ASSEMBLY" dnl -DOPTIMIZED_FLAGS" CFLAGS="$CFLAGS -Wa,-Av9" CXXFLAGS="$CXXFLAGS -Wa,-Av9" ;; esac ;; esac elif [[ "x$GCC" = "xyes" -a "x$HAVE_ARM" = "xyes" ]]; then dnl ARM CPU if [[ "x$HAVE_GAS" = "xyes" ]]; then case "$host_cpu" in armv6*) ASM_OPTIMIZATIONS="ARM/V6 architecture w optimized flags" DEFINES="$DEFINES -DARMV6_ASSEMBLY -DARM_ASSEMBLY -DOPTIMIZED_FLAGS" CFLAGS="$CFLAGS -march=armv6" CXXFLAGS="$CXXFLAGS -march=armv6" ;; *) ASM_OPTIMIZATIONS="ARM/generic w optimized flags" DEFINES="$DEFINES -DARM_ASSEMBLY -DOPTIMIZED_FLAGS" ;; esac GENJITSRCS="cpuemu1_nf.cpp cpuemu2_nf.cpp cpuemu3_nf.cpp cpuemu4_nf.cpp cpuemu5_nf.cpp cpuemu6_nf.cpp cpuemu7_nf.cpp cpuemu8_nf.cpp $GENJITSRCS" GENCOMP_ARCH=arm CAN_JIT=yes fi fi dnl JIT sources if available if [[ "x$WANT_JIT" = "xyes" -a "x$CAN_JIT" = "xyes" ]]; then if [[ "x$WANT_MMU" = "xyes" ]]; then AC_MSG_WARN([!!!!! MMU&JIT in progress, dangerous !!!!!]) fi JITSRCS="$JITSRCS uae_cpu/compiler/compemu_support.cpp" DEFINES="$DEFINES -DUSE_JIT=1" dnl JIT is buggy with strict-aliasing, it seems (FIXME!) CXXFLAGS="$CXXFLAGS -fno-strict-aliasing" if [[ "x$WANT_JIT_DEBUG" = "xyes" ]]; then DEFINES="$DEFINES -DJIT_DEBUG=1" fi if [[ "x$WANT_JIT_FPU" = "xyes" ]]; then DEFINES="$DEFINES -DUSE_JIT_FPU=1" JITSRCS="$JITSRCS uae_cpu/compiler/compemu_fpp.cpp" fi GENJITSRCS="$GENJITSRCS compstbl.cpp cpustbl_nf.cpp" else WANT_JIT=no WANT_JIT_FPU=no WANT_JIT_DEBUG=no JITSRCS="" GENJITSRCS="" fi dnl Use 33-bit memory addressing? if [[ "$ac_cv_have_33bit_addressing:$WANT_33BIT_ADDRESSING" = "yes:yes" ]]; then use_33bit_addressing=yes fi AC_TRANSLATE_DEFINE(USE_33BIT_ADDRESSING, $use_33bit_addressing, [Define to use 33-bit memory addressing on 64-bit JIT capable systems.]) dnl Select appropriate FPU source. gcc_AC_C_FLOAT_FORMAT AC_CHECK_HEADERS(ieee754.h ieeefp.h floatingpoint.h nan.h math.h) if [[ "x$WANT_JIT_FPU" = "xyes" -a "x$FPE_CORE_TEST_ORDER" != "xieee" ]]; then dnl AC_MSG_WARN([Sorry, JIT-FPU supports only the "ieee" FPE implementation]) FPE_CORE_TEST_ORDER="ieee" dnl Restore previous variables. FPE_CORE_STR and FPUSRCS are overwritten fi AH_TEMPLATE([USES_FPU_CORE], [FPU core]) for fpe in $FPE_CORE_TEST_ORDER; do case $fpe in ieee) case $ac_cv_c_float_format in IEEE*) FPE_CORE="IEEE fpu core" AC_DEFINE([USES_FPU_CORE], "IEEE") DEFINES="$DEFINES -DFPU_IEEE" FPUSRCS="uae_cpu/fpu/fpu_ieee.cpp" dnl Math functions not mandated by C99 standard AC_CHECK_FUNCS(isnanl isinfl) dnl Math functions required by C99 standard, but probably not dnl implemented everywhere. In that case, we fall back to the dnl regular variant for doubles. AC_CHECK_FUNCS(logl log10l expl powl fabsl sqrtl) AC_CHECK_FUNCS(sinl cosl tanl sinhl coshl tanhl) AC_CHECK_FUNCS(asinl acosl atanl asinhl acoshl atanhl) AC_CHECK_FUNCS(floorl ceill) case $CPU_TYPE in alpha) dnl Maybe -mieee-with-inexact CXXFLAGS="$CXXFLAGS -mieee" LDFLAGS="$LDFLAGS -mieee" break ;; *) ;; esac break ;; esac ;; x86) if test ":$GCC:$HAVE_I386:$HAVE_GAS:" = ":yes:yes:yes:" -o ":$GCC:$HAVE_X86_64:$HAVE_GAS:" = ":yes:yes:yes:"; then FPE_CORE="i387 fpu core" DEFINES="$DEFINES -DFPU_X86" FPUSRCS="uae_cpu/fpu/fpu_x86.cpp" break fi ;; uae) FPE_CORE="uae fpu core" AC_DEFINE([USES_FPU_CORE], "UAE") DEFINES="$DEFINES -DFPU_UAE" FPUSRCS="uae_cpu/fpu/fpu_uae.cpp" break ;; mpfr) AC_CHECK_LIB(mpfr, mpfr_set_zero, [LIBS="$LIBS -lmpfr -lgmp"], [], [-lgmp]) if test $ac_cv_lib_mpfr_mpfr_set_zero = yes; then FPE_CORE="mpfr fpu core" AC_DEFINE([USES_FPU_CORE], "MPFR") DEFINES="$DEFINES -DFPU_MPFR" FPUSRCS="uae_cpu/fpu/fpu_mpfr.cpp" break fi ;; *) AC_MSG_ERROR([Internal configure.in script error for $fpe fpu core]) ;; esac done if [[ "x$FPE_CORE" = "x" ]]; then AC_MSG_ERROR([Sorry, no suitable FPU core found in $FPE_CORE_TEST_ORDER]) fi dnl Check for certain math functions AC_CHECK_FUNCS(atanh) AC_CHECK_FUNCS(isnan isinf finite isnormal signbit) AH_TEMPLATE([DEBUGGER], [Define if using some internal debugger]) dnl Select debugger if [[ "x$WANT_JIT" = "xno" ]]; then dnl new debugger if [[ "$USE_DEBUGGER" = "yes" ]]; then AC_DEFINE([DEBUGGER], 1) CPUSRCS="$CPUSRCS uae_cpu/debug.cpp" fi else if [[ "$USE_DEBUGGER" = "yes" ]]; then AC_MSG_WARN([interactive debugger not usable with JIT]) USE_DEBUGGER=no fi fi AH_TEMPLATE([DISASM_USE_OPCODES],[Define if using the opcodes library for disassembly]) AH_TEMPLATE([DISASM_USE_BUILTIN],[Define if using the builtin disassembler]) AC_ARG_WITH(opcodes, [AC_HELP_STRING(--with-opcodes=DIR, [specify the directory where the opcodes library is located])], with_opcodes=$withval, with_opcodes=) AC_ARG_ENABLE(disasm, [AC_HELP_STRING(--enable-disasm=builtin|opcodes, [Specify which library to use for disassembly @<:@none@:>@])], enable_disasm=$enableval, enable_disasm=no; enable_disasm_defaulted=yes) case "$enable_disasm" in no|builtin|opcodes) ;; yes|auto) enable_disasm=auto ;; *) AC_MSG_ERROR([unknown disassembler $enable_disasm]) ;; esac # check wether we need disassembly support, and which one DISASM_CFLAGS= DISASM_LIBS= if test "$USE_DEBUGGER" != no -o "$WANT_HISTORY" = yes; then if test "$enable_disasm" = no; then if test "$enable_disasm_defaulted" = "yes"; then if test "$with_opcodes" != ""; then enable_disasm=opcodes else enable_disasm=auto fi else AC_MSG_WARN([you have requested debug support but disabled disassembly. The debugger needs some disassembling support.]) fi fi fi if test "$enable_disasm" = auto -o "$enable_disasm" = opcodes; then CPPFLAGS_save="$CPPFLAGS" LIBS_save="$LIBS" if test "$with_opcodes" != ""; then if test -f "$with_opcodes/build-dir/bfd/bfd.h" ; then OPCODES_CFLAGS="-I$with_opcodes/build-dir/bfd -I$with_opcodes/build-dir/libiberty -I$with_opcodes/build-dir/opcodes" OPCODES_LIBS="-L$with_opcodes/build-dir/bfd -L$with_opcodes/build-dir/libiberty -L$with_opcodes/build-dir/opcodes" else OPCODES_CFLAGS="-I$with_opcodes/include" OPCODES_LIBS="-L$with_opcodes/lib" fi CPPFLAGS="$CPPFLAGS $OPCODES_CFLAGS" fi OPCODES_LIBS="$OPCODES_LIBS -lopcodes -lbfd -liberty -lz -ldl" found=yes AC_CHECK_HEADERS(bfd.h,,found=no) AC_CHECK_HEADERS(dis-asm.h,,found=no) CPPFLAGS=$CPPFLAGS_save if test "$found" = yes; then AC_CHECK_LIB([opcodes], print_insn_m68k,, found=no, [$OPCODES_LIBS]) fi LIBS="$LIBS_save" AC_MSG_CHECKING([for opcodes usability]) if test "$found" = "yes"; then AC_DEFINE(DISASM_USE_OPCODES) DISASM_CFLAGS="$OPCODES_CFLAGS" DISASM_LIBS="$OPCODES_LIBS" AC_MSG_RESULT($found) if test "$with_opcodes" != ""; then DISASM_LIBS="$DISASM_LIBS -Wl,-rpath,$with_opcodes/lib" fi enable_disasm=opcodes else AC_MSG_RESULT($found) if test "$enable_disasm" = "opcodes"; then AC_MSG_NOTICE([ Required libraries not found. You may have to specify the path to the correct directory. If your system isn't m68k-based, the libraries may be installed in some unusual place (maybe something like /usr/$host/m68k-unknown-linux-gnu). In the meantime, i will use the builtin support. ]) fi enable_disasm=auto fi fi if test "$enable_disasm" = auto -o "$enable_disasm" = builtin; then AC_DEFINE(DISASM_USE_BUILTIN) enable_disasm=builtin fi AC_SUBST(DISASM_CFLAGS) AC_SUBST(DISASM_LIBS) dnl AM_CONDITIONAL(DISASM_USE_BUILTIN, test "$enable_disasm" = "builtin") dnl AM_CONDITIONAL(DISASM_USE_OPCODES, test "$enable_disasm" = "opcodes") dnl Exclusive spcflags handling if [[ "x$WANT_SPCFLAGS_EXCL" = "xyes" ]]; then DEFINES="$DEFINES -DENABLE_EXCLUSIVE_SPCFLAGS" fi dnl UAE CPU sources for all architectures. CPUINCLUDES="-I\$(srcdir)/uae_cpu" CPUSRCS="$CPUSRCS uae_cpu/aranym_glue.cpp uae_cpu/memory.cpp uae_cpu/newcpu.cpp uae_cpu/readcpu.cpp $JITSRCS $FPUSRCS $MMUSRCS" GENCPUSRCS="$GENCPUSRCS cpudefs.cpp cpustbl.cpp $GENJITSRCS" dnl Remove the "-g" option if set for GCC. if [[ "x$GCC" = "xyes" ]]; then if test "$ac_test_CFLAGS" != set; then CFLAGS=`echo $CFLAGS | sed -e 's/-g\b//g'` fi if test "$ac_test_CXXFLAGS" != set; then CXXFLAGS=`echo $CXXFLAGS | sed -e 's/-g\b//g'` fi fi if [[ "x$WANT_NATDEBUG" = "xyes" ]]; then DBGSP="-g" WFLAGS="" if [[ "x$GCC" = "xyes" ]]; then WFLAGS="$WFLAGS -W -Wall -Wundef" fi else DBGSP="" WFLAGS="" fi if [[ "x$WANT_FULLDEBUG" = "xyes" ]]; then CFLAGS="$CFLAGS -DWHOLEDEBUG" CXXFLAGS="$CXXFLAGS -DWHOLEDEBUG" fi dnl Remove the "-O2" option if set for GCC and set the "-O3" option. dnl Do this only if it was defaulted by configure if [[ "x$GCC" = "xyes" ]]; then if test "$ac_test_CFLAGS" != set; then CFLAGS=`echo $CFLAGS | sed -e 's/-O2//g'` CFLAGS="-O3 $CFLAGS" fi if test "$ac_test_CXXFLAGS" != set; then CXXFLAGS=`echo $CXXFLAGS | sed -e 's/-O2//g'` CXXFLAGS="-O3 $CXXFLAGS" fi fi dnl Or if we have -Ofast if [[ "x$HAVE_OFAST" = "xyes" ]]; then CFLAGS="`echo $CFLAGS | sed -e 's/-g//g'` -Ofast" CXXFLAGS="`echo $CXXFLAGS | sed -e 's/-g//g'` -Ofast" CXXFLAGS="-LANG:std $CXXFLAGS" LDFLAGS="$LDFLAGS -ipa" fi dnl Check for SDL and/or SDL2 m4_define(use_sdl2_default, yes) m4_case(use_sdl2_default, yes, [AC_ARG_ENABLE(sdl2, [AC_HELP_STRING([--disable-sdl2], [disable use of SDL2 even if available (default=no)])], , [enable_sdl2=auto])], [AC_ARG_ENABLE(sdl2, [AC_HELP_STRING([--enable-sdl2], [use SDL2 if available (default=no)])], , [enable_sdl2=no])]) SDL_CFLAGS= SDL_LIBS= no_sdl=yes no_sdl2=yes if test "$OS_TYPE" == darwin -a "$WITH_FINK" = no; then ARANYM_CHECK_FRAMEWORK(SDL, []) if test "$have_framework_SDL" = yes ; then ARANYM_CHECK_FRAMEWORK_LOCATION(SDL) sdl_version="`defaults read $SDL_LOCATION/Resources/Info.plist CFBundleShortVersionString`" no_sdl=no fi if test "$enable_sdl2" != no; then ARANYM_CHECK_FRAMEWORK(SDL2, []) if test "$have_framework_SDL2" = yes ; then ARANYM_CHECK_FRAMEWORK_LOCATION(SDL2) sdl2_version="`defaults read $SDL2_LOCATION/Resources/Info.plist CFBundleShortVersionString`" no_sdl2=no fi fi else dnl Try macro from sdl.m4 and sdl2.m4 AM_PATH_SDL(1.2.12) if test "$enable_sdl2" != no; then AM_PATH_SDL2(2.0.3) fi fi if test "$no_sdl" = yes -a "$no_sdl2" = yes; then AC_MSG_ERROR([*** neither SDL nor SDL2 found! ***]) else AS_CASE("$host", [arm*-*-linux*],[on_rpi=`awk -v r=0 '/^Hardware@<:@ \t@:>@+:@<:@ \t@:>@+BCM2708/ { ++r;} /^Serial@<:@ \t@:>@+:/ { ++r; } END { print ((r > 1) ? "yes" : "no");}' /proc/cpuinfo`], [on_rpi="no"]) if test "$on_rpi" = yes; then AC_DEFINE(USE_FIXED_CONSOLE_FBVIDEOMODE, 1, [Define if console framebuffer does not support changing host video mode]) fi fi if test "$no_sdl2" = yes -a "$enable_sdl2" = yes; then AC_MSG_ERROR([*** SDL2 was requested, but was not found ***]) fi if test "$no_sdl2" != yes -a "$enable_sdl2" != no; then enable_sdl2=yes fi if test "$have_framework_SDL" = yes -o "$have_framework_SDL2" = yes; then if test "$enable_sdl2" = yes; then SDL_CFLAGS="-I$SDL2_LOCATION/Headers" BUNDLE_FRAMEWORKS="$BUNDLE_FRAMEWORKS $SDL2_LOCATION" SDL_LIBS="$SDL2_LIBS" sdl_version="$sdl2_version" else SDL_CFLAGS="-I$SDL_LOCATION/Headers" BUNDLE_FRAMEWORKS="$BUNDLE_FRAMEWORKS $SDL_LOCATION" fi else if test "$enable_sdl2" = yes; then SDL_CFLAGS="$SDL2_CFLAGS" SDL_LIBS="$SDL2_LIBS" sdl_version="$sdl2_version" fi fi dnl Check for SDL_Image if test "$enable_sdl2" = yes; then ARANYM_CHECK_FRAMEWORK(SDL2_image, []) else ARANYM_CHECK_FRAMEWORK(SDL_image, []) fi if test "$have_framework_SDL2_image" = yes ; then ARANYM_CHECK_FRAMEWORK_LOCATION(SDL2_image) SDL_CFLAGS="$SDL_CFLAGS -I$SDL2_image_LOCATION/Headers" BUNDLE_FRAMEWORKS="$BUNDLE_FRAMEWORKS $SDL2_image_LOCATION" have_sdlimage_lib=yes have_sdlimage_h=yes elif test "$have_framework_SDL_image" = yes ; then ARANYM_CHECK_FRAMEWORK_LOCATION(SDL_image) CPPFLAGS="$CPPFLAGS -I$SDL_image_LOCATION/Headers" BUNDLE_FRAMEWORKS="$BUNDLE_FRAMEWORKS $SDL_image_LOCATION" have_sdlimage_lib=yes have_sdlimage_h=yes else tmp_cflags=$CFLAGS tmp_cppflags=$CPPFLAGS CFLAGS="$CFLAGS $SDL_CFLAGS" CPPFLAGS="$CPPFLAGS $SDL_CFLAGS" case "$host" in # the mixed environment on cygwin usually # causes link tests against SDL fail here, # just assume it is present *-*-cygwin* | *-*-mingw*) have_sdlimage_lib=yes have_sdlimage_h=yes ;; *) AC_CHECK_HEADER(SDL_image.h, have_sdlimage_h=yes, havesdlimage_h=no) AC_CHECK_LIB(SDL_image, IMG_isJPG, have_sdlimage_lib=yes, have_sdlimage_lib=no) ;; esac CFLAGS=$tmp_cflags CPPFLAGS=$tmp_cppflags if test "$have_sdlimage_h" = yes -a "$have_sdlimage_lib" = yes; then if test "$enable_sdl2" = yes; then SDL_LIBS="-lSDL2_image $SDL_LIBS" else SDL_LIBS="-lSDL_image $SDL_LIBS" fi fi fi if test "$have_sdlimage_h" = yes -a "$have_sdlimage_lib" = yes; then AC_DEFINE(HAVE_SDL_IMAGE, 1, [Define if you have SDL_image]) fi dnl Add OpenGL ? if test "x$WANT_OPENGL" = "xyes"; then have_opengl="no" if test "x$PKG_CONFIG" != "x"; then PKG_CHECK_MODULES([GL], [gl]) fi if test "x$GL_LIBS" = "x"; then case "$host" in *-*-cygwin* | *-*-mingw*) GL_LIBS="-lopengl32" ;; *-*-darwin*) GL_LIBS="-Wl,-framework,OpenGL" ;; *) GL_LIBS="-lGL" ;; esac fi case "$host" in # the mixed environment on cygwin usually # causes link tests against SDL fail here, # just assume it is present *-*-cygwin* | *-*-mingw*) have_opengl=yes ;; esac AC_MSG_CHECKING(for OpenGL support) if test "$have_opengl" = no; then tmp_cflags=$CFLAGS tmp_libs=$LIBS CFLAGS="$CFLAGS $SDL_CFLAGS" LIBS="$LIBS $SDL_LIBS $GL_LIBS" AC_TRY_COMPILE([ #include "SDL_opengl.h" ],[],[have_opengl="yes"]) fi AC_MSG_RESULT($have_opengl) CFLAGS=$tmp_cflags LIBS=$tmp_libs DYNGLSRCS="" if test "x$have_opengl" = "xyes"; then AC_DEFINE([ENABLE_OPENGL], 1, [Define if OpenGL enabled]) DYNGLSRCS="dyngl.c" else WANT_OPENGL="no" fi fi dnl Check for zlib if [[ "x$WANT_LILO" = "xyes" ]]; then # Search using pkg-config if test "x$PKG_CONFIG" != "x"; then PKG_CHECK_MODULES([ZLIB], [zlib], [have_zlib=yes], [have_zlib=no]) fi # Fallback to autoconf (helps in Ubuntu 10.04 LTS) if [[ "x$have_zlib" = "xno" ]]; then AC_CHECK_LIB(z, gzopen, [have_zlib=yes], [have_zlib=no]) fi if [[ "x$have_zlib" = "xyes" ]]; then AC_DEFINE([HAVE_LIBZ], 1, [Define if zlib enabled]) fi else have_zlib="not required" fi dnl Check for libusb-1.0 WITH_USBHOST="no" if test "x$WANT_USBHOST" = "xyes"; then # Search using pkg-config if test "x$PKG_CONFIG" != "x"; then PKG_CHECK_MODULES([LIBUSB], [libusb-1.0], [WITH_USBHOST="yes"], [WITH_USBHOST="no"]) fi # Search the library and headers directly if test "x$WITH_USBHOST" = "xno"; then AC_CHECK_HEADER(libusb-1.0/libusb.h, [WITH_USBHOST="yes"], [WITH_USBHOST="no"]) if test "x$WITH_USBHOST" = "xyes"; then AC_CHECK_LIB(usb-1.0, libusb_init, [], [WITH_USBHOST="no"]) LIBUSB_LIBS="-lusb-1.0" fi fi if test "x$WITH_USBHOST" = "xno"; then AC_MSG_WARN([libusb is missing, USB NF disabled]) fi fi dnl Linux loader if [[ "x$WANT_LILO" = "xyes" ]]; then if [[ "x$WANT_MMU" = "xyes" ]]; then AC_DEFINE([ENABLE_LILO], 1, [Define if lilo enabled]) else AC_MSG_ERROR([Linux kernel requires functional MMU emulation]) fi fi dnl Natfeat CD-ROM driver AH_TEMPLATE([NFCDROM_SUPPORT], [Define if you want to use host CD-ROM driver]) NFCDROM_DRIVER="" case "$host_os" in linux*) NFCDROMSRCS="natfeat/nfcdrom_linux.cpp" AC_DEFINE([NFCDROM_LINUX_SUPPORT], 1, [Define if you want to use Linux support as CD-ROM driver]) NFCDROM_DRIVER="linux" ;; mingw*|cygwin*) NFCDROMSRCS="natfeat/nfcdrom_win32.cpp" AC_DEFINE([NFCDROM_WIN32_SUPPORT], 1, [Define if you want to use Win32 support as CD-ROM driver]) NFCDROM_DRIVER="win32" ;; esac if test "$enable_sdl2" != yes; then test "$NFCDROM_DRIVER" != "" && NFCDROM_DRIVER="${NFCDROM_DRIVER}," NFCDROM_DRIVER="${NFCDROM_DRIVER}sdl" NFCDROMSRCS="$NFCDROMSRCS natfeat/nfcdrom_sdl.cpp" fi if test "$NFCDROM_DRIVER" != ""; then NFCDROMSRCS="$NFCDROMSRCS natfeat/nfcdrom.cpp" AC_DEFINE([NFCDROM_SUPPORT], 1) else NFCDROM_DRIVER=no fi PROVIDES_NF="$PROVIDES_NF cdrom($NFCDROM_DRIVER)" dnl Natfeat PCI driver NFPCISRCS="" if [[ "x$WANT_NFPCI" = "xyes" ]]; then case "$host_os" in linux*) AC_DEFINE([NFPCI_SUPPORT], 1, [Define if you want to use host PCI driver]) NFPCISRCS="natfeat/nfpci.cpp" AC_DEFINE([NFPCI_LINUX_SUPPORT], 1, [Define if you want to use Linux PCI driver]) NFPCISRCS="$NFPCISRCS natfeat/nfpci_linux.cpp" PROVIDES_NF="$PROVIDES_NF pci" ;; *) AC_MSG_ERROR([*** NatFeats PCI not supported by this OS ***]) WANT_NFPCI="no" ;; esac fi dnl Natfeat USB driver USBHOSTSRCS="" if [[ "x$WANT_USBHOST" = "xyes" -a "x$WITH_USBHOST" = "xyes" ]]; then AC_DEFINE([USBHOST_SUPPORT], 1, [Define if you want to use host USB driver]) USBHOSTSRCS="natfeat/usbhost.cpp" LIBS="$LIBS $LIBUSB_LIBS" PROVIDES_NF="$PROVIDES_NF usb" fi dnl Natfeat OSMesa driver NFOSMESASRCS="" AH_TEMPLATE([NFOSMESA_SUPPORT], [Define if you want to use host OSMesa driver]) if test "x$WANT_NFOSMESA" = "xyes"; then have_osmesa=no if test "x$PKG_CONFIG" != "x"; then PKG_CHECK_MODULES([OSMESA], [osmesa], have_osmesa=yes, :) fi if test "$have_osmesa" = "no"; then case "$host_os" in dnl For darwin the OSMesa include path is by default not defined darwin*) OSMESA_CFLAGS="-I/usr/X11R6/include/" ;; *) ;; esac have_osmesa=yes AC_CHECK_HEADER(GL/osmesa.h, :, have_osmesa=no) AC_CHECK_LIB(OSMesa, OSMesaCreateContext, :, have_osmesa=no) fi if test "$have_osmesa" = "yes"; then CPPFLAGS="$CPPFLAGS $OSMESA_CFLAGS" AC_DEFINE([NFOSMESA_SUPPORT], 1) NFOSMESASRCS="natfeat/nfosmesa.cpp" else WANT_NFOSMESA="no" fi fi if [[ "x$WANT_NFOSMESA" = "xyes" ]]; then PROVIDES_NF="$PROVIDES_NF osmesa" fi dnl Natfeat JPEG decoder NFJPEGSRCS="" if [[ "x$WANT_NFJPEG" = "xyes" ]]; then if test "x$have_sdlimage_h" = "xyes" -a "x$have_sdlimage_lib" = "xyes"; then AC_DEFINE([NFJPEG_SUPPORT], 1, [Define if you want to use host JPEG decoder]) NFJPEGSRCS="natfeat/nfjpeg.cpp" PROVIDES_NF="$PROVIDES_NF jpeg" else WANT_NFJPEG="no" fi fi dnl Natfeat VDI driver NFVDISRCS="" if [[ "x$WANT_NFVDI" = "xyes" ]]; then AC_DEFINE([NFVDI_SUPPORT], 1, [Define if you want to use NF VDI driver]) NFVDISRCS="natfeat/nfvdi.cpp natfeat/nfvdi_soft.cpp" NFVDI_DRIVER="sw" if [[ "x$WANT_OPENGL" = "xyes" ]]; then NFVDISRCS="$NFVDISRCS natfeat/nfvdi_opengl.cpp" NFVDI_DRIVER="opengl,$NFVDI_DRIVER" fi PROVIDES_NF="$PROVIDES_NF vdi($NFVDI_DRIVER)" fi dnl Natfeat Clipboard driver NFCLIPBOARDSRCS="" AH_TEMPLATE([NFCLIPBRD_SUPPORT], [Define if you want to use Clipboard]) if [[ "x$WANT_NFCLIPBRD" = "xyes" ]]; then case $OS_TYPE in cygwin | mingw) AC_DEFINE([NFCLIPBRD_SUPPORT], 1) NFCLIPBOARDSRCS="natfeat/nfclipbrd.cpp" SYSSRCS="$SYSSRCS Unix/cygwin/clipbrd_cygwin.cpp" ;; darwin) AC_DEFINE([NFCLIPBRD_SUPPORT], 1) NFCLIPBOARDSRCS="natfeat/nfclipbrd.cpp" SYSSRCS="$SYSSRCS Unix/darwin/clipbrd_darwin.M" ;; beos | haiku) AC_DEFINE([NFCLIPBRD_SUPPORT], 1) NFCLIPBOARDSRCS="natfeat/nfclipbrd.cpp" SYSSRCS="$SYSSRCS Unix/beos/clipbrd_beos.cpp" LIBS="$LIBS -lbe" ;; *) AC_CHECK_LIB(X11, XOpenDisplay) if [[ "x$ac_cv_lib_X11_XOpenDisplay" = "xyes" ]]; then AC_DEFINE([NFCLIPBRD_SUPPORT], 1) NFCLIPBOARDSRCS="natfeat/nfclipbrd.cpp" SYSSRCS="$SYSSRCS Unix/clipbrd_x11.cpp" LIBS="$LIBS -lX11" else AC_MSG_ERROR([Sorry, NatFeat Clipboard not implemented on your platform yet]) WANT_NFCLIPBRD="no" fi ;; esac fi if [[ "x$WANT_NFCLIPBRD" = "xyes" ]]; then PROVIDES_NF="$PROVIDES_NF clipboard" fi dnl Exception per second limiter if [[ "x$WANT_EPSLIMITER" = "xyes" ]]; then AC_DEFINE([ENABLE_EPSLIMITER], 1, [Define if you want to use EPS limiter]) fi dnl Linux /dev/rtc source timer if test "x$WANT_RTCTIMER" = "xyes" ; then if test "x$OS_TYPE" = "xlinux"; then AC_DEFINE([RTC_TIMER], 1, [Define if you want to use Linux /dev/rtc as source timer]) else WANT_RTCTIMER="no" fi fi dnl Linux/X86 hardware access for parallel port PARALLELX86SRCS="" if test "x$WANT_PARALLELX86" = "xyes" ; then if test "x$OS_TYPE" = "xlinux" -a "x$HAVE_I386" = "xyes"; then AC_DEFINE([ENABLE_PARALLELX86], 1, [Define if you want to use Linux/X86 hardware access for parallel port]) PARALLELX86SRCS="parallel_x86.cpp" else WANT_PARALLELX86="no" fi fi dnl Linux /dev/parport access for parallel port PARALLELPARPORTSRCS="" if test "x$WANT_PARALLELPARPORT" = "xyes" ; then if test "x$OS_TYPE" = "xlinux"; then AC_DEFINE([ENABLE_PARALLELPARPORT], 1, [Define if you want to use Linux /dev/parport access for parallel port]) PARALLELPARPORTSRCS="parallel_parport.cpp" else WANT_PARALLELPARPORT="no" fi fi dnl Linux /dev/sequencer MIDI support if test "x$OS_TYPE" = "xlinux"; then AC_DEFINE([ENABLE_MIDI_SEQUENCER], 1, [Define if you want to use Linux /dev/sequencer support]) MIDISEQSRCS="midi_sequencer.cpp" fi dnl Serial port support SERIALSRCS="" if test "x$WANT_UNIXSERIALPORT" = "xyes" ; then if test "x$ac_cv_header_termios_h" = "xyes" -a "x$ac_cv_header_sys_ioctl_h" = "xyes"; then AC_DEFINE([ENABLE_SERIALUNIX], 1, [Define if you want to use /dev/ttyXXX access for serial port]) SERIALSRCS="serial_port.cpp" else WANT_UNIXSERIALPORT="no" fi fi AC_DEFINE_UNQUOTED([PROVIDES_NATFEATS], "$PROVIDES_NF", [List of Native Features]) dnl Data directory APP=aranym case "$host_os" in darwin*) if test "x$WITH_FINK" = "xyes"; then TARGET="\$(APP)" else TARGET="\$(APP_BUNDLE)" fi ARANYM_DATADIR="\"\\\"\${datadir}/\${APP}\\\"\"" srcdir="." ;; mingw*) TARGET="\$(APP)" ARANYM_DATADIR="\"\\\"./\${APP}\\\"\"" ;; *) TARGET="\$(APP)" ARANYM_DATADIR="\"\\\"\${datadir}/\${APP}\\\"\"" ;; esac CFLAGS="$CFLAGS -DARANYM_DATADIR=$ARANYM_DATADIR" CXXFLAGS="$CXXFLAGS -DARANYM_DATADIR=$ARANYM_DATADIR" dnl Remove the ARCHFLAGS again as they must be handled separately inside the Makefile. if [[ "x$ARCHFLAGS" != "x" ]]; then CPPFLAGS=`echo $CPPFLAGS | sed -e "s:$ARCHFLAGS::g"` LDFLAGS=`echo $LDFLAGS | sed -e "s:$ARCHFLAGS::g"` fi AH_BOTTOM([ #endif /* __ARANYM_CONFIG_H__ */ ]) dnl Generate Makefile. AC_SUBST(WFLAGS) AC_SUBST(SET_MAKE) AC_SUBST(DEFINES) AC_SUBST(SYSSRCS) AC_SUBST(CPUINCLUDES) AC_SUBST(CPUSRCS) AC_SUBST(GENCPUSRCS) AC_SUBST(DSPSRCS) AC_SUBST(MIDISEQSRCS) AC_SUBST(NFCDROMSRCS) AC_SUBST(NFPCISRCS) AC_SUBST(USBHOSTSRCS) AC_SUBST(NFOSMESASRCS) AC_SUBST(NFJPEGSRCS) AC_SUBST(NFVDISRCS) AC_SUBST(NFCLIPBOARDSRCS) AC_SUBST(PARALLELX86SRCS) AC_SUBST(PARALLELPARPORTSRCS) AC_SUBST(SERIALSRCS) AC_SUBST(GUISDLSRCS) AC_SUBST(DYNGLSRCS) AC_SUBST(DBGSP) AC_SUBST(TAPIF) AC_SUBST(TARGET) AC_SUBST(CPU_TYPE) AC_SUBST(ARCHFLAGS) AC_SUBST(GENCPU_FLAGS) AC_SUBST(SDL_CFLAGS) AC_SUBST(SDL_LIBS) AC_SUBST(BUNDLE_FRAMEWORKS) AC_SUBST(ZLIB_CFLAGS) AC_SUBST(ZLIB_LIBS) AC_SUBST(GENCOMP_ARCH) AC_OUTPUT(Makefile) dnl Print summary. echo echo ARAnyM configuration summary: echo echo SDL version ................... ........ : $sdl_version echo Use exclusive spcflags handling ........ : $WANT_SPCFLAGS_EXCL echo Use JIT compiler ....................... : $WANT_JIT echo Use JIT compiler for FPU instructions .. : $WANT_JIT_FPU echo JIT debug mode ......................... : $WANT_JIT_DEBUG echo Floating-Point emulation core .......... : $FPE_CORE echo Assembly optimizations ................. : $ASM_OPTIMIZATIONS echo Addressing mode ........................ : $ADDRESSING_MODE echo -n Full MMU support ....................... : $WANT_MMU if [[ "x$WANT_MMU" = "xyes" ]]; then echo -n " (" case "$ATC_TYPE" in full) echo -n "with ATC";; small) echo -n "with small ATC";; no) echo -n "without ATC";; esac echo -n \) fi echo echo Linux /dev/rtc source timer ............ : $WANT_RTCTIMER echo Real STOP implementation ............... : $WANT_REALSTOP echo DSP 56001 support ...................... : $WANT_DSP echo DSP 56001 disassembly support .......... : $WANT_DSP_DISASM echo Debugger ............................... : $USE_DEBUGGER echo Check memory ........................... : $MEMORY_CHECK echo First 2kB of RAM Supervisor protected... : $WANT_PROTECT2K echo FastRAM fixed size ..................... : $WANT_FIXEDFASTRAM echo Fixed position of VideoRAM ............. : $WANT_FIXEDVIDEORAM echo Blitter memmove acceleration ........... : $WANT_BLITMEMMOVE echo Blitter SDL blit acceleration .......... : $WANT_BLITSDLBLIT echo Support for hostfs ..................... : $WANT_HOSTFS echo Support for ethernet ................... : $HAVE_ETHERNET echo GUI .................................... : $WANT_SDLGUI echo OpenGL ................................. : $WANT_OPENGL echo Linux-m68k loader ...................... : $WANT_LILO echo Zlib ................................... : $have_zlib echo libusb-1.0.............................. : $WITH_USBHOST echo NatFeat CD-ROM driver .................. : $NFCDROM_DRIVER echo NatFeat PCI driver ..................... : $WANT_NFPCI echo NatFeat USB driver ..................... : $WANT_USBHOST echo NatFeat OSMesa driver .................. : $WANT_NFOSMESA echo NatFeat JPEG decoder ................... : $WANT_NFJPEG echo NatFeat Clipboard ...................... : $WANT_NFCLIPBRD echo NatFeat VDI driver ..................... : $WANT_NFVDI echo Exception per second limiter ........... : $WANT_EPSLIMITER echo Linux/X86 h/w access for parallel port.. : $WANT_PARALLELX86 echo Linux /dev/parport for parallel port.... : $WANT_PARALLELPARPORT echo Unix /dev/ttySn for serial port......... : $WANT_UNIXSERIALPORT echo Use C++ exceptions for m68k exceptions.. : $WANT_CXX_EXCEPTIONS echo echo "Configuration done. Now type \"make depend\" (or \"gmake depend\") then \"make\" (or \"gmake\")." aranym-1.0.2/contrib/000077500000000000000000000000001242022243000144305ustar00rootroot00000000000000aranym-1.0.2/contrib/aranym-jit.desktop000066400000000000000000000003031242022243000200720ustar00rootroot00000000000000[Desktop Entry] Encoding=UTF-8 Name=ARAnyM JIT Comment=Virtual Machine with JIT CPU compiler for max speed Exec=aranym-jit Icon=aranym Terminal=false Type=Application Categories=System;Emulator; aranym-1.0.2/contrib/aranym-mmu.desktop000066400000000000000000000003041242022243000201030ustar00rootroot00000000000000[Desktop Entry] Encoding=UTF-8 Name=ARAnyM MMU Comment=Virtual Machine with MMU for FreeMiNT and Linux-m68k Exec=aranym-mmu Icon=aranym Terminal=false Type=Application Categories=System;Emulator; aranym-1.0.2/contrib/aranym.desktop000066400000000000000000000002651242022243000173150ustar00rootroot00000000000000[Desktop Entry] Encoding=UTF-8 Name=ARAnyM Comment=Virtual Machine for Atari 32-bit applications Exec=aranym Icon=aranym Terminal=false Type=Application Categories=System;Emulator; aranym-1.0.2/contrib/icon-32.png000066400000000000000000000057271242022243000163230ustar00rootroot00000000000000PNG  IHDR szztEXtSoftwareAdobe ImageReadyqe< yIDATxڌW xT=ol,I&6IQYLV* AkU)~( h4,"ŐYJȞ$373{P|˽94qÁd` x`3ΎqZF35& 2"Fܐi.;'&>\ּٜ$B(h3F%dnraڽ YЇ~`^md_(b6xH-Z!`7m)x_ .Z7\;cFeg.PiuwAph'|[fVƺJ{&e=7Qy4>epqDۮ73 b",h|֎&0NNkh!8^ FG%(\-pw >AnU>G&bn{zd}wb-7cp '_%@"ãL)`)BeHkomuy-pGn[RKލiu8Wt}nsrRt$Lk4c~B^,6!e^Fz|$L&zveܣYc,#.q 3odG+L4A(w$(MҼ<%f-yB6v06eziaސ& *iXƤؓ/7` TF!bjtJb{3&2}Z7Kt4$PN ֈ2=J1S` c"|fK7BS M 3] }L|t赶1tB>&,@d09v}:b[T1ζ* ?!I+Dg@p1;vBSoԠxT 2Bw 8b3N Njqؿhys`^A:Gk$>*zbSX4 ng#*s8ZkJP~r篆5V*g4T 2T_bLgn;JW)s;0QdD֠ %u@Mep1mJ8tBك qrPӏϡ~A6jsBT96F7T f=t&RX"rBeq|Mp N4Wخ7HCd] & ɩ)Qzzl ľ 3z^^G: v[j1 )Y1yOይ} O8"id86) ASO:E'O H .qn'n+*8E:n'`DB$q۷c096/E@`ʁf\CAuvs;7%5ODwoՎS1*!hmPV 1qN![&F܃R&t;H)LD.8$rXͭvb7z GCA8m0ݑB( ܄!1JJGo<ny8a$*ND/ OĀ!Y8:"-gvO\$\`1% Hf\@^p 4!8yp'\2tpu6 n$b05W >$%QsaEj3ذ(gPj`yBuO==LR֟ez~Y^3VR۽6wQIFa!q8FTxYS)& 834Q_l5yĶ{{L!$47pD>+;X^UX3T.NX7qaҼ8c=ˊ ˡ&zZzj.!6-~h:sŷ( z'BFCepb,v#=u68Pk5Aٮ jp ܞy J=Me(CӅ]f>)j5z"jJA_+c&  $&2JeF,&a~nƪk^ D)Ʀh7e\O8C&1a2ݺф:3W19^mfL%e;Snc뎰%!bb7 HMyAØ>}Sd;EZ'&c[f*F"1}fsɳ F͜;/=$1JE 5qB<ϓhȄyZhDOprJU{gӷV*=B/oɋ62{Tò53\R8]Ԃb5_\6) dM-P'mNpK[ I ==I.s)Nn X-Sp1r7K5Ux%{ݟ\ %9 CsAu$:vq0P3s~iu ,aOlScT\x z]Dtb%ygBpp8BB᫓(Ο>ڿ4BR/[HY FbZtҩND0 Z_-1CGk*.޾_?'0N'ԊۑNǘ^N F]H '_0 F IENDB`aranym-1.0.2/contrib/icon-48.png000066400000000000000000000122661242022243000163260ustar00rootroot00000000000000PNG  IHDR00WtEXtSoftwareAdobe ImageReadyqe<XIDATxڬZ չ=]t>0lYѸAC\a70hD .(F[ @dPewhpCJMWW/L}d*t-S1(Ou@SГ>^bÑJ u'orìdqF֬VWmv0; wfߗYLS/ Ɲ xveX oz6]CT_2y](JƥPV-wnF3z@qH LQ${XSZhDȓgF5OG6bo"iV,kҌ:-@֎Pxŕo/=}Uu@bx$er#~cv#iOXܽ`2Zۘ3ayȥ*}O( ?DZԤjD]q^j%g( j"3F-tZ*e%1M6K)_V~n3fL,D^ ?ؑp^ "tvFg6ߝw8O,BR  o>A>?8޼4w'C#7dy31UFSЛLpx\8vp:?"[~U܆~=fנO>67ԟӕ86g_|˫taA}r/ #- ., w.ǗҾh?7K(eAcap80r5HēR$uxs!kG/zxpHW7ޅ 2(|'&MF}R'hyh-HIJ1ldxr<cprkU|igf;X:Pqmw pR@6~W@*êXe#0pP,jyޖ[n<*gQ Z f|Bwp8R}y}pxPs[a"+Y9iIrqzT(e+F[lڸY7w1; 4{ _7 v=% Zp6hU9O;Ǩ]UA`b A†c $!I &< "uعi7e_x⅕+Fs )244VJӍe×%lr&8ɶ~C&EJ HPXy%@4ɂL&lkCCaY~?"n-q<\xc BDd,&niuz6ef,7J_M1x"gq0iZÁv"JXY a9DE`tQ{h'rr$eMqYqHj+D!.JvDKϹ+8Sw.| .Rs OТAzPΥsYݓ"5#,-ſ|ӁW͔>ƧHs&?ocHeaa$}=X/ѥ -?@ a=Vg}*!Ql_mD66&#~U^XYR y,ᰴt*Bo銁V #R>1 mU\CVg3a$uU؆01;aF(ty =eIkɢ$p]Xh>3nLf/EonTҎ! aêg\r&7~}-)^s&V.@2◉-r ]gsc . "t-ޚ&X\C7̤z+Cc&`訉p")k@0|Πǘa }z (G 4Ba硸l0Zx}0É0]խn4^$.4ǼB8 lNO{XqJ ܽ%B?^>:@.z8kO˛5gx6}R6Z=gRxG |PcOJA\*GAWVmyz®)O&@<48L*X{Pm¤A!6x=?<`jNYuU; Op/kV$Z3C<inE h,h&-gIr$|lZ8)p[a9M0} q<LS_H IbZ!<hm%%I,$DR̶]4ۺdљ jc؍?bB^%JLnh8Kvh: ;\<}D^CY7ȧX,m fruIbhly#SjBJΠ CAB̸u\>t3:ï$&փ3_KȓSC H9%bhwaeOn1-i6MGȏZ j~A)v-vGuQH;Z;($yFj+ g]Gh'E69!¡Jb^6|"Uy)&dW 瀯p(-G9,e8<>I?)&{AdDiM7<;}rJ 5K۴a$ů.8 f̣EXčL|_x VDjן KKJ!ctn]ЈcswK>k7z'\m^ ;a1^blZ$$r"e XҰ^ FG2x]k9 ];xv @D,L'2^X'&#CPKZ%(&T}`~*#@D-եOU㈷JmTaI| 6xe(w`ۖ @ۭza0؟})sїH-o =C'hyGVνi~Nu,j>[ObUlެ9jߏ'H Z*C.6lJLZaE!8*^F}Jq-ԯ U<(Y!:8z2p+acdǗ)BpS &cW YL@?CH$l, o͏Bc,6f\r_t˹#9LsAT{731dwg4r@ǰ H+V|$?)ZX+,:b,Z]|t /=0ck0oޑzdhutBr\xZHJnhndc{G>$0IdP>Dp,&chC:|dw>rgГCO jMW " 0eY, ~ 96ԚS,K7@y9^JnX]cOk"q?:&-?f;٩7<\|YlWE|tD1yx!|,ɯJÐQVĘ8yZ/2I* e7fzO;Xsw~XOސ7 ;oE_? k W$v8=yTHDz!@pcYp)֬|ԋ.wzw6B T띡|b?kt|VW@]7F,j)xWknFn6=N[xCߣT3d~+5ޅ62$u5\H lc~"gdr4-hw75<3n|C{y'5kǿV@k9:˦^y O9hi MMHDn3%zʦsQX\\*c|~MWrUGO=\r2Oz<. *wV7i0KbJ$cKN>6t%I?Pcܗq{sr2?Br.bT t/F wӫGaٿ@Qu(1.N P~Q'^۸_,IENDB`aranym-1.0.2/data/000077500000000000000000000000001242022243000137015ustar00rootroot00000000000000aranym-1.0.2/data/logo.png000066400000000000000000003625211242022243000153600ustar00rootroot00000000000000PNG  IHDR5bKGD pHYs  tIME1+" IDATxy%i]oY~ofPB*NۭvNOۭC L - k)lEQTAmIUeUfeVn~.g?%ވL*'#9q{8'6DEEE=NeKKK,..riX^^fnnyYZZb~~VEۥNݦtz!2ig$IJ!PJ)FVcttfIޠl2>6Ɩgh6G˶299$W]u3SLNNPU߂RǏgvvÇsY9ʉ'8ugcqqVkeC/. One!텽ZOFǘd֭\u+W]u%\}OZ.| O)\~}$I7D":QQQfggٷo?Ǐ`߾}=vs >B n]Iï!PX+Ca  zBez{9@S'_͓*>jqSWsӞ“2n4QQQ. ;w}kn}ؿGe}}ύwU~ AP . @|p!I:>*rӯ?=<qUǍ,***`TTc'N=<Do^g~yx {=7<:纫0**kmm]p}m۽ܷzh}jӺ _/7'І~@`9: /+(bڵ|>^y Oefz-b. (Z(H tK$m!0fz^ FDEEԹsͷq˭sБ!n*@>AN߆ K<" s7 ;`WäL0K*]uIǺ-ŏxO*"FEE]ڻ 7}|۸w ]:8y` r+o ^xQ@p q`ep\ @VBc&ҔzogϾ&~"FEE] ڳ /~o No]U=FpxE" ,TBQ CR@g2*( 0 C(s|_?I0** _:_6n^Vm vz*^sWoԪ@w/e^ ~BoX8 ׇ|"ʲW0pt+ZƋd~=⤒QQQNWǟ ^y<ڎ=E0_&ڱ1-F8xrtM@L(@!po!܅0hiSI",mDQDW#XAw[@͵}HXMJȱ;Qn 堙FOP:Uz ,3Z@`.{Ǝ6/}(7<%`TTf-OǞ[) x(9dHtc  bcOCXN$+ž>QW !l0Xp3-~b`jD5բ.>}Pk}jz!*,ۛB-'~6B)Ef!P)R*A3DmQuXGEEzk|#ȍ+'B ˹437<X]rʂۊۇ!T Q W!A{A1Ok"p <"9xT4RAzSu V]AE$ˢ 9ME<:|uU@h;/pgR~yX%Il?y /F1-ªL҅2Ԕz97CXaiLЪ6&BVޝ*:5bX@jPt8B+~:U*kIDaځ>蟯,A.1 u)ۏRB䡮!5z84>qP %J~ R UABplq\%&DEE.G>eOsHAPB !mPt%"[ E[V@,{W|>hc(uA2W_Rvu{7p7AsYWNhE9 `X(M E]8 J,HӴn B% ,;DJ[#pþ0ν mᑪAN vjMrQ/(׈0ks nM+ Z1`2ZbUtg" mU0J׆ÊnWh$ӭ az@Ep Pٿo@+AۥV0a!*G z-vz;"FE]_X],rfv6$TJ9Z80MeJ Krӥ=A$hp)(;U9 &ł!,tc].a8Xs\ 4 X>yjOu6AP})d],0G^gۇ}_`' ~~Ii}*e%\>h`1Z :?8W : "2׃% aK W:**`TQx>_,.E@߽ nC8*ac!ׅB!am+B>@Zu &k_I^9OjυB|yH? JbNC$$`аF)qA ({f} GGEE`#_OI;]c `T>]8{ⴑYanmiKbz``N\AU |*x*;L*xlX*%XY$p{_WR.\71~>,\pC?yJ@-Q8Ą-J;vrAXgmm}4%I 4Ȳ N+7J=)ԃQQQ}wcxUbXe8l'ʡ'*#@(.x*6 D7~BaXeAECΫ0B< q2!bBΙ4wv3^PW8E;U 4"t q|a)"<0^/%I MV3VaTTT3}vE HW@]Us`1rDD&OnCP Ja`q90ÑfX \(3ULPpJ!`Tl6\l?gW}ue~X 'i)`(mXNΠB!b+_"h9-]n`jPj3 ȼƶQM m(.+ hmz!#(VDuQśwtȮxs'D[zDEI@<"n!Q`BT.["`rp0*́&+^6ja^`Xz 0p-I1` ,X3g MpWOSɋM2Zf LL\.(:\Z a$84Oi}} )ŀ XZC4~,iJ!4v"FE=J:x4/U G"zQp*` Zi0ޠS^A8&-yr9eS/̟o+s*=].*cYcu͛6o:҄j( 6%"_70GٽB}L' !B 9/DHˆ񪔙B`σ]p}OQ`]Ϝ[hY˂.'/J琅._MU3`ʡE@uX"|B;Q B39̞ `A8U~I#+ IR#Id]>`mXE苊u1vowk)`oX5<]zzi@&!<&JIB"d"IdYPʌzt:]T7컗=YPs@3pzh5P謋]Ⱥh5fQ8(̼iu@ ?!+ء[gϊR)nϝ;xah0]0VT2K_4#"̤sRΌ hݸE8?.k5Z+pnOic)(&<%***`Tj#/Nl~U'8{i[W>9At{brl4s6›f7+2zvnO{MӦY̓\E:jCA:kϺhC[gB䪷_؞vy/쩹l$> %D{u]LZ6wX1+$VTpWbcGPyZj7Cjg-l,嗡fV8Ҿ1y˕ʊߦAp[0ϱ\|b㕅Ì\D_P,t:5v|- AGPHg) [V t7vmXTJse1mN @߇Y t#FEE:O7ȍe`_**þzȎ^CTmCjg*:E2*++rd g@ kFNޠѨh4ťV`hBLV UnY^n2u T_' Sp B'Bhb[`O3'-B4GܦޱJDb*IJOrT>1Frt$(L8; H^ k$%GPkdbV[vEFy^JY zX0FEEE*hy_1,[Ia]}B7݊=f8ll4NHHP`~b;qaE1Amxڇ3p5Nmx0#Z!fey8J R"%9) ׊ xgGW1*`T%W};9ze IDATpƀX+VlBQo3!Bb)jFfIB_R@%iJ$N_ӡ뱺2昝c~~"*d$z=ü-V;d\qR!ĥ;E“|< ŚCe6L{?Rι@3l?Xs۔ ]h{hO ®NW{{Zf$xIRj-rI_), f=ZZuGEEDo;p}T<M :}] w 0&iJjll6 · 5y>Upe,vt:[ܹ9N9ٳ,-^[Fek$Mסzl_ot|?9/E4dRǫ(B0dK%t2Ӟ6*c>4~pUK1b]SD#PJy:@S 25 |9'bQQox[aCGcg\֔s/+u͕`umZʱfBHzҠp@Iްս i*L񩙩ڧ5j鳜:uYV[ +$tj$sײ6O\|"nPQwISP Yj\R,}EACl}uvމSVͣufF,FEEz}_V^ف)9Nb6.yWdl,*mnû:#&###w-f}fsfsfZ-^jNPڑ[Yf53X[9;ˉ'9u -Z#kꭘ 񆕻U|*] z'0O qR %yng±&ȩM. p3gQ1 Am , r7P< D-ͩ} H!h"t+=p58'PNs/d"&F0*'mm -lqy}$qlo>m22R=Ԝ zj5͎D8@YZZ'N9{yTdTAꯐW'mJݨPj*N͵+eYApj3< K~H;oN)Q4ʂ`f7D왳oK `$!0AiCE,V IGEzt={|7GO;/3;!N_+s Euq"Gϭ3(##c⏄f_n[Y. >}GOp1fϞf}u`B"뵬۷ k#*/V9}A˖EQ m/\A ߔ: &P(BWPAU3>,gĐbB&97;K}N5 8mB!IiA(>.` \!a*A"FE}}G7|(QaEܾBń~4^ol6-8{[1 M̈́h4=KK]Ν;S'9x0ǎca, l^_~3w= \F'S8"=&0(%3cZj‘=eW9C1ä)-ɫm'c@%(B&ieR1L .w'H"n z}8҇[eT>;mBBW5 ~}g 4pNGctt^_cdM4&_][eXX2;{ǎr!?TEuȺTշntջ'X ZZc Oj {چ`U4O(z=ڶ46PX3`~1-.2 ]@S-  PpC,wT3Ј{ӨQQ{;t%t1dGeQGE߾H$4u7::~e܂_QsWy]wu`~Ǚ3>|㴖f"Y [&9~wWպ&\QpJ^PsKkt\Nq*JΠ&,8)PIcaog [t9sB "}01 ӄ ->u< |;|O!,Gۗm[ʠj#@s:::ؘu Ń_ۅvۀ";qY<,"Ujb -{.etuvn_ޠ9sdи8s7x/m F exiAP'>t,AB9C kx<].J}(D!"IkǏgz=O,fb.P*B`ۅ;3/[`TOO}Wua>׾^ŽcA>_ettqFGGK \?~IDzs =-!09~;RWЂY߇}'؋`r4nQ.X{yșM>i+VjlQ%ol̀cc06fot-]\k`~ހɓ?<YYEUK]fow_e>{*Sۺu$'{] BN01hfF ۩B;pΠҦ8E|αVyn PA,SΞz'0w `!ANkƻ$620é9M~Ӯ٨QQ/ë^/|`Z>~4Mi6G|>1>>no)BWBu෰`xv?CY^\L[]aUg&*CiHԴqףe\#mvlظ-]@P*R zt]NmָEE~GxT &͜{CK?3WʔFX|####I&&&e|\ ߈u5Hmޑ4];yhnΝ9/Po".˶ߚK(Ur~_.-͠9 ^/􀦭;(\w]!+!o- ,#ʐ.l Dj(5͡!3B3+Xs|2 'M5~/^^ę˿.nnQB)WߴL^ <ʍݼ6UzQ7j;0O311d|&&-hԠN^ʀ5XN#ڽ;ɣ *B-KR9W L|G#E]n7_4"r,(A~0JP2@"M4ѣA[ܚ[ׂ k #K8ǝ.@RJz==k,WD=nfQf7|+;v~aGiG1+m m4lG)8ӌO09zobƬ72 Ԁ_jj`Gٳw<Ç2KM-Tgl]U;csTO0o8͸r M21a½ĄqAӂdk)X\ 8xp;wsvN< %bzdE ~-˯κ+zҨ$hiS樨G ]Ž!>V Ŧ̄ &hefO >'Piu)u\aȕEHyyYIrFvm+]u?tx~7/'f0ꉣtU7+u1L(:~br2eb&'-MhF]?kRfpH]qoq>+hh^˶tYGniV@ȢW/ި47C,Hl?AeSB7VLZO+|hF D*mN%B8Y5Х _Uh-C) IK2anUf1N`5og_M**`w>ok o ,\$S!͑&bq8SLNN311d&&alFq 07gNѣY~/>x?'p@:P({59aRqGǍG9h=C~av!bG[܇m(2HJgvr _c 64 s,;^ϟv:?2s-^TT^Ưo&A.rLL6;X~LMM1109 S&lԸ~M*<.=']v>ۿC: 4*:[ ,z޲gpoý"IAJWEzàso( A1Py˘2cUfʶa㬯jN h}M7p7E!5{!0!Ё`8XNfWYEEӛ9mΟt=e ipo5M299)MNYׯ c_J8 oϞSs6v)e{pooł_njr;5Wrž~"#beoԥ:Qs*o #D>]r+T ;c4 M-Q5~B 覅om7 `Qp k 뙉&R(7dii7Q=?o{Yn"lUi-IHƙπ4SSNM䴭2й~ep ; 瞻9vatw-uP%~ ۺӍ8reoK A?-:A(|GV.76h P1YG(mŇҊZjz:x~{S G3;e-Jfb+?m,V)EE7}w|+;bDb_^כyLMM199SS&ab: =†\U8y={pϽرc; h^B뷜ydpo;2 /)c7u m??1ĵw†{H9  5vb]G4JnҚ5GϬB<ŧA43@PJ(;eO|+3k>_PTKW ?94b_ʷ4MÙyw:~3LM5rLXoE;8}CŶmwp~ڥ._mV>7/xD}4O!DB JB̮@QAfasBeǎ`dB_K6 aB=@vR]ʫ].ˋ-;NὯOTKO72dP?%B& Lp~J6Ԍ?!Zu~=!ػw{a~8u"˨|KnG-wdj6ި'-4s1V AM.Ĭ (F'ѷ ]] I `Ϻzf$IJ$Btrf0KN+vSv>_OTKG~}֊@uWa_ m]'&drr-LO!iSS0.N"pfÃ>]wξ1"]|.Wa[S ý2_w*r}~_IABI"}P25O:n8,y?]`\HۄzLS&Fe3V޶N܄"F=_}h72l[I,Z!\I~SLOoajjii& h`Na޷mCE%uнߪ_O@sEs11^}ԃ`35vVNafj&̩dY|߮CC)iBaZC`8:\]/1KTǯ^7 [ AZ3y8 C3LM M 6 Ul 8zw};;34 ?o*|2jr†΅.&+ZW'b_Jgs. 6ҡ U;3C๳'ٹTouLϼi@gl:iZ!0A(`U ̍MTǟ~>{?ґnH?wW ڼި{ SSSLMmazziM&0 qάBop`n--t{~g[65 ýW~acSaW%6wX]ҵA ٓfQop;Lp tLNYi2lPVac:of"F= /a >$9eFQ(Cff [M$fW<6p8G=>v;gNKLg6%of"19IX IDATEE:AÐ4]D%;;OWJa $͞dyR S|Fb pX{';6:45:z;0=N.(os>0q?{?wf{ Tr_ۼ4́~7VǙMo1~T'rg'}.bDLG{[4zhF>B{ Ⱥwז"d:_TT4?lt;{m+W\4xZNjjfnSRK!˨n#0z@wFFCFcZmz^prC okf0>r3O?YQ = Q?w1G&&&gmezz2&oglb-p ;v;neC;ybݞ'ΣJ =\/CU eM!0<8rYS"\CkaOfrȠQh@-͞bNm8K|is !;Q *4MFT"mW!|̝,~7ez?o7Qy}swp{fsa!iff.cz-j_UF58|{wʱ#I2uϡ87O !_?-1MEs"EE} XC@ѳD Kr$896ת{HaNA3m\E@THG` Q XqZB9Jޢ^\_o  ,FykDEo䕿W#+5zv!B/u^#99 33[3=W 0~Ǘ>P]w}h"[oL!$oC`[yGzdXA7]o%Su_[uгsp(kPsgOc JvŸ :A9J٤lz<hYny-dzjW&0}-ߨ&vmbZH#f-[Rffiar3L߱^صk;w7F27O֞S=Zl:~2A3~KT#@J0'򾀥G=pb` jR0{;wqnG4蹪=L S1M=iom jlh4 YN؏RupQt^RSM&*`ԣ3KȿCr)B(y8 MH%Ÿi:ri<p8r <;<ŭwyy՝Gu};˷T7[-% >@{M )5C9 n4۞'!V!"4I 鵐0#;>FFadd[ \J\`}Q=Zn»?7n.Q.>?3o`(b`l0Q;==$[ز%-[`20GTwo'38r=۷o~"U"Yʍt믘Ϊ[h|=܌+ =Ez@P X '"}F aPOgݠ@1}"kT N<I iBt4lV8|QQQ>Ϻ ]LѪ狀 T?v$iZ{I&I *SO{`کC{T$ccKzL vN, BA.uLLM$*`+_Nm?P0(Vz֒VZaBn5ߖM{-*kppλq_gnM yΜ?w~}վUoTTԣ X$p $z`jR\ 9$ǎ5i jpQ h2Xˇ:^`*EL >u ?ohL"F=r᭟.y_wٵ{I a$1>>6.9f.1Uf-xx;o箻ISѝ3a"BWm{ :|zY&87CQQ+@x֯M!w@crԠ |4Mms%g@m V ̭ܿ]w})F3kYI 4,-_lůZ/*1V9"%7Bޤ.~fHRť5V4#Vj)ԦJS@+v5:vv:Y333]gq(svM$j5T۶~]@NaR;CȄˆ)>[cK+ݱcz3sX"kCuL<ߠQϋ>\[n`X ⾯U }&@E0h$`߾5ju> L va}VV՚fiiei4t;msOgIen`dz4~g*n&Q_s -~hGu<-7b=v/[n.|Gnb툾i敾-G~[0-s|e=z@` ye*_7A Zd%={}!G~ԞO?3h_+j%Zj-dWWWYߧaʂe i/snyq3u~W?&۝ a ǼEf;Ŋiff.gf t\* ¨Ki=,ϱ{C4 &44) 8 ZS,/oaiiɩIiu"#^cz//ro2667Q^<&@PjCT i2t[>d乌mp w[eEM/ym2V!CH;\M:,QP7FXKME킬vv0F .]4Mjh'Vcr׷j Z-Au9KK L-v{t?H ڠ ٦ ,wٸyD@ ~GCҸbHT}o1;͖-e˘)p9yط^aߑg{Anڗxx.b$'k {y=վBA|Nw׺{nN(o%#,K MݜJvGY^Z"Hm(( :tntzkYY]%B"A(3ø:|h`7S?y<~ͻw7u6CbM cs233þvd> {w-_ G!y]=VYg͋Y~Gs9kKjt{b;>( >s:D=:Yf[ G>?dиݞ]ش*H0l&PB"SA"4Ǐhll<4Č 5҂V XXX`~~~C߭z+~}8XQ|C%/z~!~"FZZ^_MBA92R~f h_y\Nw_;XޜovTy ռ뗷Bfݙ.ҐRJH"a}+X( 2Avߗ~;б{~ r6jh  zzͲϐ%,Ǣ^\rb[hi=8;#9XJ%X\<, αPY %jSH:PV*V  E7\?O.ˆZv?_mjA7uHHOaa9ho7]]GBG+M- Р#CiJ>FV@O`P_%1TYCh 0Κ(ϝC@Qae pW}p}WWIȊn|9!JAem%֟- ؀O련Bx:MyeK.Q,Fk[-EhBz; vq(8,KҭcY6Jꖓq*AR0Zdzjx'*nڍ{;|cyjʷ|km-zyKw##U^)oR}ykR/VҬݤ}?+J)80O$Jy_45P). D 1Y۹&‹]7Mkڝ8KdP kg҉}*S(!} im4C%|b~n/I>(A>oD;MP#,,YfX/,mi_%~!!_~yp[dy "$&xX۝j_IWa<^ÞSO#CW(SawEcQN%I̓LE)Ґt7}x޵ߠORR6oA 7% (YE *9(ϿHO%`xbGp$; ǎѣ9|#j+`X7Nga1Yۿ~6 ?s _8n*uO?I?Ä(iz|%;t;x{gB}0:@)j(3Y !EkmCIO$Zo#tۙ;723;Kief(X4 VQ7Wc|tb fFi> ) Ha寥~N(y݇CڅLWG< O? _"/9% ̟J߀ þ}mݔ #."PEꋦnݼ< n߄@'/ ;u}]RY@NzRAQ;؎MnGgG;Ghmbq/ǀ8s'XXfjj%/PXRS0$mbUqbJ -_p[S<5 ¾ZWgE<~[Z ɗ06]]><펗3^_kO YJ|²BWFa[u\{ TŔi,V&8]cvϽ`ݮűzS?;rԟS%&B, 懃P*9.\ҥ(35X}B;p8vr3ּE lU- T'"Ї!]miy~o[*^kzW|Bj :Z<毀>&2i^yqK#%m6@xhr$_=R*)%cLA}vɛ>zkXR큼?:8Ǎhx"?v%k~>` sӼ+^W1yaM)8~-?~ò HHUaXHT"ה ]7s…lf0ks{/WV* oa<{^կlZ[[=릻3݇cZ|灱/2׿U.]x G-xR/Q_h=gynX;cE";M\,Th7 S#P3 +0x~l vڰ?M~ |xcud -#dUf|l_>OOo?C02᥹ni8q[9q8]s/BhsYFQ&D·l~Dz]2_ /B&C}TF~ط ::MxEX&a^P*/˝v}g3r|zy LD%!6fz1`O)k;sZ6~4!t@9g(E՞hxN {P0nY_ReJ__?/Ho =0 KCv;8q'O`ZP8a(X[cӀ0CSFuɃo_v9~߿H4۷0OQ|nӪ~#ٗtu9^ط:-i,%Kx_翏͒S ΣR}}g_+TntQ~c |M08茡2[7?Qcݚe6kjCUa_ o L?;7tf؀LHgzj&Ȋކ7fAN^O}sܨgkvfIU[$ 7)Dm07Ņ>Bg#u@pRpKn626>FiqYw,%~'*.cv=?xgx>LU ]+!tt4k^,7SC |o4I^pӸ9TuU_ d! _k멉tHdǺzS3k{ M*k,[# IDATGLi̞jJ0a  㣣\ Ȃ!Mp68u4gNJW!/P^"8!MRxߘ fQ~]S= p.yyOg~e9UٿNhu_ /Uatz{_&QZ%?Os+KxI1z⪒׮aj@AH8%PYvG9xqrq3{0Sm8 :F.YDT`^IDnbQB_o.@z8N;9sSN[DssH )n> ڧ?i>eC3Y;~ O5o1><? ,an:;}'WUfo5꒲޻ělg0k N׏ofZKgoKKax>Ŋ>LM \<3:=SB}𷀪yOZ 9Q#}+`0bdms'`L*nnn;]_Fa푊U[L:puYUָ:<̅ e cv~'G܄<ՃH1 &eO~ِN[V|&*ѹ'B8}8|֦~t௵ӻƳ~W^>%iU,ބW >nJb6Vhmz\ DD|iӺGk;X!\u=IBVExk!uBe=8-D͟2s>B6{ }}WO|K[TPcRCRE~~Tk;*> GKgnNFGfhhel*,倌̆mff-_p2o/O? ضCRlˌ\y+בFըh'c+67P|a:[-9?߿ fs.",Rv.[m,M*k8Bf!r?}*e kp:tÇmhq.'Y?Yfgp+ C@KS>?<#x`k\I`߯Ckkk<IGGWZXT waz"}k%d}%˦г_a2`{aˍy| \"هfVnaXsW9v4ѻcUwa9./\ǶmN~槮^c#+%b;?azW \LTvb{'ӣJcYTD!nKX9j͢GoHw n &Nj9rCC,c*Qzc؍plg0k= Mt{_lNZy7ra6(&%'lxkkkh{௵Z k51(|K_^Ges-ksCgǯJ7(#O0 ZAqIDE%0U}(ؐ0vJnEn ES6}"Y З޷s"7]uvThW2VԣKè:J B c\xi`nJ6w8z\t8D.3b ;0<ַ-~j3>9V3Ǻe_"6닿W|覣C RCi&'ahH‹?6KNUZXٹir/"=}pb/s h9.Aŷq$ӗ Xmq.A'ZΜo~^pHUrm @;!'n喱P.GoEz]a&vOZp۝pΞ\4Q|_PaUJ?`KzF,D9 -Z[[ ׏[CX^5LO(\p}YJcnuY[V_׉ɽBF!) xuM@Zf}B9>- 8AhU`}&U>bӛenl߸BJ+.+9.B%@{.!Lή\…e.{Akn= gﴸ8zvAK\g?Yof>Y)EX/!`# #ϻu/~]Od~ǡgL Q+^Ge{*YB'!iYwMy0-aXLgwsPQ-4x8,DXiRe NZI 3=Q! fMhQEʖqh/X%D *36:/WbbS-m;Ns/N]Z.OFˊR:vR}``~`֮e_ٰ#̰@IT"pG;iŞ[Z B^U˯/ǭEdezJx̟'l dH#Bh J^_! 4ZFF0YT}睳Weʓ\@KcYɍ>ӿy e^}>?h݉WHXD ķq*s\2WꃑYr ,yqΝ\KB$obkǗ__cmm-3k>ɿo`h$Z$XŧQEN[o>~+WsQ'/p>j6oaG7x/ A}H?>KIa̋ak%,ҁHUp/)9~No Y?d} 0QQLj^燃rA} BUjё\=W tiswýrԝlL5ü,4]i*F#PCʪ^&gX[YJe{쁫%Y)hGn>)S'`FG>e{|Օ/1 d/7mmy|]YBk\t."R7aٚ܋Z~ -ժ@ޟK|fL|F%DEJ Vd0b~h[1URjO}1Bz2a XUf&t%ꇉX;w 7=N h^ $I;~~.2j~qGU*+ qhkk5iٿxwmM^䥗S^!ǒWG֗P(}__7H٦ l,E x+brjw20[9V9A4P0bݬ`dnCi:}QeT}7AO=G`L`lNĞ-"MG,FI4j[̡|!E2&a @Fl"/jZrl6_j4L 鮑k,.rF?+z"ن `l@PlM!>7*Kh$ k_QJiy3*csV?8$_"F37ǁc.)`YRkL }UG@7ck na"Eayc v]p'x"3low(Pϖ ?yUC϶Oʕ \pzyGzyسYSƞس=rAMݚjn  5ff^xL[4qUn&6()t()#8*Nerv\^G=x>^1HRz7گʯdq[]gL 1C?Bشc_Ţ >[j ό>[@՗o\/u|rYu B_˵}(Oh&-K͈0j~v*5'>2;Hd3Qejr+W^f!'8w+inn> 臁\@{W戁>Oep?$`B(⏠BBF!p|yߵ5mltW.`?Zk%T}5i3ٿ+(ܻ|m=0{9E7xNJ8`>SXN4+- Y,pdtTuo)Fk|PсH[[[e`+_|t9:-,^zEη__ͦԜ׿dz?x) b̟9 UƵ0v=F脅ٽMNĥW(neY[$_ܘ䋦%& u"cP[G zZf>wE4l˲c_#-GQmBxW:gDz/_ _z%ĶsX4zz-;/!H X7vNQK*Sןr艰@y0y;4/ĉg8u?u6xy;yi~oCJzR_)>𖷼%Z3jw J} )e²r)uڽWq0/r1,#+ > $_jB+*_+|cVEY7 V5"өFۍ`bs yZ_P6U5ZUe\UqT(@׭FeRaۀpprIbys={v|%X2cذ˝VMzmxрaЗ:UGI D Dˮ\C^i8-g~}=L_+ԖWpA`9;])6Zo@Y^Ы-rj(eHpiHeQ bb`8~T\t>lUo5/,rZ8"etKZd]bh! ᐱPc"# T^(nzqƁt@$ }#蟱03t|Pﯻj߹2Gnɱm!n:Γ=&҉1 o;9fƇGhvc'V&][MP5_c4ϕ9sSgNppgg~.2In{z !\g6??{^ַfk㏢iBLG6& [ ^y/335{t2y j 聿o&c@EC,VJ8sn~axP-*F!=OV'8[畋(TG&LLZ՗9sǽ*!c sX)Ͳ8e;gb-ۘdrp 8rZl@2z(>y 6Ts!&W4$0 F@XV zz.p-,`}{de2݂ s}WaEi:;~w~'v׾,/E}][6Xoi/ ? HKKpVQ.\(9V$4R_!n-Omਲ&0b# +JzQF 9'";쭜<gww矿}s#0T?//fS>no0h{ 7|+ꁿB!~/ 0߇p|Eß(=gND33EZ~ЖJav;oJ)/)c^#°m 2 o_RQeۗ~iVox3I ,c* IDATc^`W2< Uȷr`}IM0 ^ln`ֶھ<z/*E`ea@0rŢ ?j re֖gȱ|.{*xH΅/_g |5p㭁F Jkw^n;oəc&g_ۣ? 0Y{oZ#GSr'T FѾ6#j ;Pkm~!tj cCoN޽<55G?l`ֶ[џ2L0|2!8`B7r`jz+=}L`-Uۇ=7yjfo?3&uKEI;Ύ+˲SX>_kUI^ޖ$Y@b/gtm) ε2Bd CONsz OXxC={?JQ'  b{;ߙMfۋ/]q)#1=tP($`.3d_K ۋ[^Ē^~Ѽ~E k@}>L6X2`MƌXLuc0`>:U*8{l{{]#zufK[PӼ bv+Y@ D^@/ ,a{ᡇ3.zr d0?x6f0ki2Y?Ոh,=w-_BKK B(R1\cqvXAUQE귬ٽY~_;v65kK(N.㹕߷c>Ti;獃@ % B$wRn_'>R($1ʳ[uf| O~G=ͩSwη wo& f6:6J ݯc-$ЌM y '.JP?ׅ  "K^跶ru?o6_>4Bw,Y/RQ~X,}$~kZ[5Z WqԽ5@|7{kS$Vs7m;<?$MPc}0n[Ԩy ~xGQ݅ O=T6f0kʹ:̰D Xx {޿&UXZZbbb^VJ3جxE2e,U_{~'{vV̨ǨNڹ%i|-+bt0Q211w(٭">=*-Lq v8Z=@_r50oogkQ[[+??- ,AsOa!kii!E}9a%/[_ޢЯ?jLo>װdCM&A3`}v;+g%@3D`t@~9Ex'w8O BtYUsXZe>i'p;zvVQOۛMz?*53)b3'bɿжmRT*UJ%Z^˸Edm 宀DK$0A AvTeGagJT2S/7W<7"b^؆07AoNqlGZUpBȍc՘Jz\.DqpYx辅r]fn>B270DDn3TxN2??O0 8voKGdyy~ӇI (EeVoSq[dkNcyAl);[G[kUsiGǩ nTP )Y+WLCC!xg0 , ރ7o3xpo d8R\$FnHȿxB|>`A՗-ykȾX1C jvswwTC/SМ4ה[j1Hi"_6[yPmr@jbC999c=-̚?I thtZx(/Pg֘gh*˥Y-o U_EUS%}9Mk-"w70lRð.s!ky .L0ny;H0+IJ45FgO5Ld`sC2Iv*1(QnGԨap`Xwx(vvP v f-hjO_m)E2o;k0-WYYYa||1/䃿ed= ھ%_Ko"'X7C0(6W,a3H#*<|6=q@':yk4~Z*B~ѿ cDb\8mgg?-0?6tPUEɉ1zz.1ntSr]HY@8Ei=ַŕ+W?Y_=A\I{+uea_.öme:<6ȪIwTՔ}"Ϳ,bu]"uos[CIU cݿ02,U;d린,%nN0ƒ!16~u?.Jzzw޿z7)7| .B,;l,emX@`2,җQR>sJ+  =.$8gpdڷ~?* $5*"iii!8B`rrKB})*'E#]j J.Ne&2N7'Z^q+'bx_ 6%bunV\>o'=cey~zusKk;Nw3dTNEXVamK/\N %\K|ٷJ>=q$ +ؠzzRAB6P w!dc#rs> =|Ӕ&;E5=~=yqPK/_/Lzұլ9as--z"c㬭䃿 ~}?WzkWQ_[!~053/"(@5Gg?8m7;#;sq}@u XoWow!<|3_WN[lhA7_ ̌c廓Z ]uԗGw=V=BM2= 6#pn /rR@+&H.;j, h)$rk`UqK ]f~F(p{aG[8?qBk8O+ݶc=^ dm?5}hPHCvQ²rLMM"*><74/{lBUO{ot|2%(鄾+#(+ý| ;pG _yKo׆zpIJw[N5'բ3=i|Mǹc_"1h}3iv&\9 6bG:kt O ,#W ,TC 20x7w>>s#ҋ_ŭ,bٚ3@}:3mRO8ڀo./n@o훗^cWqn@w d5|aC "˷}gYc#Ӵ2?KE1䞁?D"Jf@f7!)^[ \*ma2i !^ۅ Sk6eXB?%ɨh)"JƘ`: Ѡaane {BYacX\C}w2qEw&/(/ɣkO?4Ü9s&jNk?%L*17H 7ho(Bfvf!Pa*sئ֯EssFLW FsWp[j"UqyY,~.aS^Yp?C ^"DQ .h2 G?*․1 4Y [@r\("Vk%lz/9Yϯad1TKg]-g(?Wmb{b@w\ ݿ ڍt=oRaf|z-tm?*!b"x?_$߼/Jir0xM w,myܕ f7~nB(rQ*-Wg <,G8 ;9Ay djNml E,|$,;ӥ_&'X[Yf-}VU?KxE k*s /ex|_k+4`׍l{e9pw}N  8+h0Mq cvRtKyNc 0n,vZ[g̴ =#T3|J!lܝ`{ a۟} vieLq9-!,$m'd_C2ԗedmdٛ@BώؿPo1*!4 RnZma&gBE [ftm 01 8d-d>Z' ~1)66~2ҁ)/bjVyzΟVܢ\{nRb`>x5zW݃h;Jn{e H)3P ]{>3[M?6yvlw¿rYVKXj Y[@7 t,K0aʼnjdl&*%M|A:Yo+6 lS`R0L"oFZQ@f#!PtYyHE"*~E/i6XŵvSAxZJ' #j ˌ 1;wV~I| \XX_b 2xj:TnP0spuVTZba~5pW|[F)MϲC׏X (Otx-bFAŮH,,{شn4z6R\^bHOH}X\w[*ػ`S BDu2D#ٟ=>,{g07COoCC0]hm2`}S6JM(5&?H@⏹yVWT~t*ȅI˷T/^ܡ6h`ĴbB}  @c"9E Blm:D<|+b }fX/V !AoFe+b}%-:@aN`*i>5Q  װEjeV]q0P |S.3p뻝pE2LTĥR&3mjY8rz6fjxF/j9ԀlΡ97ɼp Y6ôBS(0ȒszqA@;Mv+=ĀWBx~CĮ0V&0`QevfaG0GOrY\7@+_+++|B7;U !8Ks@XcVPbmu KeQ^v?rKrcJ)abzRW&n=!mW./hř̟ѭ1X/` ghuB%0Q]ӎsO&e]_c_ahS[o' }-0pٿ۔?eդ\@"hYeR Y/\EՖ}ݿrd.,ǿّ$`dS8S]Vw=@Yp~QvF 67="wDG%:#lSFG#6ԫpMzp65d}ёzg4Z1*Yu.^̕+=I1*[cl²RJWX]]rj@ϭ_ Uz5Rz/+Ic hd;[KgpUdMvBir.iDJ?yA0ي3k 5`f *Yu`xC0/ ROf@!gǞHN-(0(\WlZTZٿ oOW@O?! ذأS(h+_aG?o#oet_PM$~ ؘ l\=(Q^~ܐmԟ~dU4bW4X7O\sLT ׻~UW \./38ЀdJ{Y{, N`"iE $1 RJPUHiF~r"AX> ʴ|QȮ຦^|lu&ȝ.H2E6}&ۼ:2J쏴F9gq!ވڏ@An;'nx}+U BT!ˌ 2;4u]tDsu ,dj##‹Ku&&<|9K.k 5pBA}-Zn4VpMJepP,ɀ-K)R5 ՆfvN%^xq1MaBРA?j&Fpڙ>d7|A,_Ⳁ 0tw <':{ x3GNlES)L?r׈&fv!*Y\.Sed}/X_gOhIN{'TkK?@ h\.Mba*j% 6 ;,tkXE{'ZcL_lN\ǪaZ.RPlHUp5@ܐ0 [cZ IDAT+n !j]8]ʩ~oB֪HYdW:+8gZ˷+So}HA=|UbN[l,rD!^Sj{lУuqY_ `{[׾6 ~.%]@6eTPODBxk*[zZG}/HB@LyT")M{ݡV;Eh8/5DR(4PSZ Y7c:GU2ҟ/۩u'Y9kīk0ϪtO]jt ˶#s\7BxZE*Kb.3`@o*ዤwT}{hdO# x-@>9n.:BVT{=ͭǼwsΜ=6凁=@CVTxꩧ v5V>IMGPE:-j+&w ~>?ikC. ?mHY+@9P9?yXɳU)v>o x_enz )UHe׈4F`"c eG.yq'Vfoؙ RTVm]c @4"%yͿ7EgB@i2ߟv~\N{g7sc[E%vMzb?I}y7p#ٰ4p3w_-ﱊ]~ӅlP+PE[,?4bپfY6JJfz:-RxsSۨ[;q `ʴwלaz1LH^GxRrc?S?X'7v4w"EXCL#Kd:8Nbmee,K<ywr} Z@#1oX]쇥]oVU,L GJx%|mR /[C 5!z A` 4 Rrj?C38z4STzqʡ0'`/PMIKve I ,atJe_%V!0U@8] `T(/* R LGy)_VQf-~ !N~_cDZ*˝Aѹ)@07dBp'4.n&,*k,/β)4dhimb/R,LQ^^v_qKem9&ptxm7iR YŢ8͟!}pY&sK/}Kmon')/]BRtĠYG62AU!eO+B!7$ɲ5/ȵr-kVod#3đ QR!AҏIA#H # 9 9pޗ+ʌ̌}yՇ_37KêGT\F8Ӵ.U3t]:rc&D2Q& |_y @-Y)ioft~Q9?R0{XfUyY~T n}0E˫*OlZ&g 7@y@@5;K8ȒГr2v4Ld7ޔ\uLwn􂣻xa!,e7l.#r||#Jm~t uvqΧ#+| bf*Q&~U*rq)+!`I ?awtz+K,`Ƭ4 >qEXHbOlyҰ0{!?8%@zA!p$qbpNI C2:\U˛fñ Cs }cu8_̝-(9a{{@DxWO~|NIWui~\@# x"ӆ^cyXY,M"e%(XPT,F#ݯ̰ 1pA?F|LeNgA}Nˏf0vY/t=MsAt-b{>+ =mɗ ~ަVb\5A[z֝8Ko&s0^q!(bУk4`G)j p}q:֯ㆥ2xJ7y蛐aǔC\-ldϿeE T~<&5Fm|6֭8,0{)fmɷ??@"پ7{T )*}ՆD0f;:, DC8߯FRQLAD5y{\O۠%rrF8|Kd T*Zd) eWQ*KVL9HE3zP;ZӍTݻ7>;^<j'y|gLDxڻヒ PQG@# hA`sGgm Oq@*7h&rr@( 6:gfV﨟%yw8ng3ITOrGkqV.Vu>>t ST $)]c+u}lmⓏֱfM?(W3`1ToE@jo 2+Y 9ܐIQJXO#Y_dωE9_TݫJtz@Tqh3 ̱F4}qɒrh~ܓ9aoq@:Ho2Цrj<>PUn;5\j>=(W ɷz+OW{xvKn [Js"U 6b=l2SX ?v&Բ;%IEVoq<ս>kxr# lNGn^.0ڳSCx8J#穝F/P"۸-"{,.\d*pZ[};߅ ],ĥB,g-U HY\sq0Fc0O*;玳F}4t;ʹ`ںK\$Wl/:v m^'Xx5:ԫNem cgv;^yz9 %?vvv"t5?v>SCv֣.=63sem7½7 1|˩9"b_H*=m- YAn8fsݞCҞ☱^$IiߺD >~pY@BҞAj2lߢҀk \sA}ܹswn^KŋH[0@w"0}+fF DZV]r|VI)s8¥xQ>DFAΡ]sbK­g={ݑ53"se|y Jl zYPIt!B^f@H<'sh^$tgR^j)6 %S`+;i"M&gϩʣ8(/:b6 Zk4-D;@t: gOua`tHG .Da*n:Dsʍs=wS|Gi?pYk?.˓y'1$=@+I 6g&W>GKڿ͇k^H0 `]i+h̀1]DX>{ ?W 1l\]dY]oo/72PHcoW3#K`2k{7~}td qrŻo3o"]AОVU\{RwkO8ʙ8TY̎pavnOO j~ ϧ}B;F9iϕsY&=9wZGb]? x嫸iHS kkkxꩧ`s;w ٲ}>C~^ ^ J߄;vgBEr=FN.I2|>XqXl+X\p(!jsGPIrdݿwܙ/Umc]@%u]2Lw÷ pI\^