7b6aead9f Documentation updates for 3.4 release e14e72a2e De-emphasize FAQ 523d1d61c Remove outline of Doxygen 1.9.8 menu links 4d9557aef Update README for 3.3.10 release 415df7e3b Wayland: Explain what to do when the build fails fb9c23fbf Build has been tested with CMake 3.28 d45cbc82c Fix error return value for glfwGetVideoMode d7e7b164b Add credit 421dc66af Remove reference to stale Coverity result b864e4bae Improved build guide slightly f6f7ee228 Add new symbol to list 961e45bde Include declarations from native access header e28397bda Cocoa: Fix glfwGetCocoaWindow error return value 8f2f766f0 NSGL: ANGLE exists f6360eade NSGL: Fix missing check for OpenGL profile 1fb7f0e12 Cocoa: Added glfwGetCocoaView native access function 0bb605cd7 Wayland related documentation work 559bd3adb Add credit 65102e200 Prefer Wayland over X11 dbf7cfc4d Update credit 42afd127a Documentation work 7bdcdf435 Cleanup c8372cda0 Documentation work 1ce41b358 Null: Remove unused struct member af5d25055 Wayland: Remove separate window title copy 95d464bb4 Add glfwGetWindowTitle bafece4cf Update Wayland remarks for glfwCreateWindow 64b4f0f30 Null: Fix missing damage event a53ce7e8b Null: Fix window/framebuffer size event order f0ec79138 X11: Cleanup 14e653358 Add support for XDG_SESSION_TYPE env variable 690a15f92 Wayland: Implement GLFW_RESIZABLE for XDG toplevel b61f3fc47 Wayland: Fix invalid size protocol error a650c69cf Wayland: Decide final window size in one place 2b3f919b6 Wayland: Add support for fractional scaling a9cc7c726 Add GLFW_SCALE_FRAMEBUFFER window hint 63397fb0d Convert some external links to reference links 532bd66e7 Convert Doxygen tables of contents to Markdown 244852a93 Convert Doxygen paragraphs to Markdown 973a3c0b3 Fix Markdown syntax for link 1a0bae7fa Convert Doxygen code sections to Markdown 611099f74 Convert Doxygen headings to Markdown 3e73a5c76 Rename Doxygen files to Markdown e3e41ba33 Move to Doxygen 1.9.8 and later fb10e95f7 Add language tags for C code sections d93868bcf Win32: Fix handling of local absolute raw motion 275b92f88 Win32: Clean up RDP hidden cursor workaround 6c1e3fd84 Win32: Use existing cursor creation path efffd492d Wayland: Check all xkbcommon entry points 77ced84e9 Use C99 instead of hard-coded indices 8946f5314 Win32: Add GLFW_WIN32_SHOWDEFAULT 2afd57bf9 Expand documentation for custom allocator a12311e59 Document GLFW_FLOATING not supported on Wayland bb951b4b7 Use C99 fminf and fmaxf 5a0ab56ed Fix spelling 30127690a Add credit 6f1ddf51a Wayland: Remove unused struct member 6565c0cc0 Update changelog and add credit edd38207a Linux: Set O_CLOEXEC on evdev fd 9953f7ead Wayland: Cache framebuffer size 1be7bc546 Wayland: Clean up data types related to scales 4c283e4a3 Wayland: Be more specific about scales e25c1cc74 Wayland: Make fallback concepts more distinct 72164e692 Wayland: Remove fallback decoration edge enum a268b4b3a Wayland: Cleanup 4baeadbd6 Wayland: Put fallback decorations behind a boolean 6ac0835ad Wayland: Cleanup ea6dd72c7 Wayland: Fix GLFW_HOVERED for fallback decorations 5e97447dd Wayland: Clarify fallback decoration struct name d3a736243 Wayland: Separate window and framebuffer resizing 1fe98a0d5 Fix missing list entry dash in README a360198f8 Wayland: Implement glfwFocusWindow eeb403135 Add minor features and updates to window test 00e86d4b7 WGL: Fix pixel format count in a Parallels VM 86d7bcb12 Fix missing checks for platform mismatch d7aeb1eae Fix function return value when uninitialized f74ff2aa1 Fix function return value when uninitialized c47894a9a Update compilation-related parts of README 42afff41f Remove reminders to use C99 from more source files 23962c9dc Remove further traces of IRC channel ad264f506 Update URL for xdg-activation-v1 protocol docs 94310c528 Wayland: Move listener to correct section bdedec993 Wayland: Fix formatting of attention request 931797024 Wayland: Implement glfwRequestWindowAttention 2590d4cdd Wayland: Enable platform by default 51920ede6 Wayland: Fix compilation on FreeBSD 291f4d89c OSMesa: Fix headers included before shared header bc95384f4 Remove platform-specific logic from shared header becf1dc14 Update to actions/checkout@v4 from v3 86bf5698e Fix glfwGetKeyName incorrectly emitting error 7e2470d34 Use designated initializers for platform structs bbf661ca3 Replace comments with designated initializers d81fcb93f Clarify event test reporting of keys c339dfc63 Update changelog for 3.4 release 9afbcb442 Wayland: Clean up pointer axis handler d79afa805 Win32: Minor changes to disabled cursor fix over RDP 996826eec Reorder and add details to changelog entry 1de78b2ff Cleanup 7321b56ca Reorder credit c8521b7fd Win 32: Fix disabled cursor mode when connected over RDP 8e6c8d7ef Remove reminders to use C89 for some source files ba796ec9c Document VS 2013 as minimum VS version d107e497a Remove superfluous CMake flag in AppVeyor build d2058526c Make VS 2013 the oldest tested VS version cf29ff2b9 Update CODEOWNERS file 8ff8d6756 Set timeout for build GH workflow jobs d2b88cf7a Update documentation for native access errors 200639712 Add initial .editorconfig file 507621977 Win32: Remove unofficial support for VS 2008 29885c694 Win32: Improve clipboard contention issue 2c3eb7574 Wayland: Remove dependency on wayland-protocols 73948e6c0 Fix missing error in docs for glfwCreateWindow 5a9ea8f99 Add build- prefix to .gitignore 4e8c4901e Wayland: Fix segfault on termination d9646631d Removed unused header in sharing example 6b39ab007 Improve coverage of GH build workflow 40aa77a16 Remove superfluous CMake flag in GH build workflow 9f6da7e7c Win32: Fix some of the errors for Null-only on VS ab09dc8fb Add credit b4c3ef9d0 Clarify documentation for contributing 2c1d31009 Cocoa: Fix segfault querying joystick elements ea3ea6270 Update changelog and add credit eeeb56eb2 EGL: Fix GLFW_CONTEXT_NO_ERROR on Mesa 378e5fc81 Fix Markdown formatting for changelog entry 7b152019d Add credit 8e9a5d29a Cocoa: No NSWindowStyleMaskResizable in fullscreen 46cebb508 EGL: Only use EGL_EXT_present_opaque on Wayland 68edc66aa Add credit ddd92a4fa Update changelog and add credit 5e4496cb4 Cocoa: Fix compilation error on OS X 10.8 0ede5f58c Simplify joystick hat value assertions 52405a9d5 Win32: Fix invalid hat bit mask being accepted 9959dc69c Improve documentation relating to key tokens 557a633b2 Fix list of possible errors for glfwGetKeyName b1517e5b3 Fix glfwGetKeyName not checking key token is valid 3f31519de Clarify documentation for glfwMakeContextCurrent 1b2605dbc Fix missing new constant in release notes 93d70cb6a Add assertions for context function invariants fa0ea5c41 Fix potential violation of invariant 8c5471d6c Fix return value on error for glfwGetKeyScancode fb94e4268 Remove changelog entry d097e3574 Wayland: Fix heuristics for what counts as events 23e40548b Wayland: Fix protocol error on undecorated window 9fdc42593 Wayland: Use Wayland to wait for libdecor to init 23ea072c4 Reorder changelog entry 659d16144 Reorder credit dbe810e40 Documentation: only named keys generate synthetic key releases afd22ebcf Add credit 97820bc32 Null: Remove duplicated function declaration d9709904f Linux: Fix POSIX version not set for Null build a87acd8c1 Update changelog and add credit 2a4dd9c28 Cleanup c992226a9 Linux: Fix memory leak when inotify init failed 0bd3e879e Fix unneccessary use of "must" 509f4131b Win32: Fix glfwWaitEventsTimeout ignoring messages 01d7c331f Wayland: Fix zero being used in place of NULL 938a3c29b Update Doxyfile template for Doxygen 1.9.7 3ed6e9d89 Updated credit 9a80225dd Add credits 46c2e35c5 Updated changelog 93a3ba808 Win32: Add library name suffix to pkg-config file 3eaf1255b Wayland: Cleanup 6b48f2be9 Wayland: Merge function called once 00a663daf Wayland: Fix fallback decorations emitting errors 3fa236072 Update changelog 0b94e1b29 Wayland: Fix detection of joysticks after init f27daa34a Fix glfwinfo output of Vulkan layer spec version 6f2d7064b Make glfwinfo try Vulkan even if GL/GLES fails 9cce2896e Null: Add (fictional) scancodes 23ab97272 Fix unquoted CMake variable references fbdb53b9c Wayland: Add initial support for libdecor cd466cf9f Wayland: Simplify decoration side detection 39f0e8622 Wayland: Clean up enum value names efa9297a4 Wayland: Simplify per-window ouput scales tracking 91c837ace Wayland: Use tags to verify proxy ownership 6d9083af0 Wayland: Remove duplicate setting of user data 4cf510511 Wayland: Stop manually tracking interface versions c1a79c1c4 Wayland: Emit size event when setting aspect ratio 8397b39af Wayland: Fix some missing window refresh events 735fc101f Wayland: Fix decorations not always being created 228428fa4 Wayland: Simplify test for fallback decorations 82e77dbff Wayland: Pick more plausible default cursor size 9a8763568 Update to actions/checkout@v3 2b580012d Add credit 5c463a907 Win32: Fix typo in error description 9b1f63bad Add credit 1c9fcdc9d Simplify setting of GLFW_STANDALONE CMake variable 30b91c8b6 Remove CMAKE_LEGACY_CYGWIN_WIN32 CMake option e0ae1c45d Remove setting of CMake policy CMP0054 8f470597d Add support for manually running build workflow 57cbded07 Add credit 41d8da1ce Wayland: Fix wrong array size for _GLFWofferWayland 00967cbb8 Linux: Fix joystick input being disabled dd8a678a6 Update Doxyfile template for Doxygen 1.9.5 97b9e4963 Documentation work b2b087cd8 Fix documented errors for gamma ramp functions d299d9f78 Remove Doxyfile tags deprecated by Doxygen 1.9.5 ed1d9e1ca Document X11 WM_CLASS hint behavior ab3ea8ac9 Win32: Remove unhelpful helper function c812b9d87 Add conditional compilation for platform units 8a72918bc Move helper macros to single point of use ab1b1edfd EGL: Cleanup 93e93135f EGL: Add better error for no stereo e05766664 EGL: Add better errors for client API mismatch 6b57e08bb Check if context creation APIs match when sharing 2c0f34b60 WGL: Fix count of displayable pixel formats ef6c9d8b4 Wayland: Fix window opacity on older systems c18851f52 GLX: Add support for loading glvnd libGLX 55aad3c37 EGL: Add support for loading glvnd libOpenGL 0f9a9578f Add window hints for initial position 7d73629e5 X11: Preserve unrelated values in WM_NORMAL_HINTS 2efc598d7 Fix native access macros being mutually exclusive 2e12ef00b Fix typos and other issues in docs 3a60992a4 Wayland: Add error for unsupported feature 3a5c726d1 Wayland: Remove unreachable code 7be6a2cab Wayland: Clean up pointer helper function order 488008e0a Add cursor mode GLFW_CURSOR_CAPTURED a46f829de Refactor cursor mode paths 03af6b3d4 Wayland: Fix leaks of pointer related objects 09ebf3f0b Wayland: Fix error for missing protocol e85b645b8 Wayland: Clean up pointer locking b9ed25d2e Wayland: Add GLFW_WAYLAND_APP_ID window hint 26b85215c Wayland: Static function more static when static 6987294df Wayland: Clean up cursor theme loading 71be34a6c Wayland: Fix crash if mouse connected after init 7cc8b053b Wayland: Clean up shared memory buffer creation 91a96ed43 Update changelog and add credit c424fe558 Linux: Fix joystick without buttons being ignored c50d53160 Make events test window appear on Wayland 40b5a8a37 Wayland: Fix reappearing key repeat 9180923ea Wayland: Clean up key repeat logic a1a73ee86 Wayland: Make text input logic static e47cb7c1e Wayland: Update state before emitting events 4df24735e Wayland: Do not emit events for destroyed window d77aaa770 Wayland: Fix non-standard struct initialization aa80d24d0 Documentation work fd7e73721 Linux: Fix duplicate joystick objects 6dd526fb1 Win32: Fix right Shift scancode when using CJK IME 2796e61af Documentation work 88a39006e Wayland: Cleanup 5c948a6e6 Wayland: Fix comment typo 8e725338b Add credit 060631c96 Fix typos in docs 36f0bf00a Cocoa: Fix build failure on OS X 10.11 84e165ef6 Win32: Work around warnings on MSVC 19.32.x 2db528d8c Cocoa: Cleanup 78b19548d Documentation work dfb26023f Update changelog and add credit 9b7713cf9 Cocoa: Fix search path for private Vulkan loader 3b3d58df4 Add support for VK_KHR_portability_enumeration 510a08cde Update glad to include Vulkan 1.3 0d599026d Cocoa: Fix clearing of unrelated window style bits 6f8ec4075 Cocoa: Fix GLFW_MAXIMIZED for nonresizable windows 98d6e8485 Cocoa: Disable macOS fullscreen when non-resizable da6713cd0 Wayland: Do not decorate fullscreen windows d578c2ddf Wayland: Only create EGL window if using EGL 74b4ceb83 Wayland: Cleanup c4fbe80d9 Wayland: Make function behavior match name be7f4513c Wayland: Remove premature surface commit calls 47193f15d Wayland: Rename function to its purpose 80dc0533c Wayland: Use enum type to store enum value 29b7669bc Wayland: Fix transition to server-side decorations f35e2274c Wayland: Fix GLFW_DECORATED for XDG decorations 3203599ca Wayland: Fix map before XDG decoration configure 2df0ce07f Wayland: Store and act on XDG decoration mode 83a134a92 Wayland: Fix mapping failure on wlroots compositor eb9c3bee7 Wayland: Rename fallback decoration functions 0cd1916de Wayland: Remove function only called once 77819c0c5 Wayland: Fix maximized state lost while hidden e52046955 Wayland: Cleanup 55fcfb1bb Wayland: Fix error for setting GLFW_FLOATING 203002ef2 Wayland: Fix latent bug for glfwGetWindowTitle 85f5a5191 Wayland: Fix events emitted before ack_configure 9ad9f5c52 Wayland: Fix missing error reporting 5002522f7 Wayland: Cleanup 91f18fb57 Wayland: Fix error from glfwSetWindowAspectRatio e37ba80b1 Wayland: Fix reporting of monitor scale changes c3ad3d49e Wayland: Fix duplicate monitor connection events 209f6cf09 Wayland: Add support for wl_output::name 33d37782c Wayland: Cleanup 229d628ec Wayland: Fix toggling of server-side decorations c28d42006 Wayland: Remove duplicate fullscreen check 18df0baea Wayland: Cleanup a7b6f3550 Wayland: Fix size limits for fallback decorations 0f5b09504 Wayland: Fix erratic fallback decoration behavior 24cdc5afd Wayland: Rename window frame size constants 75295f487 Wayland: Remove unused code path 040712ce9 Wayland: Cleanup 2877fea55 Wayland: Remove superfluous comments e33db6d7a Wayland: Fix resize events before ack_configure afb127769 Wayland: Add tracking of XDG fullscreen state ed39ff43f Wayland: Use named constants for version checks 98c9961f3 Wayland: Cleanup 3bbb41eac Wayland: Fix glfwInit closing stdin on failure 0b76e3a6f Wayland: Fix duplicate window content scale events 685799549 Wayland: Fix glfwSetWindowSize resizing fs windows fdc72edf8 Wayland: Fix missing fullscreen code path f39ffefb6 Wayland: Fix maximization by user being ignored ddd087d66 Wayland: Fix behavior of leaving full screen mode 523fdf50c Wayland: Cleanup d3ede7b68 Add credit a465c1c32 Win32: Simplify window class handling 2ae3e0c8d Win32: Add separate window class for helper window ad3dbeb65 Add basic assertions for event API arguments 05f6c13d1 Add support for GLFW_NATIVE_INCLUDE_NONE macro edec334b3 Cocoa: Use system header to declare id type 26920a1a3 X11: Fix previous error handler not being restored 736a88b06 Fix return type of functions returning bool values 2c204ab52 Fix joystick user pointer NULL during disconnect e9c58bc18 Wayland: Fix missing lock key modifier bits 62e175ef9 Win32: Add comment clarifying use of ToUnicode ce85c7dca Fix GLAPIENTRY not being defined for native access 5c3ebfb9c Remove OSMesa specific code from offscreen example 7dfd84c45 Win32: Make monitor area retrieval more consistent 685de9089 Fix and clarify comments for GLFWAPI 09653b8c5 Move last bits of window setup to platform code 72642ea0d Simplify struct stitching for sync primitives 8f050b565 Wayland: Add support for older wayland-scanner acf0c10e7 Win32: Fix message reported by VS 2022 80e31ce9e Win32: Remove superfluous cast d3c212122 Move CODEOWNERS to .github directory 23e6e8e4b X11: Fix segfault on malformed INCR response f60547ac8 X11: Fix returned clipboard string freed too early 06089a91a Document delayed initialization of EGL display 82ccbb3ef Update stb_image_write.h to version 1.16 a8d8b760f X11: Fix OSMesa library not being unloaded 2d281d792 Wayland: Fix OSMesa library not being unloaded 89514cf0f Cocoa: Fix EGL and OSMesa not being unloaded 10e9033a2 Win32: Fix OSMesa library not being unloaded 29523dbfb Fix order of error checks in glfwSetGammaRamp f843d5333 Fix glfwMakeContextCurrent using uninitialized TLS 4cb36872a Wayland: Add support for file drop events 0f38382e2 Wayland: Clean up listener struct initialization f010335b8 Wayland: Make data offer reading a generic utility b7a3af9b7 Wayland: Move window related code to window module 967282c2e Wayland: Remove check for error that cannot happen 8d216054a Wayland: Remove error reporting of external bugs 34418951c Wayland: Clean up clipboard writing ad4a9e42f Move URI list parsing to shared code e0889736f Wayland: Add strerror output to error descriptions c13213533 Wayland: Clean up clipboard reading 465116527 Wayland: Simplify clipboard string allocation 8d87be126 Wayland: Improve handling of pending data offers 89d3ea8d6 Wayland: Return our clipboard without roundtrips 990dc4b38 Wayland: Fix error paths not closing sending fd a4460b694 Wayland: Rename listener user data parameters 450617502 Wayland: Clean up pointer declarations ba11e6085 Wayland: Rename data transfer parameters 2d45681bc Wayland: Fix phrasing and type of error messages 4c110bba4 Wayland: Fix partial writes of clipboard string 738b1c73b Wayland: Remove superfluous global struct member b386371f5 Wayland: Fix double free on data source error 9c95cfb9f Wayland: Fix handling of clipboard set to self 920d110b6 Fix missing newline 554cbdb20 POSIX: Fix data type of return values 955fbd9d2 Cocoa: Fix AirPlay causing harmless init error 07a5518c3 Win32: Fix using executable instance and not ours 66a4882eb Add checks for some invalid values to public API 8d9231fe5 Win32: Fix glfwGetKeyScancode for GLFW_KEY_PAUSE 03cfe957e Win32: Fix scancode and key for Alt+PrtSc events add0521ef Fix accidental C99 in C89 header 535c3ce63 Fix GLAPIENTRY redefinition warning 3ee5031fd Add shared min and max functions for int 9cc252a40 Revert ad01c1b614868c3cbc79306aa6a19c9fc06f34a6 46950a5e6 Fix button field names in input guide 1461c59aa Update changelog and add credit b54fb0af1 X11: Fix undefined behavior in bit shift of int 8f9ff8503 Formatting aa803f7de Win32: Update rationale for reimplementation 34573798f Win32: Rename Windows 10 macros for clarity 8ff9ed92b Win32: Fix calls to encoding compatibility macros 723f3eb40 Win32: Fix maximization showing a hidden window 1eef3a363 Fix dependency list for X11 on Cygwin 367d06dea Win32: Fix scale fixup losing initial position a730acf8e Win32: Fix rect of undecorated maximized windows adc202d2c POSIX: Fix undeclared function warning on Cygwin d78b0a4ea X11: Fix sonames for loaded libraries on NetBSD 1e0c3bca7 Update version of VS used on windows-latest 71742d9a2 Wayland: Improve event processing with timeout a32cbf6d4 Wayland: Fix glfwPostEmptyEvent not always working 7ce1f3e1c Formatting bb9d699ae Share X11 fd polling logic with Wayland 203a7c59d Wayland: Cancel display fd read before callbacks 3c2913dcb Wayland: Fix potential incomplete display flushing 84b0923fe X11: Use lower-latency poll where available cd22e2849 X11: Fix empty event race condition with a pipe 363d47144 Cleanup 87970b7f2 X11: Fix glfwWaitEvents* ignoring joystick events 1e987cb92 X11: Fix joystick events causing busy waiting 92b5c67b5 X11: Retry poll when failed with EINTR or EAGAIN d3e4fcf8b X11: Fix event polling when event fd > 1023 ad01c1b61 Win32: Fix key name code changing global key state 789d2924c Formatting 2e656afc4 GLX: Fix context creation failing unnecessarily 20adc18aa Wayland: Clean up monitor scale update 152f50cd0 Wayland: Fix error type for allocation failure 4a68926bf Wayland: Remove unnecessary NULL checks a28adba06 Wayland: Fix multiple copies of single constant 97da62a02 Cocoa: Clarify comments on compatibility macros e023618da Remove Doxyfile tag deprecated by Doxygen 1.9.3 7f6aa587f Cocoa: Fix deprecation warning for kUTTypeURL df8d7bc89 Wayland: Clean up modifier key event handler 0ce611958 Wayland: Clean up key translation 1a7da42e6 Wayland: Fix text input not following key repeat bf9958700 Wayland: Clean up key event handler 293d19a15 Wayland: Require xkbcommon 0.5.0 or greater b70259e52 Wayland: Clean up text input fe7be3979 Clean up internal Unicode code point handling 17a9e34fb Wayland: Implement key name support cb22c5411 Move UTF-8 encoding to shared code 37b7540db Wayland: Fix keys reported as wrong or unknown key 715b874db Wayland: Fix GLFW_VISIBLE affecting full screen 8aaea5742 Fix gamma test not checking for NULL return value 25c521cbe Wayland: Fix missing damage event on window show c05acf624 Wayland: Fix window not visible after initial swap 12c2ccd60 Wayland: Remove window monitor array pre-alloc 216ea3d73 Wayland: Remove superfluous initialize to NULL c1ecd4673 Wayland: Move window title cloning to creation 7bede13b1 Wayland: Gather framebuffer transparency logic a3d1633e1 Wayland: Move surface creation function 3f5dfeaf2 Wayland: Fix repeated key not released on defocus 850893a39 Wayland: Control key repeat via timerfd state 79e7e65c9 Wayland: Clean up event pump 855d338a6 Wayland: Use correct action on fallback decoration 8edbc4971 Wayland: Document delayed window showing 05b0e2fab Update docs for specific Vulkan surface extensions 7d060ba4f X11: Fix sonames for loaded libraries on OpenBSD f8ef3ca71 Add hiding and showing to interactive window test 094aa6d3c Wayland: Fix window hiding e24fe4b18 Wayland: Fix key repeat continuing when refocused c2f0a0ae5 Wayland: Fix duplicate focus event on activation 6281f498c EGL: Use EGL_EXT_present_opaque when available 68879081c Wayland: Continue poll() if timerfd can’t be read 963e72888 Wayland: Set O_NONBLOCK on repeat timerfd 900848ad0 X11: Add extension header paths to CMake target cd01187b9 Fix initial windowed mode size for test c19f36b28 Add missing errors section for glfwGetGamepadName 53d86c64d Win32: Handle content scale error on creation fbfd7e65c Win32: Fix bad content scale on monitor disconnect d1efa3298 Formatting 79de08db0 Cleanup e40fa3bb9 Add credits and update changelog 9cd4d2fa2 X11: Fix undefined behavior in glfwSetWindowIcon 37fc28bff Fix docs calling GLFW_CONTEXT_REVISION a hint 706d1f165 Gather Null specific platform selection logic b3a98f855 Update comments for global mutable data eacc1cafb Fix source comment typo a30cd6ace Add credit bb193325c Add missing error to glfwGetClipboardString docs b55a517ae Add credit 544790666 Cocoa: Use MACH_PORT_NULL for default IOKit port fb0f2f92a Add missing changelog entries 83d3fb08e Fix some spelling errors in changelog 999962bd2 Update changelog and add credit f75c251de Cocoa: Fix deprecation of kIOMasterPortDefault 575d2971d Fix glfwinfo not handling --platform=any 2a78a2cf8 Refactor platform selection for clarity? 76a5f781d Add glfwInitVulkanLoader 393eac458 Improve Vulkan guide header section db9150795 Remove saving a function pointer only used once ee6ff939a Fix invalid pointer conversions 68534cc2c Null: Remove unused function 4005f70ee WGL: Limit DWM swap interval hack to Vista and 7 53d7622a3 Move list of contributors to separate file 41ebcf1ee Add credit 0fe96ec20 Fix various typos 3d52f7e34 Limit scope of some loop counters in C99 files f4d0365a5 Use switch statement instead of if-else-chain 309d79376 Fix GLFW_INCLUDE_GLEXT being ignored for glcorearb 6efaaec9c Improve headings and TOC layout in Doxygen docs 38dd51552 Use Win32 instead of Windows in Doxygen headings 727db55c3 Fix context API checks in native access functions 56a4cb0a3 Add runtime platform selection ff9d9515f Remove typedefs only used in one place 36ea36736 Cocoa: Change helper function suffix to Cocoa 09f9773e6 Cocoa: Make timer functions backend independent bdfe6b09a Win32: Make timer functions backend independent b6834bf2a Win32: Remove timeGetTime fallback for timer 35f3b58c2 Win32: Make thread functions backend independent f5758d75d Remove context creation backend headers b7d0c6037 Make dynamic module loading part of platform API e31deedc9 Make timer init part of platform API 6d51b3910 Select mapping platform name at runtime d0776e04a Null: Add non-functional EGL support 8b8d10bc0 Move library dependency logic to src directory 0a9488e3f Remove configuration header efe764b49 Remove blank line before the end of some structs 983c44b25 Document possible native access function errors cca9008db Make native access functions verify context API 0391b7b27 Remove Doxyfile tags deprecated by Doxygen 1.9.2 1d8d1ff3d Fix output for missing Vulkan surface extensions 4be0444ee Remove potentially incorrect claim 6a2005310 Fix docs for Windows monitor size calculation 7614d088e Fix string buffer sizes in window test 6ed529422 Cocoa: Fix unresponsive cursor after cursor warp 157ebb80a Cocoa: Fix unresponsive cursor after ungrab e7758c506 Wayland: Fix cursor offset when shape changes 4cbe743b7 Wayland: Fix standard cursor name selection 216d5e840 Wayland: Fix some keys not repeating 63da04e5c Add HTML header and footer to docs dependencies 8e2357984 Add OpenGL ES 2.0 triangle example 150744ecc Only rebuild documentation when necessary 8c8def5de Start making use of CMake 3.4 string(APPEND) 4f077c413 Raise minimum required CMake version to 3.4 7c25dff00 Remove truism from end of gamepad mapping regexp daed5edd6 Simplify CMake if-statement variable references d7b7c3b12 Raise maximum known CMake version to 3.20 62074f3de Update glad2 and switch to header-only version 518e26e16 Add credit 22b586b3d Add pluggable heap allocator 4e557437f Name parameters for callback function types 2ac7e20aa Win32: Fix invalid preprocessor command 'warning' 85348c67c Wayland: Load functions for new atomic marshalling 071d7c0f4 X11: Fix function returning before cleanup 71829a0f0 Wayland: Remove unused pkg-config dependency 244948e17 Export pkg-config dependencies via the CMake cache d83849792 Add override variable for CMake library type dffe203c1 Wayland: Make libwayland-client dynamically loaded 87d5646f5 Remove unneccessary quotes in CMake conditions 9a0e88a01 Update comment for msvcrt CMake option aff00d0dd POSIX: Use frequency member for clarity 111c02d74 POSIX: Remove use of deprecated gettimeofday 58b48a3a0 Win32: Remove changing the foreground lock timeout 201400b97 Simplify parsing of default gamepad mappings afa78b427 Update gamepad mappings from upstream 0c90e1a33 Add gamepad mapping filtering by backend 01778329e Add custom target for updating gamepad mappings 56092814f Improve error description for invalid scancodes 3dc7349c3 Expand list of distro derivatives slightly 9e1ee3f26 Add Fedora package names to compilation guide ab34cc51c Update changelog 1d88a2e3d Cocoa: Fix macro redefinition warning 076bfd55b Cocoa: Fix MoltenVK layer scale out of sync 836e70950 Cocoa: Remove calls to -update on nil 3b9597048 Improve library compilation guide somewhat b6f7ead3c Add credit 1a5e07fd4 realizing "as you would" is platform dependent f010d8b77 Clarify "as you would" for beginners. 6876cf8d7 Remove errors for gamepad element mismatch 52d8347d3 Consistent subsections in compile guide a89fcd20d Wayland: Fix missing constant on FreeBSD 5b73fc8b8 Wayland: Fix case of epollshim find module name 6f7c61c6b Add missing changelog entry 15e05adf6 Add notes on getting the HDC of a window on Win32 787295b3a Fix some documentation URLs still using http: 78380c776 Update IRC network to Libera.Chat 3b1322865 Add 'latest' branch to all CI builds 4e788fc6d Move VS 2019 builds from AppVeyor to GH Actions 5a6001a83 Migrate from Travis CI to GitHub Actions df15a33e1 Fix numeric conversion warnings in example 114776a24 EGL: Fix creation of single-buffered windows fd79b0284 Move single/double-buffer filtering to backends 184377b49 Skip initial buffer swap when single-buffered 04f21abb5 Make GLFW_DOUBLEBUFFER a window attribute da236ba80 Make monitor and joystick names static strings a39115a27 Remove claim that EGL is not supported on macOS bbbbd3e87 Clarify documentation for hints e17ffcd0d Fix header version macro descriptions in docs 9a3a8bc26 Win32: Always define UNICODE and _UNICODE a646f51bc Win32: Fix macros being enabled for other backends 0e9ec7788 Fix description of video mode ordering in docs e3f916808 Fix hardcoded runtime destination in CMake install 061a0263a Win32: Fix compilation with standalone LLVM 85bce8a8e Replace GL_ARB_debug_output in comments ec621a00b Replace GL_ARB_debug_output in context guide 330f7da74 Add Vulkan device presentation support to glfwinfo 0beadfdc6 Add window surface creation to glfwinfo 4c90e21e8 Fix grammar in MoltenVK support docs f90df2424 Add GLFW_X11_XCB_VULKAN_SURFACE flag to glfwinfo a25e8eb50 Add docs for GLFW_X11_XCB_VULKAN_SURFACE 84f95a7d7 Add GLFW_X11_XCB_VULKAN_SURFACE init hint f4a732960 Update USE_MSVC_RUNTIME_LIBRARY_DLL for CMake 3.15 9416a4340 Fix implicit double-to-float in linmath.h 33cd8b865 Add issue number to changelog 291f6dc32 Remove deprecated Doxygen tag 52ba8c7f0 Win32: Add warning when option will have no effect 17ae300d9 Ignore cached state when setting window attributes 9c62a21ba Update linmath.h 1f34295a7 Win32: Add MinGW-w64 detection to version string 4afa227a0 X11: Fix attribs not applied on leaving fullscreen 2c7f3ce91 Update changelog b925a54ef Wayland: Move DPI fallback work to output done 729c9988d Win32: Fix content area rescaling on older systems 410890aa8 Win32: Fix full screen windows affected by scaling 6de084000 Cocoa: Fix console apps getting a dock icon 947731113 Update changelog and add credit 384ff74a4 Cocoa: Fix install name for installed dylib f8d6801a5 Simplify references in CMake if-statements 3959ee894 Cocoa: Unify CG display to NS screen mapping 8ab40399d Update changelog and add credit 2bc52ca82 Cocoa: Use modern API to get display name 5aff72aa0 Cocoa: Fix duplicate monitor connection events 8b1186746 Cocoa: Fix menubar for unbundled apps on 10.15 552209fe4 Update changelog f5af421a6 Cocoa: Fix duplicate video mode detection 5d1d1a01e Update repo URL for Nuklear 3a8ebb190 Added 2 entries to the gitignores file. 6ce6b5078 Add credit 761f97d6b Fix indentation in internal.h 0b9e48fa3 Fix minor typo: If if -> If. 1adfbde4d Wayland: Move 96 DPI default to outputHandleMode 08e5a1706 Use switch statement instead of if-else-chain for cursor shapes 7e8da5709 Add missing changelog issue number 0dc1005c8 Wayland: Fix destroying CSDs in the correct order 3327050ca Cocoa: Fix ObjC being built as C with CMake 3.19 5c928ff45 Add credit 2f76f70c7 Wayland: Simplify adding of protocol sources 420b165bf Wayland: Fix indentation a62a6c501 Wayland: Scanner tool has input and output args d5f32dfb3 Wayland: Ensure paths are passed on in quoted form a6f8cc9d4 Fix unquoted paths with variable references af8f9713d Wayland: Fix CMake binary dir when built as subdir 0bccc3852 Win32: Filter out duplicate size events ac627706e Win32: Fix clang-cl interpreting -Wall as /Wall 6b78419c9 Win32: Enable /W3 on VS for library sources 9b140d08d Remove ignored Clang compiler flag 35f3508ec Update changelog and add credit c940695eb Fix macOS Print Screen 0ef149c8f Wayland: Assume 96 DPI if physical size is <= 0 a506a8dc7 Add credit 8d47dc589 Update test SPIR-V shader code 48aa567d0 Update changelog and add credit 53b1396a0 Win32: Fix value for _WIN32_WINNT_WINBLUE 60e7364b3 Update changelog 166611cef Win32: Update all monitor handles on config change 0b2660f39 Wayland: Remove FindWaylandProtocols.cmake and FindXKBCommon.cmake (not used anymore) 40d150c39 Docs: Remove mentions of extra-cmake-modules 8aaf07284 Wayland: Remove extra-cmake-modules from CI 2e6fb7fe2 Wayland: Remove extra trailing whitespace 2747e4739 Wayland: Remove extra-cmake-modules dependency 1353f37a5 Make unsupported versions of CMake fail early 539535a36 Specify maximum version of CMake known to work 73ef5f0ab Update CODEOWNERS for move to SCSS 58df92aca Use consistent indentation for Doxygen custom stylesheet 96f9f5c4b Migrate to Sass for Doxygen custom stylesheets 1ed148983 Fix typo in GLFWwindowmaximizefun documentation bb1d917c2 Improve docs scaling on mobile and small screens 59196f9ad Make old debug context hint/attrib name searchable 9d7897f96 Support interprocedural optimization override b3a79103a Move Wayland build CI to focal b9dfce007 Fix formatting in transition guide 7765451d0 Formatting cd0dc76c7 Null: Fix out parameters not being set da26eefc6 Update changelog b488c3f87 Make _glfwPlatformInitJoysticks() return the correct type in null_joystick 05dd2fa29 Win32: Disable fb transparency when it is broken a2674a903 Cocoa: Fix potential leak of CFNumber object 0cc13ceaf Return NULL instead of GLFW_FALSE where appropriate c01acc267 X11: Fix joystick detection before joystick init e0f7ce402 Documentation fix f771d4129 Cleanup 782e6b6ce Make joystick platform code init on demand f760b124c Wayland: Fix scroll offsets being inverted 5f60c22cf Wayland: Fix partial framebuffer size retrieval 5c92cd9f5 Make windows test a tolerable example 686e18fd7 Remove window opacity test 3207fc712 Add window property test 74b9f309a Update Nuklear to 4.01.3 a122d9130 Documentation work for GLFW_MOUSE_PASSTHROUGH dfeacee00 Move mouse passthrough before window showing 1095a4370 Remove no-op call at window creation 6d2003d07 Move management of shared state to shared code 7da3e52c8 Win32: Fix GLFW_MOUSE_PASSTHROUGH dropping events 68e4261d7 X11: Include X Shape extension headers e81d38125 X11: Fix disabling of GLFW_MOUSE_PASSTHROUGH d285a9fde Add support for mouse input transparency 6c031af24 Null: Fix typos in workarea retrieval 49dbcfcb8 X11: Fix cursor hover query retry behavior ceb20c7f9 X11: Fix race in window hovered query 4ae93e054 X11: Remove non-UTF-8 fallback paths 9a3664b4a X11: Fix detection of key events duplicated by XIM 6ce207039 Win32: Fix non-BMP Unicode codepoint input e47832ffc Cocoa: Fix regression in private use area check ad9eb768c Cocoa: Fix non-BMP Unicode codepoint input 854ce1db4 Fix format of change log entry f5f060e6b Init hint documentation work 0dea8a444 EGL: Add support for EGL_ANGLE_platform_angle e6a6a9981 Use stdbool more consistently in glfwinfo 1cecb8beb Move glfwinfo argument processing before glfwInit 36f825032 Add missing entries to new symbols list b420ca740 Add GLFW_CONTEXT_DEBUG window hint alias 4e3b43383 Re-word docs for GLFW_OPENGL_DEBUG_CONTEXT attrib 8a69a0d7e Re-word docs for OPENGL_DEBUG_CONTEXT hint 2539d0374 Win32: Use helper window DC as EGL native display bcb855818 Remove EGL and OSMesa struct member macros aec9fae8f EGL: Add support for EGL_EXT_platform_base d7f7b0e1b EGL: Replace native handle macros with functions b66f105f3 Fix typos bf1c62b26 Remove deprecated sudo key from Travis CI config 3a3c32c6b Add credit 81f475bcc Fix GLU header inclusion being disabled c1f60ab5d Make compiler specific workarounds more consistent e47705d8f Move more compiler workarounds to library setup 8369880b5 Only look for OSMesa module if building examples cfc23cd08 Fix MinGW linker flag tests breaking later tests 69ff0b8ee Refresh Doxygen file with version 1.8.18 e0c77f71f Null: Make platform more conformant c72da994b Wayland: Fix repeated keys reported to NULL window 399c2a1fa Clarify docs on default GL header inclusion 9a87c2a4b Add feature available/implemented errors fbf8aae44 Fix typo in header option macro docs 7486e12f8 Add statement to docs for glfwTerminate 105cf32e0 Fix desktop GL header not always being suppressed a84a30ab6 Win32: Fix VS /W4 compile warnings 250b94cd0 Use the correct type in a for loop d4f507453 Replace %m conversion specifier with %s and strerror() 91eebe922 Use CALayer instead of NSView for EGLNativeWindowType 51a465ee2 Win32: Remove checks for pre-XP Windows 5f9dfe3d8 X11: Clarify function name and comment 27295b508 Note removal of wl_shell support in release notes ef5220d6b X11: Clarify code flow for Clang static analysis a17a1b201 X11: Fix XKB events being passed on to core path e07925c40 X11: Fix XKB state event bits being overwritten cf3a03a85 X11: Remove duplicate XKB group initialization 0c403c8ca X11: Fix XKB group event depending on state query 844bc8031 Add null platform to Travis CI 67c720d11 Correct sign in mat4x4_rotate_Y d7ae90a79 Update community resource links 41a19ed49 Disambiguate Vulkan support reference link 949275bbe Cocoa: Fix call to NSWindow from non-main threads cab41529d X11: Improve non-XKB fallback for key mapping 318e08d91 X11: Add additional XKB key names for Right Alt 560304e0f X11: Use XKB key name MENU for Menu key 9ecacf1d7 X11: Check XKB key aliases in addition to names ee45b5864 X11: Fix X keycode ranges for XKB and core 215a05af3 Update changelog and add credit a41a58a95 X11: Fix function keys mapped to GLFW_KEY_UNKNOWN e65de2941 X11: Improve window handle race condition 2c8e0512d X11: Filter out Xlib errors from other connections 44b5d0658 X11: Add support for XIM callbacks 350ba7326 Update linmath.h 9516df52a Fix unclear language in build guide 72366ac9a Cocoa: Finish launching NSApp in glfwInit 6aca3e99f Wayland: Remove unused link-time dependency 4381b86b6 X11: Fix CJK IME input when locale CTYPE is "C" 27d19d06c WGL: Remove unused constants 4b8ac11aa Fix rendering race in offscreen example a0a5cc57d X11: Make libX11 dynamically loaded 0c27ed1d0 X11: Fix setting the clipboard string to itself d1ae7bac6 Put docs target in GLFW3 folder 40c7e471e Move more non-source template files to CMake dir 76406c789 Mention that xdg-shell is mandatory on Wayland d973acc12 Update OpenGL bits of build documentation slightly 46c7c1cdf Remove AppVeyor skip commits setting 13479ed27 Update changelog and add credit a5e5b782c X11: Fix queries crashing if monitor disconnected 65cfe743a Add credit d862d56ac Fix docs install condition 190673e77 Win32: Add matching comment 789a2bcb3 Win32: Fix scancode when key message only had VK 5f1631cb0 Check scancode before use in glfwGetKeyName a491b0698 Win32: Use non-async key state for modifier hack 562c17d13 Win32: Fix no Super key release event after Win+V 7da87aaae Cocoa: Add fully dynamic loading of Vulkan loader 15d91801b Cocoa: Select Vulkan surface extension at runtime c5cb4a253 Cocoa: Add support for VK_EXT_metal_surface 9372ba95f X11: Fix parent window handle initialization aa5e31356 X11: Fix BadMatch focusing a window on non-EWMH WM fe57e3c29 X11: Fix no window position events during resize 6b01affd8 Update changelog bf292f008 Update changelog and add credit 781fbbadb Fix Threads package not located by our config file 5dd207048 Set macOS deployment target in Travis CI build a3d28ef52 X11: Fix IC event mask not being added to our window 8149a5fc0 X11: Cleanup 74a46dfa0 Use the correct type in a for loop 4ec7daf3e Cocoa: Replace display link with IOKit query c3ca88055 NSGL: Simulate vsync for occluded windows 54e8e0b09 NSGL: Remove problematic swap interval workaround b4a8eb9b1 Cocoa: Only create per-monitor display link once 28773a069 Cocoa: Fix undeclared selector warnings 73a8ebb69 X11: Cleanup 4e70c95aa X11: Cleanup 9db156421 X11: Fix updating GLFW_FLOATING on a hidden window 0b652a44d X11: Fix invalid read when clearing GLFW_FLOATING 9b6d68ec7 X11: Fix missing checks for EWMH attention atoms 4837b78ff X11: Fix maximization of hidden windows bc3be40f2 Enable strict C99 for non-VS compilers da3f20d86 Win32: Add missing include for wcscmp fb0028c76 Win32: Enable Unicode mode for all compilers 994c3b4e4 Cocoa: Remove stale GCC workaround 18307467b Gather CMake setup of configuration header 49c5d837b Replace CMake threads variable with modern target 8a5fd0c5a Replace ad-hoc CMake code with DEFINE_SYMBOL a5ed740d9 Fix use of CMake 3.13 command target_link_options a264d3298 Replace CMake list variables with target_sources 081484ed3 Fix POSIX conformance issues for clock_gettime 506a6aafd Formatting a875a536b Cocoa: Fix duplicate conversion of title string 2551829f7 Win32: Add VERSIONINFO resource to GLFW DLL 7e03bce13 Fix typo ac30ef3e0 Fix typo a43f54567 Add dependency name hints to CMake error messages 59055d585 Update minimum required CMake version to 3.1 8a1f4940f Remove reference to non-existent CMake variable 5f4a6f689 Gather all macOS specific CMake properties c016b2685 Remove non-GUI binaries from GUI-only setup db76abb63 Make target-specific define target-specific c19419379 Replace CMake generator expression with variable 9dc365f19 Merge GCC/Clang specific CMake blocks c81def70b Remove unneccessary example target property 197193ac0 Fix source list for Objective-C fix 135d87aa3 Remove inclusion of X11 extension header paths 2fb336268 Shorten name of Info.plist template file 9486ec0c0 Fix source list for -Wdeclaration-after-statement dff6253ca Add installation of HTML documentation bc7b19cbd Remove tab character ce9d12424 Remove command-line options from GUI-only test f6d44cedf Trust CMake to do the right thing for static libs d74c18117 Remove dependency on platform header paths 92c70b2a8 Rename CMake variable for GUI-only programs 7dd14a4b2 Fix .gitignore entries for VS with CMake fa6026924 NSGL: Fix disabling of Retina resolution 6e6805000 Cocoa: Fix pre-window-creation event processing b3544ca43 Cocoa: Update outdated comment 382943f2b Add Xcode section to .gitignore file ef6189f34 Wayland: Unset the cursor name on border exit 7dbdd2e6a Add more standard cursors 80fde12fd Wayland: Fix pointing hand cursor shape a80788c17 Wayland: Don’t update cursor position in the frame a9f674e71 Wayland: Don’t reload the cursor on every pointer motion b5d4f24f7 Move CMake uninstall template file to CMake subdir d861d7bff Update .gitignore file c42d8f3e5 Cleanup .gitignore file somewhat 50a6270e5 Add initial CODEOWNERS file b80437946 Add initial GH support file 359758bb5 Add initial .mailmap file e96dc5d21 X11: Assume 96 DPI if RandR monitor size is zero 2c519709b Cocoa: Fix full screen window iconification bd452016b Cocoa: Cleanup bac15f944 Cocoa: Fix multiple methods warning c819f27ce Cocoa: Process events after window destruction 94cb0347a Cocoa: Add comments for Cocoa symbol macros 953a1c3f8 Cleanup 70a3104c4 Set C standard at 99 for all example targets bc5523e99 Set C standard at 99 for all test targets 8e288dc94 Win32: Add GLFW_WIN32_KEYBOARD_MENU de2342945 Add reminder for why events test is not closing 08f01c31a Add gamepad information to events test output 20e522cdf Make events test output only UTF-8 in C locale c5f1ca3e4 Add canonical build directory to .gitignore b69fb9903 Remove mappings for GUID used by different devices c88ee1c9d Win32: Change transparent framebuffer key color 28d850770 Fix order of words in window guide 75294462b X11: Fix content scale fallback value on KDE 5fc4c0130 X11: Fix decoration enabling after window creation 33683ec60 Remove stray characters from hardcoded CFLAGS 04f7f55f0 Cleanup 4d0ae4ffa Fix CMake 3.0 - 3.6 support regression 82978bb3a Documentation work 376897a34 Replace notes for previous releases with links 36c547875 Update changelog 692754a2c Allow AppVeyor to skip pure documentation updates 3a37a0899 Fix -Wextra-semi warnings 7749aac50 Use the correct type in a for loop 1e20218b3 Use HTTPS for Discourse forum 545f40959 Add credit 8f852e083 Enable C99 explicitly with CMake where available f71b55f83 Clean up monitors tool output d25248343 Use the correct type for a struct member 1bd0a55aa Add VS 2010 and MinGW to AppVeyor build matrix 3d2540c37 Win32: Cleanup keyboard input flag parsing 3ec8f4a7f Win32: Disable dynamic libgcc for MinGW DLL 243b1bc29 Use the correct type in a for loop 7105ff2df Fix typos 7f0289826 Cocoa: Fix glfwSetWindowSize anchor point aa8e8ab96 Remove deprecated tags from Doxyfile.in 26aac53e1 Update changelog and add credit 2777f6a75 Fix comparison of video modes of equal area cbf23e561 Win32: Fix VS static analysis false positive 56ca0cb3b Unify key name string handling 4cc5d2e62 Clarify comment f764836e5 Fix license copyright year and formatting 2c7ef5b48 Win32: Fix initial state of maximized state cache 711b9694a Win32: Fix GLFW_MAXIMIZED not maximizing window efda4afb4 Put fix in correct position 65748fb8f Fix Vulkan triangle test segfault on resize 6abad2efd Fix conflict with DEBUG macro defined by Bazel eecf83c5d Add credit 2e039d927 CMake: remove -DGLFW_DLL on non-Windows targets b430bc493 Cocoa: Fix internal symbol hiding for dylib 062a1c22b Cocoa: Fix file-local function not declared static a4d910b4a Documentation work 4f0b8b0dd Win32: Fix cursor enter/position event order 7bd0af308 Add credits 84b13113e Fix typo in glfwGetRequiredInstanceExtensions docs 62b7fe831 Cleanup 773f4495f Win32: Fix symbol redefinition warnings 5bea12221 Update changelog d232bcfcd Cleanup 36f90800d X11: Query and keep track of Xkb group index c6b95e3b0 X11: Fix focus events not being filtered e463e85bb Fix typo 3a5e99e59 Remove unused function in tearing test 3262c2944 Cocoa: Cleanup 1d6215726 Win32: Cleanup pointer test in win32_window.c 1f508530f X11: Let the language initialize XEvent structs fad9896d3 X11: Clean up EWMH feature detection 0c6b50561 Convert some declarations to C99 style 2db3b9688 Replace some tabs with spaces d834f01ca Rename legacy Vulkan triangle program 537ea4ccf Explicitly disable inclusion for test and examples 51bb76c7c Improve (?) reference documentation for callbacks 71e6ff386 Enable CMake policy CMP0077 where available 98dde03ce Fix variable dereferencing e1d9e2ba7 Clarify Doxyfile INPUT value generation 84ec99bb0 Remove pointless comments d0c3fa900 Win32: Fix non-client actions for disabled cursor 267e06a41 Win32: Remove stale comment bb6945a18 Clarify difference between time and timer in docs 22a6c02a4 WGL: Add extension function macro aliases 3fd4e79ad WGL: Fix misplaced block comment 56aad76b1 Add C dialect reminders to each source file feaa53288 Add missing word e91d0fc49 Clarify triangle-opengl uniform uniform update 3cf7645b9 Documentation work e4aba7fea Convert triangle-opengl example to 3.3 core a639d6e63 Rename OpenGL triangle example to triangle-opengl d44bfe026 Add vertex type and offsetof to OpenGL triangle f61d0916f Convert OpenGL triangle example to C99 c415c7194 Clean up glfwinfo Vulkan version output 144c98bcb Simplify glfwinfo Vulkan enumerations fa025d8f8 Convert glfwinfo to C99 700d1f28d Add Vulkan 1.1 support to glfwinfo 0b01d850e NSGL: Remove enforcement of forward-compatible flag 57bf6b2f7 Add credit ceb16cb5f X11: Fix CMake check for XInput headers 0ccb69085 Add stable release branch to CI 535491c4f Remove cmake from Travis CI package list 7dc36dd7d Format Travis CI inline script for readability c0eabc594 Add descriptive names for Travis CI jobs 8ee589e43 Disable examples and tests when a subproject cd290f767 Use CMakeDependentOption for dependent options a255e7ace Move to the modern CMake project version option 5c5963f1c X11: Only check for headers at build time 090b16bfa X11: Fix CMake not checking for XInput2 headers 42a3e4434 Update changelog and add credit 15af302f7 Fix use of absolute path in INSTALL_INTERFACE be71147ad Documentation work ff7d42a55 Update Travis CI build 599fb3de3 Wayland: Remove wl_shell support a337c5684 Start 3.4 REVERT: 7d5a16ce7 Add missing errors section for glfwGetGamepadName REVERT: a69648e19 Win32: Handle content scale error on creation REVERT: e10def6de Win32: Fix bad content scale on monitor disconnect REVERT: 84c881c1a Cleanup REVERT: 18d7c241f Add credits and update changelog REVERT: 628142498 X11: Fix undefined behavior in glfwSetWindowIcon REVERT: 81d762bf6 Fix docs calling GLFW_CONTEXT_REVISION a hint REVERT: 486724c43 Update comments for global mutable data REVERT: 55528e917 Fix source comment typo REVERT: 689840f2e Add credit REVERT: c59092619 Add missing error to glfwGetClipboardString docs REVERT: bfd9eaf09 Fix mappings for gamepads present at init REVERT: 690243500 Update changelog REVERT: 6eb24a49d Add credit REVERT: bec6e7565 Cocoa: Use MACH_PORT_NULL for default IOKit port REVERT: 19543afbf Start 3.3.6 REVERT: d3b73abba Add missing changelog entries REVERT: fbdb08c43 Fix some spelling errors in changelog REVERT: 71316f843 Update changelog and add credit REVERT: 472d45c07 Cocoa: Fix deprecation of kIOMasterPortDefault REVERT: 85f37ada6 Move list of contributors to separate file REVERT: b77a9b1d0 Fix GLFW_INCLUDE_GLEXT being ignored for glcorearb REVERT: db8585806 Fix context API checks in native access functions REVERT: ca676357c Win32: Remove timeGetTime fallback for timer REVERT: 4ea7485fb Remove blank line before the end of some structs REVERT: 73b6754a6 Document possible native access function errors REVERT: 2d3ce6eaa Make native access functions verify context API REVERT: cec0b33ee Remove Doxyfile tags obsoleted by Doxygen 1.9.2 REVERT: 9400bc9f3 Remove potentially incorrect claim REVERT: 1a7e4da34 Fix docs for Windows monitor size calculation REVERT: 95df61e5e Cocoa: Fix unresponsive cursor after cursor warp REVERT: c32fefc6a Cocoa: Fix unresponsive cursor after ungrab REVERT: 6bb5f5d59 Wayland: Fix cursor offset when shape changes REVERT: 33ff23dc0 Wayland: Fix some keys not repeating REVERT: cf70b1069 Remove truism from end of gamepad mapping regexp REVERT: 0a3fb9940 Simplify CMake if-statement variable references REVERT: c113c5992 Raise maximum known CMake version to 3.20 REVERT: ffe0795e6 Name parameters for callback function types REVERT: 1d7339f3f Win32: Fix invalid preprocessor command 'warning' REVERT: 50b09938e X11: Fix function returning before cleanup REVERT: 123643df2 Remove unneccessary quotes in CMake conditions REVERT: ab5f006cf Update comment for msvcrt CMake option REVERT: 74a8ba26c Simplify parsing of default gamepad mappings REVERT: 929286ca4 Update gamepad mappings from upstream REVERT: d3317b493 Add gamepad mapping filtering by backend REVERT: b3b82cdd7 Add custom target for updating gamepad mappings REVERT: 20a7962a9 Improve error description for invalid scancodes REVERT: 44ad29681 Expand list of distro derivatives slightly REVERT: 1b0eac9c5 Add Fedora package names to compilation guide REVERT: 65c36563f Update changelog REVERT: 1e98fc325 Cocoa: Fix macro redefinition warning REVERT: 545b6c797 Cocoa: Fix MoltenVK layer scale out of sync REVERT: a7202e234 Cocoa: Remove calls to -update on nil REVERT: 9a5511b31 Improve library compilation guide somewhat REVERT: a18f4e50b Add credit REVERT: 3bf580ad1 realizing "as you would" is platform dependent REVERT: 014ce9c74 Clarify "as you would" for beginners. REVERT: 8f0198e82 Remove errors for gamepad element mismatch REVERT: bd346b64d Consistent subsections in compile guide REVERT: d61f7225d Wayland: Fix missing constant on FreeBSD REVERT: 813edfa49 Wayland: Fix case of epollshim find module name REVERT: b1a8bc5d6 Add missing changelog entry REVERT: e04cd8283 Add notes on getting the HDC of a window on Win32 REVERT: db34aea14 Fix some documentation URLs still using http: REVERT: 6518847f4 Update IRC network to Libera.Chat REVERT: 5ecf2cbdb Add 'latest' branch to all CI builds REVERT: 45d1f547c Move VS 2019 builds from AppVeyor to GH Actions REVERT: 4e1aeb899 Add CI dependency still needed by stable branch REVERT: 8bf39cf1f Migrate from Travis CI to GitHub Actions REVERT: 45336c110 Fix numeric conversion warnings in example REVERT: 163fa83fa EGL: Fix creation of single-buffered windows REVERT: 6769ffcd0 Move single/double-buffer filtering to backends REVERT: 07c29d1c1 Skip initial buffer swap when single-buffered REVERT: 508e24c01 Add tracking of single-/double-buffering REVERT: e756ae1d8 Make monitor and joystick names static strings REVERT: 020ce9917 Remove claim that EGL is not supported on macOS REVERT: a149810df Clarify documentation for hints REVERT: 2a5038e4e Fix header version macro descriptions in docs REVERT: 728aaccbb Win32: Always define UNICODE and _UNICODE REVERT: 52b2775c2 Win32: Fix macros being enabled for other backends REVERT: 30b02dd70 Fix description of video mode ordering in docs REVERT: 9ef9b1361 Fix hardcoded runtime destination in CMake install REVERT: 5dd6716ee Win32: Fix compilation with standalone LLVM REVERT: 3cded29c2 Replace GL_ARB_debug_output in comments REVERT: 583dcbcc1 Replace GL_ARB_debug_output in context guide REVERT: bcaf8daa7 Fix grammar in MoltenVK support docs REVERT: 658744e22 Update USE_MSVC_RUNTIME_LIBRARY_DLL for CMake 3.15 REVERT: 713711f5e Start 3.3.5 REVERT: 814b7929c Add issue number to changelog REVERT: b39c02b11 Win32: Add warning when option will have no effect REVERT: 0f46d089e X11: Fix attribs not applied on leaving fullscreen REVERT: b8202d9ca Start 3.3.4 REVERT: 901d30b97 Update changelog REVERT: 0c22ebac3 Wayland: Move DPI fallback work to output done REVERT: 900dda7e8 Win32: Fix content area rescaling on older systems REVERT: 56230ca17 Win32: Fix full screen windows affected by scaling REVERT: c6fa2c8cf Cocoa: Fix console apps getting a dock icon REVERT: 860d9dece Update changelog and add credit REVERT: 5a15d8a78 Cocoa: Fix install name for installed dylib REVERT: 827008133 Simplify references in CMake if-statements REVERT: 15b0c43e2 Cocoa: Unify CG display to NS screen mapping REVERT: 903c0ebfd Update changelog and add credit REVERT: 8746f68d6 Cocoa: Use modern API to get display name REVERT: 14921d1e2 Cocoa: Fix duplicate monitor connection events REVERT: eda12dd94 Cocoa: Fix menubar for unbundled apps on 10.15 REVERT: 01c362ba3 Update changelog REVERT: 078e8fcf5 Cocoa: Fix duplicate video mode detection REVERT: be56132c0 Update repo URL for Nuklear REVERT: 294b08dcc Add credit REVERT: cdd5ee8d3 Fix indentation in internal.h REVERT: 0d7acffd4 Fix minor typo: If if -> If. REVERT: edb6f674c Add missing changelog issue number REVERT: b31d7ddc8 Wayland: Fix destroying CSDs in the correct order REVERT: baf26a6ea Cocoa: Fix ObjC being built as C with CMake 3.19 REVERT: 395ab660d Win32: Filter out duplicate size events REVERT: 7dee4e05f Win32: Fix clang-cl interpreting -Wall as /Wall REVERT: e0b336168 Win32: Enable /W3 on VS for library sources REVERT: 0b56adb72 Remove ignored Clang compiler flag REVERT: db66a0f02 Add credit REVERT: 0a16464f5 Update test SPIR-V shader code REVERT: 5e807a029 Add credit and update changelog REVERT: 41ad058ce Win32: Fix value for _WIN32_WINNT_WINBLUE REVERT: 214c76a3a Update changelog REVERT: c3250be69 Win32: Update all monitor handles on config change REVERT: e34108048 Update CODEOWNERS for move to SCSS REVERT: 77dffb341 Use consistent indentation for Doxygen custom stylesheet REVERT: cb8aee843 Migrate to Sass for Doxygen custom stylesheets REVERT: bbc4caf04 Fix typo in GLFWwindowmaximizefun documentation REVERT: c0704e4a6 Improve docs scaling on mobile and small screens REVERT: 92f80daf4 Support interprocedural optimization override REVERT: 111c8ecea Move Wayland build CI to focal REVERT: 7728a6a3a Fix formatting in transition guide REVERT: 0ab31db9c Formatting REVERT: 8363179ee Win32: Disable fb transparency when it is broken REVERT: b8a6254a2 Cocoa: Fix potential leak of CFNumber object REVERT: 2a5ac9a6d Documentation fix REVERT: 114704262 Wayland: Fix scroll offsets being inverted REVERT: bd2fb9eba Wayland: Fix partial framebuffer size retrieval REVERT: 85a169ff5 X11: Fix cursor hover query retry behavior REVERT: 539f4bdca X11: Fix race in window hovered query REVERT: 606c0fc03 X11: Fix detection of key events duplicated by XIM REVERT: d858e4886 Win32: Fix non-BMP Unicode codepoint input REVERT: e6646c850 Cocoa: Fix regression in private use area check REVERT: 9cae95faa Cocoa: Fix non-BMP Unicode codepoint input REVERT: 26aaa007e Fix format of change log entry REVERT: f921caf4a Re-word docs for GLFW_OPENGL_DEBUG_CONTEXT attrib REVERT: 9aefb6735 Re-word docs for OPENGL_DEBUG_CONTEXT hint REVERT: 173018497 Fix typos REVERT: 325b4186d Remove deprecated sudo key from Travis CI config REVERT: 92c620953 Add credit REVERT: 307ce3aa1 Fix GLU header inclusion being disabled REVERT: d7b67a2eb Fix MinGW linker flag tests breaking later tests REVERT: 5dbca2e2c Wayland: Fix repeated keys reported to NULL window REVERT: 63af05c41 Clarify docs on default GL header inclusion REVERT: e336288ee Fix typo in header option macro docs REVERT: fb0c8d466 Add statement to docs for glfwTerminate REVERT: 78ad4e8f3 Fix desktop GL header not always being suppressed REVERT: 37a86f24f Win32: Fix VS /W4 compile warnings REVERT: 11e5102d8 Use the correct type in a for loop REVERT: a8e5c530e Replace %m conversion specifier with %s and strerror() REVERT: 8b63ca53d Use CALayer instead of NSView for EGLNativeWindowType REVERT: ca2cd2f79 X11: Clarify function name and comment REVERT: 0a7c24e48 X11: Clarify code flow for Clang static analysis REVERT: 48bc089e9 X11: Fix XKB events being passed on to core path REVERT: 3df4ebeaa X11: Fix XKB state event bits being overwritten REVERT: dff64496d X11: Remove duplicate XKB group initialization REVERT: 117f7694b X11: Fix XKB group event depending on state query REVERT: d0c099752 Add null platform to Travis CI REVERT: e145d89a9 Correct sign in mat4x4_rotate_Y REVERT: 10c01512f Update community resource links REVERT: 8216a148c Disambiguate Vulkan support reference link REVERT: 6e01359e3 Cocoa: Fix call to NSWindow from non-main threads REVERT: 404c28df3 X11: Improve non-XKB fallback for key mapping REVERT: b0c79896a X11: Add additional XKB key names for Right Alt REVERT: 4aaf8ba1d X11: Use XKB key name MENU for Menu key REVERT: cf87e6549 X11: Check XKB key aliases in addition to names REVERT: 27d7fc098 X11: Fix X keycode ranges for XKB and core REVERT: ec5610ded Update changelog and add credit REVERT: b25ee390c X11: Fix function keys mapped to GLFW_KEY_UNKNOWN REVERT: a6d022c25 X11: Improve window handle race condition REVERT: 2d4c4b794 X11: Filter out Xlib errors from other connections REVERT: aee62d3c1 Fix unclear language in build guide REVERT: c4b4476d7 Wayland: Remove unused link-time dependency REVERT: 0ac013381 X11: Fix CJK IME input when locale CTYPE is "C" REVERT: d99249337 WGL: Remove unused constants REVERT: 750b1c536 Fix rendering race in offscreen example REVERT: 1d711057a X11: Fix setting the clipboard string to itself REVERT: 3604cc72f Put docs target in GLFW3 folder REVERT: 64c7aa50d Start 3.3.3 REVERT: 0a49ef0a0 Update OpenGL bits of build documentation slightly REVERT: b1d4b6a59 Remove AppVeyor skip commits setting REVERT: ad12b97ac Update changelog and add credit REVERT: 835dc3d32 X11: Fix queries crashing if monitor disconnected REVERT: 6a9fd2e13 Win32: Add matching comment REVERT: e53538010 Win32: Fix scancode when key message only had VK REVERT: ec2869699 Check scancode before use in glfwGetKeyName REVERT: 0af3bf3b3 Win32: Use non-async key state for modifier hack REVERT: 8552152f8 Win32: Fix no Super key release event after Win+V REVERT: 85172703d Cocoa: Add fully dynamic loading of Vulkan loader REVERT: d33084447 Cocoa: Select Vulkan surface extension at runtime REVERT: 50f3979df Cocoa: Add support for VK_EXT_metal_surface REVERT: 977e2b51b Update changelog REVERT: fbe8ae993 X11: Fix parent window handle initialization REVERT: 487e0419a X11: Fix BadMatch focusing a window on non-EWMH WM REVERT: 093846261 Start 3.3.2 REVERT: ecda86fa4 X11: Fix no window position events during resize REVERT: 359f0e103 Update changelog and add credit REVERT: 821873974 Set macOS deployment target in Travis CI build REVERT: e8d4cc327 X11: Fix IC event mask not being added to our window REVERT: 7f775302a X11: Cleanup REVERT: cb49e1821 Use the correct type in a for loop REVERT: 9fc5fd137 Cocoa: Replace display link with IOKit query REVERT: bb8ed627b NSGL: Simulate vsync for occluded windows REVERT: ccb54c3e0 NSGL: Remove problematic swap interval workaround REVERT: 7c9d0081e Cocoa: Only create per-monitor display link once REVERT: c3b8afc5d X11: Cleanup REVERT: 4df0a2b38 X11: Cleanup REVERT: 94bb2a138 X11: Fix updating GLFW_FLOATING on a hidden window REVERT: 85a27e9f7 X11: Fix invalid read when clearing GLFW_FLOATING REVERT: 5615c1643 X11: Fix missing checks for EWMH attention atoms REVERT: 8dd40f1c4 X11: Fix maximization of hidden windows REVERT: 640e3205a Win32: Add missing include for wcscmp REVERT: dd00c6dea Win32: Enable Unicode mode for all compilers REVERT: e8dab3962 Fix use of CMake 3.13 command target_link_options REVERT: 9724f3303 Formatting REVERT: 8c3d2f769 Cocoa: Fix duplicate conversion of title string REVERT: 2b1e2d2e4 Fix typo REVERT: 39c5e90d9 Fix typo REVERT: 365321a9a Add dependency name hints to CMake error messages REVERT: d8648876d Remove reference to non-existent CMake variable REVERT: bf9c5fcfc Gather all macOS specific CMake properties REVERT: f25202fbf Remove non-GUI binaries from GUI-only setup REVERT: b5bccd142 Make target-specific define target-specific REVERT: 03f2cde34 Replace CMake generator expression with variable REVERT: cd70e1bbc Merge GCC/Clang specific CMake blocks REVERT: f318ab746 Remove unneccessary example target property REVERT: db2ff13d4 Fix source list for Objective-C fix REVERT: 82bd22ec2 Fix source list for -Wdeclaration-after-statement REVERT: bcd232e2a Remove tab character REVERT: f650a898f Trust CMake to do the right thing for static libs REVERT: 8c1b59f88 Remove dependency on platform header paths REVERT: 5a1512aaa Rename CMake variable for GUI-only programs REVERT: b05d88796 Fix .gitignore entries for VS with CMake REVERT: e135210cb NSGL: Fix disabling of Retina resolution REVERT: 2da4adce4 Cocoa: Fix pre-window-creation event processing REVERT: 17d727cd3 Cocoa: Update outdated comment REVERT: 58c162148 Add Xcode section to .gitignore file REVERT: 9db0bd45e Wayland: Unset the cursor name on border exit REVERT: df4bda44f Wayland: Fix pointing hand cursor shape REVERT: 50218fbf7 Wayland: Don’t update cursor position in the frame REVERT: 3a2c0aaa2 Wayland: Don’t reload the cursor on every pointer motion REVERT: 2bac7ee8d Update .gitignore file REVERT: 4116db14f Cleanup .gitignore file somewhat REVERT: e3c83f684 Add initial CODEOWNERS file REVERT: 0ecc84182 Add initial GH support file REVERT: b4cc6101e Add initial .mailmap file REVERT: 7c33fb22f X11: Assume 96 DPI if RandR monitor size is zero REVERT: 52b77030e Cocoa: Fix full screen window iconification REVERT: e66249216 Cocoa: Cleanup REVERT: b3c2023eb Cocoa: Fix multiple methods warning REVERT: 129a5ccb1 Cocoa: Process events after window destruction REVERT: 25af31528 Cocoa: Add comments for Cocoa symbol macros REVERT: 5ea34d62b Cleanup REVERT: 7a10e6439 Set C standard at 99 for all example targets REVERT: 8c46a3e9f Set C standard at 99 for all test targets REVERT: 82effcb7b Make events test output only UTF-8 in C locale REVERT: 11db404fa Add canonical build directory to .gitignore REVERT: 5f7e5cb92 Remove mappings for GUID used by different devices REVERT: c5a870ebd Win32: Change transparent framebuffer key color REVERT: 3484aa818 Fix order of words in window guide REVERT: 399c08203 X11: Fix content scale fallback value on KDE REVERT: 1bf892f60 X11: Fix decoration enabling after window creation REVERT: f9a9bb674 Remove stray characters from hardcoded CFLAGS REVERT: 91c6a542f Cleanup REVERT: 411d4dd51 Fix CMake 3.0 - 3.6 support regression REVERT: 161e9e121 Update changelog REVERT: 3a8d97cc3 Allow AppVeyor to skip pure documentation updates REVERT: afcefcb5f Fix -Wextra-semi warnings REVERT: 8c69091c5 Use the correct type in a for loop REVERT: 857951419 Use HTTPS for Discourse forum REVERT: 17f1cceb3 Add credit REVERT: 3f0390b82 Enable C99 explicitly with CMake where available REVERT: 4a6282064 Clean up monitors tool output REVERT: 3facbd208 Use the correct type for a struct member REVERT: e4e958155 Add VS 2010 and MinGW to AppVeyor build matrix REVERT: 087110aa6 Win32: Cleanup keyboard input flag parsing REVERT: e30718e92 Win32: Disable dynamic libgcc for MinGW DLL REVERT: 613b16989 Use the correct type in a for loop REVERT: 13a4e4e81 Fix typos REVERT: a1b65e854 Cocoa: Fix glfwSetWindowSize anchor point REVERT: 649553cc7 Remove deprecated tags from Doxyfile.in REVERT: 934f0e9ff Update changelog and add credit REVERT: b2919dca4 Fix comparison of video modes of equal area REVERT: 71cfafe2f Win32: Fix VS static analysis false positive REVERT: 79f4ec682 Unify key name string handling REVERT: 2032a8f0d Clarify comment REVERT: c0d1249ca Fix license copyright year and formatting REVERT: 2d3f38815 Win32: Fix initial state of maximized state cache REVERT: 30e67357b Win32: Fix GLFW_MAXIMIZED not maximizing window REVERT: 116f4c831 Put fix in correct position REVERT: 1e8dc836a Fix Vulkan triangle test segfault on resize REVERT: adcd306fb Fix conflict with DEBUG macro defined by Bazel REVERT: b1309dd42 Add credit REVERT: d25e19b79 CMake: remove -DGLFW_DLL on non-Windows targets REVERT: 1daf9de40 Cocoa: Fix internal symbol hiding for dylib REVERT: cfd93597e Cocoa: Fix file-local function not declared static REVERT: 8e923e592 Documentation work REVERT: 9fc035a56 Win32: Fix cursor enter/position event order REVERT: ce7cd3e28 Add credits REVERT: 452a648ab Fix typo in glfwGetRequiredInstanceExtensions docs REVERT: 75b415c5b Cleanup REVERT: 248e82767 Win32: Fix symbol redefinition warnings REVERT: 95e7ad7e5 Update changelog REVERT: ff2c00091 Cleanup REVERT: b3eb6dd38 X11: Query and keep track of Xkb group index REVERT: 84fa72445 X11: Fix focus events not being filtered REVERT: 633ba53f2 Fix typo REVERT: 898b7f9c5 Remove unused function in tearing test REVERT: eb466a0e0 Cocoa: Cleanup REVERT: 8542f8dd8 Win32: Cleanup pointer test in win32_window.c REVERT: 1e1265334 X11: Let the language initialize XEvent structs REVERT: e276f6731 X11: Clean up EWMH feature detection REVERT: 66e06b060 Convert some declarations to C99 style REVERT: 71a4f2d8a Replace some tabs with spaces REVERT: 7b18f79ea Rename legacy Vulkan triangle program REVERT: f2208ab13 Explicitly disable inclusion for test and examples REVERT: b962ef124 Improve (?) reference documentation for callbacks REVERT: 5416e347a Enable CMake policy CMP0077 where available REVERT: 16186943b Clarify Doxyfile INPUT value generation REVERT: b436d8e3e Remove pointless comments REVERT: ad3e7c7f3 Win32: Fix non-client actions for disabled cursor REVERT: 15f078c6a Win32: Remove stale comment REVERT: e01128f32 Clarify difference between time and timer in docs REVERT: 051424f19 WGL: Add extension function macro aliases REVERT: 97393223e WGL: Fix misplaced block comment REVERT: 04522580a Add C dialect reminders to each source file REVERT: d2634896d Add missing word REVERT: 3afb2cc8e Documentation work REVERT: 9f5c6c6e8 Add Vulkan 1.1 support to glfwinfo REVERT: 4d99045e8 Add credit REVERT: b383e7002 X11: Fix CMake check for XInput headers REVERT: 645b8c3bb Add stable release branch to CI REVERT: 80935c6c2 Remove cmake from Travis CI package list REVERT: 73a3ef86d Format Travis CI inline script for readability REVERT: d715917ad Add descriptive names for Travis CI jobs REVERT: b596c7901 Use CMakeDependentOption for dependent options REVERT: bc8b567d7 Move to the modern CMake project version option REVERT: 37cc51b82 X11: Only check for headers at build time REVERT: 9cc83cf07 X11: Fix CMake not checking for XInput2 headers REVERT: e826f839a Update changelog and add credit REVERT: 2e3b4cf89 Fix use of absolute path in INSTALL_INTERFACE REVERT: 6648b3d4b Documentation work REVERT: 76505355e Update Travis CI build REVERT: a9343d641 Start 3.3.1 git-subtree-dir: deps/glfw git-subtree-split: 7b6aead9fb88b3623e3b3725ebb42670cbe4c579
1806 lines
79 KiB
C
1806 lines
79 KiB
C
/**
|
|
* Loader generated by glad 2.0.0-beta on Tue Aug 24 22:51:42 2021
|
|
*
|
|
* Generator: C/C++
|
|
* Specification: gl
|
|
* Extensions: 0
|
|
*
|
|
* APIs:
|
|
* - gles2=2.0
|
|
*
|
|
* Options:
|
|
* - ALIAS = False
|
|
* - DEBUG = False
|
|
* - HEADER_ONLY = True
|
|
* - LOADER = False
|
|
* - MX = False
|
|
* - MX_GLOBAL = False
|
|
* - ON_DEMAND = False
|
|
*
|
|
* Commandline:
|
|
* --api='gles2=2.0' --extensions='' c --header-only
|
|
*
|
|
* Online:
|
|
* http://glad.sh/#api=gles2%3D2.0&extensions=&generator=c&options=HEADER_ONLY
|
|
*
|
|
*/
|
|
|
|
#ifndef GLAD_GLES2_H_
|
|
#define GLAD_GLES2_H_
|
|
|
|
#ifdef __clang__
|
|
#pragma clang diagnostic push
|
|
#pragma clang diagnostic ignored "-Wreserved-id-macro"
|
|
#endif
|
|
#ifdef __gl2_h_
|
|
#error OpenGL ES 2 header already included (API: gles2), remove previous include!
|
|
#endif
|
|
#define __gl2_h_ 1
|
|
#ifdef __gl3_h_
|
|
#error OpenGL ES 3 header already included (API: gles2), remove previous include!
|
|
#endif
|
|
#define __gl3_h_ 1
|
|
#ifdef __clang__
|
|
#pragma clang diagnostic pop
|
|
#endif
|
|
|
|
#define GLAD_GLES2
|
|
#define GLAD_OPTION_GLES2_HEADER_ONLY
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
#ifndef GLAD_PLATFORM_H_
|
|
#define GLAD_PLATFORM_H_
|
|
|
|
#ifndef GLAD_PLATFORM_WIN32
|
|
#if defined(_WIN32) || defined(__WIN32__) || defined(WIN32) || defined(__MINGW32__)
|
|
#define GLAD_PLATFORM_WIN32 1
|
|
#else
|
|
#define GLAD_PLATFORM_WIN32 0
|
|
#endif
|
|
#endif
|
|
|
|
#ifndef GLAD_PLATFORM_APPLE
|
|
#ifdef __APPLE__
|
|
#define GLAD_PLATFORM_APPLE 1
|
|
#else
|
|
#define GLAD_PLATFORM_APPLE 0
|
|
#endif
|
|
#endif
|
|
|
|
#ifndef GLAD_PLATFORM_EMSCRIPTEN
|
|
#ifdef __EMSCRIPTEN__
|
|
#define GLAD_PLATFORM_EMSCRIPTEN 1
|
|
#else
|
|
#define GLAD_PLATFORM_EMSCRIPTEN 0
|
|
#endif
|
|
#endif
|
|
|
|
#ifndef GLAD_PLATFORM_UWP
|
|
#if defined(_MSC_VER) && !defined(GLAD_INTERNAL_HAVE_WINAPIFAMILY)
|
|
#ifdef __has_include
|
|
#if __has_include(<winapifamily.h>)
|
|
#define GLAD_INTERNAL_HAVE_WINAPIFAMILY 1
|
|
#endif
|
|
#elif _MSC_VER >= 1700 && !_USING_V110_SDK71_
|
|
#define GLAD_INTERNAL_HAVE_WINAPIFAMILY 1
|
|
#endif
|
|
#endif
|
|
|
|
#ifdef GLAD_INTERNAL_HAVE_WINAPIFAMILY
|
|
#include <winapifamily.h>
|
|
#if !WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP) && WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_APP)
|
|
#define GLAD_PLATFORM_UWP 1
|
|
#endif
|
|
#endif
|
|
|
|
#ifndef GLAD_PLATFORM_UWP
|
|
#define GLAD_PLATFORM_UWP 0
|
|
#endif
|
|
#endif
|
|
|
|
#ifdef __GNUC__
|
|
#define GLAD_GNUC_EXTENSION __extension__
|
|
#else
|
|
#define GLAD_GNUC_EXTENSION
|
|
#endif
|
|
|
|
#ifndef GLAD_API_CALL
|
|
#if defined(GLAD_API_CALL_EXPORT)
|
|
#if GLAD_PLATFORM_WIN32 || defined(__CYGWIN__)
|
|
#if defined(GLAD_API_CALL_EXPORT_BUILD)
|
|
#if defined(__GNUC__)
|
|
#define GLAD_API_CALL __attribute__ ((dllexport)) extern
|
|
#else
|
|
#define GLAD_API_CALL __declspec(dllexport) extern
|
|
#endif
|
|
#else
|
|
#if defined(__GNUC__)
|
|
#define GLAD_API_CALL __attribute__ ((dllimport)) extern
|
|
#else
|
|
#define GLAD_API_CALL __declspec(dllimport) extern
|
|
#endif
|
|
#endif
|
|
#elif defined(__GNUC__) && defined(GLAD_API_CALL_EXPORT_BUILD)
|
|
#define GLAD_API_CALL __attribute__ ((visibility ("default"))) extern
|
|
#else
|
|
#define GLAD_API_CALL extern
|
|
#endif
|
|
#else
|
|
#define GLAD_API_CALL extern
|
|
#endif
|
|
#endif
|
|
|
|
#ifdef APIENTRY
|
|
#define GLAD_API_PTR APIENTRY
|
|
#elif GLAD_PLATFORM_WIN32
|
|
#define GLAD_API_PTR __stdcall
|
|
#else
|
|
#define GLAD_API_PTR
|
|
#endif
|
|
|
|
#ifndef GLAPI
|
|
#define GLAPI GLAD_API_CALL
|
|
#endif
|
|
|
|
#ifndef GLAPIENTRY
|
|
#define GLAPIENTRY GLAD_API_PTR
|
|
#endif
|
|
|
|
#define GLAD_MAKE_VERSION(major, minor) (major * 10000 + minor)
|
|
#define GLAD_VERSION_MAJOR(version) (version / 10000)
|
|
#define GLAD_VERSION_MINOR(version) (version % 10000)
|
|
|
|
#define GLAD_GENERATOR_VERSION "2.0.0-beta"
|
|
|
|
typedef void (*GLADapiproc)(void);
|
|
|
|
typedef GLADapiproc (*GLADloadfunc)(const char *name);
|
|
typedef GLADapiproc (*GLADuserptrloadfunc)(void *userptr, const char *name);
|
|
|
|
typedef void (*GLADprecallback)(const char *name, GLADapiproc apiproc, int len_args, ...);
|
|
typedef void (*GLADpostcallback)(void *ret, const char *name, GLADapiproc apiproc, int len_args, ...);
|
|
|
|
#endif /* GLAD_PLATFORM_H_ */
|
|
|
|
#define GL_ACTIVE_ATTRIBUTES 0x8B89
|
|
#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A
|
|
#define GL_ACTIVE_TEXTURE 0x84E0
|
|
#define GL_ACTIVE_UNIFORMS 0x8B86
|
|
#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87
|
|
#define GL_ALIASED_LINE_WIDTH_RANGE 0x846E
|
|
#define GL_ALIASED_POINT_SIZE_RANGE 0x846D
|
|
#define GL_ALPHA 0x1906
|
|
#define GL_ALPHA_BITS 0x0D55
|
|
#define GL_ALWAYS 0x0207
|
|
#define GL_ARRAY_BUFFER 0x8892
|
|
#define GL_ARRAY_BUFFER_BINDING 0x8894
|
|
#define GL_ATTACHED_SHADERS 0x8B85
|
|
#define GL_BACK 0x0405
|
|
#define GL_BLEND 0x0BE2
|
|
#define GL_BLEND_COLOR 0x8005
|
|
#define GL_BLEND_DST_ALPHA 0x80CA
|
|
#define GL_BLEND_DST_RGB 0x80C8
|
|
#define GL_BLEND_EQUATION 0x8009
|
|
#define GL_BLEND_EQUATION_ALPHA 0x883D
|
|
#define GL_BLEND_EQUATION_RGB 0x8009
|
|
#define GL_BLEND_SRC_ALPHA 0x80CB
|
|
#define GL_BLEND_SRC_RGB 0x80C9
|
|
#define GL_BLUE_BITS 0x0D54
|
|
#define GL_BOOL 0x8B56
|
|
#define GL_BOOL_VEC2 0x8B57
|
|
#define GL_BOOL_VEC3 0x8B58
|
|
#define GL_BOOL_VEC4 0x8B59
|
|
#define GL_BUFFER_SIZE 0x8764
|
|
#define GL_BUFFER_USAGE 0x8765
|
|
#define GL_BYTE 0x1400
|
|
#define GL_CCW 0x0901
|
|
#define GL_CLAMP_TO_EDGE 0x812F
|
|
#define GL_COLOR_ATTACHMENT0 0x8CE0
|
|
#define GL_COLOR_BUFFER_BIT 0x00004000
|
|
#define GL_COLOR_CLEAR_VALUE 0x0C22
|
|
#define GL_COLOR_WRITEMASK 0x0C23
|
|
#define GL_COMPILE_STATUS 0x8B81
|
|
#define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3
|
|
#define GL_CONSTANT_ALPHA 0x8003
|
|
#define GL_CONSTANT_COLOR 0x8001
|
|
#define GL_CULL_FACE 0x0B44
|
|
#define GL_CULL_FACE_MODE 0x0B45
|
|
#define GL_CURRENT_PROGRAM 0x8B8D
|
|
#define GL_CURRENT_VERTEX_ATTRIB 0x8626
|
|
#define GL_CW 0x0900
|
|
#define GL_DECR 0x1E03
|
|
#define GL_DECR_WRAP 0x8508
|
|
#define GL_DELETE_STATUS 0x8B80
|
|
#define GL_DEPTH_ATTACHMENT 0x8D00
|
|
#define GL_DEPTH_BITS 0x0D56
|
|
#define GL_DEPTH_BUFFER_BIT 0x00000100
|
|
#define GL_DEPTH_CLEAR_VALUE 0x0B73
|
|
#define GL_DEPTH_COMPONENT 0x1902
|
|
#define GL_DEPTH_COMPONENT16 0x81A5
|
|
#define GL_DEPTH_FUNC 0x0B74
|
|
#define GL_DEPTH_RANGE 0x0B70
|
|
#define GL_DEPTH_TEST 0x0B71
|
|
#define GL_DEPTH_WRITEMASK 0x0B72
|
|
#define GL_DITHER 0x0BD0
|
|
#define GL_DONT_CARE 0x1100
|
|
#define GL_DST_ALPHA 0x0304
|
|
#define GL_DST_COLOR 0x0306
|
|
#define GL_DYNAMIC_DRAW 0x88E8
|
|
#define GL_ELEMENT_ARRAY_BUFFER 0x8893
|
|
#define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895
|
|
#define GL_EQUAL 0x0202
|
|
#define GL_EXTENSIONS 0x1F03
|
|
#define GL_FALSE 0
|
|
#define GL_FASTEST 0x1101
|
|
#define GL_FIXED 0x140C
|
|
#define GL_FLOAT 0x1406
|
|
#define GL_FLOAT_MAT2 0x8B5A
|
|
#define GL_FLOAT_MAT3 0x8B5B
|
|
#define GL_FLOAT_MAT4 0x8B5C
|
|
#define GL_FLOAT_VEC2 0x8B50
|
|
#define GL_FLOAT_VEC3 0x8B51
|
|
#define GL_FLOAT_VEC4 0x8B52
|
|
#define GL_FRAGMENT_SHADER 0x8B30
|
|
#define GL_FRAMEBUFFER 0x8D40
|
|
#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1
|
|
#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0
|
|
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3
|
|
#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2
|
|
#define GL_FRAMEBUFFER_BINDING 0x8CA6
|
|
#define GL_FRAMEBUFFER_COMPLETE 0x8CD5
|
|
#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6
|
|
#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS 0x8CD9
|
|
#define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7
|
|
#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD
|
|
#define GL_FRONT 0x0404
|
|
#define GL_FRONT_AND_BACK 0x0408
|
|
#define GL_FRONT_FACE 0x0B46
|
|
#define GL_FUNC_ADD 0x8006
|
|
#define GL_FUNC_REVERSE_SUBTRACT 0x800B
|
|
#define GL_FUNC_SUBTRACT 0x800A
|
|
#define GL_GENERATE_MIPMAP_HINT 0x8192
|
|
#define GL_GEQUAL 0x0206
|
|
#define GL_GREATER 0x0204
|
|
#define GL_GREEN_BITS 0x0D53
|
|
#define GL_HIGH_FLOAT 0x8DF2
|
|
#define GL_HIGH_INT 0x8DF5
|
|
#define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B
|
|
#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A
|
|
#define GL_INCR 0x1E02
|
|
#define GL_INCR_WRAP 0x8507
|
|
#define GL_INFO_LOG_LENGTH 0x8B84
|
|
#define GL_INT 0x1404
|
|
#define GL_INT_VEC2 0x8B53
|
|
#define GL_INT_VEC3 0x8B54
|
|
#define GL_INT_VEC4 0x8B55
|
|
#define GL_INVALID_ENUM 0x0500
|
|
#define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506
|
|
#define GL_INVALID_OPERATION 0x0502
|
|
#define GL_INVALID_VALUE 0x0501
|
|
#define GL_INVERT 0x150A
|
|
#define GL_KEEP 0x1E00
|
|
#define GL_LEQUAL 0x0203
|
|
#define GL_LESS 0x0201
|
|
#define GL_LINEAR 0x2601
|
|
#define GL_LINEAR_MIPMAP_LINEAR 0x2703
|
|
#define GL_LINEAR_MIPMAP_NEAREST 0x2701
|
|
#define GL_LINES 0x0001
|
|
#define GL_LINE_LOOP 0x0002
|
|
#define GL_LINE_STRIP 0x0003
|
|
#define GL_LINE_WIDTH 0x0B21
|
|
#define GL_LINK_STATUS 0x8B82
|
|
#define GL_LOW_FLOAT 0x8DF0
|
|
#define GL_LOW_INT 0x8DF3
|
|
#define GL_LUMINANCE 0x1909
|
|
#define GL_LUMINANCE_ALPHA 0x190A
|
|
#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
|
|
#define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C
|
|
#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD
|
|
#define GL_MAX_RENDERBUFFER_SIZE 0x84E8
|
|
#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872
|
|
#define GL_MAX_TEXTURE_SIZE 0x0D33
|
|
#define GL_MAX_VARYING_VECTORS 0x8DFC
|
|
#define GL_MAX_VERTEX_ATTRIBS 0x8869
|
|
#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
|
|
#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB
|
|
#define GL_MAX_VIEWPORT_DIMS 0x0D3A
|
|
#define GL_MEDIUM_FLOAT 0x8DF1
|
|
#define GL_MEDIUM_INT 0x8DF4
|
|
#define GL_MIRRORED_REPEAT 0x8370
|
|
#define GL_NEAREST 0x2600
|
|
#define GL_NEAREST_MIPMAP_LINEAR 0x2702
|
|
#define GL_NEAREST_MIPMAP_NEAREST 0x2700
|
|
#define GL_NEVER 0x0200
|
|
#define GL_NICEST 0x1102
|
|
#define GL_NONE 0
|
|
#define GL_NOTEQUAL 0x0205
|
|
#define GL_NO_ERROR 0
|
|
#define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2
|
|
#define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9
|
|
#define GL_ONE 1
|
|
#define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004
|
|
#define GL_ONE_MINUS_CONSTANT_COLOR 0x8002
|
|
#define GL_ONE_MINUS_DST_ALPHA 0x0305
|
|
#define GL_ONE_MINUS_DST_COLOR 0x0307
|
|
#define GL_ONE_MINUS_SRC_ALPHA 0x0303
|
|
#define GL_ONE_MINUS_SRC_COLOR 0x0301
|
|
#define GL_OUT_OF_MEMORY 0x0505
|
|
#define GL_PACK_ALIGNMENT 0x0D05
|
|
#define GL_POINTS 0x0000
|
|
#define GL_POLYGON_OFFSET_FACTOR 0x8038
|
|
#define GL_POLYGON_OFFSET_FILL 0x8037
|
|
#define GL_POLYGON_OFFSET_UNITS 0x2A00
|
|
#define GL_RED_BITS 0x0D52
|
|
#define GL_RENDERBUFFER 0x8D41
|
|
#define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53
|
|
#define GL_RENDERBUFFER_BINDING 0x8CA7
|
|
#define GL_RENDERBUFFER_BLUE_SIZE 0x8D52
|
|
#define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54
|
|
#define GL_RENDERBUFFER_GREEN_SIZE 0x8D51
|
|
#define GL_RENDERBUFFER_HEIGHT 0x8D43
|
|
#define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44
|
|
#define GL_RENDERBUFFER_RED_SIZE 0x8D50
|
|
#define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55
|
|
#define GL_RENDERBUFFER_WIDTH 0x8D42
|
|
#define GL_RENDERER 0x1F01
|
|
#define GL_REPEAT 0x2901
|
|
#define GL_REPLACE 0x1E01
|
|
#define GL_RGB 0x1907
|
|
#define GL_RGB565 0x8D62
|
|
#define GL_RGB5_A1 0x8057
|
|
#define GL_RGBA 0x1908
|
|
#define GL_RGBA4 0x8056
|
|
#define GL_SAMPLER_2D 0x8B5E
|
|
#define GL_SAMPLER_CUBE 0x8B60
|
|
#define GL_SAMPLES 0x80A9
|
|
#define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E
|
|
#define GL_SAMPLE_BUFFERS 0x80A8
|
|
#define GL_SAMPLE_COVERAGE 0x80A0
|
|
#define GL_SAMPLE_COVERAGE_INVERT 0x80AB
|
|
#define GL_SAMPLE_COVERAGE_VALUE 0x80AA
|
|
#define GL_SCISSOR_BOX 0x0C10
|
|
#define GL_SCISSOR_TEST 0x0C11
|
|
#define GL_SHADER_BINARY_FORMATS 0x8DF8
|
|
#define GL_SHADER_COMPILER 0x8DFA
|
|
#define GL_SHADER_SOURCE_LENGTH 0x8B88
|
|
#define GL_SHADER_TYPE 0x8B4F
|
|
#define GL_SHADING_LANGUAGE_VERSION 0x8B8C
|
|
#define GL_SHORT 0x1402
|
|
#define GL_SRC_ALPHA 0x0302
|
|
#define GL_SRC_ALPHA_SATURATE 0x0308
|
|
#define GL_SRC_COLOR 0x0300
|
|
#define GL_STATIC_DRAW 0x88E4
|
|
#define GL_STENCIL_ATTACHMENT 0x8D20
|
|
#define GL_STENCIL_BACK_FAIL 0x8801
|
|
#define GL_STENCIL_BACK_FUNC 0x8800
|
|
#define GL_STENCIL_BACK_PASS_DEPTH_FAIL 0x8802
|
|
#define GL_STENCIL_BACK_PASS_DEPTH_PASS 0x8803
|
|
#define GL_STENCIL_BACK_REF 0x8CA3
|
|
#define GL_STENCIL_BACK_VALUE_MASK 0x8CA4
|
|
#define GL_STENCIL_BACK_WRITEMASK 0x8CA5
|
|
#define GL_STENCIL_BITS 0x0D57
|
|
#define GL_STENCIL_BUFFER_BIT 0x00000400
|
|
#define GL_STENCIL_CLEAR_VALUE 0x0B91
|
|
#define GL_STENCIL_FAIL 0x0B94
|
|
#define GL_STENCIL_FUNC 0x0B92
|
|
#define GL_STENCIL_INDEX8 0x8D48
|
|
#define GL_STENCIL_PASS_DEPTH_FAIL 0x0B95
|
|
#define GL_STENCIL_PASS_DEPTH_PASS 0x0B96
|
|
#define GL_STENCIL_REF 0x0B97
|
|
#define GL_STENCIL_TEST 0x0B90
|
|
#define GL_STENCIL_VALUE_MASK 0x0B93
|
|
#define GL_STENCIL_WRITEMASK 0x0B98
|
|
#define GL_STREAM_DRAW 0x88E0
|
|
#define GL_SUBPIXEL_BITS 0x0D50
|
|
#define GL_TEXTURE 0x1702
|
|
#define GL_TEXTURE0 0x84C0
|
|
#define GL_TEXTURE1 0x84C1
|
|
#define GL_TEXTURE10 0x84CA
|
|
#define GL_TEXTURE11 0x84CB
|
|
#define GL_TEXTURE12 0x84CC
|
|
#define GL_TEXTURE13 0x84CD
|
|
#define GL_TEXTURE14 0x84CE
|
|
#define GL_TEXTURE15 0x84CF
|
|
#define GL_TEXTURE16 0x84D0
|
|
#define GL_TEXTURE17 0x84D1
|
|
#define GL_TEXTURE18 0x84D2
|
|
#define GL_TEXTURE19 0x84D3
|
|
#define GL_TEXTURE2 0x84C2
|
|
#define GL_TEXTURE20 0x84D4
|
|
#define GL_TEXTURE21 0x84D5
|
|
#define GL_TEXTURE22 0x84D6
|
|
#define GL_TEXTURE23 0x84D7
|
|
#define GL_TEXTURE24 0x84D8
|
|
#define GL_TEXTURE25 0x84D9
|
|
#define GL_TEXTURE26 0x84DA
|
|
#define GL_TEXTURE27 0x84DB
|
|
#define GL_TEXTURE28 0x84DC
|
|
#define GL_TEXTURE29 0x84DD
|
|
#define GL_TEXTURE3 0x84C3
|
|
#define GL_TEXTURE30 0x84DE
|
|
#define GL_TEXTURE31 0x84DF
|
|
#define GL_TEXTURE4 0x84C4
|
|
#define GL_TEXTURE5 0x84C5
|
|
#define GL_TEXTURE6 0x84C6
|
|
#define GL_TEXTURE7 0x84C7
|
|
#define GL_TEXTURE8 0x84C8
|
|
#define GL_TEXTURE9 0x84C9
|
|
#define GL_TEXTURE_2D 0x0DE1
|
|
#define GL_TEXTURE_BINDING_2D 0x8069
|
|
#define GL_TEXTURE_BINDING_CUBE_MAP 0x8514
|
|
#define GL_TEXTURE_CUBE_MAP 0x8513
|
|
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_X 0x8516
|
|
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y 0x8518
|
|
#define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A
|
|
#define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515
|
|
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Y 0x8517
|
|
#define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519
|
|
#define GL_TEXTURE_MAG_FILTER 0x2800
|
|
#define GL_TEXTURE_MIN_FILTER 0x2801
|
|
#define GL_TEXTURE_WRAP_S 0x2802
|
|
#define GL_TEXTURE_WRAP_T 0x2803
|
|
#define GL_TRIANGLES 0x0004
|
|
#define GL_TRIANGLE_FAN 0x0006
|
|
#define GL_TRIANGLE_STRIP 0x0005
|
|
#define GL_TRUE 1
|
|
#define GL_UNPACK_ALIGNMENT 0x0CF5
|
|
#define GL_UNSIGNED_BYTE 0x1401
|
|
#define GL_UNSIGNED_INT 0x1405
|
|
#define GL_UNSIGNED_SHORT 0x1403
|
|
#define GL_UNSIGNED_SHORT_4_4_4_4 0x8033
|
|
#define GL_UNSIGNED_SHORT_5_5_5_1 0x8034
|
|
#define GL_UNSIGNED_SHORT_5_6_5 0x8363
|
|
#define GL_VALIDATE_STATUS 0x8B83
|
|
#define GL_VENDOR 0x1F00
|
|
#define GL_VERSION 0x1F02
|
|
#define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F
|
|
#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622
|
|
#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A
|
|
#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645
|
|
#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623
|
|
#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624
|
|
#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625
|
|
#define GL_VERTEX_SHADER 0x8B31
|
|
#define GL_VIEWPORT 0x0BA2
|
|
#define GL_ZERO 0
|
|
|
|
|
|
#ifndef __khrplatform_h_
|
|
#define __khrplatform_h_
|
|
|
|
/*
|
|
** Copyright (c) 2008-2018 The Khronos Group Inc.
|
|
**
|
|
** Permission is hereby granted, free of charge, to any person obtaining a
|
|
** copy of this software and/or associated documentation files (the
|
|
** "Materials"), to deal in the Materials without restriction, including
|
|
** without limitation the rights to use, copy, modify, merge, publish,
|
|
** distribute, sublicense, and/or sell copies of the Materials, and to
|
|
** permit persons to whom the Materials are furnished to do so, subject to
|
|
** the following conditions:
|
|
**
|
|
** The above copyright notice and this permission notice shall be included
|
|
** in all copies or substantial portions of the Materials.
|
|
**
|
|
** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
|
** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
|
** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
|
** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
|
** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
|
** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
|
|
*/
|
|
|
|
/* Khronos platform-specific types and definitions.
|
|
*
|
|
* The master copy of khrplatform.h is maintained in the Khronos EGL
|
|
* Registry repository at https://github.com/KhronosGroup/EGL-Registry
|
|
* The last semantic modification to khrplatform.h was at commit ID:
|
|
* 67a3e0864c2d75ea5287b9f3d2eb74a745936692
|
|
*
|
|
* Adopters may modify this file to suit their platform. Adopters are
|
|
* encouraged to submit platform specific modifications to the Khronos
|
|
* group so that they can be included in future versions of this file.
|
|
* Please submit changes by filing pull requests or issues on
|
|
* the EGL Registry repository linked above.
|
|
*
|
|
*
|
|
* See the Implementer's Guidelines for information about where this file
|
|
* should be located on your system and for more details of its use:
|
|
* http://www.khronos.org/registry/implementers_guide.pdf
|
|
*
|
|
* This file should be included as
|
|
* #include <KHR/khrplatform.h>
|
|
* by Khronos client API header files that use its types and defines.
|
|
*
|
|
* The types in khrplatform.h should only be used to define API-specific types.
|
|
*
|
|
* Types defined in khrplatform.h:
|
|
* khronos_int8_t signed 8 bit
|
|
* khronos_uint8_t unsigned 8 bit
|
|
* khronos_int16_t signed 16 bit
|
|
* khronos_uint16_t unsigned 16 bit
|
|
* khronos_int32_t signed 32 bit
|
|
* khronos_uint32_t unsigned 32 bit
|
|
* khronos_int64_t signed 64 bit
|
|
* khronos_uint64_t unsigned 64 bit
|
|
* khronos_intptr_t signed same number of bits as a pointer
|
|
* khronos_uintptr_t unsigned same number of bits as a pointer
|
|
* khronos_ssize_t signed size
|
|
* khronos_usize_t unsigned size
|
|
* khronos_float_t signed 32 bit floating point
|
|
* khronos_time_ns_t unsigned 64 bit time in nanoseconds
|
|
* khronos_utime_nanoseconds_t unsigned time interval or absolute time in
|
|
* nanoseconds
|
|
* khronos_stime_nanoseconds_t signed time interval in nanoseconds
|
|
* khronos_boolean_enum_t enumerated boolean type. This should
|
|
* only be used as a base type when a client API's boolean type is
|
|
* an enum. Client APIs which use an integer or other type for
|
|
* booleans cannot use this as the base type for their boolean.
|
|
*
|
|
* Tokens defined in khrplatform.h:
|
|
*
|
|
* KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values.
|
|
*
|
|
* KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0.
|
|
* KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0.
|
|
*
|
|
* Calling convention macros defined in this file:
|
|
* KHRONOS_APICALL
|
|
* KHRONOS_GLAD_API_PTR
|
|
* KHRONOS_APIATTRIBUTES
|
|
*
|
|
* These may be used in function prototypes as:
|
|
*
|
|
* KHRONOS_APICALL void KHRONOS_GLAD_API_PTR funcname(
|
|
* int arg1,
|
|
* int arg2) KHRONOS_APIATTRIBUTES;
|
|
*/
|
|
|
|
#if defined(__SCITECH_SNAP__) && !defined(KHRONOS_STATIC)
|
|
# define KHRONOS_STATIC 1
|
|
#endif
|
|
|
|
/*-------------------------------------------------------------------------
|
|
* Definition of KHRONOS_APICALL
|
|
*-------------------------------------------------------------------------
|
|
* This precedes the return type of the function in the function prototype.
|
|
*/
|
|
#if defined(KHRONOS_STATIC)
|
|
/* If the preprocessor constant KHRONOS_STATIC is defined, make the
|
|
* header compatible with static linking. */
|
|
# define KHRONOS_APICALL
|
|
#elif defined(_WIN32)
|
|
# define KHRONOS_APICALL __declspec(dllimport)
|
|
#elif defined (__SYMBIAN32__)
|
|
# define KHRONOS_APICALL IMPORT_C
|
|
#elif defined(__ANDROID__)
|
|
# define KHRONOS_APICALL __attribute__((visibility("default")))
|
|
#else
|
|
# define KHRONOS_APICALL
|
|
#endif
|
|
|
|
/*-------------------------------------------------------------------------
|
|
* Definition of KHRONOS_GLAD_API_PTR
|
|
*-------------------------------------------------------------------------
|
|
* This follows the return type of the function and precedes the function
|
|
* name in the function prototype.
|
|
*/
|
|
#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__)
|
|
/* Win32 but not WinCE */
|
|
# define KHRONOS_GLAD_API_PTR __stdcall
|
|
#else
|
|
# define KHRONOS_GLAD_API_PTR
|
|
#endif
|
|
|
|
/*-------------------------------------------------------------------------
|
|
* Definition of KHRONOS_APIATTRIBUTES
|
|
*-------------------------------------------------------------------------
|
|
* This follows the closing parenthesis of the function prototype arguments.
|
|
*/
|
|
#if defined (__ARMCC_2__)
|
|
#define KHRONOS_APIATTRIBUTES __softfp
|
|
#else
|
|
#define KHRONOS_APIATTRIBUTES
|
|
#endif
|
|
|
|
/*-------------------------------------------------------------------------
|
|
* basic type definitions
|
|
*-----------------------------------------------------------------------*/
|
|
#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__)
|
|
|
|
|
|
/*
|
|
* Using <stdint.h>
|
|
*/
|
|
#include <stdint.h>
|
|
typedef int32_t khronos_int32_t;
|
|
typedef uint32_t khronos_uint32_t;
|
|
typedef int64_t khronos_int64_t;
|
|
typedef uint64_t khronos_uint64_t;
|
|
#define KHRONOS_SUPPORT_INT64 1
|
|
#define KHRONOS_SUPPORT_FLOAT 1
|
|
|
|
#elif defined(__VMS ) || defined(__sgi)
|
|
|
|
/*
|
|
* Using <inttypes.h>
|
|
*/
|
|
#include <inttypes.h>
|
|
typedef int32_t khronos_int32_t;
|
|
typedef uint32_t khronos_uint32_t;
|
|
typedef int64_t khronos_int64_t;
|
|
typedef uint64_t khronos_uint64_t;
|
|
#define KHRONOS_SUPPORT_INT64 1
|
|
#define KHRONOS_SUPPORT_FLOAT 1
|
|
|
|
#elif defined(_WIN32) && !defined(__SCITECH_SNAP__)
|
|
|
|
/*
|
|
* Win32
|
|
*/
|
|
typedef __int32 khronos_int32_t;
|
|
typedef unsigned __int32 khronos_uint32_t;
|
|
typedef __int64 khronos_int64_t;
|
|
typedef unsigned __int64 khronos_uint64_t;
|
|
#define KHRONOS_SUPPORT_INT64 1
|
|
#define KHRONOS_SUPPORT_FLOAT 1
|
|
|
|
#elif defined(__sun__) || defined(__digital__)
|
|
|
|
/*
|
|
* Sun or Digital
|
|
*/
|
|
typedef int khronos_int32_t;
|
|
typedef unsigned int khronos_uint32_t;
|
|
#if defined(__arch64__) || defined(_LP64)
|
|
typedef long int khronos_int64_t;
|
|
typedef unsigned long int khronos_uint64_t;
|
|
#else
|
|
typedef long long int khronos_int64_t;
|
|
typedef unsigned long long int khronos_uint64_t;
|
|
#endif /* __arch64__ */
|
|
#define KHRONOS_SUPPORT_INT64 1
|
|
#define KHRONOS_SUPPORT_FLOAT 1
|
|
|
|
#elif 0
|
|
|
|
/*
|
|
* Hypothetical platform with no float or int64 support
|
|
*/
|
|
typedef int khronos_int32_t;
|
|
typedef unsigned int khronos_uint32_t;
|
|
#define KHRONOS_SUPPORT_INT64 0
|
|
#define KHRONOS_SUPPORT_FLOAT 0
|
|
|
|
#else
|
|
|
|
/*
|
|
* Generic fallback
|
|
*/
|
|
#include <stdint.h>
|
|
typedef int32_t khronos_int32_t;
|
|
typedef uint32_t khronos_uint32_t;
|
|
typedef int64_t khronos_int64_t;
|
|
typedef uint64_t khronos_uint64_t;
|
|
#define KHRONOS_SUPPORT_INT64 1
|
|
#define KHRONOS_SUPPORT_FLOAT 1
|
|
|
|
#endif
|
|
|
|
|
|
/*
|
|
* Types that are (so far) the same on all platforms
|
|
*/
|
|
typedef signed char khronos_int8_t;
|
|
typedef unsigned char khronos_uint8_t;
|
|
typedef signed short int khronos_int16_t;
|
|
typedef unsigned short int khronos_uint16_t;
|
|
|
|
/*
|
|
* Types that differ between LLP64 and LP64 architectures - in LLP64,
|
|
* pointers are 64 bits, but 'long' is still 32 bits. Win64 appears
|
|
* to be the only LLP64 architecture in current use.
|
|
*/
|
|
#ifdef _WIN64
|
|
typedef signed long long int khronos_intptr_t;
|
|
typedef unsigned long long int khronos_uintptr_t;
|
|
typedef signed long long int khronos_ssize_t;
|
|
typedef unsigned long long int khronos_usize_t;
|
|
#else
|
|
typedef signed long int khronos_intptr_t;
|
|
typedef unsigned long int khronos_uintptr_t;
|
|
typedef signed long int khronos_ssize_t;
|
|
typedef unsigned long int khronos_usize_t;
|
|
#endif
|
|
|
|
#if KHRONOS_SUPPORT_FLOAT
|
|
/*
|
|
* Float type
|
|
*/
|
|
typedef float khronos_float_t;
|
|
#endif
|
|
|
|
#if KHRONOS_SUPPORT_INT64
|
|
/* Time types
|
|
*
|
|
* These types can be used to represent a time interval in nanoseconds or
|
|
* an absolute Unadjusted System Time. Unadjusted System Time is the number
|
|
* of nanoseconds since some arbitrary system event (e.g. since the last
|
|
* time the system booted). The Unadjusted System Time is an unsigned
|
|
* 64 bit value that wraps back to 0 every 584 years. Time intervals
|
|
* may be either signed or unsigned.
|
|
*/
|
|
typedef khronos_uint64_t khronos_utime_nanoseconds_t;
|
|
typedef khronos_int64_t khronos_stime_nanoseconds_t;
|
|
#endif
|
|
|
|
/*
|
|
* Dummy value used to pad enum types to 32 bits.
|
|
*/
|
|
#ifndef KHRONOS_MAX_ENUM
|
|
#define KHRONOS_MAX_ENUM 0x7FFFFFFF
|
|
#endif
|
|
|
|
/*
|
|
* Enumerated boolean type
|
|
*
|
|
* Values other than zero should be considered to be true. Therefore
|
|
* comparisons should not be made against KHRONOS_TRUE.
|
|
*/
|
|
typedef enum {
|
|
KHRONOS_FALSE = 0,
|
|
KHRONOS_TRUE = 1,
|
|
KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM
|
|
} khronos_boolean_enum_t;
|
|
|
|
#endif /* __khrplatform_h_ */
|
|
|
|
typedef unsigned int GLenum;
|
|
|
|
typedef unsigned char GLboolean;
|
|
|
|
typedef unsigned int GLbitfield;
|
|
|
|
typedef void GLvoid;
|
|
|
|
typedef khronos_int8_t GLbyte;
|
|
|
|
typedef khronos_uint8_t GLubyte;
|
|
|
|
typedef khronos_int16_t GLshort;
|
|
|
|
typedef khronos_uint16_t GLushort;
|
|
|
|
typedef int GLint;
|
|
|
|
typedef unsigned int GLuint;
|
|
|
|
typedef khronos_int32_t GLclampx;
|
|
|
|
typedef int GLsizei;
|
|
|
|
typedef khronos_float_t GLfloat;
|
|
|
|
typedef khronos_float_t GLclampf;
|
|
|
|
typedef double GLdouble;
|
|
|
|
typedef double GLclampd;
|
|
|
|
typedef void *GLeglClientBufferEXT;
|
|
|
|
typedef void *GLeglImageOES;
|
|
|
|
typedef char GLchar;
|
|
|
|
typedef char GLcharARB;
|
|
|
|
#ifdef __APPLE__
|
|
typedef void *GLhandleARB;
|
|
#else
|
|
typedef unsigned int GLhandleARB;
|
|
#endif
|
|
|
|
typedef khronos_uint16_t GLhalf;
|
|
|
|
typedef khronos_uint16_t GLhalfARB;
|
|
|
|
typedef khronos_int32_t GLfixed;
|
|
|
|
#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060)
|
|
typedef khronos_intptr_t GLintptr;
|
|
#else
|
|
typedef khronos_intptr_t GLintptr;
|
|
#endif
|
|
|
|
#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060)
|
|
typedef khronos_intptr_t GLintptrARB;
|
|
#else
|
|
typedef khronos_intptr_t GLintptrARB;
|
|
#endif
|
|
|
|
#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060)
|
|
typedef khronos_ssize_t GLsizeiptr;
|
|
#else
|
|
typedef khronos_ssize_t GLsizeiptr;
|
|
#endif
|
|
|
|
#if defined(__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__) && (__ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ > 1060)
|
|
typedef khronos_ssize_t GLsizeiptrARB;
|
|
#else
|
|
typedef khronos_ssize_t GLsizeiptrARB;
|
|
#endif
|
|
|
|
typedef khronos_int64_t GLint64;
|
|
|
|
typedef khronos_int64_t GLint64EXT;
|
|
|
|
typedef khronos_uint64_t GLuint64;
|
|
|
|
typedef khronos_uint64_t GLuint64EXT;
|
|
|
|
typedef struct __GLsync *GLsync;
|
|
|
|
struct _cl_context;
|
|
|
|
struct _cl_event;
|
|
|
|
typedef void (GLAD_API_PTR *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
|
|
|
|
typedef void (GLAD_API_PTR *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
|
|
|
|
typedef void (GLAD_API_PTR *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam);
|
|
|
|
typedef void (GLAD_API_PTR *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,void *userParam);
|
|
|
|
typedef unsigned short GLhalfNV;
|
|
|
|
typedef GLintptr GLvdpauSurfaceNV;
|
|
|
|
typedef void (GLAD_API_PTR *GLVULKANPROCNV)(void);
|
|
|
|
|
|
|
|
#define GL_ES_VERSION_2_0 1
|
|
GLAD_API_CALL int GLAD_GL_ES_VERSION_2_0;
|
|
|
|
|
|
typedef void (GLAD_API_PTR *PFNGLACTIVETEXTUREPROC)(GLenum texture);
|
|
typedef void (GLAD_API_PTR *PFNGLATTACHSHADERPROC)(GLuint program, GLuint shader);
|
|
typedef void (GLAD_API_PTR *PFNGLBINDATTRIBLOCATIONPROC)(GLuint program, GLuint index, const GLchar * name);
|
|
typedef void (GLAD_API_PTR *PFNGLBINDBUFFERPROC)(GLenum target, GLuint buffer);
|
|
typedef void (GLAD_API_PTR *PFNGLBINDFRAMEBUFFERPROC)(GLenum target, GLuint framebuffer);
|
|
typedef void (GLAD_API_PTR *PFNGLBINDRENDERBUFFERPROC)(GLenum target, GLuint renderbuffer);
|
|
typedef void (GLAD_API_PTR *PFNGLBINDTEXTUREPROC)(GLenum target, GLuint texture);
|
|
typedef void (GLAD_API_PTR *PFNGLBLENDCOLORPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
|
|
typedef void (GLAD_API_PTR *PFNGLBLENDEQUATIONPROC)(GLenum mode);
|
|
typedef void (GLAD_API_PTR *PFNGLBLENDEQUATIONSEPARATEPROC)(GLenum modeRGB, GLenum modeAlpha);
|
|
typedef void (GLAD_API_PTR *PFNGLBLENDFUNCPROC)(GLenum sfactor, GLenum dfactor);
|
|
typedef void (GLAD_API_PTR *PFNGLBLENDFUNCSEPARATEPROC)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha);
|
|
typedef void (GLAD_API_PTR *PFNGLBUFFERDATAPROC)(GLenum target, GLsizeiptr size, const void * data, GLenum usage);
|
|
typedef void (GLAD_API_PTR *PFNGLBUFFERSUBDATAPROC)(GLenum target, GLintptr offset, GLsizeiptr size, const void * data);
|
|
typedef GLenum (GLAD_API_PTR *PFNGLCHECKFRAMEBUFFERSTATUSPROC)(GLenum target);
|
|
typedef void (GLAD_API_PTR *PFNGLCLEARPROC)(GLbitfield mask);
|
|
typedef void (GLAD_API_PTR *PFNGLCLEARCOLORPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha);
|
|
typedef void (GLAD_API_PTR *PFNGLCLEARDEPTHFPROC)(GLfloat d);
|
|
typedef void (GLAD_API_PTR *PFNGLCLEARSTENCILPROC)(GLint s);
|
|
typedef void (GLAD_API_PTR *PFNGLCOLORMASKPROC)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha);
|
|
typedef void (GLAD_API_PTR *PFNGLCOMPILESHADERPROC)(GLuint shader);
|
|
typedef void (GLAD_API_PTR *PFNGLCOMPRESSEDTEXIMAGE2DPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void * data);
|
|
typedef void (GLAD_API_PTR *PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void * data);
|
|
typedef void (GLAD_API_PTR *PFNGLCOPYTEXIMAGE2DPROC)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border);
|
|
typedef void (GLAD_API_PTR *PFNGLCOPYTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height);
|
|
typedef GLuint (GLAD_API_PTR *PFNGLCREATEPROGRAMPROC)(void);
|
|
typedef GLuint (GLAD_API_PTR *PFNGLCREATESHADERPROC)(GLenum type);
|
|
typedef void (GLAD_API_PTR *PFNGLCULLFACEPROC)(GLenum mode);
|
|
typedef void (GLAD_API_PTR *PFNGLDELETEBUFFERSPROC)(GLsizei n, const GLuint * buffers);
|
|
typedef void (GLAD_API_PTR *PFNGLDELETEFRAMEBUFFERSPROC)(GLsizei n, const GLuint * framebuffers);
|
|
typedef void (GLAD_API_PTR *PFNGLDELETEPROGRAMPROC)(GLuint program);
|
|
typedef void (GLAD_API_PTR *PFNGLDELETERENDERBUFFERSPROC)(GLsizei n, const GLuint * renderbuffers);
|
|
typedef void (GLAD_API_PTR *PFNGLDELETESHADERPROC)(GLuint shader);
|
|
typedef void (GLAD_API_PTR *PFNGLDELETETEXTURESPROC)(GLsizei n, const GLuint * textures);
|
|
typedef void (GLAD_API_PTR *PFNGLDEPTHFUNCPROC)(GLenum func);
|
|
typedef void (GLAD_API_PTR *PFNGLDEPTHMASKPROC)(GLboolean flag);
|
|
typedef void (GLAD_API_PTR *PFNGLDEPTHRANGEFPROC)(GLfloat n, GLfloat f);
|
|
typedef void (GLAD_API_PTR *PFNGLDETACHSHADERPROC)(GLuint program, GLuint shader);
|
|
typedef void (GLAD_API_PTR *PFNGLDISABLEPROC)(GLenum cap);
|
|
typedef void (GLAD_API_PTR *PFNGLDISABLEVERTEXATTRIBARRAYPROC)(GLuint index);
|
|
typedef void (GLAD_API_PTR *PFNGLDRAWARRAYSPROC)(GLenum mode, GLint first, GLsizei count);
|
|
typedef void (GLAD_API_PTR *PFNGLDRAWELEMENTSPROC)(GLenum mode, GLsizei count, GLenum type, const void * indices);
|
|
typedef void (GLAD_API_PTR *PFNGLENABLEPROC)(GLenum cap);
|
|
typedef void (GLAD_API_PTR *PFNGLENABLEVERTEXATTRIBARRAYPROC)(GLuint index);
|
|
typedef void (GLAD_API_PTR *PFNGLFINISHPROC)(void);
|
|
typedef void (GLAD_API_PTR *PFNGLFLUSHPROC)(void);
|
|
typedef void (GLAD_API_PTR *PFNGLFRAMEBUFFERRENDERBUFFERPROC)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer);
|
|
typedef void (GLAD_API_PTR *PFNGLFRAMEBUFFERTEXTURE2DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level);
|
|
typedef void (GLAD_API_PTR *PFNGLFRONTFACEPROC)(GLenum mode);
|
|
typedef void (GLAD_API_PTR *PFNGLGENBUFFERSPROC)(GLsizei n, GLuint * buffers);
|
|
typedef void (GLAD_API_PTR *PFNGLGENFRAMEBUFFERSPROC)(GLsizei n, GLuint * framebuffers);
|
|
typedef void (GLAD_API_PTR *PFNGLGENRENDERBUFFERSPROC)(GLsizei n, GLuint * renderbuffers);
|
|
typedef void (GLAD_API_PTR *PFNGLGENTEXTURESPROC)(GLsizei n, GLuint * textures);
|
|
typedef void (GLAD_API_PTR *PFNGLGENERATEMIPMAPPROC)(GLenum target);
|
|
typedef void (GLAD_API_PTR *PFNGLGETACTIVEATTRIBPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLchar * name);
|
|
typedef void (GLAD_API_PTR *PFNGLGETACTIVEUNIFORMPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLint * size, GLenum * type, GLchar * name);
|
|
typedef void (GLAD_API_PTR *PFNGLGETATTACHEDSHADERSPROC)(GLuint program, GLsizei maxCount, GLsizei * count, GLuint * shaders);
|
|
typedef GLint (GLAD_API_PTR *PFNGLGETATTRIBLOCATIONPROC)(GLuint program, const GLchar * name);
|
|
typedef void (GLAD_API_PTR *PFNGLGETBOOLEANVPROC)(GLenum pname, GLboolean * data);
|
|
typedef void (GLAD_API_PTR *PFNGLGETBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint * params);
|
|
typedef GLenum (GLAD_API_PTR *PFNGLGETERRORPROC)(void);
|
|
typedef void (GLAD_API_PTR *PFNGLGETFLOATVPROC)(GLenum pname, GLfloat * data);
|
|
typedef void (GLAD_API_PTR *PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)(GLenum target, GLenum attachment, GLenum pname, GLint * params);
|
|
typedef void (GLAD_API_PTR *PFNGLGETINTEGERVPROC)(GLenum pname, GLint * data);
|
|
typedef void (GLAD_API_PTR *PFNGLGETPROGRAMINFOLOGPROC)(GLuint program, GLsizei bufSize, GLsizei * length, GLchar * infoLog);
|
|
typedef void (GLAD_API_PTR *PFNGLGETPROGRAMIVPROC)(GLuint program, GLenum pname, GLint * params);
|
|
typedef void (GLAD_API_PTR *PFNGLGETRENDERBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint * params);
|
|
typedef void (GLAD_API_PTR *PFNGLGETSHADERINFOLOGPROC)(GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * infoLog);
|
|
typedef void (GLAD_API_PTR *PFNGLGETSHADERPRECISIONFORMATPROC)(GLenum shadertype, GLenum precisiontype, GLint * range, GLint * precision);
|
|
typedef void (GLAD_API_PTR *PFNGLGETSHADERSOURCEPROC)(GLuint shader, GLsizei bufSize, GLsizei * length, GLchar * source);
|
|
typedef void (GLAD_API_PTR *PFNGLGETSHADERIVPROC)(GLuint shader, GLenum pname, GLint * params);
|
|
typedef const GLubyte * (GLAD_API_PTR *PFNGLGETSTRINGPROC)(GLenum name);
|
|
typedef void (GLAD_API_PTR *PFNGLGETTEXPARAMETERFVPROC)(GLenum target, GLenum pname, GLfloat * params);
|
|
typedef void (GLAD_API_PTR *PFNGLGETTEXPARAMETERIVPROC)(GLenum target, GLenum pname, GLint * params);
|
|
typedef GLint (GLAD_API_PTR *PFNGLGETUNIFORMLOCATIONPROC)(GLuint program, const GLchar * name);
|
|
typedef void (GLAD_API_PTR *PFNGLGETUNIFORMFVPROC)(GLuint program, GLint location, GLfloat * params);
|
|
typedef void (GLAD_API_PTR *PFNGLGETUNIFORMIVPROC)(GLuint program, GLint location, GLint * params);
|
|
typedef void (GLAD_API_PTR *PFNGLGETVERTEXATTRIBPOINTERVPROC)(GLuint index, GLenum pname, void ** pointer);
|
|
typedef void (GLAD_API_PTR *PFNGLGETVERTEXATTRIBFVPROC)(GLuint index, GLenum pname, GLfloat * params);
|
|
typedef void (GLAD_API_PTR *PFNGLGETVERTEXATTRIBIVPROC)(GLuint index, GLenum pname, GLint * params);
|
|
typedef void (GLAD_API_PTR *PFNGLHINTPROC)(GLenum target, GLenum mode);
|
|
typedef GLboolean (GLAD_API_PTR *PFNGLISBUFFERPROC)(GLuint buffer);
|
|
typedef GLboolean (GLAD_API_PTR *PFNGLISENABLEDPROC)(GLenum cap);
|
|
typedef GLboolean (GLAD_API_PTR *PFNGLISFRAMEBUFFERPROC)(GLuint framebuffer);
|
|
typedef GLboolean (GLAD_API_PTR *PFNGLISPROGRAMPROC)(GLuint program);
|
|
typedef GLboolean (GLAD_API_PTR *PFNGLISRENDERBUFFERPROC)(GLuint renderbuffer);
|
|
typedef GLboolean (GLAD_API_PTR *PFNGLISSHADERPROC)(GLuint shader);
|
|
typedef GLboolean (GLAD_API_PTR *PFNGLISTEXTUREPROC)(GLuint texture);
|
|
typedef void (GLAD_API_PTR *PFNGLLINEWIDTHPROC)(GLfloat width);
|
|
typedef void (GLAD_API_PTR *PFNGLLINKPROGRAMPROC)(GLuint program);
|
|
typedef void (GLAD_API_PTR *PFNGLPIXELSTOREIPROC)(GLenum pname, GLint param);
|
|
typedef void (GLAD_API_PTR *PFNGLPOLYGONOFFSETPROC)(GLfloat factor, GLfloat units);
|
|
typedef void (GLAD_API_PTR *PFNGLREADPIXELSPROC)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void * pixels);
|
|
typedef void (GLAD_API_PTR *PFNGLRELEASESHADERCOMPILERPROC)(void);
|
|
typedef void (GLAD_API_PTR *PFNGLRENDERBUFFERSTORAGEPROC)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height);
|
|
typedef void (GLAD_API_PTR *PFNGLSAMPLECOVERAGEPROC)(GLfloat value, GLboolean invert);
|
|
typedef void (GLAD_API_PTR *PFNGLSCISSORPROC)(GLint x, GLint y, GLsizei width, GLsizei height);
|
|
typedef void (GLAD_API_PTR *PFNGLSHADERBINARYPROC)(GLsizei count, const GLuint * shaders, GLenum binaryFormat, const void * binary, GLsizei length);
|
|
typedef void (GLAD_API_PTR *PFNGLSHADERSOURCEPROC)(GLuint shader, GLsizei count, const GLchar *const* string, const GLint * length);
|
|
typedef void (GLAD_API_PTR *PFNGLSTENCILFUNCPROC)(GLenum func, GLint ref, GLuint mask);
|
|
typedef void (GLAD_API_PTR *PFNGLSTENCILFUNCSEPARATEPROC)(GLenum face, GLenum func, GLint ref, GLuint mask);
|
|
typedef void (GLAD_API_PTR *PFNGLSTENCILMASKPROC)(GLuint mask);
|
|
typedef void (GLAD_API_PTR *PFNGLSTENCILMASKSEPARATEPROC)(GLenum face, GLuint mask);
|
|
typedef void (GLAD_API_PTR *PFNGLSTENCILOPPROC)(GLenum fail, GLenum zfail, GLenum zpass);
|
|
typedef void (GLAD_API_PTR *PFNGLSTENCILOPSEPARATEPROC)(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass);
|
|
typedef void (GLAD_API_PTR *PFNGLTEXIMAGE2DPROC)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void * pixels);
|
|
typedef void (GLAD_API_PTR *PFNGLTEXPARAMETERFPROC)(GLenum target, GLenum pname, GLfloat param);
|
|
typedef void (GLAD_API_PTR *PFNGLTEXPARAMETERFVPROC)(GLenum target, GLenum pname, const GLfloat * params);
|
|
typedef void (GLAD_API_PTR *PFNGLTEXPARAMETERIPROC)(GLenum target, GLenum pname, GLint param);
|
|
typedef void (GLAD_API_PTR *PFNGLTEXPARAMETERIVPROC)(GLenum target, GLenum pname, const GLint * params);
|
|
typedef void (GLAD_API_PTR *PFNGLTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void * pixels);
|
|
typedef void (GLAD_API_PTR *PFNGLUNIFORM1FPROC)(GLint location, GLfloat v0);
|
|
typedef void (GLAD_API_PTR *PFNGLUNIFORM1FVPROC)(GLint location, GLsizei count, const GLfloat * value);
|
|
typedef void (GLAD_API_PTR *PFNGLUNIFORM1IPROC)(GLint location, GLint v0);
|
|
typedef void (GLAD_API_PTR *PFNGLUNIFORM1IVPROC)(GLint location, GLsizei count, const GLint * value);
|
|
typedef void (GLAD_API_PTR *PFNGLUNIFORM2FPROC)(GLint location, GLfloat v0, GLfloat v1);
|
|
typedef void (GLAD_API_PTR *PFNGLUNIFORM2FVPROC)(GLint location, GLsizei count, const GLfloat * value);
|
|
typedef void (GLAD_API_PTR *PFNGLUNIFORM2IPROC)(GLint location, GLint v0, GLint v1);
|
|
typedef void (GLAD_API_PTR *PFNGLUNIFORM2IVPROC)(GLint location, GLsizei count, const GLint * value);
|
|
typedef void (GLAD_API_PTR *PFNGLUNIFORM3FPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2);
|
|
typedef void (GLAD_API_PTR *PFNGLUNIFORM3FVPROC)(GLint location, GLsizei count, const GLfloat * value);
|
|
typedef void (GLAD_API_PTR *PFNGLUNIFORM3IPROC)(GLint location, GLint v0, GLint v1, GLint v2);
|
|
typedef void (GLAD_API_PTR *PFNGLUNIFORM3IVPROC)(GLint location, GLsizei count, const GLint * value);
|
|
typedef void (GLAD_API_PTR *PFNGLUNIFORM4FPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3);
|
|
typedef void (GLAD_API_PTR *PFNGLUNIFORM4FVPROC)(GLint location, GLsizei count, const GLfloat * value);
|
|
typedef void (GLAD_API_PTR *PFNGLUNIFORM4IPROC)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3);
|
|
typedef void (GLAD_API_PTR *PFNGLUNIFORM4IVPROC)(GLint location, GLsizei count, const GLint * value);
|
|
typedef void (GLAD_API_PTR *PFNGLUNIFORMMATRIX2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
|
|
typedef void (GLAD_API_PTR *PFNGLUNIFORMMATRIX3FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
|
|
typedef void (GLAD_API_PTR *PFNGLUNIFORMMATRIX4FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat * value);
|
|
typedef void (GLAD_API_PTR *PFNGLUSEPROGRAMPROC)(GLuint program);
|
|
typedef void (GLAD_API_PTR *PFNGLVALIDATEPROGRAMPROC)(GLuint program);
|
|
typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB1FPROC)(GLuint index, GLfloat x);
|
|
typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB1FVPROC)(GLuint index, const GLfloat * v);
|
|
typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB2FPROC)(GLuint index, GLfloat x, GLfloat y);
|
|
typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB2FVPROC)(GLuint index, const GLfloat * v);
|
|
typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB3FPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z);
|
|
typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB3FVPROC)(GLuint index, const GLfloat * v);
|
|
typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4FPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w);
|
|
typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIB4FVPROC)(GLuint index, const GLfloat * v);
|
|
typedef void (GLAD_API_PTR *PFNGLVERTEXATTRIBPOINTERPROC)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void * pointer);
|
|
typedef void (GLAD_API_PTR *PFNGLVIEWPORTPROC)(GLint x, GLint y, GLsizei width, GLsizei height);
|
|
|
|
GLAD_API_CALL PFNGLACTIVETEXTUREPROC glad_glActiveTexture;
|
|
#define glActiveTexture glad_glActiveTexture
|
|
GLAD_API_CALL PFNGLATTACHSHADERPROC glad_glAttachShader;
|
|
#define glAttachShader glad_glAttachShader
|
|
GLAD_API_CALL PFNGLBINDATTRIBLOCATIONPROC glad_glBindAttribLocation;
|
|
#define glBindAttribLocation glad_glBindAttribLocation
|
|
GLAD_API_CALL PFNGLBINDBUFFERPROC glad_glBindBuffer;
|
|
#define glBindBuffer glad_glBindBuffer
|
|
GLAD_API_CALL PFNGLBINDFRAMEBUFFERPROC glad_glBindFramebuffer;
|
|
#define glBindFramebuffer glad_glBindFramebuffer
|
|
GLAD_API_CALL PFNGLBINDRENDERBUFFERPROC glad_glBindRenderbuffer;
|
|
#define glBindRenderbuffer glad_glBindRenderbuffer
|
|
GLAD_API_CALL PFNGLBINDTEXTUREPROC glad_glBindTexture;
|
|
#define glBindTexture glad_glBindTexture
|
|
GLAD_API_CALL PFNGLBLENDCOLORPROC glad_glBlendColor;
|
|
#define glBlendColor glad_glBlendColor
|
|
GLAD_API_CALL PFNGLBLENDEQUATIONPROC glad_glBlendEquation;
|
|
#define glBlendEquation glad_glBlendEquation
|
|
GLAD_API_CALL PFNGLBLENDEQUATIONSEPARATEPROC glad_glBlendEquationSeparate;
|
|
#define glBlendEquationSeparate glad_glBlendEquationSeparate
|
|
GLAD_API_CALL PFNGLBLENDFUNCPROC glad_glBlendFunc;
|
|
#define glBlendFunc glad_glBlendFunc
|
|
GLAD_API_CALL PFNGLBLENDFUNCSEPARATEPROC glad_glBlendFuncSeparate;
|
|
#define glBlendFuncSeparate glad_glBlendFuncSeparate
|
|
GLAD_API_CALL PFNGLBUFFERDATAPROC glad_glBufferData;
|
|
#define glBufferData glad_glBufferData
|
|
GLAD_API_CALL PFNGLBUFFERSUBDATAPROC glad_glBufferSubData;
|
|
#define glBufferSubData glad_glBufferSubData
|
|
GLAD_API_CALL PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_glCheckFramebufferStatus;
|
|
#define glCheckFramebufferStatus glad_glCheckFramebufferStatus
|
|
GLAD_API_CALL PFNGLCLEARPROC glad_glClear;
|
|
#define glClear glad_glClear
|
|
GLAD_API_CALL PFNGLCLEARCOLORPROC glad_glClearColor;
|
|
#define glClearColor glad_glClearColor
|
|
GLAD_API_CALL PFNGLCLEARDEPTHFPROC glad_glClearDepthf;
|
|
#define glClearDepthf glad_glClearDepthf
|
|
GLAD_API_CALL PFNGLCLEARSTENCILPROC glad_glClearStencil;
|
|
#define glClearStencil glad_glClearStencil
|
|
GLAD_API_CALL PFNGLCOLORMASKPROC glad_glColorMask;
|
|
#define glColorMask glad_glColorMask
|
|
GLAD_API_CALL PFNGLCOMPILESHADERPROC glad_glCompileShader;
|
|
#define glCompileShader glad_glCompileShader
|
|
GLAD_API_CALL PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_glCompressedTexImage2D;
|
|
#define glCompressedTexImage2D glad_glCompressedTexImage2D
|
|
GLAD_API_CALL PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_glCompressedTexSubImage2D;
|
|
#define glCompressedTexSubImage2D glad_glCompressedTexSubImage2D
|
|
GLAD_API_CALL PFNGLCOPYTEXIMAGE2DPROC glad_glCopyTexImage2D;
|
|
#define glCopyTexImage2D glad_glCopyTexImage2D
|
|
GLAD_API_CALL PFNGLCOPYTEXSUBIMAGE2DPROC glad_glCopyTexSubImage2D;
|
|
#define glCopyTexSubImage2D glad_glCopyTexSubImage2D
|
|
GLAD_API_CALL PFNGLCREATEPROGRAMPROC glad_glCreateProgram;
|
|
#define glCreateProgram glad_glCreateProgram
|
|
GLAD_API_CALL PFNGLCREATESHADERPROC glad_glCreateShader;
|
|
#define glCreateShader glad_glCreateShader
|
|
GLAD_API_CALL PFNGLCULLFACEPROC glad_glCullFace;
|
|
#define glCullFace glad_glCullFace
|
|
GLAD_API_CALL PFNGLDELETEBUFFERSPROC glad_glDeleteBuffers;
|
|
#define glDeleteBuffers glad_glDeleteBuffers
|
|
GLAD_API_CALL PFNGLDELETEFRAMEBUFFERSPROC glad_glDeleteFramebuffers;
|
|
#define glDeleteFramebuffers glad_glDeleteFramebuffers
|
|
GLAD_API_CALL PFNGLDELETEPROGRAMPROC glad_glDeleteProgram;
|
|
#define glDeleteProgram glad_glDeleteProgram
|
|
GLAD_API_CALL PFNGLDELETERENDERBUFFERSPROC glad_glDeleteRenderbuffers;
|
|
#define glDeleteRenderbuffers glad_glDeleteRenderbuffers
|
|
GLAD_API_CALL PFNGLDELETESHADERPROC glad_glDeleteShader;
|
|
#define glDeleteShader glad_glDeleteShader
|
|
GLAD_API_CALL PFNGLDELETETEXTURESPROC glad_glDeleteTextures;
|
|
#define glDeleteTextures glad_glDeleteTextures
|
|
GLAD_API_CALL PFNGLDEPTHFUNCPROC glad_glDepthFunc;
|
|
#define glDepthFunc glad_glDepthFunc
|
|
GLAD_API_CALL PFNGLDEPTHMASKPROC glad_glDepthMask;
|
|
#define glDepthMask glad_glDepthMask
|
|
GLAD_API_CALL PFNGLDEPTHRANGEFPROC glad_glDepthRangef;
|
|
#define glDepthRangef glad_glDepthRangef
|
|
GLAD_API_CALL PFNGLDETACHSHADERPROC glad_glDetachShader;
|
|
#define glDetachShader glad_glDetachShader
|
|
GLAD_API_CALL PFNGLDISABLEPROC glad_glDisable;
|
|
#define glDisable glad_glDisable
|
|
GLAD_API_CALL PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_glDisableVertexAttribArray;
|
|
#define glDisableVertexAttribArray glad_glDisableVertexAttribArray
|
|
GLAD_API_CALL PFNGLDRAWARRAYSPROC glad_glDrawArrays;
|
|
#define glDrawArrays glad_glDrawArrays
|
|
GLAD_API_CALL PFNGLDRAWELEMENTSPROC glad_glDrawElements;
|
|
#define glDrawElements glad_glDrawElements
|
|
GLAD_API_CALL PFNGLENABLEPROC glad_glEnable;
|
|
#define glEnable glad_glEnable
|
|
GLAD_API_CALL PFNGLENABLEVERTEXATTRIBARRAYPROC glad_glEnableVertexAttribArray;
|
|
#define glEnableVertexAttribArray glad_glEnableVertexAttribArray
|
|
GLAD_API_CALL PFNGLFINISHPROC glad_glFinish;
|
|
#define glFinish glad_glFinish
|
|
GLAD_API_CALL PFNGLFLUSHPROC glad_glFlush;
|
|
#define glFlush glad_glFlush
|
|
GLAD_API_CALL PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_glFramebufferRenderbuffer;
|
|
#define glFramebufferRenderbuffer glad_glFramebufferRenderbuffer
|
|
GLAD_API_CALL PFNGLFRAMEBUFFERTEXTURE2DPROC glad_glFramebufferTexture2D;
|
|
#define glFramebufferTexture2D glad_glFramebufferTexture2D
|
|
GLAD_API_CALL PFNGLFRONTFACEPROC glad_glFrontFace;
|
|
#define glFrontFace glad_glFrontFace
|
|
GLAD_API_CALL PFNGLGENBUFFERSPROC glad_glGenBuffers;
|
|
#define glGenBuffers glad_glGenBuffers
|
|
GLAD_API_CALL PFNGLGENFRAMEBUFFERSPROC glad_glGenFramebuffers;
|
|
#define glGenFramebuffers glad_glGenFramebuffers
|
|
GLAD_API_CALL PFNGLGENRENDERBUFFERSPROC glad_glGenRenderbuffers;
|
|
#define glGenRenderbuffers glad_glGenRenderbuffers
|
|
GLAD_API_CALL PFNGLGENTEXTURESPROC glad_glGenTextures;
|
|
#define glGenTextures glad_glGenTextures
|
|
GLAD_API_CALL PFNGLGENERATEMIPMAPPROC glad_glGenerateMipmap;
|
|
#define glGenerateMipmap glad_glGenerateMipmap
|
|
GLAD_API_CALL PFNGLGETACTIVEATTRIBPROC glad_glGetActiveAttrib;
|
|
#define glGetActiveAttrib glad_glGetActiveAttrib
|
|
GLAD_API_CALL PFNGLGETACTIVEUNIFORMPROC glad_glGetActiveUniform;
|
|
#define glGetActiveUniform glad_glGetActiveUniform
|
|
GLAD_API_CALL PFNGLGETATTACHEDSHADERSPROC glad_glGetAttachedShaders;
|
|
#define glGetAttachedShaders glad_glGetAttachedShaders
|
|
GLAD_API_CALL PFNGLGETATTRIBLOCATIONPROC glad_glGetAttribLocation;
|
|
#define glGetAttribLocation glad_glGetAttribLocation
|
|
GLAD_API_CALL PFNGLGETBOOLEANVPROC glad_glGetBooleanv;
|
|
#define glGetBooleanv glad_glGetBooleanv
|
|
GLAD_API_CALL PFNGLGETBUFFERPARAMETERIVPROC glad_glGetBufferParameteriv;
|
|
#define glGetBufferParameteriv glad_glGetBufferParameteriv
|
|
GLAD_API_CALL PFNGLGETERRORPROC glad_glGetError;
|
|
#define glGetError glad_glGetError
|
|
GLAD_API_CALL PFNGLGETFLOATVPROC glad_glGetFloatv;
|
|
#define glGetFloatv glad_glGetFloatv
|
|
GLAD_API_CALL PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetFramebufferAttachmentParameteriv;
|
|
#define glGetFramebufferAttachmentParameteriv glad_glGetFramebufferAttachmentParameteriv
|
|
GLAD_API_CALL PFNGLGETINTEGERVPROC glad_glGetIntegerv;
|
|
#define glGetIntegerv glad_glGetIntegerv
|
|
GLAD_API_CALL PFNGLGETPROGRAMINFOLOGPROC glad_glGetProgramInfoLog;
|
|
#define glGetProgramInfoLog glad_glGetProgramInfoLog
|
|
GLAD_API_CALL PFNGLGETPROGRAMIVPROC glad_glGetProgramiv;
|
|
#define glGetProgramiv glad_glGetProgramiv
|
|
GLAD_API_CALL PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_glGetRenderbufferParameteriv;
|
|
#define glGetRenderbufferParameteriv glad_glGetRenderbufferParameteriv
|
|
GLAD_API_CALL PFNGLGETSHADERINFOLOGPROC glad_glGetShaderInfoLog;
|
|
#define glGetShaderInfoLog glad_glGetShaderInfoLog
|
|
GLAD_API_CALL PFNGLGETSHADERPRECISIONFORMATPROC glad_glGetShaderPrecisionFormat;
|
|
#define glGetShaderPrecisionFormat glad_glGetShaderPrecisionFormat
|
|
GLAD_API_CALL PFNGLGETSHADERSOURCEPROC glad_glGetShaderSource;
|
|
#define glGetShaderSource glad_glGetShaderSource
|
|
GLAD_API_CALL PFNGLGETSHADERIVPROC glad_glGetShaderiv;
|
|
#define glGetShaderiv glad_glGetShaderiv
|
|
GLAD_API_CALL PFNGLGETSTRINGPROC glad_glGetString;
|
|
#define glGetString glad_glGetString
|
|
GLAD_API_CALL PFNGLGETTEXPARAMETERFVPROC glad_glGetTexParameterfv;
|
|
#define glGetTexParameterfv glad_glGetTexParameterfv
|
|
GLAD_API_CALL PFNGLGETTEXPARAMETERIVPROC glad_glGetTexParameteriv;
|
|
#define glGetTexParameteriv glad_glGetTexParameteriv
|
|
GLAD_API_CALL PFNGLGETUNIFORMLOCATIONPROC glad_glGetUniformLocation;
|
|
#define glGetUniformLocation glad_glGetUniformLocation
|
|
GLAD_API_CALL PFNGLGETUNIFORMFVPROC glad_glGetUniformfv;
|
|
#define glGetUniformfv glad_glGetUniformfv
|
|
GLAD_API_CALL PFNGLGETUNIFORMIVPROC glad_glGetUniformiv;
|
|
#define glGetUniformiv glad_glGetUniformiv
|
|
GLAD_API_CALL PFNGLGETVERTEXATTRIBPOINTERVPROC glad_glGetVertexAttribPointerv;
|
|
#define glGetVertexAttribPointerv glad_glGetVertexAttribPointerv
|
|
GLAD_API_CALL PFNGLGETVERTEXATTRIBFVPROC glad_glGetVertexAttribfv;
|
|
#define glGetVertexAttribfv glad_glGetVertexAttribfv
|
|
GLAD_API_CALL PFNGLGETVERTEXATTRIBIVPROC glad_glGetVertexAttribiv;
|
|
#define glGetVertexAttribiv glad_glGetVertexAttribiv
|
|
GLAD_API_CALL PFNGLHINTPROC glad_glHint;
|
|
#define glHint glad_glHint
|
|
GLAD_API_CALL PFNGLISBUFFERPROC glad_glIsBuffer;
|
|
#define glIsBuffer glad_glIsBuffer
|
|
GLAD_API_CALL PFNGLISENABLEDPROC glad_glIsEnabled;
|
|
#define glIsEnabled glad_glIsEnabled
|
|
GLAD_API_CALL PFNGLISFRAMEBUFFERPROC glad_glIsFramebuffer;
|
|
#define glIsFramebuffer glad_glIsFramebuffer
|
|
GLAD_API_CALL PFNGLISPROGRAMPROC glad_glIsProgram;
|
|
#define glIsProgram glad_glIsProgram
|
|
GLAD_API_CALL PFNGLISRENDERBUFFERPROC glad_glIsRenderbuffer;
|
|
#define glIsRenderbuffer glad_glIsRenderbuffer
|
|
GLAD_API_CALL PFNGLISSHADERPROC glad_glIsShader;
|
|
#define glIsShader glad_glIsShader
|
|
GLAD_API_CALL PFNGLISTEXTUREPROC glad_glIsTexture;
|
|
#define glIsTexture glad_glIsTexture
|
|
GLAD_API_CALL PFNGLLINEWIDTHPROC glad_glLineWidth;
|
|
#define glLineWidth glad_glLineWidth
|
|
GLAD_API_CALL PFNGLLINKPROGRAMPROC glad_glLinkProgram;
|
|
#define glLinkProgram glad_glLinkProgram
|
|
GLAD_API_CALL PFNGLPIXELSTOREIPROC glad_glPixelStorei;
|
|
#define glPixelStorei glad_glPixelStorei
|
|
GLAD_API_CALL PFNGLPOLYGONOFFSETPROC glad_glPolygonOffset;
|
|
#define glPolygonOffset glad_glPolygonOffset
|
|
GLAD_API_CALL PFNGLREADPIXELSPROC glad_glReadPixels;
|
|
#define glReadPixels glad_glReadPixels
|
|
GLAD_API_CALL PFNGLRELEASESHADERCOMPILERPROC glad_glReleaseShaderCompiler;
|
|
#define glReleaseShaderCompiler glad_glReleaseShaderCompiler
|
|
GLAD_API_CALL PFNGLRENDERBUFFERSTORAGEPROC glad_glRenderbufferStorage;
|
|
#define glRenderbufferStorage glad_glRenderbufferStorage
|
|
GLAD_API_CALL PFNGLSAMPLECOVERAGEPROC glad_glSampleCoverage;
|
|
#define glSampleCoverage glad_glSampleCoverage
|
|
GLAD_API_CALL PFNGLSCISSORPROC glad_glScissor;
|
|
#define glScissor glad_glScissor
|
|
GLAD_API_CALL PFNGLSHADERBINARYPROC glad_glShaderBinary;
|
|
#define glShaderBinary glad_glShaderBinary
|
|
GLAD_API_CALL PFNGLSHADERSOURCEPROC glad_glShaderSource;
|
|
#define glShaderSource glad_glShaderSource
|
|
GLAD_API_CALL PFNGLSTENCILFUNCPROC glad_glStencilFunc;
|
|
#define glStencilFunc glad_glStencilFunc
|
|
GLAD_API_CALL PFNGLSTENCILFUNCSEPARATEPROC glad_glStencilFuncSeparate;
|
|
#define glStencilFuncSeparate glad_glStencilFuncSeparate
|
|
GLAD_API_CALL PFNGLSTENCILMASKPROC glad_glStencilMask;
|
|
#define glStencilMask glad_glStencilMask
|
|
GLAD_API_CALL PFNGLSTENCILMASKSEPARATEPROC glad_glStencilMaskSeparate;
|
|
#define glStencilMaskSeparate glad_glStencilMaskSeparate
|
|
GLAD_API_CALL PFNGLSTENCILOPPROC glad_glStencilOp;
|
|
#define glStencilOp glad_glStencilOp
|
|
GLAD_API_CALL PFNGLSTENCILOPSEPARATEPROC glad_glStencilOpSeparate;
|
|
#define glStencilOpSeparate glad_glStencilOpSeparate
|
|
GLAD_API_CALL PFNGLTEXIMAGE2DPROC glad_glTexImage2D;
|
|
#define glTexImage2D glad_glTexImage2D
|
|
GLAD_API_CALL PFNGLTEXPARAMETERFPROC glad_glTexParameterf;
|
|
#define glTexParameterf glad_glTexParameterf
|
|
GLAD_API_CALL PFNGLTEXPARAMETERFVPROC glad_glTexParameterfv;
|
|
#define glTexParameterfv glad_glTexParameterfv
|
|
GLAD_API_CALL PFNGLTEXPARAMETERIPROC glad_glTexParameteri;
|
|
#define glTexParameteri glad_glTexParameteri
|
|
GLAD_API_CALL PFNGLTEXPARAMETERIVPROC glad_glTexParameteriv;
|
|
#define glTexParameteriv glad_glTexParameteriv
|
|
GLAD_API_CALL PFNGLTEXSUBIMAGE2DPROC glad_glTexSubImage2D;
|
|
#define glTexSubImage2D glad_glTexSubImage2D
|
|
GLAD_API_CALL PFNGLUNIFORM1FPROC glad_glUniform1f;
|
|
#define glUniform1f glad_glUniform1f
|
|
GLAD_API_CALL PFNGLUNIFORM1FVPROC glad_glUniform1fv;
|
|
#define glUniform1fv glad_glUniform1fv
|
|
GLAD_API_CALL PFNGLUNIFORM1IPROC glad_glUniform1i;
|
|
#define glUniform1i glad_glUniform1i
|
|
GLAD_API_CALL PFNGLUNIFORM1IVPROC glad_glUniform1iv;
|
|
#define glUniform1iv glad_glUniform1iv
|
|
GLAD_API_CALL PFNGLUNIFORM2FPROC glad_glUniform2f;
|
|
#define glUniform2f glad_glUniform2f
|
|
GLAD_API_CALL PFNGLUNIFORM2FVPROC glad_glUniform2fv;
|
|
#define glUniform2fv glad_glUniform2fv
|
|
GLAD_API_CALL PFNGLUNIFORM2IPROC glad_glUniform2i;
|
|
#define glUniform2i glad_glUniform2i
|
|
GLAD_API_CALL PFNGLUNIFORM2IVPROC glad_glUniform2iv;
|
|
#define glUniform2iv glad_glUniform2iv
|
|
GLAD_API_CALL PFNGLUNIFORM3FPROC glad_glUniform3f;
|
|
#define glUniform3f glad_glUniform3f
|
|
GLAD_API_CALL PFNGLUNIFORM3FVPROC glad_glUniform3fv;
|
|
#define glUniform3fv glad_glUniform3fv
|
|
GLAD_API_CALL PFNGLUNIFORM3IPROC glad_glUniform3i;
|
|
#define glUniform3i glad_glUniform3i
|
|
GLAD_API_CALL PFNGLUNIFORM3IVPROC glad_glUniform3iv;
|
|
#define glUniform3iv glad_glUniform3iv
|
|
GLAD_API_CALL PFNGLUNIFORM4FPROC glad_glUniform4f;
|
|
#define glUniform4f glad_glUniform4f
|
|
GLAD_API_CALL PFNGLUNIFORM4FVPROC glad_glUniform4fv;
|
|
#define glUniform4fv glad_glUniform4fv
|
|
GLAD_API_CALL PFNGLUNIFORM4IPROC glad_glUniform4i;
|
|
#define glUniform4i glad_glUniform4i
|
|
GLAD_API_CALL PFNGLUNIFORM4IVPROC glad_glUniform4iv;
|
|
#define glUniform4iv glad_glUniform4iv
|
|
GLAD_API_CALL PFNGLUNIFORMMATRIX2FVPROC glad_glUniformMatrix2fv;
|
|
#define glUniformMatrix2fv glad_glUniformMatrix2fv
|
|
GLAD_API_CALL PFNGLUNIFORMMATRIX3FVPROC glad_glUniformMatrix3fv;
|
|
#define glUniformMatrix3fv glad_glUniformMatrix3fv
|
|
GLAD_API_CALL PFNGLUNIFORMMATRIX4FVPROC glad_glUniformMatrix4fv;
|
|
#define glUniformMatrix4fv glad_glUniformMatrix4fv
|
|
GLAD_API_CALL PFNGLUSEPROGRAMPROC glad_glUseProgram;
|
|
#define glUseProgram glad_glUseProgram
|
|
GLAD_API_CALL PFNGLVALIDATEPROGRAMPROC glad_glValidateProgram;
|
|
#define glValidateProgram glad_glValidateProgram
|
|
GLAD_API_CALL PFNGLVERTEXATTRIB1FPROC glad_glVertexAttrib1f;
|
|
#define glVertexAttrib1f glad_glVertexAttrib1f
|
|
GLAD_API_CALL PFNGLVERTEXATTRIB1FVPROC glad_glVertexAttrib1fv;
|
|
#define glVertexAttrib1fv glad_glVertexAttrib1fv
|
|
GLAD_API_CALL PFNGLVERTEXATTRIB2FPROC glad_glVertexAttrib2f;
|
|
#define glVertexAttrib2f glad_glVertexAttrib2f
|
|
GLAD_API_CALL PFNGLVERTEXATTRIB2FVPROC glad_glVertexAttrib2fv;
|
|
#define glVertexAttrib2fv glad_glVertexAttrib2fv
|
|
GLAD_API_CALL PFNGLVERTEXATTRIB3FPROC glad_glVertexAttrib3f;
|
|
#define glVertexAttrib3f glad_glVertexAttrib3f
|
|
GLAD_API_CALL PFNGLVERTEXATTRIB3FVPROC glad_glVertexAttrib3fv;
|
|
#define glVertexAttrib3fv glad_glVertexAttrib3fv
|
|
GLAD_API_CALL PFNGLVERTEXATTRIB4FPROC glad_glVertexAttrib4f;
|
|
#define glVertexAttrib4f glad_glVertexAttrib4f
|
|
GLAD_API_CALL PFNGLVERTEXATTRIB4FVPROC glad_glVertexAttrib4fv;
|
|
#define glVertexAttrib4fv glad_glVertexAttrib4fv
|
|
GLAD_API_CALL PFNGLVERTEXATTRIBPOINTERPROC glad_glVertexAttribPointer;
|
|
#define glVertexAttribPointer glad_glVertexAttribPointer
|
|
GLAD_API_CALL PFNGLVIEWPORTPROC glad_glViewport;
|
|
#define glViewport glad_glViewport
|
|
|
|
|
|
|
|
|
|
|
|
GLAD_API_CALL int gladLoadGLES2UserPtr( GLADuserptrloadfunc load, void *userptr);
|
|
GLAD_API_CALL int gladLoadGLES2( GLADloadfunc load);
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
#endif
|
|
|
|
/* Source */
|
|
#ifdef GLAD_GLES2_IMPLEMENTATION
|
|
#include <stdio.h>
|
|
#include <stdlib.h>
|
|
#include <string.h>
|
|
|
|
#ifndef GLAD_IMPL_UTIL_C_
|
|
#define GLAD_IMPL_UTIL_C_
|
|
|
|
#ifdef _MSC_VER
|
|
#define GLAD_IMPL_UTIL_SSCANF sscanf_s
|
|
#else
|
|
#define GLAD_IMPL_UTIL_SSCANF sscanf
|
|
#endif
|
|
|
|
#endif /* GLAD_IMPL_UTIL_C_ */
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
|
|
|
|
int GLAD_GL_ES_VERSION_2_0 = 0;
|
|
|
|
|
|
|
|
PFNGLACTIVETEXTUREPROC glad_glActiveTexture = NULL;
|
|
PFNGLATTACHSHADERPROC glad_glAttachShader = NULL;
|
|
PFNGLBINDATTRIBLOCATIONPROC glad_glBindAttribLocation = NULL;
|
|
PFNGLBINDBUFFERPROC glad_glBindBuffer = NULL;
|
|
PFNGLBINDFRAMEBUFFERPROC glad_glBindFramebuffer = NULL;
|
|
PFNGLBINDRENDERBUFFERPROC glad_glBindRenderbuffer = NULL;
|
|
PFNGLBINDTEXTUREPROC glad_glBindTexture = NULL;
|
|
PFNGLBLENDCOLORPROC glad_glBlendColor = NULL;
|
|
PFNGLBLENDEQUATIONPROC glad_glBlendEquation = NULL;
|
|
PFNGLBLENDEQUATIONSEPARATEPROC glad_glBlendEquationSeparate = NULL;
|
|
PFNGLBLENDFUNCPROC glad_glBlendFunc = NULL;
|
|
PFNGLBLENDFUNCSEPARATEPROC glad_glBlendFuncSeparate = NULL;
|
|
PFNGLBUFFERDATAPROC glad_glBufferData = NULL;
|
|
PFNGLBUFFERSUBDATAPROC glad_glBufferSubData = NULL;
|
|
PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_glCheckFramebufferStatus = NULL;
|
|
PFNGLCLEARPROC glad_glClear = NULL;
|
|
PFNGLCLEARCOLORPROC glad_glClearColor = NULL;
|
|
PFNGLCLEARDEPTHFPROC glad_glClearDepthf = NULL;
|
|
PFNGLCLEARSTENCILPROC glad_glClearStencil = NULL;
|
|
PFNGLCOLORMASKPROC glad_glColorMask = NULL;
|
|
PFNGLCOMPILESHADERPROC glad_glCompileShader = NULL;
|
|
PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_glCompressedTexImage2D = NULL;
|
|
PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_glCompressedTexSubImage2D = NULL;
|
|
PFNGLCOPYTEXIMAGE2DPROC glad_glCopyTexImage2D = NULL;
|
|
PFNGLCOPYTEXSUBIMAGE2DPROC glad_glCopyTexSubImage2D = NULL;
|
|
PFNGLCREATEPROGRAMPROC glad_glCreateProgram = NULL;
|
|
PFNGLCREATESHADERPROC glad_glCreateShader = NULL;
|
|
PFNGLCULLFACEPROC glad_glCullFace = NULL;
|
|
PFNGLDELETEBUFFERSPROC glad_glDeleteBuffers = NULL;
|
|
PFNGLDELETEFRAMEBUFFERSPROC glad_glDeleteFramebuffers = NULL;
|
|
PFNGLDELETEPROGRAMPROC glad_glDeleteProgram = NULL;
|
|
PFNGLDELETERENDERBUFFERSPROC glad_glDeleteRenderbuffers = NULL;
|
|
PFNGLDELETESHADERPROC glad_glDeleteShader = NULL;
|
|
PFNGLDELETETEXTURESPROC glad_glDeleteTextures = NULL;
|
|
PFNGLDEPTHFUNCPROC glad_glDepthFunc = NULL;
|
|
PFNGLDEPTHMASKPROC glad_glDepthMask = NULL;
|
|
PFNGLDEPTHRANGEFPROC glad_glDepthRangef = NULL;
|
|
PFNGLDETACHSHADERPROC glad_glDetachShader = NULL;
|
|
PFNGLDISABLEPROC glad_glDisable = NULL;
|
|
PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_glDisableVertexAttribArray = NULL;
|
|
PFNGLDRAWARRAYSPROC glad_glDrawArrays = NULL;
|
|
PFNGLDRAWELEMENTSPROC glad_glDrawElements = NULL;
|
|
PFNGLENABLEPROC glad_glEnable = NULL;
|
|
PFNGLENABLEVERTEXATTRIBARRAYPROC glad_glEnableVertexAttribArray = NULL;
|
|
PFNGLFINISHPROC glad_glFinish = NULL;
|
|
PFNGLFLUSHPROC glad_glFlush = NULL;
|
|
PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_glFramebufferRenderbuffer = NULL;
|
|
PFNGLFRAMEBUFFERTEXTURE2DPROC glad_glFramebufferTexture2D = NULL;
|
|
PFNGLFRONTFACEPROC glad_glFrontFace = NULL;
|
|
PFNGLGENBUFFERSPROC glad_glGenBuffers = NULL;
|
|
PFNGLGENFRAMEBUFFERSPROC glad_glGenFramebuffers = NULL;
|
|
PFNGLGENRENDERBUFFERSPROC glad_glGenRenderbuffers = NULL;
|
|
PFNGLGENTEXTURESPROC glad_glGenTextures = NULL;
|
|
PFNGLGENERATEMIPMAPPROC glad_glGenerateMipmap = NULL;
|
|
PFNGLGETACTIVEATTRIBPROC glad_glGetActiveAttrib = NULL;
|
|
PFNGLGETACTIVEUNIFORMPROC glad_glGetActiveUniform = NULL;
|
|
PFNGLGETATTACHEDSHADERSPROC glad_glGetAttachedShaders = NULL;
|
|
PFNGLGETATTRIBLOCATIONPROC glad_glGetAttribLocation = NULL;
|
|
PFNGLGETBOOLEANVPROC glad_glGetBooleanv = NULL;
|
|
PFNGLGETBUFFERPARAMETERIVPROC glad_glGetBufferParameteriv = NULL;
|
|
PFNGLGETERRORPROC glad_glGetError = NULL;
|
|
PFNGLGETFLOATVPROC glad_glGetFloatv = NULL;
|
|
PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetFramebufferAttachmentParameteriv = NULL;
|
|
PFNGLGETINTEGERVPROC glad_glGetIntegerv = NULL;
|
|
PFNGLGETPROGRAMINFOLOGPROC glad_glGetProgramInfoLog = NULL;
|
|
PFNGLGETPROGRAMIVPROC glad_glGetProgramiv = NULL;
|
|
PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_glGetRenderbufferParameteriv = NULL;
|
|
PFNGLGETSHADERINFOLOGPROC glad_glGetShaderInfoLog = NULL;
|
|
PFNGLGETSHADERPRECISIONFORMATPROC glad_glGetShaderPrecisionFormat = NULL;
|
|
PFNGLGETSHADERSOURCEPROC glad_glGetShaderSource = NULL;
|
|
PFNGLGETSHADERIVPROC glad_glGetShaderiv = NULL;
|
|
PFNGLGETSTRINGPROC glad_glGetString = NULL;
|
|
PFNGLGETTEXPARAMETERFVPROC glad_glGetTexParameterfv = NULL;
|
|
PFNGLGETTEXPARAMETERIVPROC glad_glGetTexParameteriv = NULL;
|
|
PFNGLGETUNIFORMLOCATIONPROC glad_glGetUniformLocation = NULL;
|
|
PFNGLGETUNIFORMFVPROC glad_glGetUniformfv = NULL;
|
|
PFNGLGETUNIFORMIVPROC glad_glGetUniformiv = NULL;
|
|
PFNGLGETVERTEXATTRIBPOINTERVPROC glad_glGetVertexAttribPointerv = NULL;
|
|
PFNGLGETVERTEXATTRIBFVPROC glad_glGetVertexAttribfv = NULL;
|
|
PFNGLGETVERTEXATTRIBIVPROC glad_glGetVertexAttribiv = NULL;
|
|
PFNGLHINTPROC glad_glHint = NULL;
|
|
PFNGLISBUFFERPROC glad_glIsBuffer = NULL;
|
|
PFNGLISENABLEDPROC glad_glIsEnabled = NULL;
|
|
PFNGLISFRAMEBUFFERPROC glad_glIsFramebuffer = NULL;
|
|
PFNGLISPROGRAMPROC glad_glIsProgram = NULL;
|
|
PFNGLISRENDERBUFFERPROC glad_glIsRenderbuffer = NULL;
|
|
PFNGLISSHADERPROC glad_glIsShader = NULL;
|
|
PFNGLISTEXTUREPROC glad_glIsTexture = NULL;
|
|
PFNGLLINEWIDTHPROC glad_glLineWidth = NULL;
|
|
PFNGLLINKPROGRAMPROC glad_glLinkProgram = NULL;
|
|
PFNGLPIXELSTOREIPROC glad_glPixelStorei = NULL;
|
|
PFNGLPOLYGONOFFSETPROC glad_glPolygonOffset = NULL;
|
|
PFNGLREADPIXELSPROC glad_glReadPixels = NULL;
|
|
PFNGLRELEASESHADERCOMPILERPROC glad_glReleaseShaderCompiler = NULL;
|
|
PFNGLRENDERBUFFERSTORAGEPROC glad_glRenderbufferStorage = NULL;
|
|
PFNGLSAMPLECOVERAGEPROC glad_glSampleCoverage = NULL;
|
|
PFNGLSCISSORPROC glad_glScissor = NULL;
|
|
PFNGLSHADERBINARYPROC glad_glShaderBinary = NULL;
|
|
PFNGLSHADERSOURCEPROC glad_glShaderSource = NULL;
|
|
PFNGLSTENCILFUNCPROC glad_glStencilFunc = NULL;
|
|
PFNGLSTENCILFUNCSEPARATEPROC glad_glStencilFuncSeparate = NULL;
|
|
PFNGLSTENCILMASKPROC glad_glStencilMask = NULL;
|
|
PFNGLSTENCILMASKSEPARATEPROC glad_glStencilMaskSeparate = NULL;
|
|
PFNGLSTENCILOPPROC glad_glStencilOp = NULL;
|
|
PFNGLSTENCILOPSEPARATEPROC glad_glStencilOpSeparate = NULL;
|
|
PFNGLTEXIMAGE2DPROC glad_glTexImage2D = NULL;
|
|
PFNGLTEXPARAMETERFPROC glad_glTexParameterf = NULL;
|
|
PFNGLTEXPARAMETERFVPROC glad_glTexParameterfv = NULL;
|
|
PFNGLTEXPARAMETERIPROC glad_glTexParameteri = NULL;
|
|
PFNGLTEXPARAMETERIVPROC glad_glTexParameteriv = NULL;
|
|
PFNGLTEXSUBIMAGE2DPROC glad_glTexSubImage2D = NULL;
|
|
PFNGLUNIFORM1FPROC glad_glUniform1f = NULL;
|
|
PFNGLUNIFORM1FVPROC glad_glUniform1fv = NULL;
|
|
PFNGLUNIFORM1IPROC glad_glUniform1i = NULL;
|
|
PFNGLUNIFORM1IVPROC glad_glUniform1iv = NULL;
|
|
PFNGLUNIFORM2FPROC glad_glUniform2f = NULL;
|
|
PFNGLUNIFORM2FVPROC glad_glUniform2fv = NULL;
|
|
PFNGLUNIFORM2IPROC glad_glUniform2i = NULL;
|
|
PFNGLUNIFORM2IVPROC glad_glUniform2iv = NULL;
|
|
PFNGLUNIFORM3FPROC glad_glUniform3f = NULL;
|
|
PFNGLUNIFORM3FVPROC glad_glUniform3fv = NULL;
|
|
PFNGLUNIFORM3IPROC glad_glUniform3i = NULL;
|
|
PFNGLUNIFORM3IVPROC glad_glUniform3iv = NULL;
|
|
PFNGLUNIFORM4FPROC glad_glUniform4f = NULL;
|
|
PFNGLUNIFORM4FVPROC glad_glUniform4fv = NULL;
|
|
PFNGLUNIFORM4IPROC glad_glUniform4i = NULL;
|
|
PFNGLUNIFORM4IVPROC glad_glUniform4iv = NULL;
|
|
PFNGLUNIFORMMATRIX2FVPROC glad_glUniformMatrix2fv = NULL;
|
|
PFNGLUNIFORMMATRIX3FVPROC glad_glUniformMatrix3fv = NULL;
|
|
PFNGLUNIFORMMATRIX4FVPROC glad_glUniformMatrix4fv = NULL;
|
|
PFNGLUSEPROGRAMPROC glad_glUseProgram = NULL;
|
|
PFNGLVALIDATEPROGRAMPROC glad_glValidateProgram = NULL;
|
|
PFNGLVERTEXATTRIB1FPROC glad_glVertexAttrib1f = NULL;
|
|
PFNGLVERTEXATTRIB1FVPROC glad_glVertexAttrib1fv = NULL;
|
|
PFNGLVERTEXATTRIB2FPROC glad_glVertexAttrib2f = NULL;
|
|
PFNGLVERTEXATTRIB2FVPROC glad_glVertexAttrib2fv = NULL;
|
|
PFNGLVERTEXATTRIB3FPROC glad_glVertexAttrib3f = NULL;
|
|
PFNGLVERTEXATTRIB3FVPROC glad_glVertexAttrib3fv = NULL;
|
|
PFNGLVERTEXATTRIB4FPROC glad_glVertexAttrib4f = NULL;
|
|
PFNGLVERTEXATTRIB4FVPROC glad_glVertexAttrib4fv = NULL;
|
|
PFNGLVERTEXATTRIBPOINTERPROC glad_glVertexAttribPointer = NULL;
|
|
PFNGLVIEWPORTPROC glad_glViewport = NULL;
|
|
|
|
|
|
static void glad_gl_load_GL_ES_VERSION_2_0( GLADuserptrloadfunc load, void* userptr) {
|
|
if(!GLAD_GL_ES_VERSION_2_0) return;
|
|
glad_glActiveTexture = (PFNGLACTIVETEXTUREPROC) load(userptr, "glActiveTexture");
|
|
glad_glAttachShader = (PFNGLATTACHSHADERPROC) load(userptr, "glAttachShader");
|
|
glad_glBindAttribLocation = (PFNGLBINDATTRIBLOCATIONPROC) load(userptr, "glBindAttribLocation");
|
|
glad_glBindBuffer = (PFNGLBINDBUFFERPROC) load(userptr, "glBindBuffer");
|
|
glad_glBindFramebuffer = (PFNGLBINDFRAMEBUFFERPROC) load(userptr, "glBindFramebuffer");
|
|
glad_glBindRenderbuffer = (PFNGLBINDRENDERBUFFERPROC) load(userptr, "glBindRenderbuffer");
|
|
glad_glBindTexture = (PFNGLBINDTEXTUREPROC) load(userptr, "glBindTexture");
|
|
glad_glBlendColor = (PFNGLBLENDCOLORPROC) load(userptr, "glBlendColor");
|
|
glad_glBlendEquation = (PFNGLBLENDEQUATIONPROC) load(userptr, "glBlendEquation");
|
|
glad_glBlendEquationSeparate = (PFNGLBLENDEQUATIONSEPARATEPROC) load(userptr, "glBlendEquationSeparate");
|
|
glad_glBlendFunc = (PFNGLBLENDFUNCPROC) load(userptr, "glBlendFunc");
|
|
glad_glBlendFuncSeparate = (PFNGLBLENDFUNCSEPARATEPROC) load(userptr, "glBlendFuncSeparate");
|
|
glad_glBufferData = (PFNGLBUFFERDATAPROC) load(userptr, "glBufferData");
|
|
glad_glBufferSubData = (PFNGLBUFFERSUBDATAPROC) load(userptr, "glBufferSubData");
|
|
glad_glCheckFramebufferStatus = (PFNGLCHECKFRAMEBUFFERSTATUSPROC) load(userptr, "glCheckFramebufferStatus");
|
|
glad_glClear = (PFNGLCLEARPROC) load(userptr, "glClear");
|
|
glad_glClearColor = (PFNGLCLEARCOLORPROC) load(userptr, "glClearColor");
|
|
glad_glClearDepthf = (PFNGLCLEARDEPTHFPROC) load(userptr, "glClearDepthf");
|
|
glad_glClearStencil = (PFNGLCLEARSTENCILPROC) load(userptr, "glClearStencil");
|
|
glad_glColorMask = (PFNGLCOLORMASKPROC) load(userptr, "glColorMask");
|
|
glad_glCompileShader = (PFNGLCOMPILESHADERPROC) load(userptr, "glCompileShader");
|
|
glad_glCompressedTexImage2D = (PFNGLCOMPRESSEDTEXIMAGE2DPROC) load(userptr, "glCompressedTexImage2D");
|
|
glad_glCompressedTexSubImage2D = (PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) load(userptr, "glCompressedTexSubImage2D");
|
|
glad_glCopyTexImage2D = (PFNGLCOPYTEXIMAGE2DPROC) load(userptr, "glCopyTexImage2D");
|
|
glad_glCopyTexSubImage2D = (PFNGLCOPYTEXSUBIMAGE2DPROC) load(userptr, "glCopyTexSubImage2D");
|
|
glad_glCreateProgram = (PFNGLCREATEPROGRAMPROC) load(userptr, "glCreateProgram");
|
|
glad_glCreateShader = (PFNGLCREATESHADERPROC) load(userptr, "glCreateShader");
|
|
glad_glCullFace = (PFNGLCULLFACEPROC) load(userptr, "glCullFace");
|
|
glad_glDeleteBuffers = (PFNGLDELETEBUFFERSPROC) load(userptr, "glDeleteBuffers");
|
|
glad_glDeleteFramebuffers = (PFNGLDELETEFRAMEBUFFERSPROC) load(userptr, "glDeleteFramebuffers");
|
|
glad_glDeleteProgram = (PFNGLDELETEPROGRAMPROC) load(userptr, "glDeleteProgram");
|
|
glad_glDeleteRenderbuffers = (PFNGLDELETERENDERBUFFERSPROC) load(userptr, "glDeleteRenderbuffers");
|
|
glad_glDeleteShader = (PFNGLDELETESHADERPROC) load(userptr, "glDeleteShader");
|
|
glad_glDeleteTextures = (PFNGLDELETETEXTURESPROC) load(userptr, "glDeleteTextures");
|
|
glad_glDepthFunc = (PFNGLDEPTHFUNCPROC) load(userptr, "glDepthFunc");
|
|
glad_glDepthMask = (PFNGLDEPTHMASKPROC) load(userptr, "glDepthMask");
|
|
glad_glDepthRangef = (PFNGLDEPTHRANGEFPROC) load(userptr, "glDepthRangef");
|
|
glad_glDetachShader = (PFNGLDETACHSHADERPROC) load(userptr, "glDetachShader");
|
|
glad_glDisable = (PFNGLDISABLEPROC) load(userptr, "glDisable");
|
|
glad_glDisableVertexAttribArray = (PFNGLDISABLEVERTEXATTRIBARRAYPROC) load(userptr, "glDisableVertexAttribArray");
|
|
glad_glDrawArrays = (PFNGLDRAWARRAYSPROC) load(userptr, "glDrawArrays");
|
|
glad_glDrawElements = (PFNGLDRAWELEMENTSPROC) load(userptr, "glDrawElements");
|
|
glad_glEnable = (PFNGLENABLEPROC) load(userptr, "glEnable");
|
|
glad_glEnableVertexAttribArray = (PFNGLENABLEVERTEXATTRIBARRAYPROC) load(userptr, "glEnableVertexAttribArray");
|
|
glad_glFinish = (PFNGLFINISHPROC) load(userptr, "glFinish");
|
|
glad_glFlush = (PFNGLFLUSHPROC) load(userptr, "glFlush");
|
|
glad_glFramebufferRenderbuffer = (PFNGLFRAMEBUFFERRENDERBUFFERPROC) load(userptr, "glFramebufferRenderbuffer");
|
|
glad_glFramebufferTexture2D = (PFNGLFRAMEBUFFERTEXTURE2DPROC) load(userptr, "glFramebufferTexture2D");
|
|
glad_glFrontFace = (PFNGLFRONTFACEPROC) load(userptr, "glFrontFace");
|
|
glad_glGenBuffers = (PFNGLGENBUFFERSPROC) load(userptr, "glGenBuffers");
|
|
glad_glGenFramebuffers = (PFNGLGENFRAMEBUFFERSPROC) load(userptr, "glGenFramebuffers");
|
|
glad_glGenRenderbuffers = (PFNGLGENRENDERBUFFERSPROC) load(userptr, "glGenRenderbuffers");
|
|
glad_glGenTextures = (PFNGLGENTEXTURESPROC) load(userptr, "glGenTextures");
|
|
glad_glGenerateMipmap = (PFNGLGENERATEMIPMAPPROC) load(userptr, "glGenerateMipmap");
|
|
glad_glGetActiveAttrib = (PFNGLGETACTIVEATTRIBPROC) load(userptr, "glGetActiveAttrib");
|
|
glad_glGetActiveUniform = (PFNGLGETACTIVEUNIFORMPROC) load(userptr, "glGetActiveUniform");
|
|
glad_glGetAttachedShaders = (PFNGLGETATTACHEDSHADERSPROC) load(userptr, "glGetAttachedShaders");
|
|
glad_glGetAttribLocation = (PFNGLGETATTRIBLOCATIONPROC) load(userptr, "glGetAttribLocation");
|
|
glad_glGetBooleanv = (PFNGLGETBOOLEANVPROC) load(userptr, "glGetBooleanv");
|
|
glad_glGetBufferParameteriv = (PFNGLGETBUFFERPARAMETERIVPROC) load(userptr, "glGetBufferParameteriv");
|
|
glad_glGetError = (PFNGLGETERRORPROC) load(userptr, "glGetError");
|
|
glad_glGetFloatv = (PFNGLGETFLOATVPROC) load(userptr, "glGetFloatv");
|
|
glad_glGetFramebufferAttachmentParameteriv = (PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) load(userptr, "glGetFramebufferAttachmentParameteriv");
|
|
glad_glGetIntegerv = (PFNGLGETINTEGERVPROC) load(userptr, "glGetIntegerv");
|
|
glad_glGetProgramInfoLog = (PFNGLGETPROGRAMINFOLOGPROC) load(userptr, "glGetProgramInfoLog");
|
|
glad_glGetProgramiv = (PFNGLGETPROGRAMIVPROC) load(userptr, "glGetProgramiv");
|
|
glad_glGetRenderbufferParameteriv = (PFNGLGETRENDERBUFFERPARAMETERIVPROC) load(userptr, "glGetRenderbufferParameteriv");
|
|
glad_glGetShaderInfoLog = (PFNGLGETSHADERINFOLOGPROC) load(userptr, "glGetShaderInfoLog");
|
|
glad_glGetShaderPrecisionFormat = (PFNGLGETSHADERPRECISIONFORMATPROC) load(userptr, "glGetShaderPrecisionFormat");
|
|
glad_glGetShaderSource = (PFNGLGETSHADERSOURCEPROC) load(userptr, "glGetShaderSource");
|
|
glad_glGetShaderiv = (PFNGLGETSHADERIVPROC) load(userptr, "glGetShaderiv");
|
|
glad_glGetString = (PFNGLGETSTRINGPROC) load(userptr, "glGetString");
|
|
glad_glGetTexParameterfv = (PFNGLGETTEXPARAMETERFVPROC) load(userptr, "glGetTexParameterfv");
|
|
glad_glGetTexParameteriv = (PFNGLGETTEXPARAMETERIVPROC) load(userptr, "glGetTexParameteriv");
|
|
glad_glGetUniformLocation = (PFNGLGETUNIFORMLOCATIONPROC) load(userptr, "glGetUniformLocation");
|
|
glad_glGetUniformfv = (PFNGLGETUNIFORMFVPROC) load(userptr, "glGetUniformfv");
|
|
glad_glGetUniformiv = (PFNGLGETUNIFORMIVPROC) load(userptr, "glGetUniformiv");
|
|
glad_glGetVertexAttribPointerv = (PFNGLGETVERTEXATTRIBPOINTERVPROC) load(userptr, "glGetVertexAttribPointerv");
|
|
glad_glGetVertexAttribfv = (PFNGLGETVERTEXATTRIBFVPROC) load(userptr, "glGetVertexAttribfv");
|
|
glad_glGetVertexAttribiv = (PFNGLGETVERTEXATTRIBIVPROC) load(userptr, "glGetVertexAttribiv");
|
|
glad_glHint = (PFNGLHINTPROC) load(userptr, "glHint");
|
|
glad_glIsBuffer = (PFNGLISBUFFERPROC) load(userptr, "glIsBuffer");
|
|
glad_glIsEnabled = (PFNGLISENABLEDPROC) load(userptr, "glIsEnabled");
|
|
glad_glIsFramebuffer = (PFNGLISFRAMEBUFFERPROC) load(userptr, "glIsFramebuffer");
|
|
glad_glIsProgram = (PFNGLISPROGRAMPROC) load(userptr, "glIsProgram");
|
|
glad_glIsRenderbuffer = (PFNGLISRENDERBUFFERPROC) load(userptr, "glIsRenderbuffer");
|
|
glad_glIsShader = (PFNGLISSHADERPROC) load(userptr, "glIsShader");
|
|
glad_glIsTexture = (PFNGLISTEXTUREPROC) load(userptr, "glIsTexture");
|
|
glad_glLineWidth = (PFNGLLINEWIDTHPROC) load(userptr, "glLineWidth");
|
|
glad_glLinkProgram = (PFNGLLINKPROGRAMPROC) load(userptr, "glLinkProgram");
|
|
glad_glPixelStorei = (PFNGLPIXELSTOREIPROC) load(userptr, "glPixelStorei");
|
|
glad_glPolygonOffset = (PFNGLPOLYGONOFFSETPROC) load(userptr, "glPolygonOffset");
|
|
glad_glReadPixels = (PFNGLREADPIXELSPROC) load(userptr, "glReadPixels");
|
|
glad_glReleaseShaderCompiler = (PFNGLRELEASESHADERCOMPILERPROC) load(userptr, "glReleaseShaderCompiler");
|
|
glad_glRenderbufferStorage = (PFNGLRENDERBUFFERSTORAGEPROC) load(userptr, "glRenderbufferStorage");
|
|
glad_glSampleCoverage = (PFNGLSAMPLECOVERAGEPROC) load(userptr, "glSampleCoverage");
|
|
glad_glScissor = (PFNGLSCISSORPROC) load(userptr, "glScissor");
|
|
glad_glShaderBinary = (PFNGLSHADERBINARYPROC) load(userptr, "glShaderBinary");
|
|
glad_glShaderSource = (PFNGLSHADERSOURCEPROC) load(userptr, "glShaderSource");
|
|
glad_glStencilFunc = (PFNGLSTENCILFUNCPROC) load(userptr, "glStencilFunc");
|
|
glad_glStencilFuncSeparate = (PFNGLSTENCILFUNCSEPARATEPROC) load(userptr, "glStencilFuncSeparate");
|
|
glad_glStencilMask = (PFNGLSTENCILMASKPROC) load(userptr, "glStencilMask");
|
|
glad_glStencilMaskSeparate = (PFNGLSTENCILMASKSEPARATEPROC) load(userptr, "glStencilMaskSeparate");
|
|
glad_glStencilOp = (PFNGLSTENCILOPPROC) load(userptr, "glStencilOp");
|
|
glad_glStencilOpSeparate = (PFNGLSTENCILOPSEPARATEPROC) load(userptr, "glStencilOpSeparate");
|
|
glad_glTexImage2D = (PFNGLTEXIMAGE2DPROC) load(userptr, "glTexImage2D");
|
|
glad_glTexParameterf = (PFNGLTEXPARAMETERFPROC) load(userptr, "glTexParameterf");
|
|
glad_glTexParameterfv = (PFNGLTEXPARAMETERFVPROC) load(userptr, "glTexParameterfv");
|
|
glad_glTexParameteri = (PFNGLTEXPARAMETERIPROC) load(userptr, "glTexParameteri");
|
|
glad_glTexParameteriv = (PFNGLTEXPARAMETERIVPROC) load(userptr, "glTexParameteriv");
|
|
glad_glTexSubImage2D = (PFNGLTEXSUBIMAGE2DPROC) load(userptr, "glTexSubImage2D");
|
|
glad_glUniform1f = (PFNGLUNIFORM1FPROC) load(userptr, "glUniform1f");
|
|
glad_glUniform1fv = (PFNGLUNIFORM1FVPROC) load(userptr, "glUniform1fv");
|
|
glad_glUniform1i = (PFNGLUNIFORM1IPROC) load(userptr, "glUniform1i");
|
|
glad_glUniform1iv = (PFNGLUNIFORM1IVPROC) load(userptr, "glUniform1iv");
|
|
glad_glUniform2f = (PFNGLUNIFORM2FPROC) load(userptr, "glUniform2f");
|
|
glad_glUniform2fv = (PFNGLUNIFORM2FVPROC) load(userptr, "glUniform2fv");
|
|
glad_glUniform2i = (PFNGLUNIFORM2IPROC) load(userptr, "glUniform2i");
|
|
glad_glUniform2iv = (PFNGLUNIFORM2IVPROC) load(userptr, "glUniform2iv");
|
|
glad_glUniform3f = (PFNGLUNIFORM3FPROC) load(userptr, "glUniform3f");
|
|
glad_glUniform3fv = (PFNGLUNIFORM3FVPROC) load(userptr, "glUniform3fv");
|
|
glad_glUniform3i = (PFNGLUNIFORM3IPROC) load(userptr, "glUniform3i");
|
|
glad_glUniform3iv = (PFNGLUNIFORM3IVPROC) load(userptr, "glUniform3iv");
|
|
glad_glUniform4f = (PFNGLUNIFORM4FPROC) load(userptr, "glUniform4f");
|
|
glad_glUniform4fv = (PFNGLUNIFORM4FVPROC) load(userptr, "glUniform4fv");
|
|
glad_glUniform4i = (PFNGLUNIFORM4IPROC) load(userptr, "glUniform4i");
|
|
glad_glUniform4iv = (PFNGLUNIFORM4IVPROC) load(userptr, "glUniform4iv");
|
|
glad_glUniformMatrix2fv = (PFNGLUNIFORMMATRIX2FVPROC) load(userptr, "glUniformMatrix2fv");
|
|
glad_glUniformMatrix3fv = (PFNGLUNIFORMMATRIX3FVPROC) load(userptr, "glUniformMatrix3fv");
|
|
glad_glUniformMatrix4fv = (PFNGLUNIFORMMATRIX4FVPROC) load(userptr, "glUniformMatrix4fv");
|
|
glad_glUseProgram = (PFNGLUSEPROGRAMPROC) load(userptr, "glUseProgram");
|
|
glad_glValidateProgram = (PFNGLVALIDATEPROGRAMPROC) load(userptr, "glValidateProgram");
|
|
glad_glVertexAttrib1f = (PFNGLVERTEXATTRIB1FPROC) load(userptr, "glVertexAttrib1f");
|
|
glad_glVertexAttrib1fv = (PFNGLVERTEXATTRIB1FVPROC) load(userptr, "glVertexAttrib1fv");
|
|
glad_glVertexAttrib2f = (PFNGLVERTEXATTRIB2FPROC) load(userptr, "glVertexAttrib2f");
|
|
glad_glVertexAttrib2fv = (PFNGLVERTEXATTRIB2FVPROC) load(userptr, "glVertexAttrib2fv");
|
|
glad_glVertexAttrib3f = (PFNGLVERTEXATTRIB3FPROC) load(userptr, "glVertexAttrib3f");
|
|
glad_glVertexAttrib3fv = (PFNGLVERTEXATTRIB3FVPROC) load(userptr, "glVertexAttrib3fv");
|
|
glad_glVertexAttrib4f = (PFNGLVERTEXATTRIB4FPROC) load(userptr, "glVertexAttrib4f");
|
|
glad_glVertexAttrib4fv = (PFNGLVERTEXATTRIB4FVPROC) load(userptr, "glVertexAttrib4fv");
|
|
glad_glVertexAttribPointer = (PFNGLVERTEXATTRIBPOINTERPROC) load(userptr, "glVertexAttribPointer");
|
|
glad_glViewport = (PFNGLVIEWPORTPROC) load(userptr, "glViewport");
|
|
}
|
|
|
|
|
|
|
|
#if defined(GL_ES_VERSION_3_0) || defined(GL_VERSION_3_0)
|
|
#define GLAD_GL_IS_SOME_NEW_VERSION 1
|
|
#else
|
|
#define GLAD_GL_IS_SOME_NEW_VERSION 0
|
|
#endif
|
|
|
|
static int glad_gl_get_extensions( int version, const char **out_exts, unsigned int *out_num_exts_i, char ***out_exts_i) {
|
|
#if GLAD_GL_IS_SOME_NEW_VERSION
|
|
if(GLAD_VERSION_MAJOR(version) < 3) {
|
|
#else
|
|
(void) version;
|
|
(void) out_num_exts_i;
|
|
(void) out_exts_i;
|
|
#endif
|
|
if (glad_glGetString == NULL) {
|
|
return 0;
|
|
}
|
|
*out_exts = (const char *)glad_glGetString(GL_EXTENSIONS);
|
|
#if GLAD_GL_IS_SOME_NEW_VERSION
|
|
} else {
|
|
unsigned int index = 0;
|
|
unsigned int num_exts_i = 0;
|
|
char **exts_i = NULL;
|
|
if (glad_glGetStringi == NULL || glad_glGetIntegerv == NULL) {
|
|
return 0;
|
|
}
|
|
glad_glGetIntegerv(GL_NUM_EXTENSIONS, (int*) &num_exts_i);
|
|
if (num_exts_i > 0) {
|
|
exts_i = (char **) malloc(num_exts_i * (sizeof *exts_i));
|
|
}
|
|
if (exts_i == NULL) {
|
|
return 0;
|
|
}
|
|
for(index = 0; index < num_exts_i; index++) {
|
|
const char *gl_str_tmp = (const char*) glad_glGetStringi(GL_EXTENSIONS, index);
|
|
size_t len = strlen(gl_str_tmp) + 1;
|
|
|
|
char *local_str = (char*) malloc(len * sizeof(char));
|
|
if(local_str != NULL) {
|
|
memcpy(local_str, gl_str_tmp, len * sizeof(char));
|
|
}
|
|
|
|
exts_i[index] = local_str;
|
|
}
|
|
|
|
*out_num_exts_i = num_exts_i;
|
|
*out_exts_i = exts_i;
|
|
}
|
|
#endif
|
|
return 1;
|
|
}
|
|
static void glad_gl_free_extensions(char **exts_i, unsigned int num_exts_i) {
|
|
if (exts_i != NULL) {
|
|
unsigned int index;
|
|
for(index = 0; index < num_exts_i; index++) {
|
|
free((void *) (exts_i[index]));
|
|
}
|
|
free((void *)exts_i);
|
|
exts_i = NULL;
|
|
}
|
|
}
|
|
static int glad_gl_has_extension(int version, const char *exts, unsigned int num_exts_i, char **exts_i, const char *ext) {
|
|
if(GLAD_VERSION_MAJOR(version) < 3 || !GLAD_GL_IS_SOME_NEW_VERSION) {
|
|
const char *extensions;
|
|
const char *loc;
|
|
const char *terminator;
|
|
extensions = exts;
|
|
if(extensions == NULL || ext == NULL) {
|
|
return 0;
|
|
}
|
|
while(1) {
|
|
loc = strstr(extensions, ext);
|
|
if(loc == NULL) {
|
|
return 0;
|
|
}
|
|
terminator = loc + strlen(ext);
|
|
if((loc == extensions || *(loc - 1) == ' ') &&
|
|
(*terminator == ' ' || *terminator == '\0')) {
|
|
return 1;
|
|
}
|
|
extensions = terminator;
|
|
}
|
|
} else {
|
|
unsigned int index;
|
|
for(index = 0; index < num_exts_i; index++) {
|
|
const char *e = exts_i[index];
|
|
if(strcmp(e, ext) == 0) {
|
|
return 1;
|
|
}
|
|
}
|
|
}
|
|
return 0;
|
|
}
|
|
|
|
static GLADapiproc glad_gl_get_proc_from_userptr(void *userptr, const char* name) {
|
|
return (GLAD_GNUC_EXTENSION (GLADapiproc (*)(const char *name)) userptr)(name);
|
|
}
|
|
|
|
static int glad_gl_find_extensions_gles2( int version) {
|
|
const char *exts = NULL;
|
|
unsigned int num_exts_i = 0;
|
|
char **exts_i = NULL;
|
|
if (!glad_gl_get_extensions(version, &exts, &num_exts_i, &exts_i)) return 0;
|
|
|
|
(void) glad_gl_has_extension;
|
|
|
|
glad_gl_free_extensions(exts_i, num_exts_i);
|
|
|
|
return 1;
|
|
}
|
|
|
|
static int glad_gl_find_core_gles2(void) {
|
|
int i;
|
|
const char* version;
|
|
const char* prefixes[] = {
|
|
"OpenGL ES-CM ",
|
|
"OpenGL ES-CL ",
|
|
"OpenGL ES ",
|
|
"OpenGL SC ",
|
|
NULL
|
|
};
|
|
int major = 0;
|
|
int minor = 0;
|
|
version = (const char*) glad_glGetString(GL_VERSION);
|
|
if (!version) return 0;
|
|
for (i = 0; prefixes[i]; i++) {
|
|
const size_t length = strlen(prefixes[i]);
|
|
if (strncmp(version, prefixes[i], length) == 0) {
|
|
version += length;
|
|
break;
|
|
}
|
|
}
|
|
|
|
GLAD_IMPL_UTIL_SSCANF(version, "%d.%d", &major, &minor);
|
|
|
|
GLAD_GL_ES_VERSION_2_0 = (major == 2 && minor >= 0) || major > 2;
|
|
|
|
return GLAD_MAKE_VERSION(major, minor);
|
|
}
|
|
|
|
int gladLoadGLES2UserPtr( GLADuserptrloadfunc load, void *userptr) {
|
|
int version;
|
|
|
|
glad_glGetString = (PFNGLGETSTRINGPROC) load(userptr, "glGetString");
|
|
if(glad_glGetString == NULL) return 0;
|
|
if(glad_glGetString(GL_VERSION) == NULL) return 0;
|
|
version = glad_gl_find_core_gles2();
|
|
|
|
glad_gl_load_GL_ES_VERSION_2_0(load, userptr);
|
|
|
|
if (!glad_gl_find_extensions_gles2(version)) return 0;
|
|
|
|
|
|
|
|
return version;
|
|
}
|
|
|
|
|
|
int gladLoadGLES2( GLADloadfunc load) {
|
|
return gladLoadGLES2UserPtr( glad_gl_get_proc_from_userptr, GLAD_GNUC_EXTENSION (void*) load);
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|
|
|
|
#endif /* GLAD_GLES2_IMPLEMENTATION */
|
|
|