nostalgia/deps/glad/gles2.h
Gary Talent 26c8cc348e Squashed 'deps/glfw/' changes from 7d5a16ce7..7b6aead9f
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
2024-05-31 19:26:05 -05:00

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 */