From 5ecb721dac8f918751e9bf948395a4ce12e42647 Mon Sep 17 00:00:00 2001 From: shariq Date: Sat, 28 Oct 2017 23:02:00 +0500 Subject: [PATCH] Changed where third party libs' files are placed in the project --- README.md | 6 +- build/genie.lua | 51 +- include/{ => common}/KHR/khrplatform.h | 3 +- include/{ => common}/glad/glad.h | 1185 +++++--- include/{ => common}/nuklear.h | 0 .../common/soloud}/soloud.h | 0 .../common/soloud}/soloud_audiosource.h | 0 .../common/soloud}/soloud_bassboostfilter.h | 0 .../soloud}/soloud_biquadresonantfilter.h | 0 .../common/soloud}/soloud_bus.h | 0 .../common/soloud}/soloud_c.h | 0 .../common/soloud}/soloud_dcremovalfilter.h | 0 .../common/soloud}/soloud_echofilter.h | 0 .../common/soloud}/soloud_error.h | 0 .../common/soloud}/soloud_fader.h | 0 .../common/soloud}/soloud_fft.h | 0 .../common/soloud}/soloud_fftfilter.h | 0 .../common/soloud}/soloud_file.h | 0 .../common/soloud}/soloud_file_hack_off.h | 0 .../common/soloud}/soloud_file_hack_on.h | 0 .../common/soloud}/soloud_filter.h | 0 .../common/soloud}/soloud_flangerfilter.h | 0 .../common/soloud}/soloud_internal.h | 0 .../common/soloud}/soloud_lofifilter.h | 0 .../common/soloud}/soloud_monotone.h | 0 .../common/soloud}/soloud_openmpt.h | 0 .../common/soloud}/soloud_sfxr.h | 0 .../common/soloud}/soloud_speech.h | 0 .../common/soloud}/soloud_tedsid.h | 0 .../common/soloud}/soloud_thread.h | 0 .../common/soloud}/soloud_vic.h | 0 .../common/soloud}/soloud_wav.h | 0 .../common/soloud}/soloud_wavstream.h | 0 .../include/SDL => include/linux/sdl2}/SDL.h | 0 .../SDL => include/linux/sdl2}/SDL_assert.h | 0 .../SDL => include/linux/sdl2}/SDL_atomic.h | 0 .../SDL => include/linux/sdl2}/SDL_audio.h | 0 .../SDL => include/linux/sdl2}/SDL_bits.h | 0 .../linux/sdl2}/SDL_blendmode.h | 0 .../linux/sdl2}/SDL_clipboard.h | 0 .../SDL => include/linux/sdl2}/SDL_config.h | 0 .../SDL => include/linux/sdl2}/SDL_cpuinfo.h | 0 .../SDL => include/linux/sdl2}/SDL_egl.h | 0 .../SDL => include/linux/sdl2}/SDL_endian.h | 0 .../SDL => include/linux/sdl2}/SDL_error.h | 0 .../SDL => include/linux/sdl2}/SDL_events.h | 0 .../linux/sdl2}/SDL_filesystem.h | 0 .../linux/sdl2}/SDL_gamecontroller.h | 0 .../SDL => include/linux/sdl2}/SDL_gesture.h | 0 .../SDL => include/linux/sdl2}/SDL_haptic.h | 0 .../SDL => include/linux/sdl2}/SDL_hints.h | 0 .../SDL => include/linux/sdl2}/SDL_joystick.h | 0 .../SDL => include/linux/sdl2}/SDL_keyboard.h | 0 .../SDL => include/linux/sdl2}/SDL_keycode.h | 0 .../SDL => include/linux/sdl2}/SDL_loadso.h | 0 .../SDL => include/linux/sdl2}/SDL_log.h | 0 .../SDL => include/linux/sdl2}/SDL_main.h | 0 .../linux/sdl2}/SDL_messagebox.h | 0 .../SDL => include/linux/sdl2}/SDL_mouse.h | 0 .../SDL => include/linux/sdl2}/SDL_mutex.h | 0 .../SDL => include/linux/sdl2}/SDL_name.h | 0 .../SDL => include/linux/sdl2}/SDL_opengl.h | 0 .../linux/sdl2}/SDL_opengl_glext.h | 0 .../SDL => include/linux/sdl2}/SDL_opengles.h | 0 .../linux/sdl2}/SDL_opengles2.h | 0 .../linux/sdl2}/SDL_opengles2_gl2.h | 0 .../linux/sdl2}/SDL_opengles2_gl2ext.h | 0 .../linux/sdl2}/SDL_opengles2_gl2platform.h | 0 .../linux/sdl2}/SDL_opengles2_khrplatform.h | 0 .../SDL => include/linux/sdl2}/SDL_pixels.h | 0 .../SDL => include/linux/sdl2}/SDL_platform.h | 0 .../SDL => include/linux/sdl2}/SDL_power.h | 0 .../SDL => include/linux/sdl2}/SDL_quit.h | 0 .../SDL => include/linux/sdl2}/SDL_rect.h | 0 .../SDL => include/linux/sdl2}/SDL_render.h | 0 .../SDL => include/linux/sdl2}/SDL_revision.h | 0 .../SDL => include/linux/sdl2}/SDL_rwops.h | 0 .../SDL => include/linux/sdl2}/SDL_scancode.h | 0 .../SDL => include/linux/sdl2}/SDL_shape.h | 0 .../SDL => include/linux/sdl2}/SDL_stdinc.h | 0 .../SDL => include/linux/sdl2}/SDL_surface.h | 0 .../SDL => include/linux/sdl2}/SDL_system.h | 0 .../SDL => include/linux/sdl2}/SDL_syswm.h | 0 .../SDL => include/linux/sdl2}/SDL_test.h | 0 .../linux/sdl2}/SDL_test_assert.h | 0 .../linux/sdl2}/SDL_test_common.h | 0 .../linux/sdl2}/SDL_test_compare.h | 0 .../linux/sdl2}/SDL_test_crc32.h | 0 .../linux/sdl2}/SDL_test_font.h | 0 .../linux/sdl2}/SDL_test_fuzzer.h | 0 .../linux/sdl2}/SDL_test_harness.h | 0 .../linux/sdl2}/SDL_test_images.h | 0 .../SDL => include/linux/sdl2}/SDL_test_log.h | 0 .../SDL => include/linux/sdl2}/SDL_test_md5.h | 0 .../linux/sdl2}/SDL_test_memory.h | 0 .../linux/sdl2}/SDL_test_random.h | 0 .../SDL => include/linux/sdl2}/SDL_thread.h | 0 .../SDL => include/linux/sdl2}/SDL_timer.h | 0 .../SDL => include/linux/sdl2}/SDL_touch.h | 0 .../SDL => include/linux/sdl2}/SDL_types.h | 0 .../SDL => include/linux/sdl2}/SDL_version.h | 0 .../SDL => include/linux/sdl2}/SDL_video.h | 0 .../SDL => include/linux/sdl2}/SDL_vulkan.h | 0 .../SDL => include/linux/sdl2}/begin_code.h | 0 .../SDL => include/linux/sdl2}/close_code.h | 0 .../include => include/windows/sdl2}/SDL.h | 0 .../windows/sdl2}/SDL_assert.h | 0 .../windows/sdl2}/SDL_atomic.h | 0 .../windows/sdl2}/SDL_audio.h | 0 .../windows/sdl2}/SDL_bits.h | 0 .../windows/sdl2}/SDL_blendmode.h | 0 .../windows/sdl2}/SDL_clipboard.h | 0 .../windows/sdl2}/SDL_config.h | 0 .../windows/sdl2}/SDL_cpuinfo.h | 0 .../windows/sdl2}/SDL_egl.h | 0 .../windows/sdl2}/SDL_endian.h | 0 .../windows/sdl2}/SDL_error.h | 0 .../windows/sdl2}/SDL_events.h | 0 .../windows/sdl2}/SDL_filesystem.h | 0 .../windows/sdl2}/SDL_gamecontroller.h | 0 .../windows/sdl2}/SDL_gesture.h | 0 .../windows/sdl2}/SDL_haptic.h | 0 .../windows/sdl2}/SDL_hints.h | 0 .../windows/sdl2}/SDL_joystick.h | 0 .../windows/sdl2}/SDL_keyboard.h | 0 .../windows/sdl2}/SDL_keycode.h | 0 .../windows/sdl2}/SDL_loadso.h | 0 .../windows/sdl2}/SDL_log.h | 0 .../windows/sdl2}/SDL_main.h | 0 .../windows/sdl2}/SDL_messagebox.h | 0 .../windows/sdl2}/SDL_mouse.h | 0 .../windows/sdl2}/SDL_mutex.h | 0 .../windows/sdl2}/SDL_name.h | 0 .../windows/sdl2}/SDL_opengl.h | 0 .../windows/sdl2}/SDL_opengl_glext.h | 0 .../windows/sdl2}/SDL_opengles.h | 0 .../windows/sdl2}/SDL_opengles2.h | 0 .../windows/sdl2}/SDL_opengles2_gl2.h | 0 .../windows/sdl2}/SDL_opengles2_gl2ext.h | 0 .../windows/sdl2}/SDL_opengles2_gl2platform.h | 0 .../windows/sdl2}/SDL_opengles2_khrplatform.h | 0 .../windows/sdl2}/SDL_pixels.h | 0 .../windows/sdl2}/SDL_platform.h | 0 .../windows/sdl2}/SDL_power.h | 0 .../windows/sdl2}/SDL_quit.h | 0 .../windows/sdl2}/SDL_rect.h | 0 .../windows/sdl2}/SDL_render.h | 0 .../windows/sdl2}/SDL_revision.h | 0 .../windows/sdl2}/SDL_rwops.h | 0 .../windows/sdl2}/SDL_scancode.h | 0 .../windows/sdl2}/SDL_shape.h | 0 .../windows/sdl2}/SDL_stdinc.h | 0 .../windows/sdl2}/SDL_surface.h | 0 .../windows/sdl2}/SDL_system.h | 0 .../windows/sdl2}/SDL_syswm.h | 0 .../windows/sdl2}/SDL_test.h | 0 .../windows/sdl2}/SDL_test_assert.h | 0 .../windows/sdl2}/SDL_test_common.h | 0 .../windows/sdl2}/SDL_test_compare.h | 0 .../windows/sdl2}/SDL_test_crc32.h | 0 .../windows/sdl2}/SDL_test_font.h | 0 .../windows/sdl2}/SDL_test_fuzzer.h | 0 .../windows/sdl2}/SDL_test_harness.h | 0 .../windows/sdl2}/SDL_test_images.h | 0 .../windows/sdl2}/SDL_test_log.h | 0 .../windows/sdl2}/SDL_test_md5.h | 0 .../windows/sdl2}/SDL_test_random.h | 0 .../windows/sdl2}/SDL_thread.h | 0 .../windows/sdl2}/SDL_timer.h | 0 .../windows/sdl2}/SDL_touch.h | 0 .../windows/sdl2}/SDL_types.h | 0 .../windows/sdl2}/SDL_version.h | 0 .../windows/sdl2}/SDL_video.h | 0 .../windows/sdl2}/begin_code.h | 0 .../windows/sdl2}/close_code.h | 0 .../lib => lib/linux/sdl2}/libSDL2-2.0.so.0 | 0 .../linux/sdl2}/libSDL2-2.0.so.0.7.0 | Bin .../SDL2/lib => lib/linux/sdl2}/libSDL2.so | 0 .../lib => lib/linux/soloud}/libsoloud_x64.so | Bin .../linux/soloud}/libsoloud_x64_d.so | Bin .../lib/x64 => lib/windows/sdl2}/SDL2.dll | Bin .../lib/x64 => lib/windows/sdl2}/SDL2.lib | Bin .../lib/x64 => lib/windows/sdl2}/SDL2main.lib | Bin .../lib/x64 => lib/windows/sdl2}/SDL2test.lib | Bin .../lib => lib/windows/soloud}/soloud_x64.dll | Bin .../lib => lib/windows/soloud}/soloud_x64.exp | Bin .../lib => lib/windows/soloud}/soloud_x64.lib | Bin .../windows/soloud}/soloud_x64_d.dll | Bin .../windows/soloud}/soloud_x64_d.exp | Bin .../windows/soloud}/soloud_x64_d.ilk | Bin .../windows/soloud}/soloud_x64_d.lib | Bin .../windows/soloud}/soloud_x64_d.pdb | Bin src/libsymmetry/glad.c | 2691 ++++++++++++++++- third_party/windows/SDL2-2.0.5/COPYING.txt | 20 - .../windows/SDL2-2.0.5/lib/x86/SDL2.dll | Bin 1068544 -> 0 bytes .../windows/SDL2-2.0.5/lib/x86/SDL2.lib | Bin 122786 -> 0 bytes .../windows/SDL2-2.0.5/lib/x86/SDL2main.lib | Bin 39844 -> 0 bytes .../windows/SDL2-2.0.5/lib/x86/SDL2test.lib | Bin 823702 -> 0 bytes third_party/windows/Soloud/include/soloud.h | 481 --- .../Soloud/include/soloud_audiosource.h | 313 -- .../Soloud/include/soloud_bassboostfilter.h | 63 - .../include/soloud_biquadresonantfilter.h | 91 - .../windows/Soloud/include/soloud_bus.h | 86 - third_party/windows/Soloud/include/soloud_c.h | 490 --- .../Soloud/include/soloud_dcremovalfilter.h | 58 - .../Soloud/include/soloud_echofilter.h | 59 - .../windows/Soloud/include/soloud_error.h | 41 - .../windows/Soloud/include/soloud_fader.h | 63 - .../windows/Soloud/include/soloud_fft.h | 45 - .../windows/Soloud/include/soloud_fftfilter.h | 57 - .../windows/Soloud/include/soloud_file.h | 90 - .../Soloud/include/soloud_file_hack_off.h | 35 - .../Soloud/include/soloud_file_hack_on.h | 58 - .../windows/Soloud/include/soloud_filter.h | 64 - .../Soloud/include/soloud_flangerfilter.h | 65 - .../windows/Soloud/include/soloud_internal.h | 118 - .../Soloud/include/soloud_lofifilter.h | 75 - .../windows/Soloud/include/soloud_monotone.h | 116 - .../windows/Soloud/include/soloud_openmpt.h | 62 - .../windows/Soloud/include/soloud_sfxr.h | 169 -- .../windows/Soloud/include/soloud_speech.h | 63 - .../windows/Soloud/include/soloud_tedsid.h | 74 - .../windows/Soloud/include/soloud_thread.h | 83 - .../windows/Soloud/include/soloud_vic.h | 108 - .../windows/Soloud/include/soloud_wav.h | 68 - .../windows/Soloud/include/soloud_wavstream.h | 83 - 226 files changed, 3489 insertions(+), 3645 deletions(-) rename include/{ => common}/KHR/khrplatform.h (99%) rename include/{ => common}/glad/glad.h (67%) rename include/{ => common}/nuklear.h (100%) rename {third_party/linux/Soloud/include => include/common/soloud}/soloud.h (100%) rename {third_party/linux/Soloud/include => include/common/soloud}/soloud_audiosource.h (100%) rename {third_party/linux/Soloud/include => include/common/soloud}/soloud_bassboostfilter.h (100%) rename {third_party/linux/Soloud/include => include/common/soloud}/soloud_biquadresonantfilter.h (100%) rename {third_party/linux/Soloud/include => include/common/soloud}/soloud_bus.h (100%) rename {third_party/linux/Soloud/include => include/common/soloud}/soloud_c.h (100%) rename {third_party/linux/Soloud/include => include/common/soloud}/soloud_dcremovalfilter.h (100%) rename {third_party/linux/Soloud/include => include/common/soloud}/soloud_echofilter.h (100%) rename {third_party/linux/Soloud/include => include/common/soloud}/soloud_error.h (100%) rename {third_party/linux/Soloud/include => include/common/soloud}/soloud_fader.h (100%) rename {third_party/linux/Soloud/include => include/common/soloud}/soloud_fft.h (100%) rename {third_party/linux/Soloud/include => include/common/soloud}/soloud_fftfilter.h (100%) rename {third_party/linux/Soloud/include => include/common/soloud}/soloud_file.h (100%) rename {third_party/linux/Soloud/include => include/common/soloud}/soloud_file_hack_off.h (100%) rename {third_party/linux/Soloud/include => include/common/soloud}/soloud_file_hack_on.h (100%) rename {third_party/linux/Soloud/include => include/common/soloud}/soloud_filter.h (100%) rename {third_party/linux/Soloud/include => include/common/soloud}/soloud_flangerfilter.h (100%) rename {third_party/linux/Soloud/include => include/common/soloud}/soloud_internal.h (100%) rename {third_party/linux/Soloud/include => include/common/soloud}/soloud_lofifilter.h (100%) rename {third_party/linux/Soloud/include => include/common/soloud}/soloud_monotone.h (100%) rename {third_party/linux/Soloud/include => include/common/soloud}/soloud_openmpt.h (100%) rename {third_party/linux/Soloud/include => include/common/soloud}/soloud_sfxr.h (100%) rename {third_party/linux/Soloud/include => include/common/soloud}/soloud_speech.h (100%) rename {third_party/linux/Soloud/include => include/common/soloud}/soloud_tedsid.h (100%) rename {third_party/linux/Soloud/include => include/common/soloud}/soloud_thread.h (100%) rename {third_party/linux/Soloud/include => include/common/soloud}/soloud_vic.h (100%) rename {third_party/linux/Soloud/include => include/common/soloud}/soloud_wav.h (100%) rename {third_party/linux/Soloud/include => include/common/soloud}/soloud_wavstream.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_assert.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_atomic.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_audio.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_bits.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_blendmode.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_clipboard.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_config.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_cpuinfo.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_egl.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_endian.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_error.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_events.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_filesystem.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_gamecontroller.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_gesture.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_haptic.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_hints.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_joystick.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_keyboard.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_keycode.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_loadso.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_log.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_main.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_messagebox.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_mouse.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_mutex.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_name.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_opengl.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_opengl_glext.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_opengles.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_opengles2.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_opengles2_gl2.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_opengles2_gl2ext.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_opengles2_gl2platform.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_opengles2_khrplatform.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_pixels.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_platform.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_power.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_quit.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_rect.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_render.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_revision.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_rwops.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_scancode.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_shape.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_stdinc.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_surface.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_system.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_syswm.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_test.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_test_assert.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_test_common.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_test_compare.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_test_crc32.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_test_font.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_test_fuzzer.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_test_harness.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_test_images.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_test_log.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_test_md5.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_test_memory.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_test_random.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_thread.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_timer.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_touch.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_types.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_version.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_video.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/SDL_vulkan.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/begin_code.h (100%) rename {third_party/linux/SDL2/include/SDL => include/linux/sdl2}/close_code.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_assert.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_atomic.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_audio.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_bits.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_blendmode.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_clipboard.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_config.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_cpuinfo.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_egl.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_endian.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_error.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_events.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_filesystem.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_gamecontroller.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_gesture.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_haptic.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_hints.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_joystick.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_keyboard.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_keycode.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_loadso.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_log.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_main.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_messagebox.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_mouse.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_mutex.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_name.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_opengl.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_opengl_glext.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_opengles.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_opengles2.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_opengles2_gl2.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_opengles2_gl2ext.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_opengles2_gl2platform.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_opengles2_khrplatform.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_pixels.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_platform.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_power.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_quit.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_rect.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_render.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_revision.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_rwops.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_scancode.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_shape.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_stdinc.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_surface.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_system.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_syswm.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_test.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_test_assert.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_test_common.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_test_compare.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_test_crc32.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_test_font.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_test_fuzzer.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_test_harness.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_test_images.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_test_log.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_test_md5.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_test_random.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_thread.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_timer.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_touch.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_types.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_version.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/SDL_video.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/begin_code.h (100%) rename {third_party/windows/SDL2-2.0.5/include => include/windows/sdl2}/close_code.h (100%) rename {third_party/linux/SDL2/lib => lib/linux/sdl2}/libSDL2-2.0.so.0 (100%) rename {third_party/linux/SDL2/lib => lib/linux/sdl2}/libSDL2-2.0.so.0.7.0 (100%) rename {third_party/linux/SDL2/lib => lib/linux/sdl2}/libSDL2.so (100%) rename {third_party/linux/Soloud/lib => lib/linux/soloud}/libsoloud_x64.so (100%) rename {third_party/linux/Soloud/lib => lib/linux/soloud}/libsoloud_x64_d.so (100%) rename {third_party/windows/SDL2-2.0.5/lib/x64 => lib/windows/sdl2}/SDL2.dll (100%) rename {third_party/windows/SDL2-2.0.5/lib/x64 => lib/windows/sdl2}/SDL2.lib (100%) rename {third_party/windows/SDL2-2.0.5/lib/x64 => lib/windows/sdl2}/SDL2main.lib (100%) rename {third_party/windows/SDL2-2.0.5/lib/x64 => lib/windows/sdl2}/SDL2test.lib (100%) rename {third_party/windows/Soloud/lib => lib/windows/soloud}/soloud_x64.dll (100%) rename {third_party/windows/Soloud/lib => lib/windows/soloud}/soloud_x64.exp (100%) rename {third_party/windows/Soloud/lib => lib/windows/soloud}/soloud_x64.lib (100%) rename {third_party/windows/Soloud/lib => lib/windows/soloud}/soloud_x64_d.dll (100%) rename {third_party/windows/Soloud/lib => lib/windows/soloud}/soloud_x64_d.exp (100%) rename {third_party/windows/Soloud/lib => lib/windows/soloud}/soloud_x64_d.ilk (100%) rename {third_party/windows/Soloud/lib => lib/windows/soloud}/soloud_x64_d.lib (100%) rename {third_party/windows/Soloud/lib => lib/windows/soloud}/soloud_x64_d.pdb (100%) delete mode 100644 third_party/windows/SDL2-2.0.5/COPYING.txt delete mode 100644 third_party/windows/SDL2-2.0.5/lib/x86/SDL2.dll delete mode 100644 third_party/windows/SDL2-2.0.5/lib/x86/SDL2.lib delete mode 100644 third_party/windows/SDL2-2.0.5/lib/x86/SDL2main.lib delete mode 100644 third_party/windows/SDL2-2.0.5/lib/x86/SDL2test.lib delete mode 100644 third_party/windows/Soloud/include/soloud.h delete mode 100644 third_party/windows/Soloud/include/soloud_audiosource.h delete mode 100644 third_party/windows/Soloud/include/soloud_bassboostfilter.h delete mode 100644 third_party/windows/Soloud/include/soloud_biquadresonantfilter.h delete mode 100644 third_party/windows/Soloud/include/soloud_bus.h delete mode 100644 third_party/windows/Soloud/include/soloud_c.h delete mode 100644 third_party/windows/Soloud/include/soloud_dcremovalfilter.h delete mode 100644 third_party/windows/Soloud/include/soloud_echofilter.h delete mode 100644 third_party/windows/Soloud/include/soloud_error.h delete mode 100644 third_party/windows/Soloud/include/soloud_fader.h delete mode 100644 third_party/windows/Soloud/include/soloud_fft.h delete mode 100644 third_party/windows/Soloud/include/soloud_fftfilter.h delete mode 100644 third_party/windows/Soloud/include/soloud_file.h delete mode 100644 third_party/windows/Soloud/include/soloud_file_hack_off.h delete mode 100644 third_party/windows/Soloud/include/soloud_file_hack_on.h delete mode 100644 third_party/windows/Soloud/include/soloud_filter.h delete mode 100644 third_party/windows/Soloud/include/soloud_flangerfilter.h delete mode 100644 third_party/windows/Soloud/include/soloud_internal.h delete mode 100644 third_party/windows/Soloud/include/soloud_lofifilter.h delete mode 100644 third_party/windows/Soloud/include/soloud_monotone.h delete mode 100644 third_party/windows/Soloud/include/soloud_openmpt.h delete mode 100644 third_party/windows/Soloud/include/soloud_sfxr.h delete mode 100644 third_party/windows/Soloud/include/soloud_speech.h delete mode 100644 third_party/windows/Soloud/include/soloud_tedsid.h delete mode 100644 third_party/windows/Soloud/include/soloud_thread.h delete mode 100644 third_party/windows/Soloud/include/soloud_vic.h delete mode 100644 third_party/windows/Soloud/include/soloud_wav.h delete mode 100644 third_party/windows/Soloud/include/soloud_wavstream.h diff --git a/README.md b/README.md index 70cc5f8..15582db 100644 --- a/README.md +++ b/README.md @@ -155,9 +155,6 @@ - ## TODO - - Move third party libs/include directories into root/lib and root/include. Put common includes like header-only libs into root/include/common and others which require platform specific stuff into root/include/linux etc. - - Implement necessary changes to run Soloud on linux - - Get rid of pkg-confg and system-installed SDL2 dependancy on linux and instead put custom compiled SDL libs in third_party similar to how we're handling it in windows - Add fallback shader - Implement Game States - Store Materials in new format supported by parser @@ -342,3 +339,6 @@ * Fixed bugs related to changing camera projection * Fixed bugs with sprite batch renderer not working with projection matrix * Fixed broken orthographic camera + * Implement necessary changes to run Soloud on linux + * Moved third party libs/include directories into root/lib and root/include. Put common includes like header-only libs into root/include/common and others which require platform specific stuff into root/include/linux etc. + * Got rid of pkg-confg and system-installed SDL2 dependancy on linux and instead put custom compiled SDL libs in libs folder similar to how we're handling it in windows diff --git a/build/genie.lua b/build/genie.lua index 195b2a6..7c62e98 100644 --- a/build/genie.lua +++ b/build/genie.lua @@ -2,26 +2,13 @@ solution "Symmetry" configurations { "Debug", "Release" } platforms {"x64"} location(_ACTION) - defines {"USE_GLAD"} - includedirs {"../include/"} configuration {"linux"} postbuildcommands {"ln -fs " .. os.getcwd() .. "/../assets debug/assets"} postbuildcommands {"ln -fs " .. os.getcwd() .. "/../assets release/assets"} buildoptions {"-Wall", "-std=c99", "`pkg-config --cflags-only-I sdl2`"} - configuration {"windows", "gmake"} - postbuildcommands {"rm -rf debug/assets"} - postbuildcommands {"rm -rf release/assets"} - postbuildcommands {"ln -fs " .. os.getcwd() .. "/../assets debug/assets"} - postbuildcommands {"ln -fs " .. os.getcwd() .. "/../assets release/assets"} - buildoptions {"-Wall", "-std=c99"} - - - configuration {"windows", "vs2017 or qbs"} - local sdl_lib_dir = "../third_party/windows/SDL2-2.0.5/lib/x64/" - local soloud_lib_dir = "../third_party/windows/Soloud/lib/" - + configuration {"windows", "vs2017"} defines {"_CRT_SECURE_NO_WARNINGS"} flags {"NoIncrementalLink", "NoEditAndContinue"} @@ -50,22 +37,15 @@ solution "Symmetry" language "C" files { "../src/common/**.c", "../src/common/**.h", "../src/game/**.c", "../src/game/**.h"} defines {"GAME"} - - configuration "linux" - includedirs {"../third_party/linux/SDL2/include/", "../third_party/linux/Soloud/include/"} - buildoptions {"`pkg-config --cflags-only-other sdl2`"} - linkoptions {"`pkg-config --libs sdl2`"} - libdirs {"../third_party/linux/Soloud/lib/"} - links {"m"} - configuration {"windows", "gmake"} - buildoptions {"`pkg-config --cflags-only-I sdl2`"} - linkoptions {"`pkg-config --libs sdl2`"} - links {"m"} + configuration "linux" + includedirs {"../include/linux/sdl2/", "../include/common/soloud/"} + libdirs {"../lib/linux/sdl2/", "../lib/linux/soloud/"} + links {"SDL2", "m"} - configuration {"windows", "vs2017 or qbs"} - includedirs {"../third_party/windows/SDL2-2.0.5/include/", "../third_party/windows/Soloud/include/"} - libdirs { sdl_lib_dir, soloud_lib_dir } + configuration {"windows", "vs2017"} + includedirs {"../include/windows/sdl2/", "../include/common/soloud/"} + libdirs {"../lib/windows/sdl2/", "../lib/windows/soloud/"} links {"SDL2"} configuration "Debug" @@ -101,10 +81,10 @@ solution "Symmetry" end local success = false - success = os.copyfile(sdl_lib_dir .. "SDL2.dll", copy_dest_dir .. "/debug/SDL2.dll") - success = os.copyfile(sdl_lib_dir .. "SDL2.dll", copy_dest_dir .. "/release/SDL2.dll") - success = os.copyfile(soloud_lib_dir .. "soloud_x64_d.dll", copy_dest_dir .. "/debug/soloud_x64_d.dll") - success = os.copyfile(soloud_lib_dir .. "soloud_x64.dll", copy_dest_dir .. "/release/soloud_x64.dll") + success = os.copyfile("../libs/windows/sdl2/SDL2.dll", copy_dest_dir .. "/debug/SDL2.dll") + success = os.copyfile("../libs/windows/sdl2/SDL2.dll", copy_dest_dir .. "/release/SDL2.dll") + success = os.copyfile("../libs/windows/soloud_x64_d.dll", copy_dest_dir .. "/debug/soloud_x64_d.dll") + success = os.copyfile("../libs/windows/soloud_x64.dll", copy_dest_dir .. "/release/soloud_x64.dll") if success ~= true then @@ -139,19 +119,20 @@ solution "Symmetry" kind "SharedLib" language "C" targetname "Symmetry" - defines {"GAME_LIB"} + defines {"GAME_LIB", "USE_GLAD"} + includedirs {"../include/common"} files { "../src/common/**.c", "../src/common/**.h", "../src/libsymmetry/**.h", "../src/libsymmetry/**.c" } configuration "windows" targetname "libSymmetry" configuration {"windows", "vs2017"} - includedirs {"../third_party/windows/SDL2-2.0.5/include/"} + includedirs {"../include/windows/sdl2/"} flags "NoImportLib" configuration {"linux"} - includedirs {"../third_party/linux/SDL2/include/"} + includedirs {"../include/linux/sdl2/"} configuration "Debug" defines {"GL_DEBUG_CONTEXT"} diff --git a/include/KHR/khrplatform.h b/include/common/KHR/khrplatform.h similarity index 99% rename from include/KHR/khrplatform.h rename to include/common/KHR/khrplatform.h index 07b61b9..1ad3554 100644 --- a/include/KHR/khrplatform.h +++ b/include/common/KHR/khrplatform.h @@ -102,8 +102,7 @@ #elif defined (__SYMBIAN32__) # define KHRONOS_APICALL IMPORT_C #elif defined(__ANDROID__) -# include -# define KHRONOS_APICALL __attribute__((visibility("default"))) __NDK_FPABI__ +# define KHRONOS_APICALL __attribute__((visibility("default"))) #else # define KHRONOS_APICALL #endif diff --git a/include/glad/glad.h b/include/common/glad/glad.h similarity index 67% rename from include/glad/glad.h rename to include/common/glad/glad.h index de2c653..d2fb5f9 100644 --- a/include/glad/glad.h +++ b/include/common/glad/glad.h @@ -1,8 +1,8 @@ /* - OpenGL loader generated by glad 0.1.13a0 on Sat Mar 11 20:40:16 2017. + OpenGL loader generated by glad 0.1.14a0 on Sat Oct 28 19:45:42 2017. - Language/Generator: C/C++ + Language/Generator: C/C++ Debug Specification: gl APIs: gl=3.3 Profile: core @@ -13,9 +13,9 @@ Omit khrplatform: False Commandline: - --profile="core" --api="gl=3.3" --generator="c" --spec="gl" --no-loader --extensions="" + --profile="core" --api="gl=3.3" --generator="c-debug" --spec="gl" --no-loader --extensions="" Online: - http://glad.dav1d.de/#profile=core&language=c&specification=gl&api=gl%3D3.3 + http://glad.dav1d.de/#profile=core&language=c-debug&specification=gl&api=gl%3D3.3 */ @@ -31,6 +31,9 @@ #ifndef WIN32_LEAN_AND_MEAN #define WIN32_LEAN_AND_MEAN 1 #endif +#ifndef NOMINMAX +#define NOMINMAX 1 +#endif #include #endif @@ -54,7 +57,7 @@ typedef void* (* GLADloadproc)(const char *name); #ifndef GLAPI # if defined(GLAD_GLAPI_EXPORT) -# if defined(WIN32) || defined(__CYGWIN__) +# if defined(_WIN32) || defined(__CYGWIN__) # if defined(GLAD_GLAPI_EXPORT_BUILD) # if defined(__GNUC__) # define GLAPI __attribute__ ((dllexport)) extern @@ -81,6 +84,12 @@ typedef void* (* GLADloadproc)(const char *name); GLAPI struct gladGLversionStruct GLVersion; GLAPI int gladLoadGLLoader(GLADloadproc); + +#define GLAD_DEBUG +typedef void (* GLADcallback)(const char *name, void *funcptr, int len_args, ...); + +GLAPI void glad_set_pre_callback(GLADcallback cb); +GLAPI void glad_set_post_callback(GLADcallback cb); #include #include #ifndef GLEXT_64_TYPES_DEFINED @@ -136,6 +145,7 @@ typedef float GLfloat; typedef float GLclampf; typedef double GLdouble; typedef double GLclampd; +typedef void *GLeglClientBufferEXT; typedef void *GLeglImageOES; typedef char GLchar; typedef char GLcharARB; @@ -180,6 +190,7 @@ typedef void (APIENTRY *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLen typedef void (APIENTRY *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severity,GLsizei length,const GLchar *message,void *userParam); typedef unsigned short GLhalfNV; typedef GLintptr GLvdpauSurfaceNV; +typedef void (APIENTRY *GLVULKANPROCNV)(void); #define GL_DEPTH_BUFFER_BIT 0x00000100 #define GL_STENCIL_BUFFER_BIT 0x00000400 #define GL_COLOR_BUFFER_BIT 0x00004000 @@ -260,7 +271,6 @@ typedef GLintptr GLvdpauSurfaceNV; #define GL_BLEND_SRC 0x0BE1 #define GL_BLEND 0x0BE2 #define GL_LOGIC_OP_MODE 0x0BF0 -#define GL_COLOR_LOGIC_OP 0x0BF2 #define GL_DRAW_BUFFER 0x0C01 #define GL_READ_BUFFER 0x0C02 #define GL_SCISSOR_BOX 0x0C10 @@ -288,21 +298,9 @@ typedef GLintptr GLvdpauSurfaceNV; #define GL_SUBPIXEL_BITS 0x0D50 #define GL_TEXTURE_1D 0x0DE0 #define GL_TEXTURE_2D 0x0DE1 -#define GL_POLYGON_OFFSET_UNITS 0x2A00 -#define GL_POLYGON_OFFSET_POINT 0x2A01 -#define GL_POLYGON_OFFSET_LINE 0x2A02 -#define GL_POLYGON_OFFSET_FILL 0x8037 -#define GL_POLYGON_OFFSET_FACTOR 0x8038 -#define GL_TEXTURE_BINDING_1D 0x8068 -#define GL_TEXTURE_BINDING_2D 0x8069 #define GL_TEXTURE_WIDTH 0x1000 #define GL_TEXTURE_HEIGHT 0x1001 -#define GL_TEXTURE_INTERNAL_FORMAT 0x1003 #define GL_TEXTURE_BORDER_COLOR 0x1004 -#define GL_TEXTURE_RED_SIZE 0x805C -#define GL_TEXTURE_GREEN_SIZE 0x805D -#define GL_TEXTURE_BLUE_SIZE 0x805E -#define GL_TEXTURE_ALPHA_SIZE 0x805F #define GL_DONT_CARE 0x1100 #define GL_FASTEST 0x1101 #define GL_NICEST 0x1102 @@ -313,7 +311,6 @@ typedef GLintptr GLvdpauSurfaceNV; #define GL_INT 0x1404 #define GL_UNSIGNED_INT 0x1405 #define GL_FLOAT 0x1406 -#define GL_DOUBLE 0x140A #define GL_CLEAR 0x1500 #define GL_AND 0x1501 #define GL_AND_REVERSE 0x1502 @@ -363,9 +360,23 @@ typedef GLintptr GLvdpauSurfaceNV; #define GL_TEXTURE_MIN_FILTER 0x2801 #define GL_TEXTURE_WRAP_S 0x2802 #define GL_TEXTURE_WRAP_T 0x2803 +#define GL_REPEAT 0x2901 +#define GL_COLOR_LOGIC_OP 0x0BF2 +#define GL_POLYGON_OFFSET_UNITS 0x2A00 +#define GL_POLYGON_OFFSET_POINT 0x2A01 +#define GL_POLYGON_OFFSET_LINE 0x2A02 +#define GL_POLYGON_OFFSET_FILL 0x8037 +#define GL_POLYGON_OFFSET_FACTOR 0x8038 +#define GL_TEXTURE_BINDING_1D 0x8068 +#define GL_TEXTURE_BINDING_2D 0x8069 +#define GL_TEXTURE_INTERNAL_FORMAT 0x1003 +#define GL_TEXTURE_RED_SIZE 0x805C +#define GL_TEXTURE_GREEN_SIZE 0x805D +#define GL_TEXTURE_BLUE_SIZE 0x805E +#define GL_TEXTURE_ALPHA_SIZE 0x805F +#define GL_DOUBLE 0x140A #define GL_PROXY_TEXTURE_1D 0x8063 #define GL_PROXY_TEXTURE_2D 0x8064 -#define GL_REPEAT 0x2901 #define GL_R3_G3_B2 0x2A10 #define GL_RGB4 0x804F #define GL_RGB5 0x8050 @@ -491,15 +502,17 @@ typedef GLintptr GLvdpauSurfaceNV; #define GL_TEXTURE_DEPTH_SIZE 0x884A #define GL_TEXTURE_COMPARE_MODE 0x884C #define GL_TEXTURE_COMPARE_FUNC 0x884D -#define GL_FUNC_ADD 0x8006 -#define GL_FUNC_SUBTRACT 0x800A -#define GL_FUNC_REVERSE_SUBTRACT 0x800B -#define GL_MIN 0x8007 -#define GL_MAX 0x8008 +#define GL_BLEND_COLOR 0x8005 +#define GL_BLEND_EQUATION 0x8009 #define GL_CONSTANT_COLOR 0x8001 #define GL_ONE_MINUS_CONSTANT_COLOR 0x8002 #define GL_CONSTANT_ALPHA 0x8003 #define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004 +#define GL_FUNC_ADD 0x8006 +#define GL_FUNC_REVERSE_SUBTRACT 0x800B +#define GL_FUNC_SUBTRACT 0x800A +#define GL_MIN 0x8007 +#define GL_MAX 0x8008 #define GL_BUFFER_SIZE 0x8764 #define GL_BUFFER_USAGE 0x8765 #define GL_QUERY_COUNTER_BITS 0x8864 @@ -1002,1170 +1015,1544 @@ typedef GLintptr GLvdpauSurfaceNV; GLAPI int GLAD_GL_VERSION_1_0; typedef void (APIENTRYP PFNGLCULLFACEPROC)(GLenum mode); GLAPI PFNGLCULLFACEPROC glad_glCullFace; -#define glCullFace glad_glCullFace +GLAPI PFNGLCULLFACEPROC glad_debug_glCullFace; +#define glCullFace glad_debug_glCullFace typedef void (APIENTRYP PFNGLFRONTFACEPROC)(GLenum mode); GLAPI PFNGLFRONTFACEPROC glad_glFrontFace; -#define glFrontFace glad_glFrontFace +GLAPI PFNGLFRONTFACEPROC glad_debug_glFrontFace; +#define glFrontFace glad_debug_glFrontFace typedef void (APIENTRYP PFNGLHINTPROC)(GLenum target, GLenum mode); GLAPI PFNGLHINTPROC glad_glHint; -#define glHint glad_glHint +GLAPI PFNGLHINTPROC glad_debug_glHint; +#define glHint glad_debug_glHint typedef void (APIENTRYP PFNGLLINEWIDTHPROC)(GLfloat width); GLAPI PFNGLLINEWIDTHPROC glad_glLineWidth; -#define glLineWidth glad_glLineWidth +GLAPI PFNGLLINEWIDTHPROC glad_debug_glLineWidth; +#define glLineWidth glad_debug_glLineWidth typedef void (APIENTRYP PFNGLPOINTSIZEPROC)(GLfloat size); GLAPI PFNGLPOINTSIZEPROC glad_glPointSize; -#define glPointSize glad_glPointSize +GLAPI PFNGLPOINTSIZEPROC glad_debug_glPointSize; +#define glPointSize glad_debug_glPointSize typedef void (APIENTRYP PFNGLPOLYGONMODEPROC)(GLenum face, GLenum mode); GLAPI PFNGLPOLYGONMODEPROC glad_glPolygonMode; -#define glPolygonMode glad_glPolygonMode +GLAPI PFNGLPOLYGONMODEPROC glad_debug_glPolygonMode; +#define glPolygonMode glad_debug_glPolygonMode typedef void (APIENTRYP PFNGLSCISSORPROC)(GLint x, GLint y, GLsizei width, GLsizei height); GLAPI PFNGLSCISSORPROC glad_glScissor; -#define glScissor glad_glScissor +GLAPI PFNGLSCISSORPROC glad_debug_glScissor; +#define glScissor glad_debug_glScissor typedef void (APIENTRYP PFNGLTEXPARAMETERFPROC)(GLenum target, GLenum pname, GLfloat param); GLAPI PFNGLTEXPARAMETERFPROC glad_glTexParameterf; -#define glTexParameterf glad_glTexParameterf +GLAPI PFNGLTEXPARAMETERFPROC glad_debug_glTexParameterf; +#define glTexParameterf glad_debug_glTexParameterf typedef void (APIENTRYP PFNGLTEXPARAMETERFVPROC)(GLenum target, GLenum pname, const GLfloat *params); GLAPI PFNGLTEXPARAMETERFVPROC glad_glTexParameterfv; -#define glTexParameterfv glad_glTexParameterfv +GLAPI PFNGLTEXPARAMETERFVPROC glad_debug_glTexParameterfv; +#define glTexParameterfv glad_debug_glTexParameterfv typedef void (APIENTRYP PFNGLTEXPARAMETERIPROC)(GLenum target, GLenum pname, GLint param); GLAPI PFNGLTEXPARAMETERIPROC glad_glTexParameteri; -#define glTexParameteri glad_glTexParameteri +GLAPI PFNGLTEXPARAMETERIPROC glad_debug_glTexParameteri; +#define glTexParameteri glad_debug_glTexParameteri typedef void (APIENTRYP PFNGLTEXPARAMETERIVPROC)(GLenum target, GLenum pname, const GLint *params); GLAPI PFNGLTEXPARAMETERIVPROC glad_glTexParameteriv; -#define glTexParameteriv glad_glTexParameteriv +GLAPI PFNGLTEXPARAMETERIVPROC glad_debug_glTexParameteriv; +#define glTexParameteriv glad_debug_glTexParameteriv typedef void (APIENTRYP PFNGLTEXIMAGE1DPROC)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels); GLAPI PFNGLTEXIMAGE1DPROC glad_glTexImage1D; -#define glTexImage1D glad_glTexImage1D +GLAPI PFNGLTEXIMAGE1DPROC glad_debug_glTexImage1D; +#define glTexImage1D glad_debug_glTexImage1D typedef void (APIENTRYP PFNGLTEXIMAGE2DPROC)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels); GLAPI PFNGLTEXIMAGE2DPROC glad_glTexImage2D; -#define glTexImage2D glad_glTexImage2D +GLAPI PFNGLTEXIMAGE2DPROC glad_debug_glTexImage2D; +#define glTexImage2D glad_debug_glTexImage2D typedef void (APIENTRYP PFNGLDRAWBUFFERPROC)(GLenum buf); GLAPI PFNGLDRAWBUFFERPROC glad_glDrawBuffer; -#define glDrawBuffer glad_glDrawBuffer +GLAPI PFNGLDRAWBUFFERPROC glad_debug_glDrawBuffer; +#define glDrawBuffer glad_debug_glDrawBuffer typedef void (APIENTRYP PFNGLCLEARPROC)(GLbitfield mask); GLAPI PFNGLCLEARPROC glad_glClear; -#define glClear glad_glClear +GLAPI PFNGLCLEARPROC glad_debug_glClear; +#define glClear glad_debug_glClear typedef void (APIENTRYP PFNGLCLEARCOLORPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); GLAPI PFNGLCLEARCOLORPROC glad_glClearColor; -#define glClearColor glad_glClearColor +GLAPI PFNGLCLEARCOLORPROC glad_debug_glClearColor; +#define glClearColor glad_debug_glClearColor typedef void (APIENTRYP PFNGLCLEARSTENCILPROC)(GLint s); GLAPI PFNGLCLEARSTENCILPROC glad_glClearStencil; -#define glClearStencil glad_glClearStencil +GLAPI PFNGLCLEARSTENCILPROC glad_debug_glClearStencil; +#define glClearStencil glad_debug_glClearStencil typedef void (APIENTRYP PFNGLCLEARDEPTHPROC)(GLdouble depth); GLAPI PFNGLCLEARDEPTHPROC glad_glClearDepth; -#define glClearDepth glad_glClearDepth +GLAPI PFNGLCLEARDEPTHPROC glad_debug_glClearDepth; +#define glClearDepth glad_debug_glClearDepth typedef void (APIENTRYP PFNGLSTENCILMASKPROC)(GLuint mask); GLAPI PFNGLSTENCILMASKPROC glad_glStencilMask; -#define glStencilMask glad_glStencilMask +GLAPI PFNGLSTENCILMASKPROC glad_debug_glStencilMask; +#define glStencilMask glad_debug_glStencilMask typedef void (APIENTRYP PFNGLCOLORMASKPROC)(GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); GLAPI PFNGLCOLORMASKPROC glad_glColorMask; -#define glColorMask glad_glColorMask +GLAPI PFNGLCOLORMASKPROC glad_debug_glColorMask; +#define glColorMask glad_debug_glColorMask typedef void (APIENTRYP PFNGLDEPTHMASKPROC)(GLboolean flag); GLAPI PFNGLDEPTHMASKPROC glad_glDepthMask; -#define glDepthMask glad_glDepthMask +GLAPI PFNGLDEPTHMASKPROC glad_debug_glDepthMask; +#define glDepthMask glad_debug_glDepthMask typedef void (APIENTRYP PFNGLDISABLEPROC)(GLenum cap); GLAPI PFNGLDISABLEPROC glad_glDisable; -#define glDisable glad_glDisable +GLAPI PFNGLDISABLEPROC glad_debug_glDisable; +#define glDisable glad_debug_glDisable typedef void (APIENTRYP PFNGLENABLEPROC)(GLenum cap); GLAPI PFNGLENABLEPROC glad_glEnable; -#define glEnable glad_glEnable +GLAPI PFNGLENABLEPROC glad_debug_glEnable; +#define glEnable glad_debug_glEnable typedef void (APIENTRYP PFNGLFINISHPROC)(); GLAPI PFNGLFINISHPROC glad_glFinish; -#define glFinish glad_glFinish +GLAPI PFNGLFINISHPROC glad_debug_glFinish; +#define glFinish glad_debug_glFinish typedef void (APIENTRYP PFNGLFLUSHPROC)(); GLAPI PFNGLFLUSHPROC glad_glFlush; -#define glFlush glad_glFlush +GLAPI PFNGLFLUSHPROC glad_debug_glFlush; +#define glFlush glad_debug_glFlush typedef void (APIENTRYP PFNGLBLENDFUNCPROC)(GLenum sfactor, GLenum dfactor); GLAPI PFNGLBLENDFUNCPROC glad_glBlendFunc; -#define glBlendFunc glad_glBlendFunc +GLAPI PFNGLBLENDFUNCPROC glad_debug_glBlendFunc; +#define glBlendFunc glad_debug_glBlendFunc typedef void (APIENTRYP PFNGLLOGICOPPROC)(GLenum opcode); GLAPI PFNGLLOGICOPPROC glad_glLogicOp; -#define glLogicOp glad_glLogicOp +GLAPI PFNGLLOGICOPPROC glad_debug_glLogicOp; +#define glLogicOp glad_debug_glLogicOp typedef void (APIENTRYP PFNGLSTENCILFUNCPROC)(GLenum func, GLint ref, GLuint mask); GLAPI PFNGLSTENCILFUNCPROC glad_glStencilFunc; -#define glStencilFunc glad_glStencilFunc +GLAPI PFNGLSTENCILFUNCPROC glad_debug_glStencilFunc; +#define glStencilFunc glad_debug_glStencilFunc typedef void (APIENTRYP PFNGLSTENCILOPPROC)(GLenum fail, GLenum zfail, GLenum zpass); GLAPI PFNGLSTENCILOPPROC glad_glStencilOp; -#define glStencilOp glad_glStencilOp +GLAPI PFNGLSTENCILOPPROC glad_debug_glStencilOp; +#define glStencilOp glad_debug_glStencilOp typedef void (APIENTRYP PFNGLDEPTHFUNCPROC)(GLenum func); GLAPI PFNGLDEPTHFUNCPROC glad_glDepthFunc; -#define glDepthFunc glad_glDepthFunc +GLAPI PFNGLDEPTHFUNCPROC glad_debug_glDepthFunc; +#define glDepthFunc glad_debug_glDepthFunc typedef void (APIENTRYP PFNGLPIXELSTOREFPROC)(GLenum pname, GLfloat param); GLAPI PFNGLPIXELSTOREFPROC glad_glPixelStoref; -#define glPixelStoref glad_glPixelStoref +GLAPI PFNGLPIXELSTOREFPROC glad_debug_glPixelStoref; +#define glPixelStoref glad_debug_glPixelStoref typedef void (APIENTRYP PFNGLPIXELSTOREIPROC)(GLenum pname, GLint param); GLAPI PFNGLPIXELSTOREIPROC glad_glPixelStorei; -#define glPixelStorei glad_glPixelStorei +GLAPI PFNGLPIXELSTOREIPROC glad_debug_glPixelStorei; +#define glPixelStorei glad_debug_glPixelStorei typedef void (APIENTRYP PFNGLREADBUFFERPROC)(GLenum src); GLAPI PFNGLREADBUFFERPROC glad_glReadBuffer; -#define glReadBuffer glad_glReadBuffer +GLAPI PFNGLREADBUFFERPROC glad_debug_glReadBuffer; +#define glReadBuffer glad_debug_glReadBuffer typedef void (APIENTRYP PFNGLREADPIXELSPROC)(GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels); GLAPI PFNGLREADPIXELSPROC glad_glReadPixels; -#define glReadPixels glad_glReadPixels +GLAPI PFNGLREADPIXELSPROC glad_debug_glReadPixels; +#define glReadPixels glad_debug_glReadPixels typedef void (APIENTRYP PFNGLGETBOOLEANVPROC)(GLenum pname, GLboolean *data); GLAPI PFNGLGETBOOLEANVPROC glad_glGetBooleanv; -#define glGetBooleanv glad_glGetBooleanv +GLAPI PFNGLGETBOOLEANVPROC glad_debug_glGetBooleanv; +#define glGetBooleanv glad_debug_glGetBooleanv typedef void (APIENTRYP PFNGLGETDOUBLEVPROC)(GLenum pname, GLdouble *data); GLAPI PFNGLGETDOUBLEVPROC glad_glGetDoublev; -#define glGetDoublev glad_glGetDoublev +GLAPI PFNGLGETDOUBLEVPROC glad_debug_glGetDoublev; +#define glGetDoublev glad_debug_glGetDoublev typedef GLenum (APIENTRYP PFNGLGETERRORPROC)(); GLAPI PFNGLGETERRORPROC glad_glGetError; -#define glGetError glad_glGetError +GLAPI PFNGLGETERRORPROC glad_debug_glGetError; +#define glGetError glad_debug_glGetError typedef void (APIENTRYP PFNGLGETFLOATVPROC)(GLenum pname, GLfloat *data); GLAPI PFNGLGETFLOATVPROC glad_glGetFloatv; -#define glGetFloatv glad_glGetFloatv +GLAPI PFNGLGETFLOATVPROC glad_debug_glGetFloatv; +#define glGetFloatv glad_debug_glGetFloatv typedef void (APIENTRYP PFNGLGETINTEGERVPROC)(GLenum pname, GLint *data); GLAPI PFNGLGETINTEGERVPROC glad_glGetIntegerv; -#define glGetIntegerv glad_glGetIntegerv +GLAPI PFNGLGETINTEGERVPROC glad_debug_glGetIntegerv; +#define glGetIntegerv glad_debug_glGetIntegerv typedef const GLubyte * (APIENTRYP PFNGLGETSTRINGPROC)(GLenum name); GLAPI PFNGLGETSTRINGPROC glad_glGetString; -#define glGetString glad_glGetString +GLAPI PFNGLGETSTRINGPROC glad_debug_glGetString; +#define glGetString glad_debug_glGetString typedef void (APIENTRYP PFNGLGETTEXIMAGEPROC)(GLenum target, GLint level, GLenum format, GLenum type, void *pixels); GLAPI PFNGLGETTEXIMAGEPROC glad_glGetTexImage; -#define glGetTexImage glad_glGetTexImage +GLAPI PFNGLGETTEXIMAGEPROC glad_debug_glGetTexImage; +#define glGetTexImage glad_debug_glGetTexImage typedef void (APIENTRYP PFNGLGETTEXPARAMETERFVPROC)(GLenum target, GLenum pname, GLfloat *params); GLAPI PFNGLGETTEXPARAMETERFVPROC glad_glGetTexParameterfv; -#define glGetTexParameterfv glad_glGetTexParameterfv +GLAPI PFNGLGETTEXPARAMETERFVPROC glad_debug_glGetTexParameterfv; +#define glGetTexParameterfv glad_debug_glGetTexParameterfv typedef void (APIENTRYP PFNGLGETTEXPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params); GLAPI PFNGLGETTEXPARAMETERIVPROC glad_glGetTexParameteriv; -#define glGetTexParameteriv glad_glGetTexParameteriv +GLAPI PFNGLGETTEXPARAMETERIVPROC glad_debug_glGetTexParameteriv; +#define glGetTexParameteriv glad_debug_glGetTexParameteriv typedef void (APIENTRYP PFNGLGETTEXLEVELPARAMETERFVPROC)(GLenum target, GLint level, GLenum pname, GLfloat *params); GLAPI PFNGLGETTEXLEVELPARAMETERFVPROC glad_glGetTexLevelParameterfv; -#define glGetTexLevelParameterfv glad_glGetTexLevelParameterfv +GLAPI PFNGLGETTEXLEVELPARAMETERFVPROC glad_debug_glGetTexLevelParameterfv; +#define glGetTexLevelParameterfv glad_debug_glGetTexLevelParameterfv typedef void (APIENTRYP PFNGLGETTEXLEVELPARAMETERIVPROC)(GLenum target, GLint level, GLenum pname, GLint *params); GLAPI PFNGLGETTEXLEVELPARAMETERIVPROC glad_glGetTexLevelParameteriv; -#define glGetTexLevelParameteriv glad_glGetTexLevelParameteriv +GLAPI PFNGLGETTEXLEVELPARAMETERIVPROC glad_debug_glGetTexLevelParameteriv; +#define glGetTexLevelParameteriv glad_debug_glGetTexLevelParameteriv typedef GLboolean (APIENTRYP PFNGLISENABLEDPROC)(GLenum cap); GLAPI PFNGLISENABLEDPROC glad_glIsEnabled; -#define glIsEnabled glad_glIsEnabled +GLAPI PFNGLISENABLEDPROC glad_debug_glIsEnabled; +#define glIsEnabled glad_debug_glIsEnabled typedef void (APIENTRYP PFNGLDEPTHRANGEPROC)(GLdouble near, GLdouble far); GLAPI PFNGLDEPTHRANGEPROC glad_glDepthRange; -#define glDepthRange glad_glDepthRange +GLAPI PFNGLDEPTHRANGEPROC glad_debug_glDepthRange; +#define glDepthRange glad_debug_glDepthRange typedef void (APIENTRYP PFNGLVIEWPORTPROC)(GLint x, GLint y, GLsizei width, GLsizei height); GLAPI PFNGLVIEWPORTPROC glad_glViewport; -#define glViewport glad_glViewport +GLAPI PFNGLVIEWPORTPROC glad_debug_glViewport; +#define glViewport glad_debug_glViewport #endif #ifndef GL_VERSION_1_1 #define GL_VERSION_1_1 1 GLAPI int GLAD_GL_VERSION_1_1; typedef void (APIENTRYP PFNGLDRAWARRAYSPROC)(GLenum mode, GLint first, GLsizei count); GLAPI PFNGLDRAWARRAYSPROC glad_glDrawArrays; -#define glDrawArrays glad_glDrawArrays +GLAPI PFNGLDRAWARRAYSPROC glad_debug_glDrawArrays; +#define glDrawArrays glad_debug_glDrawArrays typedef void (APIENTRYP PFNGLDRAWELEMENTSPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices); GLAPI PFNGLDRAWELEMENTSPROC glad_glDrawElements; -#define glDrawElements glad_glDrawElements +GLAPI PFNGLDRAWELEMENTSPROC glad_debug_glDrawElements; +#define glDrawElements glad_debug_glDrawElements typedef void (APIENTRYP PFNGLPOLYGONOFFSETPROC)(GLfloat factor, GLfloat units); GLAPI PFNGLPOLYGONOFFSETPROC glad_glPolygonOffset; -#define glPolygonOffset glad_glPolygonOffset +GLAPI PFNGLPOLYGONOFFSETPROC glad_debug_glPolygonOffset; +#define glPolygonOffset glad_debug_glPolygonOffset typedef void (APIENTRYP PFNGLCOPYTEXIMAGE1DPROC)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border); GLAPI PFNGLCOPYTEXIMAGE1DPROC glad_glCopyTexImage1D; -#define glCopyTexImage1D glad_glCopyTexImage1D +GLAPI PFNGLCOPYTEXIMAGE1DPROC glad_debug_glCopyTexImage1D; +#define glCopyTexImage1D glad_debug_glCopyTexImage1D typedef void (APIENTRYP PFNGLCOPYTEXIMAGE2DPROC)(GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); GLAPI PFNGLCOPYTEXIMAGE2DPROC glad_glCopyTexImage2D; -#define glCopyTexImage2D glad_glCopyTexImage2D +GLAPI PFNGLCOPYTEXIMAGE2DPROC glad_debug_glCopyTexImage2D; +#define glCopyTexImage2D glad_debug_glCopyTexImage2D typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE1DPROC)(GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); GLAPI PFNGLCOPYTEXSUBIMAGE1DPROC glad_glCopyTexSubImage1D; -#define glCopyTexSubImage1D glad_glCopyTexSubImage1D +GLAPI PFNGLCOPYTEXSUBIMAGE1DPROC glad_debug_glCopyTexSubImage1D; +#define glCopyTexSubImage1D glad_debug_glCopyTexSubImage1D typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); GLAPI PFNGLCOPYTEXSUBIMAGE2DPROC glad_glCopyTexSubImage2D; -#define glCopyTexSubImage2D glad_glCopyTexSubImage2D +GLAPI PFNGLCOPYTEXSUBIMAGE2DPROC glad_debug_glCopyTexSubImage2D; +#define glCopyTexSubImage2D glad_debug_glCopyTexSubImage2D typedef void (APIENTRYP PFNGLTEXSUBIMAGE1DPROC)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels); GLAPI PFNGLTEXSUBIMAGE1DPROC glad_glTexSubImage1D; -#define glTexSubImage1D glad_glTexSubImage1D +GLAPI PFNGLTEXSUBIMAGE1DPROC glad_debug_glTexSubImage1D; +#define glTexSubImage1D glad_debug_glTexSubImage1D typedef void (APIENTRYP PFNGLTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); GLAPI PFNGLTEXSUBIMAGE2DPROC glad_glTexSubImage2D; -#define glTexSubImage2D glad_glTexSubImage2D +GLAPI PFNGLTEXSUBIMAGE2DPROC glad_debug_glTexSubImage2D; +#define glTexSubImage2D glad_debug_glTexSubImage2D typedef void (APIENTRYP PFNGLBINDTEXTUREPROC)(GLenum target, GLuint texture); GLAPI PFNGLBINDTEXTUREPROC glad_glBindTexture; -#define glBindTexture glad_glBindTexture +GLAPI PFNGLBINDTEXTUREPROC glad_debug_glBindTexture; +#define glBindTexture glad_debug_glBindTexture typedef void (APIENTRYP PFNGLDELETETEXTURESPROC)(GLsizei n, const GLuint *textures); GLAPI PFNGLDELETETEXTURESPROC glad_glDeleteTextures; -#define glDeleteTextures glad_glDeleteTextures +GLAPI PFNGLDELETETEXTURESPROC glad_debug_glDeleteTextures; +#define glDeleteTextures glad_debug_glDeleteTextures typedef void (APIENTRYP PFNGLGENTEXTURESPROC)(GLsizei n, GLuint *textures); GLAPI PFNGLGENTEXTURESPROC glad_glGenTextures; -#define glGenTextures glad_glGenTextures +GLAPI PFNGLGENTEXTURESPROC glad_debug_glGenTextures; +#define glGenTextures glad_debug_glGenTextures typedef GLboolean (APIENTRYP PFNGLISTEXTUREPROC)(GLuint texture); GLAPI PFNGLISTEXTUREPROC glad_glIsTexture; -#define glIsTexture glad_glIsTexture +GLAPI PFNGLISTEXTUREPROC glad_debug_glIsTexture; +#define glIsTexture glad_debug_glIsTexture #endif #ifndef GL_VERSION_1_2 #define GL_VERSION_1_2 1 GLAPI int GLAD_GL_VERSION_1_2; typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSPROC)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices); GLAPI PFNGLDRAWRANGEELEMENTSPROC glad_glDrawRangeElements; -#define glDrawRangeElements glad_glDrawRangeElements +GLAPI PFNGLDRAWRANGEELEMENTSPROC glad_debug_glDrawRangeElements; +#define glDrawRangeElements glad_debug_glDrawRangeElements typedef void (APIENTRYP PFNGLTEXIMAGE3DPROC)(GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); GLAPI PFNGLTEXIMAGE3DPROC glad_glTexImage3D; -#define glTexImage3D glad_glTexImage3D +GLAPI PFNGLTEXIMAGE3DPROC glad_debug_glTexImage3D; +#define glTexImage3D glad_debug_glTexImage3D typedef void (APIENTRYP PFNGLTEXSUBIMAGE3DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); GLAPI PFNGLTEXSUBIMAGE3DPROC glad_glTexSubImage3D; -#define glTexSubImage3D glad_glTexSubImage3D +GLAPI PFNGLTEXSUBIMAGE3DPROC glad_debug_glTexSubImage3D; +#define glTexSubImage3D glad_debug_glTexSubImage3D typedef void (APIENTRYP PFNGLCOPYTEXSUBIMAGE3DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); GLAPI PFNGLCOPYTEXSUBIMAGE3DPROC glad_glCopyTexSubImage3D; -#define glCopyTexSubImage3D glad_glCopyTexSubImage3D +GLAPI PFNGLCOPYTEXSUBIMAGE3DPROC glad_debug_glCopyTexSubImage3D; +#define glCopyTexSubImage3D glad_debug_glCopyTexSubImage3D #endif #ifndef GL_VERSION_1_3 #define GL_VERSION_1_3 1 GLAPI int GLAD_GL_VERSION_1_3; typedef void (APIENTRYP PFNGLACTIVETEXTUREPROC)(GLenum texture); GLAPI PFNGLACTIVETEXTUREPROC glad_glActiveTexture; -#define glActiveTexture glad_glActiveTexture +GLAPI PFNGLACTIVETEXTUREPROC glad_debug_glActiveTexture; +#define glActiveTexture glad_debug_glActiveTexture typedef void (APIENTRYP PFNGLSAMPLECOVERAGEPROC)(GLfloat value, GLboolean invert); GLAPI PFNGLSAMPLECOVERAGEPROC glad_glSampleCoverage; -#define glSampleCoverage glad_glSampleCoverage +GLAPI PFNGLSAMPLECOVERAGEPROC glad_debug_glSampleCoverage; +#define glSampleCoverage glad_debug_glSampleCoverage typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data); GLAPI PFNGLCOMPRESSEDTEXIMAGE3DPROC glad_glCompressedTexImage3D; -#define glCompressedTexImage3D glad_glCompressedTexImage3D +GLAPI PFNGLCOMPRESSEDTEXIMAGE3DPROC glad_debug_glCompressedTexImage3D; +#define glCompressedTexImage3D glad_debug_glCompressedTexImage3D typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data); GLAPI PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_glCompressedTexImage2D; -#define glCompressedTexImage2D glad_glCompressedTexImage2D +GLAPI PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_debug_glCompressedTexImage2D; +#define glCompressedTexImage2D glad_debug_glCompressedTexImage2D typedef void (APIENTRYP PFNGLCOMPRESSEDTEXIMAGE1DPROC)(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data); GLAPI PFNGLCOMPRESSEDTEXIMAGE1DPROC glad_glCompressedTexImage1D; -#define glCompressedTexImage1D glad_glCompressedTexImage1D +GLAPI PFNGLCOMPRESSEDTEXIMAGE1DPROC glad_debug_glCompressedTexImage1D; +#define glCompressedTexImage1D glad_debug_glCompressedTexImage1D typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); GLAPI PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glad_glCompressedTexSubImage3D; -#define glCompressedTexSubImage3D glad_glCompressedTexSubImage3D +GLAPI PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glad_debug_glCompressedTexSubImage3D; +#define glCompressedTexSubImage3D glad_debug_glCompressedTexSubImage3D typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC)(GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data); GLAPI PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_glCompressedTexSubImage2D; -#define glCompressedTexSubImage2D glad_glCompressedTexSubImage2D +GLAPI PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_debug_glCompressedTexSubImage2D; +#define glCompressedTexSubImage2D glad_debug_glCompressedTexSubImage2D typedef void (APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC)(GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data); GLAPI PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glad_glCompressedTexSubImage1D; -#define glCompressedTexSubImage1D glad_glCompressedTexSubImage1D +GLAPI PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glad_debug_glCompressedTexSubImage1D; +#define glCompressedTexSubImage1D glad_debug_glCompressedTexSubImage1D typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXIMAGEPROC)(GLenum target, GLint level, void *img); GLAPI PFNGLGETCOMPRESSEDTEXIMAGEPROC glad_glGetCompressedTexImage; -#define glGetCompressedTexImage glad_glGetCompressedTexImage +GLAPI PFNGLGETCOMPRESSEDTEXIMAGEPROC glad_debug_glGetCompressedTexImage; +#define glGetCompressedTexImage glad_debug_glGetCompressedTexImage #endif #ifndef GL_VERSION_1_4 #define GL_VERSION_1_4 1 GLAPI int GLAD_GL_VERSION_1_4; typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEPROC)(GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); GLAPI PFNGLBLENDFUNCSEPARATEPROC glad_glBlendFuncSeparate; -#define glBlendFuncSeparate glad_glBlendFuncSeparate +GLAPI PFNGLBLENDFUNCSEPARATEPROC glad_debug_glBlendFuncSeparate; +#define glBlendFuncSeparate glad_debug_glBlendFuncSeparate typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSPROC)(GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount); GLAPI PFNGLMULTIDRAWARRAYSPROC glad_glMultiDrawArrays; -#define glMultiDrawArrays glad_glMultiDrawArrays +GLAPI PFNGLMULTIDRAWARRAYSPROC glad_debug_glMultiDrawArrays; +#define glMultiDrawArrays glad_debug_glMultiDrawArrays typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSPROC)(GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount); GLAPI PFNGLMULTIDRAWELEMENTSPROC glad_glMultiDrawElements; -#define glMultiDrawElements glad_glMultiDrawElements +GLAPI PFNGLMULTIDRAWELEMENTSPROC glad_debug_glMultiDrawElements; +#define glMultiDrawElements glad_debug_glMultiDrawElements typedef void (APIENTRYP PFNGLPOINTPARAMETERFPROC)(GLenum pname, GLfloat param); GLAPI PFNGLPOINTPARAMETERFPROC glad_glPointParameterf; -#define glPointParameterf glad_glPointParameterf +GLAPI PFNGLPOINTPARAMETERFPROC glad_debug_glPointParameterf; +#define glPointParameterf glad_debug_glPointParameterf typedef void (APIENTRYP PFNGLPOINTPARAMETERFVPROC)(GLenum pname, const GLfloat *params); GLAPI PFNGLPOINTPARAMETERFVPROC glad_glPointParameterfv; -#define glPointParameterfv glad_glPointParameterfv +GLAPI PFNGLPOINTPARAMETERFVPROC glad_debug_glPointParameterfv; +#define glPointParameterfv glad_debug_glPointParameterfv typedef void (APIENTRYP PFNGLPOINTPARAMETERIPROC)(GLenum pname, GLint param); GLAPI PFNGLPOINTPARAMETERIPROC glad_glPointParameteri; -#define glPointParameteri glad_glPointParameteri +GLAPI PFNGLPOINTPARAMETERIPROC glad_debug_glPointParameteri; +#define glPointParameteri glad_debug_glPointParameteri typedef void (APIENTRYP PFNGLPOINTPARAMETERIVPROC)(GLenum pname, const GLint *params); GLAPI PFNGLPOINTPARAMETERIVPROC glad_glPointParameteriv; -#define glPointParameteriv glad_glPointParameteriv +GLAPI PFNGLPOINTPARAMETERIVPROC glad_debug_glPointParameteriv; +#define glPointParameteriv glad_debug_glPointParameteriv typedef void (APIENTRYP PFNGLBLENDCOLORPROC)(GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); GLAPI PFNGLBLENDCOLORPROC glad_glBlendColor; -#define glBlendColor glad_glBlendColor +GLAPI PFNGLBLENDCOLORPROC glad_debug_glBlendColor; +#define glBlendColor glad_debug_glBlendColor typedef void (APIENTRYP PFNGLBLENDEQUATIONPROC)(GLenum mode); GLAPI PFNGLBLENDEQUATIONPROC glad_glBlendEquation; -#define glBlendEquation glad_glBlendEquation +GLAPI PFNGLBLENDEQUATIONPROC glad_debug_glBlendEquation; +#define glBlendEquation glad_debug_glBlendEquation #endif #ifndef GL_VERSION_1_5 #define GL_VERSION_1_5 1 GLAPI int GLAD_GL_VERSION_1_5; typedef void (APIENTRYP PFNGLGENQUERIESPROC)(GLsizei n, GLuint *ids); GLAPI PFNGLGENQUERIESPROC glad_glGenQueries; -#define glGenQueries glad_glGenQueries +GLAPI PFNGLGENQUERIESPROC glad_debug_glGenQueries; +#define glGenQueries glad_debug_glGenQueries typedef void (APIENTRYP PFNGLDELETEQUERIESPROC)(GLsizei n, const GLuint *ids); GLAPI PFNGLDELETEQUERIESPROC glad_glDeleteQueries; -#define glDeleteQueries glad_glDeleteQueries +GLAPI PFNGLDELETEQUERIESPROC glad_debug_glDeleteQueries; +#define glDeleteQueries glad_debug_glDeleteQueries typedef GLboolean (APIENTRYP PFNGLISQUERYPROC)(GLuint id); GLAPI PFNGLISQUERYPROC glad_glIsQuery; -#define glIsQuery glad_glIsQuery +GLAPI PFNGLISQUERYPROC glad_debug_glIsQuery; +#define glIsQuery glad_debug_glIsQuery typedef void (APIENTRYP PFNGLBEGINQUERYPROC)(GLenum target, GLuint id); GLAPI PFNGLBEGINQUERYPROC glad_glBeginQuery; -#define glBeginQuery glad_glBeginQuery +GLAPI PFNGLBEGINQUERYPROC glad_debug_glBeginQuery; +#define glBeginQuery glad_debug_glBeginQuery typedef void (APIENTRYP PFNGLENDQUERYPROC)(GLenum target); GLAPI PFNGLENDQUERYPROC glad_glEndQuery; -#define glEndQuery glad_glEndQuery +GLAPI PFNGLENDQUERYPROC glad_debug_glEndQuery; +#define glEndQuery glad_debug_glEndQuery typedef void (APIENTRYP PFNGLGETQUERYIVPROC)(GLenum target, GLenum pname, GLint *params); GLAPI PFNGLGETQUERYIVPROC glad_glGetQueryiv; -#define glGetQueryiv glad_glGetQueryiv +GLAPI PFNGLGETQUERYIVPROC glad_debug_glGetQueryiv; +#define glGetQueryiv glad_debug_glGetQueryiv typedef void (APIENTRYP PFNGLGETQUERYOBJECTIVPROC)(GLuint id, GLenum pname, GLint *params); GLAPI PFNGLGETQUERYOBJECTIVPROC glad_glGetQueryObjectiv; -#define glGetQueryObjectiv glad_glGetQueryObjectiv +GLAPI PFNGLGETQUERYOBJECTIVPROC glad_debug_glGetQueryObjectiv; +#define glGetQueryObjectiv glad_debug_glGetQueryObjectiv typedef void (APIENTRYP PFNGLGETQUERYOBJECTUIVPROC)(GLuint id, GLenum pname, GLuint *params); GLAPI PFNGLGETQUERYOBJECTUIVPROC glad_glGetQueryObjectuiv; -#define glGetQueryObjectuiv glad_glGetQueryObjectuiv +GLAPI PFNGLGETQUERYOBJECTUIVPROC glad_debug_glGetQueryObjectuiv; +#define glGetQueryObjectuiv glad_debug_glGetQueryObjectuiv typedef void (APIENTRYP PFNGLBINDBUFFERPROC)(GLenum target, GLuint buffer); GLAPI PFNGLBINDBUFFERPROC glad_glBindBuffer; -#define glBindBuffer glad_glBindBuffer +GLAPI PFNGLBINDBUFFERPROC glad_debug_glBindBuffer; +#define glBindBuffer glad_debug_glBindBuffer typedef void (APIENTRYP PFNGLDELETEBUFFERSPROC)(GLsizei n, const GLuint *buffers); GLAPI PFNGLDELETEBUFFERSPROC glad_glDeleteBuffers; -#define glDeleteBuffers glad_glDeleteBuffers +GLAPI PFNGLDELETEBUFFERSPROC glad_debug_glDeleteBuffers; +#define glDeleteBuffers glad_debug_glDeleteBuffers typedef void (APIENTRYP PFNGLGENBUFFERSPROC)(GLsizei n, GLuint *buffers); GLAPI PFNGLGENBUFFERSPROC glad_glGenBuffers; -#define glGenBuffers glad_glGenBuffers +GLAPI PFNGLGENBUFFERSPROC glad_debug_glGenBuffers; +#define glGenBuffers glad_debug_glGenBuffers typedef GLboolean (APIENTRYP PFNGLISBUFFERPROC)(GLuint buffer); GLAPI PFNGLISBUFFERPROC glad_glIsBuffer; -#define glIsBuffer glad_glIsBuffer +GLAPI PFNGLISBUFFERPROC glad_debug_glIsBuffer; +#define glIsBuffer glad_debug_glIsBuffer typedef void (APIENTRYP PFNGLBUFFERDATAPROC)(GLenum target, GLsizeiptr size, const void *data, GLenum usage); GLAPI PFNGLBUFFERDATAPROC glad_glBufferData; -#define glBufferData glad_glBufferData +GLAPI PFNGLBUFFERDATAPROC glad_debug_glBufferData; +#define glBufferData glad_debug_glBufferData typedef void (APIENTRYP PFNGLBUFFERSUBDATAPROC)(GLenum target, GLintptr offset, GLsizeiptr size, const void *data); GLAPI PFNGLBUFFERSUBDATAPROC glad_glBufferSubData; -#define glBufferSubData glad_glBufferSubData +GLAPI PFNGLBUFFERSUBDATAPROC glad_debug_glBufferSubData; +#define glBufferSubData glad_debug_glBufferSubData typedef void (APIENTRYP PFNGLGETBUFFERSUBDATAPROC)(GLenum target, GLintptr offset, GLsizeiptr size, void *data); GLAPI PFNGLGETBUFFERSUBDATAPROC glad_glGetBufferSubData; -#define glGetBufferSubData glad_glGetBufferSubData +GLAPI PFNGLGETBUFFERSUBDATAPROC glad_debug_glGetBufferSubData; +#define glGetBufferSubData glad_debug_glGetBufferSubData typedef void * (APIENTRYP PFNGLMAPBUFFERPROC)(GLenum target, GLenum access); GLAPI PFNGLMAPBUFFERPROC glad_glMapBuffer; -#define glMapBuffer glad_glMapBuffer +GLAPI PFNGLMAPBUFFERPROC glad_debug_glMapBuffer; +#define glMapBuffer glad_debug_glMapBuffer typedef GLboolean (APIENTRYP PFNGLUNMAPBUFFERPROC)(GLenum target); GLAPI PFNGLUNMAPBUFFERPROC glad_glUnmapBuffer; -#define glUnmapBuffer glad_glUnmapBuffer +GLAPI PFNGLUNMAPBUFFERPROC glad_debug_glUnmapBuffer; +#define glUnmapBuffer glad_debug_glUnmapBuffer typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params); GLAPI PFNGLGETBUFFERPARAMETERIVPROC glad_glGetBufferParameteriv; -#define glGetBufferParameteriv glad_glGetBufferParameteriv +GLAPI PFNGLGETBUFFERPARAMETERIVPROC glad_debug_glGetBufferParameteriv; +#define glGetBufferParameteriv glad_debug_glGetBufferParameteriv typedef void (APIENTRYP PFNGLGETBUFFERPOINTERVPROC)(GLenum target, GLenum pname, void **params); GLAPI PFNGLGETBUFFERPOINTERVPROC glad_glGetBufferPointerv; -#define glGetBufferPointerv glad_glGetBufferPointerv +GLAPI PFNGLGETBUFFERPOINTERVPROC glad_debug_glGetBufferPointerv; +#define glGetBufferPointerv glad_debug_glGetBufferPointerv #endif #ifndef GL_VERSION_2_0 #define GL_VERSION_2_0 1 GLAPI int GLAD_GL_VERSION_2_0; typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEPROC)(GLenum modeRGB, GLenum modeAlpha); GLAPI PFNGLBLENDEQUATIONSEPARATEPROC glad_glBlendEquationSeparate; -#define glBlendEquationSeparate glad_glBlendEquationSeparate +GLAPI PFNGLBLENDEQUATIONSEPARATEPROC glad_debug_glBlendEquationSeparate; +#define glBlendEquationSeparate glad_debug_glBlendEquationSeparate typedef void (APIENTRYP PFNGLDRAWBUFFERSPROC)(GLsizei n, const GLenum *bufs); GLAPI PFNGLDRAWBUFFERSPROC glad_glDrawBuffers; -#define glDrawBuffers glad_glDrawBuffers +GLAPI PFNGLDRAWBUFFERSPROC glad_debug_glDrawBuffers; +#define glDrawBuffers glad_debug_glDrawBuffers typedef void (APIENTRYP PFNGLSTENCILOPSEPARATEPROC)(GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); GLAPI PFNGLSTENCILOPSEPARATEPROC glad_glStencilOpSeparate; -#define glStencilOpSeparate glad_glStencilOpSeparate +GLAPI PFNGLSTENCILOPSEPARATEPROC glad_debug_glStencilOpSeparate; +#define glStencilOpSeparate glad_debug_glStencilOpSeparate typedef void (APIENTRYP PFNGLSTENCILFUNCSEPARATEPROC)(GLenum face, GLenum func, GLint ref, GLuint mask); GLAPI PFNGLSTENCILFUNCSEPARATEPROC glad_glStencilFuncSeparate; -#define glStencilFuncSeparate glad_glStencilFuncSeparate +GLAPI PFNGLSTENCILFUNCSEPARATEPROC glad_debug_glStencilFuncSeparate; +#define glStencilFuncSeparate glad_debug_glStencilFuncSeparate typedef void (APIENTRYP PFNGLSTENCILMASKSEPARATEPROC)(GLenum face, GLuint mask); GLAPI PFNGLSTENCILMASKSEPARATEPROC glad_glStencilMaskSeparate; -#define glStencilMaskSeparate glad_glStencilMaskSeparate +GLAPI PFNGLSTENCILMASKSEPARATEPROC glad_debug_glStencilMaskSeparate; +#define glStencilMaskSeparate glad_debug_glStencilMaskSeparate typedef void (APIENTRYP PFNGLATTACHSHADERPROC)(GLuint program, GLuint shader); GLAPI PFNGLATTACHSHADERPROC glad_glAttachShader; -#define glAttachShader glad_glAttachShader +GLAPI PFNGLATTACHSHADERPROC glad_debug_glAttachShader; +#define glAttachShader glad_debug_glAttachShader typedef void (APIENTRYP PFNGLBINDATTRIBLOCATIONPROC)(GLuint program, GLuint index, const GLchar *name); GLAPI PFNGLBINDATTRIBLOCATIONPROC glad_glBindAttribLocation; -#define glBindAttribLocation glad_glBindAttribLocation +GLAPI PFNGLBINDATTRIBLOCATIONPROC glad_debug_glBindAttribLocation; +#define glBindAttribLocation glad_debug_glBindAttribLocation typedef void (APIENTRYP PFNGLCOMPILESHADERPROC)(GLuint shader); GLAPI PFNGLCOMPILESHADERPROC glad_glCompileShader; -#define glCompileShader glad_glCompileShader +GLAPI PFNGLCOMPILESHADERPROC glad_debug_glCompileShader; +#define glCompileShader glad_debug_glCompileShader typedef GLuint (APIENTRYP PFNGLCREATEPROGRAMPROC)(); GLAPI PFNGLCREATEPROGRAMPROC glad_glCreateProgram; -#define glCreateProgram glad_glCreateProgram +GLAPI PFNGLCREATEPROGRAMPROC glad_debug_glCreateProgram; +#define glCreateProgram glad_debug_glCreateProgram typedef GLuint (APIENTRYP PFNGLCREATESHADERPROC)(GLenum type); GLAPI PFNGLCREATESHADERPROC glad_glCreateShader; -#define glCreateShader glad_glCreateShader +GLAPI PFNGLCREATESHADERPROC glad_debug_glCreateShader; +#define glCreateShader glad_debug_glCreateShader typedef void (APIENTRYP PFNGLDELETEPROGRAMPROC)(GLuint program); GLAPI PFNGLDELETEPROGRAMPROC glad_glDeleteProgram; -#define glDeleteProgram glad_glDeleteProgram +GLAPI PFNGLDELETEPROGRAMPROC glad_debug_glDeleteProgram; +#define glDeleteProgram glad_debug_glDeleteProgram typedef void (APIENTRYP PFNGLDELETESHADERPROC)(GLuint shader); GLAPI PFNGLDELETESHADERPROC glad_glDeleteShader; -#define glDeleteShader glad_glDeleteShader +GLAPI PFNGLDELETESHADERPROC glad_debug_glDeleteShader; +#define glDeleteShader glad_debug_glDeleteShader typedef void (APIENTRYP PFNGLDETACHSHADERPROC)(GLuint program, GLuint shader); GLAPI PFNGLDETACHSHADERPROC glad_glDetachShader; -#define glDetachShader glad_glDetachShader +GLAPI PFNGLDETACHSHADERPROC glad_debug_glDetachShader; +#define glDetachShader glad_debug_glDetachShader typedef void (APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYPROC)(GLuint index); GLAPI PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_glDisableVertexAttribArray; -#define glDisableVertexAttribArray glad_glDisableVertexAttribArray +GLAPI PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_debug_glDisableVertexAttribArray; +#define glDisableVertexAttribArray glad_debug_glDisableVertexAttribArray typedef void (APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYPROC)(GLuint index); GLAPI PFNGLENABLEVERTEXATTRIBARRAYPROC glad_glEnableVertexAttribArray; -#define glEnableVertexAttribArray glad_glEnableVertexAttribArray +GLAPI PFNGLENABLEVERTEXATTRIBARRAYPROC glad_debug_glEnableVertexAttribArray; +#define glEnableVertexAttribArray glad_debug_glEnableVertexAttribArray typedef void (APIENTRYP PFNGLGETACTIVEATTRIBPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); GLAPI PFNGLGETACTIVEATTRIBPROC glad_glGetActiveAttrib; -#define glGetActiveAttrib glad_glGetActiveAttrib +GLAPI PFNGLGETACTIVEATTRIBPROC glad_debug_glGetActiveAttrib; +#define glGetActiveAttrib glad_debug_glGetActiveAttrib typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); GLAPI PFNGLGETACTIVEUNIFORMPROC glad_glGetActiveUniform; -#define glGetActiveUniform glad_glGetActiveUniform +GLAPI PFNGLGETACTIVEUNIFORMPROC glad_debug_glGetActiveUniform; +#define glGetActiveUniform glad_debug_glGetActiveUniform typedef void (APIENTRYP PFNGLGETATTACHEDSHADERSPROC)(GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders); GLAPI PFNGLGETATTACHEDSHADERSPROC glad_glGetAttachedShaders; -#define glGetAttachedShaders glad_glGetAttachedShaders +GLAPI PFNGLGETATTACHEDSHADERSPROC glad_debug_glGetAttachedShaders; +#define glGetAttachedShaders glad_debug_glGetAttachedShaders typedef GLint (APIENTRYP PFNGLGETATTRIBLOCATIONPROC)(GLuint program, const GLchar *name); GLAPI PFNGLGETATTRIBLOCATIONPROC glad_glGetAttribLocation; -#define glGetAttribLocation glad_glGetAttribLocation +GLAPI PFNGLGETATTRIBLOCATIONPROC glad_debug_glGetAttribLocation; +#define glGetAttribLocation glad_debug_glGetAttribLocation typedef void (APIENTRYP PFNGLGETPROGRAMIVPROC)(GLuint program, GLenum pname, GLint *params); GLAPI PFNGLGETPROGRAMIVPROC glad_glGetProgramiv; -#define glGetProgramiv glad_glGetProgramiv +GLAPI PFNGLGETPROGRAMIVPROC glad_debug_glGetProgramiv; +#define glGetProgramiv glad_debug_glGetProgramiv typedef void (APIENTRYP PFNGLGETPROGRAMINFOLOGPROC)(GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog); GLAPI PFNGLGETPROGRAMINFOLOGPROC glad_glGetProgramInfoLog; -#define glGetProgramInfoLog glad_glGetProgramInfoLog +GLAPI PFNGLGETPROGRAMINFOLOGPROC glad_debug_glGetProgramInfoLog; +#define glGetProgramInfoLog glad_debug_glGetProgramInfoLog typedef void (APIENTRYP PFNGLGETSHADERIVPROC)(GLuint shader, GLenum pname, GLint *params); GLAPI PFNGLGETSHADERIVPROC glad_glGetShaderiv; -#define glGetShaderiv glad_glGetShaderiv +GLAPI PFNGLGETSHADERIVPROC glad_debug_glGetShaderiv; +#define glGetShaderiv glad_debug_glGetShaderiv typedef void (APIENTRYP PFNGLGETSHADERINFOLOGPROC)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog); GLAPI PFNGLGETSHADERINFOLOGPROC glad_glGetShaderInfoLog; -#define glGetShaderInfoLog glad_glGetShaderInfoLog +GLAPI PFNGLGETSHADERINFOLOGPROC glad_debug_glGetShaderInfoLog; +#define glGetShaderInfoLog glad_debug_glGetShaderInfoLog typedef void (APIENTRYP PFNGLGETSHADERSOURCEPROC)(GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source); GLAPI PFNGLGETSHADERSOURCEPROC glad_glGetShaderSource; -#define glGetShaderSource glad_glGetShaderSource +GLAPI PFNGLGETSHADERSOURCEPROC glad_debug_glGetShaderSource; +#define glGetShaderSource glad_debug_glGetShaderSource typedef GLint (APIENTRYP PFNGLGETUNIFORMLOCATIONPROC)(GLuint program, const GLchar *name); GLAPI PFNGLGETUNIFORMLOCATIONPROC glad_glGetUniformLocation; -#define glGetUniformLocation glad_glGetUniformLocation +GLAPI PFNGLGETUNIFORMLOCATIONPROC glad_debug_glGetUniformLocation; +#define glGetUniformLocation glad_debug_glGetUniformLocation typedef void (APIENTRYP PFNGLGETUNIFORMFVPROC)(GLuint program, GLint location, GLfloat *params); GLAPI PFNGLGETUNIFORMFVPROC glad_glGetUniformfv; -#define glGetUniformfv glad_glGetUniformfv +GLAPI PFNGLGETUNIFORMFVPROC glad_debug_glGetUniformfv; +#define glGetUniformfv glad_debug_glGetUniformfv typedef void (APIENTRYP PFNGLGETUNIFORMIVPROC)(GLuint program, GLint location, GLint *params); GLAPI PFNGLGETUNIFORMIVPROC glad_glGetUniformiv; -#define glGetUniformiv glad_glGetUniformiv +GLAPI PFNGLGETUNIFORMIVPROC glad_debug_glGetUniformiv; +#define glGetUniformiv glad_debug_glGetUniformiv typedef void (APIENTRYP PFNGLGETVERTEXATTRIBDVPROC)(GLuint index, GLenum pname, GLdouble *params); GLAPI PFNGLGETVERTEXATTRIBDVPROC glad_glGetVertexAttribdv; -#define glGetVertexAttribdv glad_glGetVertexAttribdv +GLAPI PFNGLGETVERTEXATTRIBDVPROC glad_debug_glGetVertexAttribdv; +#define glGetVertexAttribdv glad_debug_glGetVertexAttribdv typedef void (APIENTRYP PFNGLGETVERTEXATTRIBFVPROC)(GLuint index, GLenum pname, GLfloat *params); GLAPI PFNGLGETVERTEXATTRIBFVPROC glad_glGetVertexAttribfv; -#define glGetVertexAttribfv glad_glGetVertexAttribfv +GLAPI PFNGLGETVERTEXATTRIBFVPROC glad_debug_glGetVertexAttribfv; +#define glGetVertexAttribfv glad_debug_glGetVertexAttribfv typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIVPROC)(GLuint index, GLenum pname, GLint *params); GLAPI PFNGLGETVERTEXATTRIBIVPROC glad_glGetVertexAttribiv; -#define glGetVertexAttribiv glad_glGetVertexAttribiv +GLAPI PFNGLGETVERTEXATTRIBIVPROC glad_debug_glGetVertexAttribiv; +#define glGetVertexAttribiv glad_debug_glGetVertexAttribiv typedef void (APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVPROC)(GLuint index, GLenum pname, void **pointer); GLAPI PFNGLGETVERTEXATTRIBPOINTERVPROC glad_glGetVertexAttribPointerv; -#define glGetVertexAttribPointerv glad_glGetVertexAttribPointerv +GLAPI PFNGLGETVERTEXATTRIBPOINTERVPROC glad_debug_glGetVertexAttribPointerv; +#define glGetVertexAttribPointerv glad_debug_glGetVertexAttribPointerv typedef GLboolean (APIENTRYP PFNGLISPROGRAMPROC)(GLuint program); GLAPI PFNGLISPROGRAMPROC glad_glIsProgram; -#define glIsProgram glad_glIsProgram +GLAPI PFNGLISPROGRAMPROC glad_debug_glIsProgram; +#define glIsProgram glad_debug_glIsProgram typedef GLboolean (APIENTRYP PFNGLISSHADERPROC)(GLuint shader); GLAPI PFNGLISSHADERPROC glad_glIsShader; -#define glIsShader glad_glIsShader +GLAPI PFNGLISSHADERPROC glad_debug_glIsShader; +#define glIsShader glad_debug_glIsShader typedef void (APIENTRYP PFNGLLINKPROGRAMPROC)(GLuint program); GLAPI PFNGLLINKPROGRAMPROC glad_glLinkProgram; -#define glLinkProgram glad_glLinkProgram +GLAPI PFNGLLINKPROGRAMPROC glad_debug_glLinkProgram; +#define glLinkProgram glad_debug_glLinkProgram typedef void (APIENTRYP PFNGLSHADERSOURCEPROC)(GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length); GLAPI PFNGLSHADERSOURCEPROC glad_glShaderSource; -#define glShaderSource glad_glShaderSource +GLAPI PFNGLSHADERSOURCEPROC glad_debug_glShaderSource; +#define glShaderSource glad_debug_glShaderSource typedef void (APIENTRYP PFNGLUSEPROGRAMPROC)(GLuint program); GLAPI PFNGLUSEPROGRAMPROC glad_glUseProgram; -#define glUseProgram glad_glUseProgram +GLAPI PFNGLUSEPROGRAMPROC glad_debug_glUseProgram; +#define glUseProgram glad_debug_glUseProgram typedef void (APIENTRYP PFNGLUNIFORM1FPROC)(GLint location, GLfloat v0); GLAPI PFNGLUNIFORM1FPROC glad_glUniform1f; -#define glUniform1f glad_glUniform1f +GLAPI PFNGLUNIFORM1FPROC glad_debug_glUniform1f; +#define glUniform1f glad_debug_glUniform1f typedef void (APIENTRYP PFNGLUNIFORM2FPROC)(GLint location, GLfloat v0, GLfloat v1); GLAPI PFNGLUNIFORM2FPROC glad_glUniform2f; -#define glUniform2f glad_glUniform2f +GLAPI PFNGLUNIFORM2FPROC glad_debug_glUniform2f; +#define glUniform2f glad_debug_glUniform2f typedef void (APIENTRYP PFNGLUNIFORM3FPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2); GLAPI PFNGLUNIFORM3FPROC glad_glUniform3f; -#define glUniform3f glad_glUniform3f +GLAPI PFNGLUNIFORM3FPROC glad_debug_glUniform3f; +#define glUniform3f glad_debug_glUniform3f typedef void (APIENTRYP PFNGLUNIFORM4FPROC)(GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); GLAPI PFNGLUNIFORM4FPROC glad_glUniform4f; -#define glUniform4f glad_glUniform4f +GLAPI PFNGLUNIFORM4FPROC glad_debug_glUniform4f; +#define glUniform4f glad_debug_glUniform4f typedef void (APIENTRYP PFNGLUNIFORM1IPROC)(GLint location, GLint v0); GLAPI PFNGLUNIFORM1IPROC glad_glUniform1i; -#define glUniform1i glad_glUniform1i +GLAPI PFNGLUNIFORM1IPROC glad_debug_glUniform1i; +#define glUniform1i glad_debug_glUniform1i typedef void (APIENTRYP PFNGLUNIFORM2IPROC)(GLint location, GLint v0, GLint v1); GLAPI PFNGLUNIFORM2IPROC glad_glUniform2i; -#define glUniform2i glad_glUniform2i +GLAPI PFNGLUNIFORM2IPROC glad_debug_glUniform2i; +#define glUniform2i glad_debug_glUniform2i typedef void (APIENTRYP PFNGLUNIFORM3IPROC)(GLint location, GLint v0, GLint v1, GLint v2); GLAPI PFNGLUNIFORM3IPROC glad_glUniform3i; -#define glUniform3i glad_glUniform3i +GLAPI PFNGLUNIFORM3IPROC glad_debug_glUniform3i; +#define glUniform3i glad_debug_glUniform3i typedef void (APIENTRYP PFNGLUNIFORM4IPROC)(GLint location, GLint v0, GLint v1, GLint v2, GLint v3); GLAPI PFNGLUNIFORM4IPROC glad_glUniform4i; -#define glUniform4i glad_glUniform4i +GLAPI PFNGLUNIFORM4IPROC glad_debug_glUniform4i; +#define glUniform4i glad_debug_glUniform4i typedef void (APIENTRYP PFNGLUNIFORM1FVPROC)(GLint location, GLsizei count, const GLfloat *value); GLAPI PFNGLUNIFORM1FVPROC glad_glUniform1fv; -#define glUniform1fv glad_glUniform1fv +GLAPI PFNGLUNIFORM1FVPROC glad_debug_glUniform1fv; +#define glUniform1fv glad_debug_glUniform1fv typedef void (APIENTRYP PFNGLUNIFORM2FVPROC)(GLint location, GLsizei count, const GLfloat *value); GLAPI PFNGLUNIFORM2FVPROC glad_glUniform2fv; -#define glUniform2fv glad_glUniform2fv +GLAPI PFNGLUNIFORM2FVPROC glad_debug_glUniform2fv; +#define glUniform2fv glad_debug_glUniform2fv typedef void (APIENTRYP PFNGLUNIFORM3FVPROC)(GLint location, GLsizei count, const GLfloat *value); GLAPI PFNGLUNIFORM3FVPROC glad_glUniform3fv; -#define glUniform3fv glad_glUniform3fv +GLAPI PFNGLUNIFORM3FVPROC glad_debug_glUniform3fv; +#define glUniform3fv glad_debug_glUniform3fv typedef void (APIENTRYP PFNGLUNIFORM4FVPROC)(GLint location, GLsizei count, const GLfloat *value); GLAPI PFNGLUNIFORM4FVPROC glad_glUniform4fv; -#define glUniform4fv glad_glUniform4fv +GLAPI PFNGLUNIFORM4FVPROC glad_debug_glUniform4fv; +#define glUniform4fv glad_debug_glUniform4fv typedef void (APIENTRYP PFNGLUNIFORM1IVPROC)(GLint location, GLsizei count, const GLint *value); GLAPI PFNGLUNIFORM1IVPROC glad_glUniform1iv; -#define glUniform1iv glad_glUniform1iv +GLAPI PFNGLUNIFORM1IVPROC glad_debug_glUniform1iv; +#define glUniform1iv glad_debug_glUniform1iv typedef void (APIENTRYP PFNGLUNIFORM2IVPROC)(GLint location, GLsizei count, const GLint *value); GLAPI PFNGLUNIFORM2IVPROC glad_glUniform2iv; -#define glUniform2iv glad_glUniform2iv +GLAPI PFNGLUNIFORM2IVPROC glad_debug_glUniform2iv; +#define glUniform2iv glad_debug_glUniform2iv typedef void (APIENTRYP PFNGLUNIFORM3IVPROC)(GLint location, GLsizei count, const GLint *value); GLAPI PFNGLUNIFORM3IVPROC glad_glUniform3iv; -#define glUniform3iv glad_glUniform3iv +GLAPI PFNGLUNIFORM3IVPROC glad_debug_glUniform3iv; +#define glUniform3iv glad_debug_glUniform3iv typedef void (APIENTRYP PFNGLUNIFORM4IVPROC)(GLint location, GLsizei count, const GLint *value); GLAPI PFNGLUNIFORM4IVPROC glad_glUniform4iv; -#define glUniform4iv glad_glUniform4iv +GLAPI PFNGLUNIFORM4IVPROC glad_debug_glUniform4iv; +#define glUniform4iv glad_debug_glUniform4iv typedef void (APIENTRYP PFNGLUNIFORMMATRIX2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); GLAPI PFNGLUNIFORMMATRIX2FVPROC glad_glUniformMatrix2fv; -#define glUniformMatrix2fv glad_glUniformMatrix2fv +GLAPI PFNGLUNIFORMMATRIX2FVPROC glad_debug_glUniformMatrix2fv; +#define glUniformMatrix2fv glad_debug_glUniformMatrix2fv typedef void (APIENTRYP PFNGLUNIFORMMATRIX3FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); GLAPI PFNGLUNIFORMMATRIX3FVPROC glad_glUniformMatrix3fv; -#define glUniformMatrix3fv glad_glUniformMatrix3fv +GLAPI PFNGLUNIFORMMATRIX3FVPROC glad_debug_glUniformMatrix3fv; +#define glUniformMatrix3fv glad_debug_glUniformMatrix3fv typedef void (APIENTRYP PFNGLUNIFORMMATRIX4FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); GLAPI PFNGLUNIFORMMATRIX4FVPROC glad_glUniformMatrix4fv; -#define glUniformMatrix4fv glad_glUniformMatrix4fv +GLAPI PFNGLUNIFORMMATRIX4FVPROC glad_debug_glUniformMatrix4fv; +#define glUniformMatrix4fv glad_debug_glUniformMatrix4fv typedef void (APIENTRYP PFNGLVALIDATEPROGRAMPROC)(GLuint program); GLAPI PFNGLVALIDATEPROGRAMPROC glad_glValidateProgram; -#define glValidateProgram glad_glValidateProgram +GLAPI PFNGLVALIDATEPROGRAMPROC glad_debug_glValidateProgram; +#define glValidateProgram glad_debug_glValidateProgram typedef void (APIENTRYP PFNGLVERTEXATTRIB1DPROC)(GLuint index, GLdouble x); GLAPI PFNGLVERTEXATTRIB1DPROC glad_glVertexAttrib1d; -#define glVertexAttrib1d glad_glVertexAttrib1d +GLAPI PFNGLVERTEXATTRIB1DPROC glad_debug_glVertexAttrib1d; +#define glVertexAttrib1d glad_debug_glVertexAttrib1d typedef void (APIENTRYP PFNGLVERTEXATTRIB1DVPROC)(GLuint index, const GLdouble *v); GLAPI PFNGLVERTEXATTRIB1DVPROC glad_glVertexAttrib1dv; -#define glVertexAttrib1dv glad_glVertexAttrib1dv +GLAPI PFNGLVERTEXATTRIB1DVPROC glad_debug_glVertexAttrib1dv; +#define glVertexAttrib1dv glad_debug_glVertexAttrib1dv typedef void (APIENTRYP PFNGLVERTEXATTRIB1FPROC)(GLuint index, GLfloat x); GLAPI PFNGLVERTEXATTRIB1FPROC glad_glVertexAttrib1f; -#define glVertexAttrib1f glad_glVertexAttrib1f +GLAPI PFNGLVERTEXATTRIB1FPROC glad_debug_glVertexAttrib1f; +#define glVertexAttrib1f glad_debug_glVertexAttrib1f typedef void (APIENTRYP PFNGLVERTEXATTRIB1FVPROC)(GLuint index, const GLfloat *v); GLAPI PFNGLVERTEXATTRIB1FVPROC glad_glVertexAttrib1fv; -#define glVertexAttrib1fv glad_glVertexAttrib1fv +GLAPI PFNGLVERTEXATTRIB1FVPROC glad_debug_glVertexAttrib1fv; +#define glVertexAttrib1fv glad_debug_glVertexAttrib1fv typedef void (APIENTRYP PFNGLVERTEXATTRIB1SPROC)(GLuint index, GLshort x); GLAPI PFNGLVERTEXATTRIB1SPROC glad_glVertexAttrib1s; -#define glVertexAttrib1s glad_glVertexAttrib1s +GLAPI PFNGLVERTEXATTRIB1SPROC glad_debug_glVertexAttrib1s; +#define glVertexAttrib1s glad_debug_glVertexAttrib1s typedef void (APIENTRYP PFNGLVERTEXATTRIB1SVPROC)(GLuint index, const GLshort *v); GLAPI PFNGLVERTEXATTRIB1SVPROC glad_glVertexAttrib1sv; -#define glVertexAttrib1sv glad_glVertexAttrib1sv +GLAPI PFNGLVERTEXATTRIB1SVPROC glad_debug_glVertexAttrib1sv; +#define glVertexAttrib1sv glad_debug_glVertexAttrib1sv typedef void (APIENTRYP PFNGLVERTEXATTRIB2DPROC)(GLuint index, GLdouble x, GLdouble y); GLAPI PFNGLVERTEXATTRIB2DPROC glad_glVertexAttrib2d; -#define glVertexAttrib2d glad_glVertexAttrib2d +GLAPI PFNGLVERTEXATTRIB2DPROC glad_debug_glVertexAttrib2d; +#define glVertexAttrib2d glad_debug_glVertexAttrib2d typedef void (APIENTRYP PFNGLVERTEXATTRIB2DVPROC)(GLuint index, const GLdouble *v); GLAPI PFNGLVERTEXATTRIB2DVPROC glad_glVertexAttrib2dv; -#define glVertexAttrib2dv glad_glVertexAttrib2dv +GLAPI PFNGLVERTEXATTRIB2DVPROC glad_debug_glVertexAttrib2dv; +#define glVertexAttrib2dv glad_debug_glVertexAttrib2dv typedef void (APIENTRYP PFNGLVERTEXATTRIB2FPROC)(GLuint index, GLfloat x, GLfloat y); GLAPI PFNGLVERTEXATTRIB2FPROC glad_glVertexAttrib2f; -#define glVertexAttrib2f glad_glVertexAttrib2f +GLAPI PFNGLVERTEXATTRIB2FPROC glad_debug_glVertexAttrib2f; +#define glVertexAttrib2f glad_debug_glVertexAttrib2f typedef void (APIENTRYP PFNGLVERTEXATTRIB2FVPROC)(GLuint index, const GLfloat *v); GLAPI PFNGLVERTEXATTRIB2FVPROC glad_glVertexAttrib2fv; -#define glVertexAttrib2fv glad_glVertexAttrib2fv +GLAPI PFNGLVERTEXATTRIB2FVPROC glad_debug_glVertexAttrib2fv; +#define glVertexAttrib2fv glad_debug_glVertexAttrib2fv typedef void (APIENTRYP PFNGLVERTEXATTRIB2SPROC)(GLuint index, GLshort x, GLshort y); GLAPI PFNGLVERTEXATTRIB2SPROC glad_glVertexAttrib2s; -#define glVertexAttrib2s glad_glVertexAttrib2s +GLAPI PFNGLVERTEXATTRIB2SPROC glad_debug_glVertexAttrib2s; +#define glVertexAttrib2s glad_debug_glVertexAttrib2s typedef void (APIENTRYP PFNGLVERTEXATTRIB2SVPROC)(GLuint index, const GLshort *v); GLAPI PFNGLVERTEXATTRIB2SVPROC glad_glVertexAttrib2sv; -#define glVertexAttrib2sv glad_glVertexAttrib2sv +GLAPI PFNGLVERTEXATTRIB2SVPROC glad_debug_glVertexAttrib2sv; +#define glVertexAttrib2sv glad_debug_glVertexAttrib2sv typedef void (APIENTRYP PFNGLVERTEXATTRIB3DPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z); GLAPI PFNGLVERTEXATTRIB3DPROC glad_glVertexAttrib3d; -#define glVertexAttrib3d glad_glVertexAttrib3d +GLAPI PFNGLVERTEXATTRIB3DPROC glad_debug_glVertexAttrib3d; +#define glVertexAttrib3d glad_debug_glVertexAttrib3d typedef void (APIENTRYP PFNGLVERTEXATTRIB3DVPROC)(GLuint index, const GLdouble *v); GLAPI PFNGLVERTEXATTRIB3DVPROC glad_glVertexAttrib3dv; -#define glVertexAttrib3dv glad_glVertexAttrib3dv +GLAPI PFNGLVERTEXATTRIB3DVPROC glad_debug_glVertexAttrib3dv; +#define glVertexAttrib3dv glad_debug_glVertexAttrib3dv typedef void (APIENTRYP PFNGLVERTEXATTRIB3FPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z); GLAPI PFNGLVERTEXATTRIB3FPROC glad_glVertexAttrib3f; -#define glVertexAttrib3f glad_glVertexAttrib3f +GLAPI PFNGLVERTEXATTRIB3FPROC glad_debug_glVertexAttrib3f; +#define glVertexAttrib3f glad_debug_glVertexAttrib3f typedef void (APIENTRYP PFNGLVERTEXATTRIB3FVPROC)(GLuint index, const GLfloat *v); GLAPI PFNGLVERTEXATTRIB3FVPROC glad_glVertexAttrib3fv; -#define glVertexAttrib3fv glad_glVertexAttrib3fv +GLAPI PFNGLVERTEXATTRIB3FVPROC glad_debug_glVertexAttrib3fv; +#define glVertexAttrib3fv glad_debug_glVertexAttrib3fv typedef void (APIENTRYP PFNGLVERTEXATTRIB3SPROC)(GLuint index, GLshort x, GLshort y, GLshort z); GLAPI PFNGLVERTEXATTRIB3SPROC glad_glVertexAttrib3s; -#define glVertexAttrib3s glad_glVertexAttrib3s +GLAPI PFNGLVERTEXATTRIB3SPROC glad_debug_glVertexAttrib3s; +#define glVertexAttrib3s glad_debug_glVertexAttrib3s typedef void (APIENTRYP PFNGLVERTEXATTRIB3SVPROC)(GLuint index, const GLshort *v); GLAPI PFNGLVERTEXATTRIB3SVPROC glad_glVertexAttrib3sv; -#define glVertexAttrib3sv glad_glVertexAttrib3sv +GLAPI PFNGLVERTEXATTRIB3SVPROC glad_debug_glVertexAttrib3sv; +#define glVertexAttrib3sv glad_debug_glVertexAttrib3sv typedef void (APIENTRYP PFNGLVERTEXATTRIB4NBVPROC)(GLuint index, const GLbyte *v); GLAPI PFNGLVERTEXATTRIB4NBVPROC glad_glVertexAttrib4Nbv; -#define glVertexAttrib4Nbv glad_glVertexAttrib4Nbv +GLAPI PFNGLVERTEXATTRIB4NBVPROC glad_debug_glVertexAttrib4Nbv; +#define glVertexAttrib4Nbv glad_debug_glVertexAttrib4Nbv typedef void (APIENTRYP PFNGLVERTEXATTRIB4NIVPROC)(GLuint index, const GLint *v); GLAPI PFNGLVERTEXATTRIB4NIVPROC glad_glVertexAttrib4Niv; -#define glVertexAttrib4Niv glad_glVertexAttrib4Niv +GLAPI PFNGLVERTEXATTRIB4NIVPROC glad_debug_glVertexAttrib4Niv; +#define glVertexAttrib4Niv glad_debug_glVertexAttrib4Niv typedef void (APIENTRYP PFNGLVERTEXATTRIB4NSVPROC)(GLuint index, const GLshort *v); GLAPI PFNGLVERTEXATTRIB4NSVPROC glad_glVertexAttrib4Nsv; -#define glVertexAttrib4Nsv glad_glVertexAttrib4Nsv +GLAPI PFNGLVERTEXATTRIB4NSVPROC glad_debug_glVertexAttrib4Nsv; +#define glVertexAttrib4Nsv glad_debug_glVertexAttrib4Nsv typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBPROC)(GLuint index, GLubyte x, GLubyte y, GLubyte z, GLubyte w); GLAPI PFNGLVERTEXATTRIB4NUBPROC glad_glVertexAttrib4Nub; -#define glVertexAttrib4Nub glad_glVertexAttrib4Nub +GLAPI PFNGLVERTEXATTRIB4NUBPROC glad_debug_glVertexAttrib4Nub; +#define glVertexAttrib4Nub glad_debug_glVertexAttrib4Nub typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUBVPROC)(GLuint index, const GLubyte *v); GLAPI PFNGLVERTEXATTRIB4NUBVPROC glad_glVertexAttrib4Nubv; -#define glVertexAttrib4Nubv glad_glVertexAttrib4Nubv +GLAPI PFNGLVERTEXATTRIB4NUBVPROC glad_debug_glVertexAttrib4Nubv; +#define glVertexAttrib4Nubv glad_debug_glVertexAttrib4Nubv typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUIVPROC)(GLuint index, const GLuint *v); GLAPI PFNGLVERTEXATTRIB4NUIVPROC glad_glVertexAttrib4Nuiv; -#define glVertexAttrib4Nuiv glad_glVertexAttrib4Nuiv +GLAPI PFNGLVERTEXATTRIB4NUIVPROC glad_debug_glVertexAttrib4Nuiv; +#define glVertexAttrib4Nuiv glad_debug_glVertexAttrib4Nuiv typedef void (APIENTRYP PFNGLVERTEXATTRIB4NUSVPROC)(GLuint index, const GLushort *v); GLAPI PFNGLVERTEXATTRIB4NUSVPROC glad_glVertexAttrib4Nusv; -#define glVertexAttrib4Nusv glad_glVertexAttrib4Nusv +GLAPI PFNGLVERTEXATTRIB4NUSVPROC glad_debug_glVertexAttrib4Nusv; +#define glVertexAttrib4Nusv glad_debug_glVertexAttrib4Nusv typedef void (APIENTRYP PFNGLVERTEXATTRIB4BVPROC)(GLuint index, const GLbyte *v); GLAPI PFNGLVERTEXATTRIB4BVPROC glad_glVertexAttrib4bv; -#define glVertexAttrib4bv glad_glVertexAttrib4bv +GLAPI PFNGLVERTEXATTRIB4BVPROC glad_debug_glVertexAttrib4bv; +#define glVertexAttrib4bv glad_debug_glVertexAttrib4bv typedef void (APIENTRYP PFNGLVERTEXATTRIB4DPROC)(GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w); GLAPI PFNGLVERTEXATTRIB4DPROC glad_glVertexAttrib4d; -#define glVertexAttrib4d glad_glVertexAttrib4d +GLAPI PFNGLVERTEXATTRIB4DPROC glad_debug_glVertexAttrib4d; +#define glVertexAttrib4d glad_debug_glVertexAttrib4d typedef void (APIENTRYP PFNGLVERTEXATTRIB4DVPROC)(GLuint index, const GLdouble *v); GLAPI PFNGLVERTEXATTRIB4DVPROC glad_glVertexAttrib4dv; -#define glVertexAttrib4dv glad_glVertexAttrib4dv +GLAPI PFNGLVERTEXATTRIB4DVPROC glad_debug_glVertexAttrib4dv; +#define glVertexAttrib4dv glad_debug_glVertexAttrib4dv typedef void (APIENTRYP PFNGLVERTEXATTRIB4FPROC)(GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); GLAPI PFNGLVERTEXATTRIB4FPROC glad_glVertexAttrib4f; -#define glVertexAttrib4f glad_glVertexAttrib4f +GLAPI PFNGLVERTEXATTRIB4FPROC glad_debug_glVertexAttrib4f; +#define glVertexAttrib4f glad_debug_glVertexAttrib4f typedef void (APIENTRYP PFNGLVERTEXATTRIB4FVPROC)(GLuint index, const GLfloat *v); GLAPI PFNGLVERTEXATTRIB4FVPROC glad_glVertexAttrib4fv; -#define glVertexAttrib4fv glad_glVertexAttrib4fv +GLAPI PFNGLVERTEXATTRIB4FVPROC glad_debug_glVertexAttrib4fv; +#define glVertexAttrib4fv glad_debug_glVertexAttrib4fv typedef void (APIENTRYP PFNGLVERTEXATTRIB4IVPROC)(GLuint index, const GLint *v); GLAPI PFNGLVERTEXATTRIB4IVPROC glad_glVertexAttrib4iv; -#define glVertexAttrib4iv glad_glVertexAttrib4iv +GLAPI PFNGLVERTEXATTRIB4IVPROC glad_debug_glVertexAttrib4iv; +#define glVertexAttrib4iv glad_debug_glVertexAttrib4iv typedef void (APIENTRYP PFNGLVERTEXATTRIB4SPROC)(GLuint index, GLshort x, GLshort y, GLshort z, GLshort w); GLAPI PFNGLVERTEXATTRIB4SPROC glad_glVertexAttrib4s; -#define glVertexAttrib4s glad_glVertexAttrib4s +GLAPI PFNGLVERTEXATTRIB4SPROC glad_debug_glVertexAttrib4s; +#define glVertexAttrib4s glad_debug_glVertexAttrib4s typedef void (APIENTRYP PFNGLVERTEXATTRIB4SVPROC)(GLuint index, const GLshort *v); GLAPI PFNGLVERTEXATTRIB4SVPROC glad_glVertexAttrib4sv; -#define glVertexAttrib4sv glad_glVertexAttrib4sv +GLAPI PFNGLVERTEXATTRIB4SVPROC glad_debug_glVertexAttrib4sv; +#define glVertexAttrib4sv glad_debug_glVertexAttrib4sv typedef void (APIENTRYP PFNGLVERTEXATTRIB4UBVPROC)(GLuint index, const GLubyte *v); GLAPI PFNGLVERTEXATTRIB4UBVPROC glad_glVertexAttrib4ubv; -#define glVertexAttrib4ubv glad_glVertexAttrib4ubv +GLAPI PFNGLVERTEXATTRIB4UBVPROC glad_debug_glVertexAttrib4ubv; +#define glVertexAttrib4ubv glad_debug_glVertexAttrib4ubv typedef void (APIENTRYP PFNGLVERTEXATTRIB4UIVPROC)(GLuint index, const GLuint *v); GLAPI PFNGLVERTEXATTRIB4UIVPROC glad_glVertexAttrib4uiv; -#define glVertexAttrib4uiv glad_glVertexAttrib4uiv +GLAPI PFNGLVERTEXATTRIB4UIVPROC glad_debug_glVertexAttrib4uiv; +#define glVertexAttrib4uiv glad_debug_glVertexAttrib4uiv typedef void (APIENTRYP PFNGLVERTEXATTRIB4USVPROC)(GLuint index, const GLushort *v); GLAPI PFNGLVERTEXATTRIB4USVPROC glad_glVertexAttrib4usv; -#define glVertexAttrib4usv glad_glVertexAttrib4usv +GLAPI PFNGLVERTEXATTRIB4USVPROC glad_debug_glVertexAttrib4usv; +#define glVertexAttrib4usv glad_debug_glVertexAttrib4usv typedef void (APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC)(GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer); GLAPI PFNGLVERTEXATTRIBPOINTERPROC glad_glVertexAttribPointer; -#define glVertexAttribPointer glad_glVertexAttribPointer +GLAPI PFNGLVERTEXATTRIBPOINTERPROC glad_debug_glVertexAttribPointer; +#define glVertexAttribPointer glad_debug_glVertexAttribPointer #endif #ifndef GL_VERSION_2_1 #define GL_VERSION_2_1 1 GLAPI int GLAD_GL_VERSION_2_1; typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X3FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); GLAPI PFNGLUNIFORMMATRIX2X3FVPROC glad_glUniformMatrix2x3fv; -#define glUniformMatrix2x3fv glad_glUniformMatrix2x3fv +GLAPI PFNGLUNIFORMMATRIX2X3FVPROC glad_debug_glUniformMatrix2x3fv; +#define glUniformMatrix2x3fv glad_debug_glUniformMatrix2x3fv typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); GLAPI PFNGLUNIFORMMATRIX3X2FVPROC glad_glUniformMatrix3x2fv; -#define glUniformMatrix3x2fv glad_glUniformMatrix3x2fv +GLAPI PFNGLUNIFORMMATRIX3X2FVPROC glad_debug_glUniformMatrix3x2fv; +#define glUniformMatrix3x2fv glad_debug_glUniformMatrix3x2fv typedef void (APIENTRYP PFNGLUNIFORMMATRIX2X4FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); GLAPI PFNGLUNIFORMMATRIX2X4FVPROC glad_glUniformMatrix2x4fv; -#define glUniformMatrix2x4fv glad_glUniformMatrix2x4fv +GLAPI PFNGLUNIFORMMATRIX2X4FVPROC glad_debug_glUniformMatrix2x4fv; +#define glUniformMatrix2x4fv glad_debug_glUniformMatrix2x4fv typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X2FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); GLAPI PFNGLUNIFORMMATRIX4X2FVPROC glad_glUniformMatrix4x2fv; -#define glUniformMatrix4x2fv glad_glUniformMatrix4x2fv +GLAPI PFNGLUNIFORMMATRIX4X2FVPROC glad_debug_glUniformMatrix4x2fv; +#define glUniformMatrix4x2fv glad_debug_glUniformMatrix4x2fv typedef void (APIENTRYP PFNGLUNIFORMMATRIX3X4FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); GLAPI PFNGLUNIFORMMATRIX3X4FVPROC glad_glUniformMatrix3x4fv; -#define glUniformMatrix3x4fv glad_glUniformMatrix3x4fv +GLAPI PFNGLUNIFORMMATRIX3X4FVPROC glad_debug_glUniformMatrix3x4fv; +#define glUniformMatrix3x4fv glad_debug_glUniformMatrix3x4fv typedef void (APIENTRYP PFNGLUNIFORMMATRIX4X3FVPROC)(GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); GLAPI PFNGLUNIFORMMATRIX4X3FVPROC glad_glUniformMatrix4x3fv; -#define glUniformMatrix4x3fv glad_glUniformMatrix4x3fv +GLAPI PFNGLUNIFORMMATRIX4X3FVPROC glad_debug_glUniformMatrix4x3fv; +#define glUniformMatrix4x3fv glad_debug_glUniformMatrix4x3fv #endif #ifndef GL_VERSION_3_0 #define GL_VERSION_3_0 1 GLAPI int GLAD_GL_VERSION_3_0; typedef void (APIENTRYP PFNGLCOLORMASKIPROC)(GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a); GLAPI PFNGLCOLORMASKIPROC glad_glColorMaski; -#define glColorMaski glad_glColorMaski +GLAPI PFNGLCOLORMASKIPROC glad_debug_glColorMaski; +#define glColorMaski glad_debug_glColorMaski typedef void (APIENTRYP PFNGLGETBOOLEANI_VPROC)(GLenum target, GLuint index, GLboolean *data); GLAPI PFNGLGETBOOLEANI_VPROC glad_glGetBooleani_v; -#define glGetBooleani_v glad_glGetBooleani_v +GLAPI PFNGLGETBOOLEANI_VPROC glad_debug_glGetBooleani_v; +#define glGetBooleani_v glad_debug_glGetBooleani_v typedef void (APIENTRYP PFNGLGETINTEGERI_VPROC)(GLenum target, GLuint index, GLint *data); GLAPI PFNGLGETINTEGERI_VPROC glad_glGetIntegeri_v; -#define glGetIntegeri_v glad_glGetIntegeri_v +GLAPI PFNGLGETINTEGERI_VPROC glad_debug_glGetIntegeri_v; +#define glGetIntegeri_v glad_debug_glGetIntegeri_v typedef void (APIENTRYP PFNGLENABLEIPROC)(GLenum target, GLuint index); GLAPI PFNGLENABLEIPROC glad_glEnablei; -#define glEnablei glad_glEnablei +GLAPI PFNGLENABLEIPROC glad_debug_glEnablei; +#define glEnablei glad_debug_glEnablei typedef void (APIENTRYP PFNGLDISABLEIPROC)(GLenum target, GLuint index); GLAPI PFNGLDISABLEIPROC glad_glDisablei; -#define glDisablei glad_glDisablei +GLAPI PFNGLDISABLEIPROC glad_debug_glDisablei; +#define glDisablei glad_debug_glDisablei typedef GLboolean (APIENTRYP PFNGLISENABLEDIPROC)(GLenum target, GLuint index); GLAPI PFNGLISENABLEDIPROC glad_glIsEnabledi; -#define glIsEnabledi glad_glIsEnabledi +GLAPI PFNGLISENABLEDIPROC glad_debug_glIsEnabledi; +#define glIsEnabledi glad_debug_glIsEnabledi typedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKPROC)(GLenum primitiveMode); GLAPI PFNGLBEGINTRANSFORMFEEDBACKPROC glad_glBeginTransformFeedback; -#define glBeginTransformFeedback glad_glBeginTransformFeedback +GLAPI PFNGLBEGINTRANSFORMFEEDBACKPROC glad_debug_glBeginTransformFeedback; +#define glBeginTransformFeedback glad_debug_glBeginTransformFeedback typedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKPROC)(); GLAPI PFNGLENDTRANSFORMFEEDBACKPROC glad_glEndTransformFeedback; -#define glEndTransformFeedback glad_glEndTransformFeedback +GLAPI PFNGLENDTRANSFORMFEEDBACKPROC glad_debug_glEndTransformFeedback; +#define glEndTransformFeedback glad_debug_glEndTransformFeedback typedef void (APIENTRYP PFNGLBINDBUFFERRANGEPROC)(GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); GLAPI PFNGLBINDBUFFERRANGEPROC glad_glBindBufferRange; -#define glBindBufferRange glad_glBindBufferRange +GLAPI PFNGLBINDBUFFERRANGEPROC glad_debug_glBindBufferRange; +#define glBindBufferRange glad_debug_glBindBufferRange typedef void (APIENTRYP PFNGLBINDBUFFERBASEPROC)(GLenum target, GLuint index, GLuint buffer); GLAPI PFNGLBINDBUFFERBASEPROC glad_glBindBufferBase; -#define glBindBufferBase glad_glBindBufferBase +GLAPI PFNGLBINDBUFFERBASEPROC glad_debug_glBindBufferBase; +#define glBindBufferBase glad_debug_glBindBufferBase typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKVARYINGSPROC)(GLuint program, GLsizei count, const GLchar *const*varyings, GLenum bufferMode); GLAPI PFNGLTRANSFORMFEEDBACKVARYINGSPROC glad_glTransformFeedbackVaryings; -#define glTransformFeedbackVaryings glad_glTransformFeedbackVaryings +GLAPI PFNGLTRANSFORMFEEDBACKVARYINGSPROC glad_debug_glTransformFeedbackVaryings; +#define glTransformFeedbackVaryings glad_debug_glTransformFeedbackVaryings typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKVARYINGPROC)(GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLsizei *size, GLenum *type, GLchar *name); GLAPI PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glad_glGetTransformFeedbackVarying; -#define glGetTransformFeedbackVarying glad_glGetTransformFeedbackVarying +GLAPI PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glad_debug_glGetTransformFeedbackVarying; +#define glGetTransformFeedbackVarying glad_debug_glGetTransformFeedbackVarying typedef void (APIENTRYP PFNGLCLAMPCOLORPROC)(GLenum target, GLenum clamp); GLAPI PFNGLCLAMPCOLORPROC glad_glClampColor; -#define glClampColor glad_glClampColor +GLAPI PFNGLCLAMPCOLORPROC glad_debug_glClampColor; +#define glClampColor glad_debug_glClampColor typedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERPROC)(GLuint id, GLenum mode); GLAPI PFNGLBEGINCONDITIONALRENDERPROC glad_glBeginConditionalRender; -#define glBeginConditionalRender glad_glBeginConditionalRender +GLAPI PFNGLBEGINCONDITIONALRENDERPROC glad_debug_glBeginConditionalRender; +#define glBeginConditionalRender glad_debug_glBeginConditionalRender typedef void (APIENTRYP PFNGLENDCONDITIONALRENDERPROC)(); GLAPI PFNGLENDCONDITIONALRENDERPROC glad_glEndConditionalRender; -#define glEndConditionalRender glad_glEndConditionalRender +GLAPI PFNGLENDCONDITIONALRENDERPROC glad_debug_glEndConditionalRender; +#define glEndConditionalRender glad_debug_glEndConditionalRender typedef void (APIENTRYP PFNGLVERTEXATTRIBIPOINTERPROC)(GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer); GLAPI PFNGLVERTEXATTRIBIPOINTERPROC glad_glVertexAttribIPointer; -#define glVertexAttribIPointer glad_glVertexAttribIPointer +GLAPI PFNGLVERTEXATTRIBIPOINTERPROC glad_debug_glVertexAttribIPointer; +#define glVertexAttribIPointer glad_debug_glVertexAttribIPointer typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIIVPROC)(GLuint index, GLenum pname, GLint *params); GLAPI PFNGLGETVERTEXATTRIBIIVPROC glad_glGetVertexAttribIiv; -#define glGetVertexAttribIiv glad_glGetVertexAttribIiv +GLAPI PFNGLGETVERTEXATTRIBIIVPROC glad_debug_glGetVertexAttribIiv; +#define glGetVertexAttribIiv glad_debug_glGetVertexAttribIiv typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIUIVPROC)(GLuint index, GLenum pname, GLuint *params); GLAPI PFNGLGETVERTEXATTRIBIUIVPROC glad_glGetVertexAttribIuiv; -#define glGetVertexAttribIuiv glad_glGetVertexAttribIuiv +GLAPI PFNGLGETVERTEXATTRIBIUIVPROC glad_debug_glGetVertexAttribIuiv; +#define glGetVertexAttribIuiv glad_debug_glGetVertexAttribIuiv typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IPROC)(GLuint index, GLint x); GLAPI PFNGLVERTEXATTRIBI1IPROC glad_glVertexAttribI1i; -#define glVertexAttribI1i glad_glVertexAttribI1i +GLAPI PFNGLVERTEXATTRIBI1IPROC glad_debug_glVertexAttribI1i; +#define glVertexAttribI1i glad_debug_glVertexAttribI1i typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IPROC)(GLuint index, GLint x, GLint y); GLAPI PFNGLVERTEXATTRIBI2IPROC glad_glVertexAttribI2i; -#define glVertexAttribI2i glad_glVertexAttribI2i +GLAPI PFNGLVERTEXATTRIBI2IPROC glad_debug_glVertexAttribI2i; +#define glVertexAttribI2i glad_debug_glVertexAttribI2i typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IPROC)(GLuint index, GLint x, GLint y, GLint z); GLAPI PFNGLVERTEXATTRIBI3IPROC glad_glVertexAttribI3i; -#define glVertexAttribI3i glad_glVertexAttribI3i +GLAPI PFNGLVERTEXATTRIBI3IPROC glad_debug_glVertexAttribI3i; +#define glVertexAttribI3i glad_debug_glVertexAttribI3i typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IPROC)(GLuint index, GLint x, GLint y, GLint z, GLint w); GLAPI PFNGLVERTEXATTRIBI4IPROC glad_glVertexAttribI4i; -#define glVertexAttribI4i glad_glVertexAttribI4i +GLAPI PFNGLVERTEXATTRIBI4IPROC glad_debug_glVertexAttribI4i; +#define glVertexAttribI4i glad_debug_glVertexAttribI4i typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIPROC)(GLuint index, GLuint x); GLAPI PFNGLVERTEXATTRIBI1UIPROC glad_glVertexAttribI1ui; -#define glVertexAttribI1ui glad_glVertexAttribI1ui +GLAPI PFNGLVERTEXATTRIBI1UIPROC glad_debug_glVertexAttribI1ui; +#define glVertexAttribI1ui glad_debug_glVertexAttribI1ui typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIPROC)(GLuint index, GLuint x, GLuint y); GLAPI PFNGLVERTEXATTRIBI2UIPROC glad_glVertexAttribI2ui; -#define glVertexAttribI2ui glad_glVertexAttribI2ui +GLAPI PFNGLVERTEXATTRIBI2UIPROC glad_debug_glVertexAttribI2ui; +#define glVertexAttribI2ui glad_debug_glVertexAttribI2ui typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIPROC)(GLuint index, GLuint x, GLuint y, GLuint z); GLAPI PFNGLVERTEXATTRIBI3UIPROC glad_glVertexAttribI3ui; -#define glVertexAttribI3ui glad_glVertexAttribI3ui +GLAPI PFNGLVERTEXATTRIBI3UIPROC glad_debug_glVertexAttribI3ui; +#define glVertexAttribI3ui glad_debug_glVertexAttribI3ui typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIPROC)(GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); GLAPI PFNGLVERTEXATTRIBI4UIPROC glad_glVertexAttribI4ui; -#define glVertexAttribI4ui glad_glVertexAttribI4ui +GLAPI PFNGLVERTEXATTRIBI4UIPROC glad_debug_glVertexAttribI4ui; +#define glVertexAttribI4ui glad_debug_glVertexAttribI4ui typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IVPROC)(GLuint index, const GLint *v); GLAPI PFNGLVERTEXATTRIBI1IVPROC glad_glVertexAttribI1iv; -#define glVertexAttribI1iv glad_glVertexAttribI1iv +GLAPI PFNGLVERTEXATTRIBI1IVPROC glad_debug_glVertexAttribI1iv; +#define glVertexAttribI1iv glad_debug_glVertexAttribI1iv typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IVPROC)(GLuint index, const GLint *v); GLAPI PFNGLVERTEXATTRIBI2IVPROC glad_glVertexAttribI2iv; -#define glVertexAttribI2iv glad_glVertexAttribI2iv +GLAPI PFNGLVERTEXATTRIBI2IVPROC glad_debug_glVertexAttribI2iv; +#define glVertexAttribI2iv glad_debug_glVertexAttribI2iv typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IVPROC)(GLuint index, const GLint *v); GLAPI PFNGLVERTEXATTRIBI3IVPROC glad_glVertexAttribI3iv; -#define glVertexAttribI3iv glad_glVertexAttribI3iv +GLAPI PFNGLVERTEXATTRIBI3IVPROC glad_debug_glVertexAttribI3iv; +#define glVertexAttribI3iv glad_debug_glVertexAttribI3iv typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IVPROC)(GLuint index, const GLint *v); GLAPI PFNGLVERTEXATTRIBI4IVPROC glad_glVertexAttribI4iv; -#define glVertexAttribI4iv glad_glVertexAttribI4iv +GLAPI PFNGLVERTEXATTRIBI4IVPROC glad_debug_glVertexAttribI4iv; +#define glVertexAttribI4iv glad_debug_glVertexAttribI4iv typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIVPROC)(GLuint index, const GLuint *v); GLAPI PFNGLVERTEXATTRIBI1UIVPROC glad_glVertexAttribI1uiv; -#define glVertexAttribI1uiv glad_glVertexAttribI1uiv +GLAPI PFNGLVERTEXATTRIBI1UIVPROC glad_debug_glVertexAttribI1uiv; +#define glVertexAttribI1uiv glad_debug_glVertexAttribI1uiv typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIVPROC)(GLuint index, const GLuint *v); GLAPI PFNGLVERTEXATTRIBI2UIVPROC glad_glVertexAttribI2uiv; -#define glVertexAttribI2uiv glad_glVertexAttribI2uiv +GLAPI PFNGLVERTEXATTRIBI2UIVPROC glad_debug_glVertexAttribI2uiv; +#define glVertexAttribI2uiv glad_debug_glVertexAttribI2uiv typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIVPROC)(GLuint index, const GLuint *v); GLAPI PFNGLVERTEXATTRIBI3UIVPROC glad_glVertexAttribI3uiv; -#define glVertexAttribI3uiv glad_glVertexAttribI3uiv +GLAPI PFNGLVERTEXATTRIBI3UIVPROC glad_debug_glVertexAttribI3uiv; +#define glVertexAttribI3uiv glad_debug_glVertexAttribI3uiv typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIVPROC)(GLuint index, const GLuint *v); GLAPI PFNGLVERTEXATTRIBI4UIVPROC glad_glVertexAttribI4uiv; -#define glVertexAttribI4uiv glad_glVertexAttribI4uiv +GLAPI PFNGLVERTEXATTRIBI4UIVPROC glad_debug_glVertexAttribI4uiv; +#define glVertexAttribI4uiv glad_debug_glVertexAttribI4uiv typedef void (APIENTRYP PFNGLVERTEXATTRIBI4BVPROC)(GLuint index, const GLbyte *v); GLAPI PFNGLVERTEXATTRIBI4BVPROC glad_glVertexAttribI4bv; -#define glVertexAttribI4bv glad_glVertexAttribI4bv +GLAPI PFNGLVERTEXATTRIBI4BVPROC glad_debug_glVertexAttribI4bv; +#define glVertexAttribI4bv glad_debug_glVertexAttribI4bv typedef void (APIENTRYP PFNGLVERTEXATTRIBI4SVPROC)(GLuint index, const GLshort *v); GLAPI PFNGLVERTEXATTRIBI4SVPROC glad_glVertexAttribI4sv; -#define glVertexAttribI4sv glad_glVertexAttribI4sv +GLAPI PFNGLVERTEXATTRIBI4SVPROC glad_debug_glVertexAttribI4sv; +#define glVertexAttribI4sv glad_debug_glVertexAttribI4sv typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UBVPROC)(GLuint index, const GLubyte *v); GLAPI PFNGLVERTEXATTRIBI4UBVPROC glad_glVertexAttribI4ubv; -#define glVertexAttribI4ubv glad_glVertexAttribI4ubv +GLAPI PFNGLVERTEXATTRIBI4UBVPROC glad_debug_glVertexAttribI4ubv; +#define glVertexAttribI4ubv glad_debug_glVertexAttribI4ubv typedef void (APIENTRYP PFNGLVERTEXATTRIBI4USVPROC)(GLuint index, const GLushort *v); GLAPI PFNGLVERTEXATTRIBI4USVPROC glad_glVertexAttribI4usv; -#define glVertexAttribI4usv glad_glVertexAttribI4usv +GLAPI PFNGLVERTEXATTRIBI4USVPROC glad_debug_glVertexAttribI4usv; +#define glVertexAttribI4usv glad_debug_glVertexAttribI4usv typedef void (APIENTRYP PFNGLGETUNIFORMUIVPROC)(GLuint program, GLint location, GLuint *params); GLAPI PFNGLGETUNIFORMUIVPROC glad_glGetUniformuiv; -#define glGetUniformuiv glad_glGetUniformuiv +GLAPI PFNGLGETUNIFORMUIVPROC glad_debug_glGetUniformuiv; +#define glGetUniformuiv glad_debug_glGetUniformuiv typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONPROC)(GLuint program, GLuint color, const GLchar *name); GLAPI PFNGLBINDFRAGDATALOCATIONPROC glad_glBindFragDataLocation; -#define glBindFragDataLocation glad_glBindFragDataLocation +GLAPI PFNGLBINDFRAGDATALOCATIONPROC glad_debug_glBindFragDataLocation; +#define glBindFragDataLocation glad_debug_glBindFragDataLocation typedef GLint (APIENTRYP PFNGLGETFRAGDATALOCATIONPROC)(GLuint program, const GLchar *name); GLAPI PFNGLGETFRAGDATALOCATIONPROC glad_glGetFragDataLocation; -#define glGetFragDataLocation glad_glGetFragDataLocation +GLAPI PFNGLGETFRAGDATALOCATIONPROC glad_debug_glGetFragDataLocation; +#define glGetFragDataLocation glad_debug_glGetFragDataLocation typedef void (APIENTRYP PFNGLUNIFORM1UIPROC)(GLint location, GLuint v0); GLAPI PFNGLUNIFORM1UIPROC glad_glUniform1ui; -#define glUniform1ui glad_glUniform1ui +GLAPI PFNGLUNIFORM1UIPROC glad_debug_glUniform1ui; +#define glUniform1ui glad_debug_glUniform1ui typedef void (APIENTRYP PFNGLUNIFORM2UIPROC)(GLint location, GLuint v0, GLuint v1); GLAPI PFNGLUNIFORM2UIPROC glad_glUniform2ui; -#define glUniform2ui glad_glUniform2ui +GLAPI PFNGLUNIFORM2UIPROC glad_debug_glUniform2ui; +#define glUniform2ui glad_debug_glUniform2ui typedef void (APIENTRYP PFNGLUNIFORM3UIPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2); GLAPI PFNGLUNIFORM3UIPROC glad_glUniform3ui; -#define glUniform3ui glad_glUniform3ui +GLAPI PFNGLUNIFORM3UIPROC glad_debug_glUniform3ui; +#define glUniform3ui glad_debug_glUniform3ui typedef void (APIENTRYP PFNGLUNIFORM4UIPROC)(GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); GLAPI PFNGLUNIFORM4UIPROC glad_glUniform4ui; -#define glUniform4ui glad_glUniform4ui +GLAPI PFNGLUNIFORM4UIPROC glad_debug_glUniform4ui; +#define glUniform4ui glad_debug_glUniform4ui typedef void (APIENTRYP PFNGLUNIFORM1UIVPROC)(GLint location, GLsizei count, const GLuint *value); GLAPI PFNGLUNIFORM1UIVPROC glad_glUniform1uiv; -#define glUniform1uiv glad_glUniform1uiv +GLAPI PFNGLUNIFORM1UIVPROC glad_debug_glUniform1uiv; +#define glUniform1uiv glad_debug_glUniform1uiv typedef void (APIENTRYP PFNGLUNIFORM2UIVPROC)(GLint location, GLsizei count, const GLuint *value); GLAPI PFNGLUNIFORM2UIVPROC glad_glUniform2uiv; -#define glUniform2uiv glad_glUniform2uiv +GLAPI PFNGLUNIFORM2UIVPROC glad_debug_glUniform2uiv; +#define glUniform2uiv glad_debug_glUniform2uiv typedef void (APIENTRYP PFNGLUNIFORM3UIVPROC)(GLint location, GLsizei count, const GLuint *value); GLAPI PFNGLUNIFORM3UIVPROC glad_glUniform3uiv; -#define glUniform3uiv glad_glUniform3uiv +GLAPI PFNGLUNIFORM3UIVPROC glad_debug_glUniform3uiv; +#define glUniform3uiv glad_debug_glUniform3uiv typedef void (APIENTRYP PFNGLUNIFORM4UIVPROC)(GLint location, GLsizei count, const GLuint *value); GLAPI PFNGLUNIFORM4UIVPROC glad_glUniform4uiv; -#define glUniform4uiv glad_glUniform4uiv +GLAPI PFNGLUNIFORM4UIVPROC glad_debug_glUniform4uiv; +#define glUniform4uiv glad_debug_glUniform4uiv typedef void (APIENTRYP PFNGLTEXPARAMETERIIVPROC)(GLenum target, GLenum pname, const GLint *params); GLAPI PFNGLTEXPARAMETERIIVPROC glad_glTexParameterIiv; -#define glTexParameterIiv glad_glTexParameterIiv +GLAPI PFNGLTEXPARAMETERIIVPROC glad_debug_glTexParameterIiv; +#define glTexParameterIiv glad_debug_glTexParameterIiv typedef void (APIENTRYP PFNGLTEXPARAMETERIUIVPROC)(GLenum target, GLenum pname, const GLuint *params); GLAPI PFNGLTEXPARAMETERIUIVPROC glad_glTexParameterIuiv; -#define glTexParameterIuiv glad_glTexParameterIuiv +GLAPI PFNGLTEXPARAMETERIUIVPROC glad_debug_glTexParameterIuiv; +#define glTexParameterIuiv glad_debug_glTexParameterIuiv typedef void (APIENTRYP PFNGLGETTEXPARAMETERIIVPROC)(GLenum target, GLenum pname, GLint *params); GLAPI PFNGLGETTEXPARAMETERIIVPROC glad_glGetTexParameterIiv; -#define glGetTexParameterIiv glad_glGetTexParameterIiv +GLAPI PFNGLGETTEXPARAMETERIIVPROC glad_debug_glGetTexParameterIiv; +#define glGetTexParameterIiv glad_debug_glGetTexParameterIiv typedef void (APIENTRYP PFNGLGETTEXPARAMETERIUIVPROC)(GLenum target, GLenum pname, GLuint *params); GLAPI PFNGLGETTEXPARAMETERIUIVPROC glad_glGetTexParameterIuiv; -#define glGetTexParameterIuiv glad_glGetTexParameterIuiv +GLAPI PFNGLGETTEXPARAMETERIUIVPROC glad_debug_glGetTexParameterIuiv; +#define glGetTexParameterIuiv glad_debug_glGetTexParameterIuiv typedef void (APIENTRYP PFNGLCLEARBUFFERIVPROC)(GLenum buffer, GLint drawbuffer, const GLint *value); GLAPI PFNGLCLEARBUFFERIVPROC glad_glClearBufferiv; -#define glClearBufferiv glad_glClearBufferiv +GLAPI PFNGLCLEARBUFFERIVPROC glad_debug_glClearBufferiv; +#define glClearBufferiv glad_debug_glClearBufferiv typedef void (APIENTRYP PFNGLCLEARBUFFERUIVPROC)(GLenum buffer, GLint drawbuffer, const GLuint *value); GLAPI PFNGLCLEARBUFFERUIVPROC glad_glClearBufferuiv; -#define glClearBufferuiv glad_glClearBufferuiv +GLAPI PFNGLCLEARBUFFERUIVPROC glad_debug_glClearBufferuiv; +#define glClearBufferuiv glad_debug_glClearBufferuiv typedef void (APIENTRYP PFNGLCLEARBUFFERFVPROC)(GLenum buffer, GLint drawbuffer, const GLfloat *value); GLAPI PFNGLCLEARBUFFERFVPROC glad_glClearBufferfv; -#define glClearBufferfv glad_glClearBufferfv +GLAPI PFNGLCLEARBUFFERFVPROC glad_debug_glClearBufferfv; +#define glClearBufferfv glad_debug_glClearBufferfv typedef void (APIENTRYP PFNGLCLEARBUFFERFIPROC)(GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); GLAPI PFNGLCLEARBUFFERFIPROC glad_glClearBufferfi; -#define glClearBufferfi glad_glClearBufferfi +GLAPI PFNGLCLEARBUFFERFIPROC glad_debug_glClearBufferfi; +#define glClearBufferfi glad_debug_glClearBufferfi typedef const GLubyte * (APIENTRYP PFNGLGETSTRINGIPROC)(GLenum name, GLuint index); GLAPI PFNGLGETSTRINGIPROC glad_glGetStringi; -#define glGetStringi glad_glGetStringi +GLAPI PFNGLGETSTRINGIPROC glad_debug_glGetStringi; +#define glGetStringi glad_debug_glGetStringi typedef GLboolean (APIENTRYP PFNGLISRENDERBUFFERPROC)(GLuint renderbuffer); GLAPI PFNGLISRENDERBUFFERPROC glad_glIsRenderbuffer; -#define glIsRenderbuffer glad_glIsRenderbuffer +GLAPI PFNGLISRENDERBUFFERPROC glad_debug_glIsRenderbuffer; +#define glIsRenderbuffer glad_debug_glIsRenderbuffer typedef void (APIENTRYP PFNGLBINDRENDERBUFFERPROC)(GLenum target, GLuint renderbuffer); GLAPI PFNGLBINDRENDERBUFFERPROC glad_glBindRenderbuffer; -#define glBindRenderbuffer glad_glBindRenderbuffer +GLAPI PFNGLBINDRENDERBUFFERPROC glad_debug_glBindRenderbuffer; +#define glBindRenderbuffer glad_debug_glBindRenderbuffer typedef void (APIENTRYP PFNGLDELETERENDERBUFFERSPROC)(GLsizei n, const GLuint *renderbuffers); GLAPI PFNGLDELETERENDERBUFFERSPROC glad_glDeleteRenderbuffers; -#define glDeleteRenderbuffers glad_glDeleteRenderbuffers +GLAPI PFNGLDELETERENDERBUFFERSPROC glad_debug_glDeleteRenderbuffers; +#define glDeleteRenderbuffers glad_debug_glDeleteRenderbuffers typedef void (APIENTRYP PFNGLGENRENDERBUFFERSPROC)(GLsizei n, GLuint *renderbuffers); GLAPI PFNGLGENRENDERBUFFERSPROC glad_glGenRenderbuffers; -#define glGenRenderbuffers glad_glGenRenderbuffers +GLAPI PFNGLGENRENDERBUFFERSPROC glad_debug_glGenRenderbuffers; +#define glGenRenderbuffers glad_debug_glGenRenderbuffers typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEPROC)(GLenum target, GLenum internalformat, GLsizei width, GLsizei height); GLAPI PFNGLRENDERBUFFERSTORAGEPROC glad_glRenderbufferStorage; -#define glRenderbufferStorage glad_glRenderbufferStorage +GLAPI PFNGLRENDERBUFFERSTORAGEPROC glad_debug_glRenderbufferStorage; +#define glRenderbufferStorage glad_debug_glRenderbufferStorage typedef void (APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVPROC)(GLenum target, GLenum pname, GLint *params); GLAPI PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_glGetRenderbufferParameteriv; -#define glGetRenderbufferParameteriv glad_glGetRenderbufferParameteriv +GLAPI PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_debug_glGetRenderbufferParameteriv; +#define glGetRenderbufferParameteriv glad_debug_glGetRenderbufferParameteriv typedef GLboolean (APIENTRYP PFNGLISFRAMEBUFFERPROC)(GLuint framebuffer); GLAPI PFNGLISFRAMEBUFFERPROC glad_glIsFramebuffer; -#define glIsFramebuffer glad_glIsFramebuffer +GLAPI PFNGLISFRAMEBUFFERPROC glad_debug_glIsFramebuffer; +#define glIsFramebuffer glad_debug_glIsFramebuffer typedef void (APIENTRYP PFNGLBINDFRAMEBUFFERPROC)(GLenum target, GLuint framebuffer); GLAPI PFNGLBINDFRAMEBUFFERPROC glad_glBindFramebuffer; -#define glBindFramebuffer glad_glBindFramebuffer +GLAPI PFNGLBINDFRAMEBUFFERPROC glad_debug_glBindFramebuffer; +#define glBindFramebuffer glad_debug_glBindFramebuffer typedef void (APIENTRYP PFNGLDELETEFRAMEBUFFERSPROC)(GLsizei n, const GLuint *framebuffers); GLAPI PFNGLDELETEFRAMEBUFFERSPROC glad_glDeleteFramebuffers; -#define glDeleteFramebuffers glad_glDeleteFramebuffers +GLAPI PFNGLDELETEFRAMEBUFFERSPROC glad_debug_glDeleteFramebuffers; +#define glDeleteFramebuffers glad_debug_glDeleteFramebuffers typedef void (APIENTRYP PFNGLGENFRAMEBUFFERSPROC)(GLsizei n, GLuint *framebuffers); GLAPI PFNGLGENFRAMEBUFFERSPROC glad_glGenFramebuffers; -#define glGenFramebuffers glad_glGenFramebuffers +GLAPI PFNGLGENFRAMEBUFFERSPROC glad_debug_glGenFramebuffers; +#define glGenFramebuffers glad_debug_glGenFramebuffers typedef GLenum (APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSPROC)(GLenum target); GLAPI PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_glCheckFramebufferStatus; -#define glCheckFramebufferStatus glad_glCheckFramebufferStatus +GLAPI PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_debug_glCheckFramebufferStatus; +#define glCheckFramebufferStatus glad_debug_glCheckFramebufferStatus typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE1DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); GLAPI PFNGLFRAMEBUFFERTEXTURE1DPROC glad_glFramebufferTexture1D; -#define glFramebufferTexture1D glad_glFramebufferTexture1D +GLAPI PFNGLFRAMEBUFFERTEXTURE1DPROC glad_debug_glFramebufferTexture1D; +#define glFramebufferTexture1D glad_debug_glFramebufferTexture1D typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); GLAPI PFNGLFRAMEBUFFERTEXTURE2DPROC glad_glFramebufferTexture2D; -#define glFramebufferTexture2D glad_glFramebufferTexture2D +GLAPI PFNGLFRAMEBUFFERTEXTURE2DPROC glad_debug_glFramebufferTexture2D; +#define glFramebufferTexture2D glad_debug_glFramebufferTexture2D typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DPROC)(GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); GLAPI PFNGLFRAMEBUFFERTEXTURE3DPROC glad_glFramebufferTexture3D; -#define glFramebufferTexture3D glad_glFramebufferTexture3D +GLAPI PFNGLFRAMEBUFFERTEXTURE3DPROC glad_debug_glFramebufferTexture3D; +#define glFramebufferTexture3D glad_debug_glFramebufferTexture3D typedef void (APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFERPROC)(GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); GLAPI PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_glFramebufferRenderbuffer; -#define glFramebufferRenderbuffer glad_glFramebufferRenderbuffer +GLAPI PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_debug_glFramebufferRenderbuffer; +#define glFramebufferRenderbuffer glad_debug_glFramebufferRenderbuffer typedef void (APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC)(GLenum target, GLenum attachment, GLenum pname, GLint *params); GLAPI PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetFramebufferAttachmentParameteriv; -#define glGetFramebufferAttachmentParameteriv glad_glGetFramebufferAttachmentParameteriv +GLAPI PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_debug_glGetFramebufferAttachmentParameteriv; +#define glGetFramebufferAttachmentParameteriv glad_debug_glGetFramebufferAttachmentParameteriv typedef void (APIENTRYP PFNGLGENERATEMIPMAPPROC)(GLenum target); GLAPI PFNGLGENERATEMIPMAPPROC glad_glGenerateMipmap; -#define glGenerateMipmap glad_glGenerateMipmap +GLAPI PFNGLGENERATEMIPMAPPROC glad_debug_glGenerateMipmap; +#define glGenerateMipmap glad_debug_glGenerateMipmap typedef void (APIENTRYP PFNGLBLITFRAMEBUFFERPROC)(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); GLAPI PFNGLBLITFRAMEBUFFERPROC glad_glBlitFramebuffer; -#define glBlitFramebuffer glad_glBlitFramebuffer +GLAPI PFNGLBLITFRAMEBUFFERPROC glad_debug_glBlitFramebuffer; +#define glBlitFramebuffer glad_debug_glBlitFramebuffer typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); GLAPI PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glRenderbufferStorageMultisample; -#define glRenderbufferStorageMultisample glad_glRenderbufferStorageMultisample +GLAPI PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_debug_glRenderbufferStorageMultisample; +#define glRenderbufferStorageMultisample glad_debug_glRenderbufferStorageMultisample typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); GLAPI PFNGLFRAMEBUFFERTEXTURELAYERPROC glad_glFramebufferTextureLayer; -#define glFramebufferTextureLayer glad_glFramebufferTextureLayer +GLAPI PFNGLFRAMEBUFFERTEXTURELAYERPROC glad_debug_glFramebufferTextureLayer; +#define glFramebufferTextureLayer glad_debug_glFramebufferTextureLayer typedef void * (APIENTRYP PFNGLMAPBUFFERRANGEPROC)(GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); GLAPI PFNGLMAPBUFFERRANGEPROC glad_glMapBufferRange; -#define glMapBufferRange glad_glMapBufferRange +GLAPI PFNGLMAPBUFFERRANGEPROC glad_debug_glMapBufferRange; +#define glMapBufferRange glad_debug_glMapBufferRange typedef void (APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEPROC)(GLenum target, GLintptr offset, GLsizeiptr length); GLAPI PFNGLFLUSHMAPPEDBUFFERRANGEPROC glad_glFlushMappedBufferRange; -#define glFlushMappedBufferRange glad_glFlushMappedBufferRange +GLAPI PFNGLFLUSHMAPPEDBUFFERRANGEPROC glad_debug_glFlushMappedBufferRange; +#define glFlushMappedBufferRange glad_debug_glFlushMappedBufferRange typedef void (APIENTRYP PFNGLBINDVERTEXARRAYPROC)(GLuint array); GLAPI PFNGLBINDVERTEXARRAYPROC glad_glBindVertexArray; -#define glBindVertexArray glad_glBindVertexArray +GLAPI PFNGLBINDVERTEXARRAYPROC glad_debug_glBindVertexArray; +#define glBindVertexArray glad_debug_glBindVertexArray typedef void (APIENTRYP PFNGLDELETEVERTEXARRAYSPROC)(GLsizei n, const GLuint *arrays); GLAPI PFNGLDELETEVERTEXARRAYSPROC glad_glDeleteVertexArrays; -#define glDeleteVertexArrays glad_glDeleteVertexArrays +GLAPI PFNGLDELETEVERTEXARRAYSPROC glad_debug_glDeleteVertexArrays; +#define glDeleteVertexArrays glad_debug_glDeleteVertexArrays typedef void (APIENTRYP PFNGLGENVERTEXARRAYSPROC)(GLsizei n, GLuint *arrays); GLAPI PFNGLGENVERTEXARRAYSPROC glad_glGenVertexArrays; -#define glGenVertexArrays glad_glGenVertexArrays +GLAPI PFNGLGENVERTEXARRAYSPROC glad_debug_glGenVertexArrays; +#define glGenVertexArrays glad_debug_glGenVertexArrays typedef GLboolean (APIENTRYP PFNGLISVERTEXARRAYPROC)(GLuint array); GLAPI PFNGLISVERTEXARRAYPROC glad_glIsVertexArray; -#define glIsVertexArray glad_glIsVertexArray +GLAPI PFNGLISVERTEXARRAYPROC glad_debug_glIsVertexArray; +#define glIsVertexArray glad_debug_glIsVertexArray #endif #ifndef GL_VERSION_3_1 #define GL_VERSION_3_1 1 GLAPI int GLAD_GL_VERSION_3_1; typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDPROC)(GLenum mode, GLint first, GLsizei count, GLsizei instancecount); GLAPI PFNGLDRAWARRAYSINSTANCEDPROC glad_glDrawArraysInstanced; -#define glDrawArraysInstanced glad_glDrawArraysInstanced +GLAPI PFNGLDRAWARRAYSINSTANCEDPROC glad_debug_glDrawArraysInstanced; +#define glDrawArraysInstanced glad_debug_glDrawArraysInstanced typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount); GLAPI PFNGLDRAWELEMENTSINSTANCEDPROC glad_glDrawElementsInstanced; -#define glDrawElementsInstanced glad_glDrawElementsInstanced +GLAPI PFNGLDRAWELEMENTSINSTANCEDPROC glad_debug_glDrawElementsInstanced; +#define glDrawElementsInstanced glad_debug_glDrawElementsInstanced typedef void (APIENTRYP PFNGLTEXBUFFERPROC)(GLenum target, GLenum internalformat, GLuint buffer); GLAPI PFNGLTEXBUFFERPROC glad_glTexBuffer; -#define glTexBuffer glad_glTexBuffer +GLAPI PFNGLTEXBUFFERPROC glad_debug_glTexBuffer; +#define glTexBuffer glad_debug_glTexBuffer typedef void (APIENTRYP PFNGLPRIMITIVERESTARTINDEXPROC)(GLuint index); GLAPI PFNGLPRIMITIVERESTARTINDEXPROC glad_glPrimitiveRestartIndex; -#define glPrimitiveRestartIndex glad_glPrimitiveRestartIndex +GLAPI PFNGLPRIMITIVERESTARTINDEXPROC glad_debug_glPrimitiveRestartIndex; +#define glPrimitiveRestartIndex glad_debug_glPrimitiveRestartIndex typedef void (APIENTRYP PFNGLCOPYBUFFERSUBDATAPROC)(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); GLAPI PFNGLCOPYBUFFERSUBDATAPROC glad_glCopyBufferSubData; -#define glCopyBufferSubData glad_glCopyBufferSubData +GLAPI PFNGLCOPYBUFFERSUBDATAPROC glad_debug_glCopyBufferSubData; +#define glCopyBufferSubData glad_debug_glCopyBufferSubData typedef void (APIENTRYP PFNGLGETUNIFORMINDICESPROC)(GLuint program, GLsizei uniformCount, const GLchar *const*uniformNames, GLuint *uniformIndices); GLAPI PFNGLGETUNIFORMINDICESPROC glad_glGetUniformIndices; -#define glGetUniformIndices glad_glGetUniformIndices +GLAPI PFNGLGETUNIFORMINDICESPROC glad_debug_glGetUniformIndices; +#define glGetUniformIndices glad_debug_glGetUniformIndices typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMSIVPROC)(GLuint program, GLsizei uniformCount, const GLuint *uniformIndices, GLenum pname, GLint *params); GLAPI PFNGLGETACTIVEUNIFORMSIVPROC glad_glGetActiveUniformsiv; -#define glGetActiveUniformsiv glad_glGetActiveUniformsiv +GLAPI PFNGLGETACTIVEUNIFORMSIVPROC glad_debug_glGetActiveUniformsiv; +#define glGetActiveUniformsiv glad_debug_glGetActiveUniformsiv typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMNAMEPROC)(GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformName); GLAPI PFNGLGETACTIVEUNIFORMNAMEPROC glad_glGetActiveUniformName; -#define glGetActiveUniformName glad_glGetActiveUniformName +GLAPI PFNGLGETACTIVEUNIFORMNAMEPROC glad_debug_glGetActiveUniformName; +#define glGetActiveUniformName glad_debug_glGetActiveUniformName typedef GLuint (APIENTRYP PFNGLGETUNIFORMBLOCKINDEXPROC)(GLuint program, const GLchar *uniformBlockName); GLAPI PFNGLGETUNIFORMBLOCKINDEXPROC glad_glGetUniformBlockIndex; -#define glGetUniformBlockIndex glad_glGetUniformBlockIndex +GLAPI PFNGLGETUNIFORMBLOCKINDEXPROC glad_debug_glGetUniformBlockIndex; +#define glGetUniformBlockIndex glad_debug_glGetUniformBlockIndex typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKIVPROC)(GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params); GLAPI PFNGLGETACTIVEUNIFORMBLOCKIVPROC glad_glGetActiveUniformBlockiv; -#define glGetActiveUniformBlockiv glad_glGetActiveUniformBlockiv +GLAPI PFNGLGETACTIVEUNIFORMBLOCKIVPROC glad_debug_glGetActiveUniformBlockiv; +#define glGetActiveUniformBlockiv glad_debug_glGetActiveUniformBlockiv typedef void (APIENTRYP PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC)(GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei *length, GLchar *uniformBlockName); GLAPI PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glad_glGetActiveUniformBlockName; -#define glGetActiveUniformBlockName glad_glGetActiveUniformBlockName +GLAPI PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glad_debug_glGetActiveUniformBlockName; +#define glGetActiveUniformBlockName glad_debug_glGetActiveUniformBlockName typedef void (APIENTRYP PFNGLUNIFORMBLOCKBINDINGPROC)(GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding); GLAPI PFNGLUNIFORMBLOCKBINDINGPROC glad_glUniformBlockBinding; -#define glUniformBlockBinding glad_glUniformBlockBinding +GLAPI PFNGLUNIFORMBLOCKBINDINGPROC glad_debug_glUniformBlockBinding; +#define glUniformBlockBinding glad_debug_glUniformBlockBinding #endif #ifndef GL_VERSION_3_2 #define GL_VERSION_3_2 1 GLAPI int GLAD_GL_VERSION_3_2; typedef void (APIENTRYP PFNGLDRAWELEMENTSBASEVERTEXPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex); GLAPI PFNGLDRAWELEMENTSBASEVERTEXPROC glad_glDrawElementsBaseVertex; -#define glDrawElementsBaseVertex glad_glDrawElementsBaseVertex +GLAPI PFNGLDRAWELEMENTSBASEVERTEXPROC glad_debug_glDrawElementsBaseVertex; +#define glDrawElementsBaseVertex glad_debug_glDrawElementsBaseVertex typedef void (APIENTRYP PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC)(GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex); GLAPI PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glad_glDrawRangeElementsBaseVertex; -#define glDrawRangeElementsBaseVertex glad_glDrawRangeElementsBaseVertex +GLAPI PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glad_debug_glDrawRangeElementsBaseVertex; +#define glDrawRangeElementsBaseVertex glad_debug_glDrawRangeElementsBaseVertex typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC)(GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex); GLAPI PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glad_glDrawElementsInstancedBaseVertex; -#define glDrawElementsInstancedBaseVertex glad_glDrawElementsInstancedBaseVertex +GLAPI PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glad_debug_glDrawElementsInstancedBaseVertex; +#define glDrawElementsInstancedBaseVertex glad_debug_glDrawElementsInstancedBaseVertex typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC)(GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount, const GLint *basevertex); GLAPI PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC glad_glMultiDrawElementsBaseVertex; -#define glMultiDrawElementsBaseVertex glad_glMultiDrawElementsBaseVertex +GLAPI PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC glad_debug_glMultiDrawElementsBaseVertex; +#define glMultiDrawElementsBaseVertex glad_debug_glMultiDrawElementsBaseVertex typedef void (APIENTRYP PFNGLPROVOKINGVERTEXPROC)(GLenum mode); GLAPI PFNGLPROVOKINGVERTEXPROC glad_glProvokingVertex; -#define glProvokingVertex glad_glProvokingVertex +GLAPI PFNGLPROVOKINGVERTEXPROC glad_debug_glProvokingVertex; +#define glProvokingVertex glad_debug_glProvokingVertex typedef GLsync (APIENTRYP PFNGLFENCESYNCPROC)(GLenum condition, GLbitfield flags); GLAPI PFNGLFENCESYNCPROC glad_glFenceSync; -#define glFenceSync glad_glFenceSync +GLAPI PFNGLFENCESYNCPROC glad_debug_glFenceSync; +#define glFenceSync glad_debug_glFenceSync typedef GLboolean (APIENTRYP PFNGLISSYNCPROC)(GLsync sync); GLAPI PFNGLISSYNCPROC glad_glIsSync; -#define glIsSync glad_glIsSync +GLAPI PFNGLISSYNCPROC glad_debug_glIsSync; +#define glIsSync glad_debug_glIsSync typedef void (APIENTRYP PFNGLDELETESYNCPROC)(GLsync sync); GLAPI PFNGLDELETESYNCPROC glad_glDeleteSync; -#define glDeleteSync glad_glDeleteSync +GLAPI PFNGLDELETESYNCPROC glad_debug_glDeleteSync; +#define glDeleteSync glad_debug_glDeleteSync typedef GLenum (APIENTRYP PFNGLCLIENTWAITSYNCPROC)(GLsync sync, GLbitfield flags, GLuint64 timeout); GLAPI PFNGLCLIENTWAITSYNCPROC glad_glClientWaitSync; -#define glClientWaitSync glad_glClientWaitSync +GLAPI PFNGLCLIENTWAITSYNCPROC glad_debug_glClientWaitSync; +#define glClientWaitSync glad_debug_glClientWaitSync typedef void (APIENTRYP PFNGLWAITSYNCPROC)(GLsync sync, GLbitfield flags, GLuint64 timeout); GLAPI PFNGLWAITSYNCPROC glad_glWaitSync; -#define glWaitSync glad_glWaitSync +GLAPI PFNGLWAITSYNCPROC glad_debug_glWaitSync; +#define glWaitSync glad_debug_glWaitSync typedef void (APIENTRYP PFNGLGETINTEGER64VPROC)(GLenum pname, GLint64 *data); GLAPI PFNGLGETINTEGER64VPROC glad_glGetInteger64v; -#define glGetInteger64v glad_glGetInteger64v +GLAPI PFNGLGETINTEGER64VPROC glad_debug_glGetInteger64v; +#define glGetInteger64v glad_debug_glGetInteger64v typedef void (APIENTRYP PFNGLGETSYNCIVPROC)(GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); GLAPI PFNGLGETSYNCIVPROC glad_glGetSynciv; -#define glGetSynciv glad_glGetSynciv +GLAPI PFNGLGETSYNCIVPROC glad_debug_glGetSynciv; +#define glGetSynciv glad_debug_glGetSynciv typedef void (APIENTRYP PFNGLGETINTEGER64I_VPROC)(GLenum target, GLuint index, GLint64 *data); GLAPI PFNGLGETINTEGER64I_VPROC glad_glGetInteger64i_v; -#define glGetInteger64i_v glad_glGetInteger64i_v +GLAPI PFNGLGETINTEGER64I_VPROC glad_debug_glGetInteger64i_v; +#define glGetInteger64i_v glad_debug_glGetInteger64i_v typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERI64VPROC)(GLenum target, GLenum pname, GLint64 *params); GLAPI PFNGLGETBUFFERPARAMETERI64VPROC glad_glGetBufferParameteri64v; -#define glGetBufferParameteri64v glad_glGetBufferParameteri64v +GLAPI PFNGLGETBUFFERPARAMETERI64VPROC glad_debug_glGetBufferParameteri64v; +#define glGetBufferParameteri64v glad_debug_glGetBufferParameteri64v typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREPROC)(GLenum target, GLenum attachment, GLuint texture, GLint level); GLAPI PFNGLFRAMEBUFFERTEXTUREPROC glad_glFramebufferTexture; -#define glFramebufferTexture glad_glFramebufferTexture +GLAPI PFNGLFRAMEBUFFERTEXTUREPROC glad_debug_glFramebufferTexture; +#define glFramebufferTexture glad_debug_glFramebufferTexture typedef void (APIENTRYP PFNGLTEXIMAGE2DMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); GLAPI PFNGLTEXIMAGE2DMULTISAMPLEPROC glad_glTexImage2DMultisample; -#define glTexImage2DMultisample glad_glTexImage2DMultisample +GLAPI PFNGLTEXIMAGE2DMULTISAMPLEPROC glad_debug_glTexImage2DMultisample; +#define glTexImage2DMultisample glad_debug_glTexImage2DMultisample typedef void (APIENTRYP PFNGLTEXIMAGE3DMULTISAMPLEPROC)(GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); GLAPI PFNGLTEXIMAGE3DMULTISAMPLEPROC glad_glTexImage3DMultisample; -#define glTexImage3DMultisample glad_glTexImage3DMultisample +GLAPI PFNGLTEXIMAGE3DMULTISAMPLEPROC glad_debug_glTexImage3DMultisample; +#define glTexImage3DMultisample glad_debug_glTexImage3DMultisample typedef void (APIENTRYP PFNGLGETMULTISAMPLEFVPROC)(GLenum pname, GLuint index, GLfloat *val); GLAPI PFNGLGETMULTISAMPLEFVPROC glad_glGetMultisamplefv; -#define glGetMultisamplefv glad_glGetMultisamplefv +GLAPI PFNGLGETMULTISAMPLEFVPROC glad_debug_glGetMultisamplefv; +#define glGetMultisamplefv glad_debug_glGetMultisamplefv typedef void (APIENTRYP PFNGLSAMPLEMASKIPROC)(GLuint maskNumber, GLbitfield mask); GLAPI PFNGLSAMPLEMASKIPROC glad_glSampleMaski; -#define glSampleMaski glad_glSampleMaski +GLAPI PFNGLSAMPLEMASKIPROC glad_debug_glSampleMaski; +#define glSampleMaski glad_debug_glSampleMaski #endif #ifndef GL_VERSION_3_3 #define GL_VERSION_3_3 1 GLAPI int GLAD_GL_VERSION_3_3; typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONINDEXEDPROC)(GLuint program, GLuint colorNumber, GLuint index, const GLchar *name); GLAPI PFNGLBINDFRAGDATALOCATIONINDEXEDPROC glad_glBindFragDataLocationIndexed; -#define glBindFragDataLocationIndexed glad_glBindFragDataLocationIndexed +GLAPI PFNGLBINDFRAGDATALOCATIONINDEXEDPROC glad_debug_glBindFragDataLocationIndexed; +#define glBindFragDataLocationIndexed glad_debug_glBindFragDataLocationIndexed typedef GLint (APIENTRYP PFNGLGETFRAGDATAINDEXPROC)(GLuint program, const GLchar *name); GLAPI PFNGLGETFRAGDATAINDEXPROC glad_glGetFragDataIndex; -#define glGetFragDataIndex glad_glGetFragDataIndex +GLAPI PFNGLGETFRAGDATAINDEXPROC glad_debug_glGetFragDataIndex; +#define glGetFragDataIndex glad_debug_glGetFragDataIndex typedef void (APIENTRYP PFNGLGENSAMPLERSPROC)(GLsizei count, GLuint *samplers); GLAPI PFNGLGENSAMPLERSPROC glad_glGenSamplers; -#define glGenSamplers glad_glGenSamplers +GLAPI PFNGLGENSAMPLERSPROC glad_debug_glGenSamplers; +#define glGenSamplers glad_debug_glGenSamplers typedef void (APIENTRYP PFNGLDELETESAMPLERSPROC)(GLsizei count, const GLuint *samplers); GLAPI PFNGLDELETESAMPLERSPROC glad_glDeleteSamplers; -#define glDeleteSamplers glad_glDeleteSamplers +GLAPI PFNGLDELETESAMPLERSPROC glad_debug_glDeleteSamplers; +#define glDeleteSamplers glad_debug_glDeleteSamplers typedef GLboolean (APIENTRYP PFNGLISSAMPLERPROC)(GLuint sampler); GLAPI PFNGLISSAMPLERPROC glad_glIsSampler; -#define glIsSampler glad_glIsSampler +GLAPI PFNGLISSAMPLERPROC glad_debug_glIsSampler; +#define glIsSampler glad_debug_glIsSampler typedef void (APIENTRYP PFNGLBINDSAMPLERPROC)(GLuint unit, GLuint sampler); GLAPI PFNGLBINDSAMPLERPROC glad_glBindSampler; -#define glBindSampler glad_glBindSampler +GLAPI PFNGLBINDSAMPLERPROC glad_debug_glBindSampler; +#define glBindSampler glad_debug_glBindSampler typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIPROC)(GLuint sampler, GLenum pname, GLint param); GLAPI PFNGLSAMPLERPARAMETERIPROC glad_glSamplerParameteri; -#define glSamplerParameteri glad_glSamplerParameteri +GLAPI PFNGLSAMPLERPARAMETERIPROC glad_debug_glSamplerParameteri; +#define glSamplerParameteri glad_debug_glSamplerParameteri typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIVPROC)(GLuint sampler, GLenum pname, const GLint *param); GLAPI PFNGLSAMPLERPARAMETERIVPROC glad_glSamplerParameteriv; -#define glSamplerParameteriv glad_glSamplerParameteriv +GLAPI PFNGLSAMPLERPARAMETERIVPROC glad_debug_glSamplerParameteriv; +#define glSamplerParameteriv glad_debug_glSamplerParameteriv typedef void (APIENTRYP PFNGLSAMPLERPARAMETERFPROC)(GLuint sampler, GLenum pname, GLfloat param); GLAPI PFNGLSAMPLERPARAMETERFPROC glad_glSamplerParameterf; -#define glSamplerParameterf glad_glSamplerParameterf +GLAPI PFNGLSAMPLERPARAMETERFPROC glad_debug_glSamplerParameterf; +#define glSamplerParameterf glad_debug_glSamplerParameterf typedef void (APIENTRYP PFNGLSAMPLERPARAMETERFVPROC)(GLuint sampler, GLenum pname, const GLfloat *param); GLAPI PFNGLSAMPLERPARAMETERFVPROC glad_glSamplerParameterfv; -#define glSamplerParameterfv glad_glSamplerParameterfv +GLAPI PFNGLSAMPLERPARAMETERFVPROC glad_debug_glSamplerParameterfv; +#define glSamplerParameterfv glad_debug_glSamplerParameterfv typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIIVPROC)(GLuint sampler, GLenum pname, const GLint *param); GLAPI PFNGLSAMPLERPARAMETERIIVPROC glad_glSamplerParameterIiv; -#define glSamplerParameterIiv glad_glSamplerParameterIiv +GLAPI PFNGLSAMPLERPARAMETERIIVPROC glad_debug_glSamplerParameterIiv; +#define glSamplerParameterIiv glad_debug_glSamplerParameterIiv typedef void (APIENTRYP PFNGLSAMPLERPARAMETERIUIVPROC)(GLuint sampler, GLenum pname, const GLuint *param); GLAPI PFNGLSAMPLERPARAMETERIUIVPROC glad_glSamplerParameterIuiv; -#define glSamplerParameterIuiv glad_glSamplerParameterIuiv +GLAPI PFNGLSAMPLERPARAMETERIUIVPROC glad_debug_glSamplerParameterIuiv; +#define glSamplerParameterIuiv glad_debug_glSamplerParameterIuiv typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIVPROC)(GLuint sampler, GLenum pname, GLint *params); GLAPI PFNGLGETSAMPLERPARAMETERIVPROC glad_glGetSamplerParameteriv; -#define glGetSamplerParameteriv glad_glGetSamplerParameteriv +GLAPI PFNGLGETSAMPLERPARAMETERIVPROC glad_debug_glGetSamplerParameteriv; +#define glGetSamplerParameteriv glad_debug_glGetSamplerParameteriv typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIIVPROC)(GLuint sampler, GLenum pname, GLint *params); GLAPI PFNGLGETSAMPLERPARAMETERIIVPROC glad_glGetSamplerParameterIiv; -#define glGetSamplerParameterIiv glad_glGetSamplerParameterIiv +GLAPI PFNGLGETSAMPLERPARAMETERIIVPROC glad_debug_glGetSamplerParameterIiv; +#define glGetSamplerParameterIiv glad_debug_glGetSamplerParameterIiv typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERFVPROC)(GLuint sampler, GLenum pname, GLfloat *params); GLAPI PFNGLGETSAMPLERPARAMETERFVPROC glad_glGetSamplerParameterfv; -#define glGetSamplerParameterfv glad_glGetSamplerParameterfv +GLAPI PFNGLGETSAMPLERPARAMETERFVPROC glad_debug_glGetSamplerParameterfv; +#define glGetSamplerParameterfv glad_debug_glGetSamplerParameterfv typedef void (APIENTRYP PFNGLGETSAMPLERPARAMETERIUIVPROC)(GLuint sampler, GLenum pname, GLuint *params); GLAPI PFNGLGETSAMPLERPARAMETERIUIVPROC glad_glGetSamplerParameterIuiv; -#define glGetSamplerParameterIuiv glad_glGetSamplerParameterIuiv +GLAPI PFNGLGETSAMPLERPARAMETERIUIVPROC glad_debug_glGetSamplerParameterIuiv; +#define glGetSamplerParameterIuiv glad_debug_glGetSamplerParameterIuiv typedef void (APIENTRYP PFNGLQUERYCOUNTERPROC)(GLuint id, GLenum target); GLAPI PFNGLQUERYCOUNTERPROC glad_glQueryCounter; -#define glQueryCounter glad_glQueryCounter +GLAPI PFNGLQUERYCOUNTERPROC glad_debug_glQueryCounter; +#define glQueryCounter glad_debug_glQueryCounter typedef void (APIENTRYP PFNGLGETQUERYOBJECTI64VPROC)(GLuint id, GLenum pname, GLint64 *params); GLAPI PFNGLGETQUERYOBJECTI64VPROC glad_glGetQueryObjecti64v; -#define glGetQueryObjecti64v glad_glGetQueryObjecti64v +GLAPI PFNGLGETQUERYOBJECTI64VPROC glad_debug_glGetQueryObjecti64v; +#define glGetQueryObjecti64v glad_debug_glGetQueryObjecti64v typedef void (APIENTRYP PFNGLGETQUERYOBJECTUI64VPROC)(GLuint id, GLenum pname, GLuint64 *params); GLAPI PFNGLGETQUERYOBJECTUI64VPROC glad_glGetQueryObjectui64v; -#define glGetQueryObjectui64v glad_glGetQueryObjectui64v +GLAPI PFNGLGETQUERYOBJECTUI64VPROC glad_debug_glGetQueryObjectui64v; +#define glGetQueryObjectui64v glad_debug_glGetQueryObjectui64v typedef void (APIENTRYP PFNGLVERTEXATTRIBDIVISORPROC)(GLuint index, GLuint divisor); GLAPI PFNGLVERTEXATTRIBDIVISORPROC glad_glVertexAttribDivisor; -#define glVertexAttribDivisor glad_glVertexAttribDivisor +GLAPI PFNGLVERTEXATTRIBDIVISORPROC glad_debug_glVertexAttribDivisor; +#define glVertexAttribDivisor glad_debug_glVertexAttribDivisor typedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value); GLAPI PFNGLVERTEXATTRIBP1UIPROC glad_glVertexAttribP1ui; -#define glVertexAttribP1ui glad_glVertexAttribP1ui +GLAPI PFNGLVERTEXATTRIBP1UIPROC glad_debug_glVertexAttribP1ui; +#define glVertexAttribP1ui glad_debug_glVertexAttribP1ui typedef void (APIENTRYP PFNGLVERTEXATTRIBP1UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value); GLAPI PFNGLVERTEXATTRIBP1UIVPROC glad_glVertexAttribP1uiv; -#define glVertexAttribP1uiv glad_glVertexAttribP1uiv +GLAPI PFNGLVERTEXATTRIBP1UIVPROC glad_debug_glVertexAttribP1uiv; +#define glVertexAttribP1uiv glad_debug_glVertexAttribP1uiv typedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value); GLAPI PFNGLVERTEXATTRIBP2UIPROC glad_glVertexAttribP2ui; -#define glVertexAttribP2ui glad_glVertexAttribP2ui +GLAPI PFNGLVERTEXATTRIBP2UIPROC glad_debug_glVertexAttribP2ui; +#define glVertexAttribP2ui glad_debug_glVertexAttribP2ui typedef void (APIENTRYP PFNGLVERTEXATTRIBP2UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value); GLAPI PFNGLVERTEXATTRIBP2UIVPROC glad_glVertexAttribP2uiv; -#define glVertexAttribP2uiv glad_glVertexAttribP2uiv +GLAPI PFNGLVERTEXATTRIBP2UIVPROC glad_debug_glVertexAttribP2uiv; +#define glVertexAttribP2uiv glad_debug_glVertexAttribP2uiv typedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value); GLAPI PFNGLVERTEXATTRIBP3UIPROC glad_glVertexAttribP3ui; -#define glVertexAttribP3ui glad_glVertexAttribP3ui +GLAPI PFNGLVERTEXATTRIBP3UIPROC glad_debug_glVertexAttribP3ui; +#define glVertexAttribP3ui glad_debug_glVertexAttribP3ui typedef void (APIENTRYP PFNGLVERTEXATTRIBP3UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value); GLAPI PFNGLVERTEXATTRIBP3UIVPROC glad_glVertexAttribP3uiv; -#define glVertexAttribP3uiv glad_glVertexAttribP3uiv +GLAPI PFNGLVERTEXATTRIBP3UIVPROC glad_debug_glVertexAttribP3uiv; +#define glVertexAttribP3uiv glad_debug_glVertexAttribP3uiv typedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIPROC)(GLuint index, GLenum type, GLboolean normalized, GLuint value); GLAPI PFNGLVERTEXATTRIBP4UIPROC glad_glVertexAttribP4ui; -#define glVertexAttribP4ui glad_glVertexAttribP4ui +GLAPI PFNGLVERTEXATTRIBP4UIPROC glad_debug_glVertexAttribP4ui; +#define glVertexAttribP4ui glad_debug_glVertexAttribP4ui typedef void (APIENTRYP PFNGLVERTEXATTRIBP4UIVPROC)(GLuint index, GLenum type, GLboolean normalized, const GLuint *value); GLAPI PFNGLVERTEXATTRIBP4UIVPROC glad_glVertexAttribP4uiv; -#define glVertexAttribP4uiv glad_glVertexAttribP4uiv +GLAPI PFNGLVERTEXATTRIBP4UIVPROC glad_debug_glVertexAttribP4uiv; +#define glVertexAttribP4uiv glad_debug_glVertexAttribP4uiv typedef void (APIENTRYP PFNGLVERTEXP2UIPROC)(GLenum type, GLuint value); GLAPI PFNGLVERTEXP2UIPROC glad_glVertexP2ui; -#define glVertexP2ui glad_glVertexP2ui +GLAPI PFNGLVERTEXP2UIPROC glad_debug_glVertexP2ui; +#define glVertexP2ui glad_debug_glVertexP2ui typedef void (APIENTRYP PFNGLVERTEXP2UIVPROC)(GLenum type, const GLuint *value); GLAPI PFNGLVERTEXP2UIVPROC glad_glVertexP2uiv; -#define glVertexP2uiv glad_glVertexP2uiv +GLAPI PFNGLVERTEXP2UIVPROC glad_debug_glVertexP2uiv; +#define glVertexP2uiv glad_debug_glVertexP2uiv typedef void (APIENTRYP PFNGLVERTEXP3UIPROC)(GLenum type, GLuint value); GLAPI PFNGLVERTEXP3UIPROC glad_glVertexP3ui; -#define glVertexP3ui glad_glVertexP3ui +GLAPI PFNGLVERTEXP3UIPROC glad_debug_glVertexP3ui; +#define glVertexP3ui glad_debug_glVertexP3ui typedef void (APIENTRYP PFNGLVERTEXP3UIVPROC)(GLenum type, const GLuint *value); GLAPI PFNGLVERTEXP3UIVPROC glad_glVertexP3uiv; -#define glVertexP3uiv glad_glVertexP3uiv +GLAPI PFNGLVERTEXP3UIVPROC glad_debug_glVertexP3uiv; +#define glVertexP3uiv glad_debug_glVertexP3uiv typedef void (APIENTRYP PFNGLVERTEXP4UIPROC)(GLenum type, GLuint value); GLAPI PFNGLVERTEXP4UIPROC glad_glVertexP4ui; -#define glVertexP4ui glad_glVertexP4ui +GLAPI PFNGLVERTEXP4UIPROC glad_debug_glVertexP4ui; +#define glVertexP4ui glad_debug_glVertexP4ui typedef void (APIENTRYP PFNGLVERTEXP4UIVPROC)(GLenum type, const GLuint *value); GLAPI PFNGLVERTEXP4UIVPROC glad_glVertexP4uiv; -#define glVertexP4uiv glad_glVertexP4uiv +GLAPI PFNGLVERTEXP4UIVPROC glad_debug_glVertexP4uiv; +#define glVertexP4uiv glad_debug_glVertexP4uiv typedef void (APIENTRYP PFNGLTEXCOORDP1UIPROC)(GLenum type, GLuint coords); GLAPI PFNGLTEXCOORDP1UIPROC glad_glTexCoordP1ui; -#define glTexCoordP1ui glad_glTexCoordP1ui +GLAPI PFNGLTEXCOORDP1UIPROC glad_debug_glTexCoordP1ui; +#define glTexCoordP1ui glad_debug_glTexCoordP1ui typedef void (APIENTRYP PFNGLTEXCOORDP1UIVPROC)(GLenum type, const GLuint *coords); GLAPI PFNGLTEXCOORDP1UIVPROC glad_glTexCoordP1uiv; -#define glTexCoordP1uiv glad_glTexCoordP1uiv +GLAPI PFNGLTEXCOORDP1UIVPROC glad_debug_glTexCoordP1uiv; +#define glTexCoordP1uiv glad_debug_glTexCoordP1uiv typedef void (APIENTRYP PFNGLTEXCOORDP2UIPROC)(GLenum type, GLuint coords); GLAPI PFNGLTEXCOORDP2UIPROC glad_glTexCoordP2ui; -#define glTexCoordP2ui glad_glTexCoordP2ui +GLAPI PFNGLTEXCOORDP2UIPROC glad_debug_glTexCoordP2ui; +#define glTexCoordP2ui glad_debug_glTexCoordP2ui typedef void (APIENTRYP PFNGLTEXCOORDP2UIVPROC)(GLenum type, const GLuint *coords); GLAPI PFNGLTEXCOORDP2UIVPROC glad_glTexCoordP2uiv; -#define glTexCoordP2uiv glad_glTexCoordP2uiv +GLAPI PFNGLTEXCOORDP2UIVPROC glad_debug_glTexCoordP2uiv; +#define glTexCoordP2uiv glad_debug_glTexCoordP2uiv typedef void (APIENTRYP PFNGLTEXCOORDP3UIPROC)(GLenum type, GLuint coords); GLAPI PFNGLTEXCOORDP3UIPROC glad_glTexCoordP3ui; -#define glTexCoordP3ui glad_glTexCoordP3ui +GLAPI PFNGLTEXCOORDP3UIPROC glad_debug_glTexCoordP3ui; +#define glTexCoordP3ui glad_debug_glTexCoordP3ui typedef void (APIENTRYP PFNGLTEXCOORDP3UIVPROC)(GLenum type, const GLuint *coords); GLAPI PFNGLTEXCOORDP3UIVPROC glad_glTexCoordP3uiv; -#define glTexCoordP3uiv glad_glTexCoordP3uiv +GLAPI PFNGLTEXCOORDP3UIVPROC glad_debug_glTexCoordP3uiv; +#define glTexCoordP3uiv glad_debug_glTexCoordP3uiv typedef void (APIENTRYP PFNGLTEXCOORDP4UIPROC)(GLenum type, GLuint coords); GLAPI PFNGLTEXCOORDP4UIPROC glad_glTexCoordP4ui; -#define glTexCoordP4ui glad_glTexCoordP4ui +GLAPI PFNGLTEXCOORDP4UIPROC glad_debug_glTexCoordP4ui; +#define glTexCoordP4ui glad_debug_glTexCoordP4ui typedef void (APIENTRYP PFNGLTEXCOORDP4UIVPROC)(GLenum type, const GLuint *coords); GLAPI PFNGLTEXCOORDP4UIVPROC glad_glTexCoordP4uiv; -#define glTexCoordP4uiv glad_glTexCoordP4uiv +GLAPI PFNGLTEXCOORDP4UIVPROC glad_debug_glTexCoordP4uiv; +#define glTexCoordP4uiv glad_debug_glTexCoordP4uiv typedef void (APIENTRYP PFNGLMULTITEXCOORDP1UIPROC)(GLenum texture, GLenum type, GLuint coords); GLAPI PFNGLMULTITEXCOORDP1UIPROC glad_glMultiTexCoordP1ui; -#define glMultiTexCoordP1ui glad_glMultiTexCoordP1ui +GLAPI PFNGLMULTITEXCOORDP1UIPROC glad_debug_glMultiTexCoordP1ui; +#define glMultiTexCoordP1ui glad_debug_glMultiTexCoordP1ui typedef void (APIENTRYP PFNGLMULTITEXCOORDP1UIVPROC)(GLenum texture, GLenum type, const GLuint *coords); GLAPI PFNGLMULTITEXCOORDP1UIVPROC glad_glMultiTexCoordP1uiv; -#define glMultiTexCoordP1uiv glad_glMultiTexCoordP1uiv +GLAPI PFNGLMULTITEXCOORDP1UIVPROC glad_debug_glMultiTexCoordP1uiv; +#define glMultiTexCoordP1uiv glad_debug_glMultiTexCoordP1uiv typedef void (APIENTRYP PFNGLMULTITEXCOORDP2UIPROC)(GLenum texture, GLenum type, GLuint coords); GLAPI PFNGLMULTITEXCOORDP2UIPROC glad_glMultiTexCoordP2ui; -#define glMultiTexCoordP2ui glad_glMultiTexCoordP2ui +GLAPI PFNGLMULTITEXCOORDP2UIPROC glad_debug_glMultiTexCoordP2ui; +#define glMultiTexCoordP2ui glad_debug_glMultiTexCoordP2ui typedef void (APIENTRYP PFNGLMULTITEXCOORDP2UIVPROC)(GLenum texture, GLenum type, const GLuint *coords); GLAPI PFNGLMULTITEXCOORDP2UIVPROC glad_glMultiTexCoordP2uiv; -#define glMultiTexCoordP2uiv glad_glMultiTexCoordP2uiv +GLAPI PFNGLMULTITEXCOORDP2UIVPROC glad_debug_glMultiTexCoordP2uiv; +#define glMultiTexCoordP2uiv glad_debug_glMultiTexCoordP2uiv typedef void (APIENTRYP PFNGLMULTITEXCOORDP3UIPROC)(GLenum texture, GLenum type, GLuint coords); GLAPI PFNGLMULTITEXCOORDP3UIPROC glad_glMultiTexCoordP3ui; -#define glMultiTexCoordP3ui glad_glMultiTexCoordP3ui +GLAPI PFNGLMULTITEXCOORDP3UIPROC glad_debug_glMultiTexCoordP3ui; +#define glMultiTexCoordP3ui glad_debug_glMultiTexCoordP3ui typedef void (APIENTRYP PFNGLMULTITEXCOORDP3UIVPROC)(GLenum texture, GLenum type, const GLuint *coords); GLAPI PFNGLMULTITEXCOORDP3UIVPROC glad_glMultiTexCoordP3uiv; -#define glMultiTexCoordP3uiv glad_glMultiTexCoordP3uiv +GLAPI PFNGLMULTITEXCOORDP3UIVPROC glad_debug_glMultiTexCoordP3uiv; +#define glMultiTexCoordP3uiv glad_debug_glMultiTexCoordP3uiv typedef void (APIENTRYP PFNGLMULTITEXCOORDP4UIPROC)(GLenum texture, GLenum type, GLuint coords); GLAPI PFNGLMULTITEXCOORDP4UIPROC glad_glMultiTexCoordP4ui; -#define glMultiTexCoordP4ui glad_glMultiTexCoordP4ui +GLAPI PFNGLMULTITEXCOORDP4UIPROC glad_debug_glMultiTexCoordP4ui; +#define glMultiTexCoordP4ui glad_debug_glMultiTexCoordP4ui typedef void (APIENTRYP PFNGLMULTITEXCOORDP4UIVPROC)(GLenum texture, GLenum type, const GLuint *coords); GLAPI PFNGLMULTITEXCOORDP4UIVPROC glad_glMultiTexCoordP4uiv; -#define glMultiTexCoordP4uiv glad_glMultiTexCoordP4uiv +GLAPI PFNGLMULTITEXCOORDP4UIVPROC glad_debug_glMultiTexCoordP4uiv; +#define glMultiTexCoordP4uiv glad_debug_glMultiTexCoordP4uiv typedef void (APIENTRYP PFNGLNORMALP3UIPROC)(GLenum type, GLuint coords); GLAPI PFNGLNORMALP3UIPROC glad_glNormalP3ui; -#define glNormalP3ui glad_glNormalP3ui +GLAPI PFNGLNORMALP3UIPROC glad_debug_glNormalP3ui; +#define glNormalP3ui glad_debug_glNormalP3ui typedef void (APIENTRYP PFNGLNORMALP3UIVPROC)(GLenum type, const GLuint *coords); GLAPI PFNGLNORMALP3UIVPROC glad_glNormalP3uiv; -#define glNormalP3uiv glad_glNormalP3uiv +GLAPI PFNGLNORMALP3UIVPROC glad_debug_glNormalP3uiv; +#define glNormalP3uiv glad_debug_glNormalP3uiv typedef void (APIENTRYP PFNGLCOLORP3UIPROC)(GLenum type, GLuint color); GLAPI PFNGLCOLORP3UIPROC glad_glColorP3ui; -#define glColorP3ui glad_glColorP3ui +GLAPI PFNGLCOLORP3UIPROC glad_debug_glColorP3ui; +#define glColorP3ui glad_debug_glColorP3ui typedef void (APIENTRYP PFNGLCOLORP3UIVPROC)(GLenum type, const GLuint *color); GLAPI PFNGLCOLORP3UIVPROC glad_glColorP3uiv; -#define glColorP3uiv glad_glColorP3uiv +GLAPI PFNGLCOLORP3UIVPROC glad_debug_glColorP3uiv; +#define glColorP3uiv glad_debug_glColorP3uiv typedef void (APIENTRYP PFNGLCOLORP4UIPROC)(GLenum type, GLuint color); GLAPI PFNGLCOLORP4UIPROC glad_glColorP4ui; -#define glColorP4ui glad_glColorP4ui +GLAPI PFNGLCOLORP4UIPROC glad_debug_glColorP4ui; +#define glColorP4ui glad_debug_glColorP4ui typedef void (APIENTRYP PFNGLCOLORP4UIVPROC)(GLenum type, const GLuint *color); GLAPI PFNGLCOLORP4UIVPROC glad_glColorP4uiv; -#define glColorP4uiv glad_glColorP4uiv +GLAPI PFNGLCOLORP4UIVPROC glad_debug_glColorP4uiv; +#define glColorP4uiv glad_debug_glColorP4uiv typedef void (APIENTRYP PFNGLSECONDARYCOLORP3UIPROC)(GLenum type, GLuint color); GLAPI PFNGLSECONDARYCOLORP3UIPROC glad_glSecondaryColorP3ui; -#define glSecondaryColorP3ui glad_glSecondaryColorP3ui +GLAPI PFNGLSECONDARYCOLORP3UIPROC glad_debug_glSecondaryColorP3ui; +#define glSecondaryColorP3ui glad_debug_glSecondaryColorP3ui typedef void (APIENTRYP PFNGLSECONDARYCOLORP3UIVPROC)(GLenum type, const GLuint *color); GLAPI PFNGLSECONDARYCOLORP3UIVPROC glad_glSecondaryColorP3uiv; -#define glSecondaryColorP3uiv glad_glSecondaryColorP3uiv +GLAPI PFNGLSECONDARYCOLORP3UIVPROC glad_debug_glSecondaryColorP3uiv; +#define glSecondaryColorP3uiv glad_debug_glSecondaryColorP3uiv #endif #ifdef __cplusplus diff --git a/include/nuklear.h b/include/common/nuklear.h similarity index 100% rename from include/nuklear.h rename to include/common/nuklear.h diff --git a/third_party/linux/Soloud/include/soloud.h b/include/common/soloud/soloud.h similarity index 100% rename from third_party/linux/Soloud/include/soloud.h rename to include/common/soloud/soloud.h diff --git a/third_party/linux/Soloud/include/soloud_audiosource.h b/include/common/soloud/soloud_audiosource.h similarity index 100% rename from third_party/linux/Soloud/include/soloud_audiosource.h rename to include/common/soloud/soloud_audiosource.h diff --git a/third_party/linux/Soloud/include/soloud_bassboostfilter.h b/include/common/soloud/soloud_bassboostfilter.h similarity index 100% rename from third_party/linux/Soloud/include/soloud_bassboostfilter.h rename to include/common/soloud/soloud_bassboostfilter.h diff --git a/third_party/linux/Soloud/include/soloud_biquadresonantfilter.h b/include/common/soloud/soloud_biquadresonantfilter.h similarity index 100% rename from third_party/linux/Soloud/include/soloud_biquadresonantfilter.h rename to include/common/soloud/soloud_biquadresonantfilter.h diff --git a/third_party/linux/Soloud/include/soloud_bus.h b/include/common/soloud/soloud_bus.h similarity index 100% rename from third_party/linux/Soloud/include/soloud_bus.h rename to include/common/soloud/soloud_bus.h diff --git a/third_party/linux/Soloud/include/soloud_c.h b/include/common/soloud/soloud_c.h similarity index 100% rename from third_party/linux/Soloud/include/soloud_c.h rename to include/common/soloud/soloud_c.h diff --git a/third_party/linux/Soloud/include/soloud_dcremovalfilter.h b/include/common/soloud/soloud_dcremovalfilter.h similarity index 100% rename from third_party/linux/Soloud/include/soloud_dcremovalfilter.h rename to include/common/soloud/soloud_dcremovalfilter.h diff --git a/third_party/linux/Soloud/include/soloud_echofilter.h b/include/common/soloud/soloud_echofilter.h similarity index 100% rename from third_party/linux/Soloud/include/soloud_echofilter.h rename to include/common/soloud/soloud_echofilter.h diff --git a/third_party/linux/Soloud/include/soloud_error.h b/include/common/soloud/soloud_error.h similarity index 100% rename from third_party/linux/Soloud/include/soloud_error.h rename to include/common/soloud/soloud_error.h diff --git a/third_party/linux/Soloud/include/soloud_fader.h b/include/common/soloud/soloud_fader.h similarity index 100% rename from third_party/linux/Soloud/include/soloud_fader.h rename to include/common/soloud/soloud_fader.h diff --git a/third_party/linux/Soloud/include/soloud_fft.h b/include/common/soloud/soloud_fft.h similarity index 100% rename from third_party/linux/Soloud/include/soloud_fft.h rename to include/common/soloud/soloud_fft.h diff --git a/third_party/linux/Soloud/include/soloud_fftfilter.h b/include/common/soloud/soloud_fftfilter.h similarity index 100% rename from third_party/linux/Soloud/include/soloud_fftfilter.h rename to include/common/soloud/soloud_fftfilter.h diff --git a/third_party/linux/Soloud/include/soloud_file.h b/include/common/soloud/soloud_file.h similarity index 100% rename from third_party/linux/Soloud/include/soloud_file.h rename to include/common/soloud/soloud_file.h diff --git a/third_party/linux/Soloud/include/soloud_file_hack_off.h b/include/common/soloud/soloud_file_hack_off.h similarity index 100% rename from third_party/linux/Soloud/include/soloud_file_hack_off.h rename to include/common/soloud/soloud_file_hack_off.h diff --git a/third_party/linux/Soloud/include/soloud_file_hack_on.h b/include/common/soloud/soloud_file_hack_on.h similarity index 100% rename from third_party/linux/Soloud/include/soloud_file_hack_on.h rename to include/common/soloud/soloud_file_hack_on.h diff --git a/third_party/linux/Soloud/include/soloud_filter.h b/include/common/soloud/soloud_filter.h similarity index 100% rename from third_party/linux/Soloud/include/soloud_filter.h rename to include/common/soloud/soloud_filter.h diff --git a/third_party/linux/Soloud/include/soloud_flangerfilter.h b/include/common/soloud/soloud_flangerfilter.h similarity index 100% rename from third_party/linux/Soloud/include/soloud_flangerfilter.h rename to include/common/soloud/soloud_flangerfilter.h diff --git a/third_party/linux/Soloud/include/soloud_internal.h b/include/common/soloud/soloud_internal.h similarity index 100% rename from third_party/linux/Soloud/include/soloud_internal.h rename to include/common/soloud/soloud_internal.h diff --git a/third_party/linux/Soloud/include/soloud_lofifilter.h b/include/common/soloud/soloud_lofifilter.h similarity index 100% rename from third_party/linux/Soloud/include/soloud_lofifilter.h rename to include/common/soloud/soloud_lofifilter.h diff --git a/third_party/linux/Soloud/include/soloud_monotone.h b/include/common/soloud/soloud_monotone.h similarity index 100% rename from third_party/linux/Soloud/include/soloud_monotone.h rename to include/common/soloud/soloud_monotone.h diff --git a/third_party/linux/Soloud/include/soloud_openmpt.h b/include/common/soloud/soloud_openmpt.h similarity index 100% rename from third_party/linux/Soloud/include/soloud_openmpt.h rename to include/common/soloud/soloud_openmpt.h diff --git a/third_party/linux/Soloud/include/soloud_sfxr.h b/include/common/soloud/soloud_sfxr.h similarity index 100% rename from third_party/linux/Soloud/include/soloud_sfxr.h rename to include/common/soloud/soloud_sfxr.h diff --git a/third_party/linux/Soloud/include/soloud_speech.h b/include/common/soloud/soloud_speech.h similarity index 100% rename from third_party/linux/Soloud/include/soloud_speech.h rename to include/common/soloud/soloud_speech.h diff --git a/third_party/linux/Soloud/include/soloud_tedsid.h b/include/common/soloud/soloud_tedsid.h similarity index 100% rename from third_party/linux/Soloud/include/soloud_tedsid.h rename to include/common/soloud/soloud_tedsid.h diff --git a/third_party/linux/Soloud/include/soloud_thread.h b/include/common/soloud/soloud_thread.h similarity index 100% rename from third_party/linux/Soloud/include/soloud_thread.h rename to include/common/soloud/soloud_thread.h diff --git a/third_party/linux/Soloud/include/soloud_vic.h b/include/common/soloud/soloud_vic.h similarity index 100% rename from third_party/linux/Soloud/include/soloud_vic.h rename to include/common/soloud/soloud_vic.h diff --git a/third_party/linux/Soloud/include/soloud_wav.h b/include/common/soloud/soloud_wav.h similarity index 100% rename from third_party/linux/Soloud/include/soloud_wav.h rename to include/common/soloud/soloud_wav.h diff --git a/third_party/linux/Soloud/include/soloud_wavstream.h b/include/common/soloud/soloud_wavstream.h similarity index 100% rename from third_party/linux/Soloud/include/soloud_wavstream.h rename to include/common/soloud/soloud_wavstream.h diff --git a/third_party/linux/SDL2/include/SDL/SDL.h b/include/linux/sdl2/SDL.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL.h rename to include/linux/sdl2/SDL.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_assert.h b/include/linux/sdl2/SDL_assert.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_assert.h rename to include/linux/sdl2/SDL_assert.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_atomic.h b/include/linux/sdl2/SDL_atomic.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_atomic.h rename to include/linux/sdl2/SDL_atomic.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_audio.h b/include/linux/sdl2/SDL_audio.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_audio.h rename to include/linux/sdl2/SDL_audio.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_bits.h b/include/linux/sdl2/SDL_bits.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_bits.h rename to include/linux/sdl2/SDL_bits.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_blendmode.h b/include/linux/sdl2/SDL_blendmode.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_blendmode.h rename to include/linux/sdl2/SDL_blendmode.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_clipboard.h b/include/linux/sdl2/SDL_clipboard.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_clipboard.h rename to include/linux/sdl2/SDL_clipboard.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_config.h b/include/linux/sdl2/SDL_config.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_config.h rename to include/linux/sdl2/SDL_config.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_cpuinfo.h b/include/linux/sdl2/SDL_cpuinfo.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_cpuinfo.h rename to include/linux/sdl2/SDL_cpuinfo.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_egl.h b/include/linux/sdl2/SDL_egl.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_egl.h rename to include/linux/sdl2/SDL_egl.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_endian.h b/include/linux/sdl2/SDL_endian.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_endian.h rename to include/linux/sdl2/SDL_endian.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_error.h b/include/linux/sdl2/SDL_error.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_error.h rename to include/linux/sdl2/SDL_error.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_events.h b/include/linux/sdl2/SDL_events.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_events.h rename to include/linux/sdl2/SDL_events.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_filesystem.h b/include/linux/sdl2/SDL_filesystem.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_filesystem.h rename to include/linux/sdl2/SDL_filesystem.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_gamecontroller.h b/include/linux/sdl2/SDL_gamecontroller.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_gamecontroller.h rename to include/linux/sdl2/SDL_gamecontroller.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_gesture.h b/include/linux/sdl2/SDL_gesture.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_gesture.h rename to include/linux/sdl2/SDL_gesture.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_haptic.h b/include/linux/sdl2/SDL_haptic.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_haptic.h rename to include/linux/sdl2/SDL_haptic.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_hints.h b/include/linux/sdl2/SDL_hints.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_hints.h rename to include/linux/sdl2/SDL_hints.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_joystick.h b/include/linux/sdl2/SDL_joystick.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_joystick.h rename to include/linux/sdl2/SDL_joystick.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_keyboard.h b/include/linux/sdl2/SDL_keyboard.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_keyboard.h rename to include/linux/sdl2/SDL_keyboard.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_keycode.h b/include/linux/sdl2/SDL_keycode.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_keycode.h rename to include/linux/sdl2/SDL_keycode.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_loadso.h b/include/linux/sdl2/SDL_loadso.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_loadso.h rename to include/linux/sdl2/SDL_loadso.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_log.h b/include/linux/sdl2/SDL_log.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_log.h rename to include/linux/sdl2/SDL_log.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_main.h b/include/linux/sdl2/SDL_main.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_main.h rename to include/linux/sdl2/SDL_main.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_messagebox.h b/include/linux/sdl2/SDL_messagebox.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_messagebox.h rename to include/linux/sdl2/SDL_messagebox.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_mouse.h b/include/linux/sdl2/SDL_mouse.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_mouse.h rename to include/linux/sdl2/SDL_mouse.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_mutex.h b/include/linux/sdl2/SDL_mutex.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_mutex.h rename to include/linux/sdl2/SDL_mutex.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_name.h b/include/linux/sdl2/SDL_name.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_name.h rename to include/linux/sdl2/SDL_name.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_opengl.h b/include/linux/sdl2/SDL_opengl.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_opengl.h rename to include/linux/sdl2/SDL_opengl.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_opengl_glext.h b/include/linux/sdl2/SDL_opengl_glext.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_opengl_glext.h rename to include/linux/sdl2/SDL_opengl_glext.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_opengles.h b/include/linux/sdl2/SDL_opengles.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_opengles.h rename to include/linux/sdl2/SDL_opengles.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_opengles2.h b/include/linux/sdl2/SDL_opengles2.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_opengles2.h rename to include/linux/sdl2/SDL_opengles2.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_opengles2_gl2.h b/include/linux/sdl2/SDL_opengles2_gl2.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_opengles2_gl2.h rename to include/linux/sdl2/SDL_opengles2_gl2.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_opengles2_gl2ext.h b/include/linux/sdl2/SDL_opengles2_gl2ext.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_opengles2_gl2ext.h rename to include/linux/sdl2/SDL_opengles2_gl2ext.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_opengles2_gl2platform.h b/include/linux/sdl2/SDL_opengles2_gl2platform.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_opengles2_gl2platform.h rename to include/linux/sdl2/SDL_opengles2_gl2platform.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_opengles2_khrplatform.h b/include/linux/sdl2/SDL_opengles2_khrplatform.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_opengles2_khrplatform.h rename to include/linux/sdl2/SDL_opengles2_khrplatform.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_pixels.h b/include/linux/sdl2/SDL_pixels.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_pixels.h rename to include/linux/sdl2/SDL_pixels.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_platform.h b/include/linux/sdl2/SDL_platform.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_platform.h rename to include/linux/sdl2/SDL_platform.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_power.h b/include/linux/sdl2/SDL_power.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_power.h rename to include/linux/sdl2/SDL_power.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_quit.h b/include/linux/sdl2/SDL_quit.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_quit.h rename to include/linux/sdl2/SDL_quit.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_rect.h b/include/linux/sdl2/SDL_rect.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_rect.h rename to include/linux/sdl2/SDL_rect.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_render.h b/include/linux/sdl2/SDL_render.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_render.h rename to include/linux/sdl2/SDL_render.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_revision.h b/include/linux/sdl2/SDL_revision.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_revision.h rename to include/linux/sdl2/SDL_revision.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_rwops.h b/include/linux/sdl2/SDL_rwops.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_rwops.h rename to include/linux/sdl2/SDL_rwops.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_scancode.h b/include/linux/sdl2/SDL_scancode.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_scancode.h rename to include/linux/sdl2/SDL_scancode.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_shape.h b/include/linux/sdl2/SDL_shape.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_shape.h rename to include/linux/sdl2/SDL_shape.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_stdinc.h b/include/linux/sdl2/SDL_stdinc.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_stdinc.h rename to include/linux/sdl2/SDL_stdinc.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_surface.h b/include/linux/sdl2/SDL_surface.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_surface.h rename to include/linux/sdl2/SDL_surface.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_system.h b/include/linux/sdl2/SDL_system.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_system.h rename to include/linux/sdl2/SDL_system.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_syswm.h b/include/linux/sdl2/SDL_syswm.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_syswm.h rename to include/linux/sdl2/SDL_syswm.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_test.h b/include/linux/sdl2/SDL_test.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_test.h rename to include/linux/sdl2/SDL_test.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_test_assert.h b/include/linux/sdl2/SDL_test_assert.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_test_assert.h rename to include/linux/sdl2/SDL_test_assert.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_test_common.h b/include/linux/sdl2/SDL_test_common.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_test_common.h rename to include/linux/sdl2/SDL_test_common.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_test_compare.h b/include/linux/sdl2/SDL_test_compare.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_test_compare.h rename to include/linux/sdl2/SDL_test_compare.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_test_crc32.h b/include/linux/sdl2/SDL_test_crc32.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_test_crc32.h rename to include/linux/sdl2/SDL_test_crc32.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_test_font.h b/include/linux/sdl2/SDL_test_font.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_test_font.h rename to include/linux/sdl2/SDL_test_font.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_test_fuzzer.h b/include/linux/sdl2/SDL_test_fuzzer.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_test_fuzzer.h rename to include/linux/sdl2/SDL_test_fuzzer.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_test_harness.h b/include/linux/sdl2/SDL_test_harness.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_test_harness.h rename to include/linux/sdl2/SDL_test_harness.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_test_images.h b/include/linux/sdl2/SDL_test_images.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_test_images.h rename to include/linux/sdl2/SDL_test_images.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_test_log.h b/include/linux/sdl2/SDL_test_log.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_test_log.h rename to include/linux/sdl2/SDL_test_log.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_test_md5.h b/include/linux/sdl2/SDL_test_md5.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_test_md5.h rename to include/linux/sdl2/SDL_test_md5.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_test_memory.h b/include/linux/sdl2/SDL_test_memory.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_test_memory.h rename to include/linux/sdl2/SDL_test_memory.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_test_random.h b/include/linux/sdl2/SDL_test_random.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_test_random.h rename to include/linux/sdl2/SDL_test_random.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_thread.h b/include/linux/sdl2/SDL_thread.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_thread.h rename to include/linux/sdl2/SDL_thread.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_timer.h b/include/linux/sdl2/SDL_timer.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_timer.h rename to include/linux/sdl2/SDL_timer.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_touch.h b/include/linux/sdl2/SDL_touch.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_touch.h rename to include/linux/sdl2/SDL_touch.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_types.h b/include/linux/sdl2/SDL_types.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_types.h rename to include/linux/sdl2/SDL_types.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_version.h b/include/linux/sdl2/SDL_version.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_version.h rename to include/linux/sdl2/SDL_version.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_video.h b/include/linux/sdl2/SDL_video.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_video.h rename to include/linux/sdl2/SDL_video.h diff --git a/third_party/linux/SDL2/include/SDL/SDL_vulkan.h b/include/linux/sdl2/SDL_vulkan.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/SDL_vulkan.h rename to include/linux/sdl2/SDL_vulkan.h diff --git a/third_party/linux/SDL2/include/SDL/begin_code.h b/include/linux/sdl2/begin_code.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/begin_code.h rename to include/linux/sdl2/begin_code.h diff --git a/third_party/linux/SDL2/include/SDL/close_code.h b/include/linux/sdl2/close_code.h similarity index 100% rename from third_party/linux/SDL2/include/SDL/close_code.h rename to include/linux/sdl2/close_code.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL.h b/include/windows/sdl2/SDL.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL.h rename to include/windows/sdl2/SDL.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_assert.h b/include/windows/sdl2/SDL_assert.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_assert.h rename to include/windows/sdl2/SDL_assert.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_atomic.h b/include/windows/sdl2/SDL_atomic.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_atomic.h rename to include/windows/sdl2/SDL_atomic.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_audio.h b/include/windows/sdl2/SDL_audio.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_audio.h rename to include/windows/sdl2/SDL_audio.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_bits.h b/include/windows/sdl2/SDL_bits.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_bits.h rename to include/windows/sdl2/SDL_bits.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_blendmode.h b/include/windows/sdl2/SDL_blendmode.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_blendmode.h rename to include/windows/sdl2/SDL_blendmode.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_clipboard.h b/include/windows/sdl2/SDL_clipboard.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_clipboard.h rename to include/windows/sdl2/SDL_clipboard.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_config.h b/include/windows/sdl2/SDL_config.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_config.h rename to include/windows/sdl2/SDL_config.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_cpuinfo.h b/include/windows/sdl2/SDL_cpuinfo.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_cpuinfo.h rename to include/windows/sdl2/SDL_cpuinfo.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_egl.h b/include/windows/sdl2/SDL_egl.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_egl.h rename to include/windows/sdl2/SDL_egl.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_endian.h b/include/windows/sdl2/SDL_endian.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_endian.h rename to include/windows/sdl2/SDL_endian.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_error.h b/include/windows/sdl2/SDL_error.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_error.h rename to include/windows/sdl2/SDL_error.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_events.h b/include/windows/sdl2/SDL_events.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_events.h rename to include/windows/sdl2/SDL_events.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_filesystem.h b/include/windows/sdl2/SDL_filesystem.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_filesystem.h rename to include/windows/sdl2/SDL_filesystem.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_gamecontroller.h b/include/windows/sdl2/SDL_gamecontroller.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_gamecontroller.h rename to include/windows/sdl2/SDL_gamecontroller.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_gesture.h b/include/windows/sdl2/SDL_gesture.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_gesture.h rename to include/windows/sdl2/SDL_gesture.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_haptic.h b/include/windows/sdl2/SDL_haptic.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_haptic.h rename to include/windows/sdl2/SDL_haptic.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_hints.h b/include/windows/sdl2/SDL_hints.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_hints.h rename to include/windows/sdl2/SDL_hints.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_joystick.h b/include/windows/sdl2/SDL_joystick.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_joystick.h rename to include/windows/sdl2/SDL_joystick.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_keyboard.h b/include/windows/sdl2/SDL_keyboard.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_keyboard.h rename to include/windows/sdl2/SDL_keyboard.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_keycode.h b/include/windows/sdl2/SDL_keycode.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_keycode.h rename to include/windows/sdl2/SDL_keycode.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_loadso.h b/include/windows/sdl2/SDL_loadso.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_loadso.h rename to include/windows/sdl2/SDL_loadso.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_log.h b/include/windows/sdl2/SDL_log.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_log.h rename to include/windows/sdl2/SDL_log.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_main.h b/include/windows/sdl2/SDL_main.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_main.h rename to include/windows/sdl2/SDL_main.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_messagebox.h b/include/windows/sdl2/SDL_messagebox.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_messagebox.h rename to include/windows/sdl2/SDL_messagebox.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_mouse.h b/include/windows/sdl2/SDL_mouse.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_mouse.h rename to include/windows/sdl2/SDL_mouse.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_mutex.h b/include/windows/sdl2/SDL_mutex.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_mutex.h rename to include/windows/sdl2/SDL_mutex.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_name.h b/include/windows/sdl2/SDL_name.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_name.h rename to include/windows/sdl2/SDL_name.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_opengl.h b/include/windows/sdl2/SDL_opengl.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_opengl.h rename to include/windows/sdl2/SDL_opengl.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_opengl_glext.h b/include/windows/sdl2/SDL_opengl_glext.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_opengl_glext.h rename to include/windows/sdl2/SDL_opengl_glext.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_opengles.h b/include/windows/sdl2/SDL_opengles.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_opengles.h rename to include/windows/sdl2/SDL_opengles.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_opengles2.h b/include/windows/sdl2/SDL_opengles2.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_opengles2.h rename to include/windows/sdl2/SDL_opengles2.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_opengles2_gl2.h b/include/windows/sdl2/SDL_opengles2_gl2.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_opengles2_gl2.h rename to include/windows/sdl2/SDL_opengles2_gl2.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_opengles2_gl2ext.h b/include/windows/sdl2/SDL_opengles2_gl2ext.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_opengles2_gl2ext.h rename to include/windows/sdl2/SDL_opengles2_gl2ext.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_opengles2_gl2platform.h b/include/windows/sdl2/SDL_opengles2_gl2platform.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_opengles2_gl2platform.h rename to include/windows/sdl2/SDL_opengles2_gl2platform.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_opengles2_khrplatform.h b/include/windows/sdl2/SDL_opengles2_khrplatform.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_opengles2_khrplatform.h rename to include/windows/sdl2/SDL_opengles2_khrplatform.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_pixels.h b/include/windows/sdl2/SDL_pixels.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_pixels.h rename to include/windows/sdl2/SDL_pixels.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_platform.h b/include/windows/sdl2/SDL_platform.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_platform.h rename to include/windows/sdl2/SDL_platform.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_power.h b/include/windows/sdl2/SDL_power.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_power.h rename to include/windows/sdl2/SDL_power.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_quit.h b/include/windows/sdl2/SDL_quit.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_quit.h rename to include/windows/sdl2/SDL_quit.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_rect.h b/include/windows/sdl2/SDL_rect.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_rect.h rename to include/windows/sdl2/SDL_rect.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_render.h b/include/windows/sdl2/SDL_render.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_render.h rename to include/windows/sdl2/SDL_render.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_revision.h b/include/windows/sdl2/SDL_revision.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_revision.h rename to include/windows/sdl2/SDL_revision.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_rwops.h b/include/windows/sdl2/SDL_rwops.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_rwops.h rename to include/windows/sdl2/SDL_rwops.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_scancode.h b/include/windows/sdl2/SDL_scancode.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_scancode.h rename to include/windows/sdl2/SDL_scancode.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_shape.h b/include/windows/sdl2/SDL_shape.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_shape.h rename to include/windows/sdl2/SDL_shape.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_stdinc.h b/include/windows/sdl2/SDL_stdinc.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_stdinc.h rename to include/windows/sdl2/SDL_stdinc.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_surface.h b/include/windows/sdl2/SDL_surface.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_surface.h rename to include/windows/sdl2/SDL_surface.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_system.h b/include/windows/sdl2/SDL_system.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_system.h rename to include/windows/sdl2/SDL_system.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_syswm.h b/include/windows/sdl2/SDL_syswm.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_syswm.h rename to include/windows/sdl2/SDL_syswm.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_test.h b/include/windows/sdl2/SDL_test.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_test.h rename to include/windows/sdl2/SDL_test.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_test_assert.h b/include/windows/sdl2/SDL_test_assert.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_test_assert.h rename to include/windows/sdl2/SDL_test_assert.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_test_common.h b/include/windows/sdl2/SDL_test_common.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_test_common.h rename to include/windows/sdl2/SDL_test_common.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_test_compare.h b/include/windows/sdl2/SDL_test_compare.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_test_compare.h rename to include/windows/sdl2/SDL_test_compare.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_test_crc32.h b/include/windows/sdl2/SDL_test_crc32.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_test_crc32.h rename to include/windows/sdl2/SDL_test_crc32.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_test_font.h b/include/windows/sdl2/SDL_test_font.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_test_font.h rename to include/windows/sdl2/SDL_test_font.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_test_fuzzer.h b/include/windows/sdl2/SDL_test_fuzzer.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_test_fuzzer.h rename to include/windows/sdl2/SDL_test_fuzzer.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_test_harness.h b/include/windows/sdl2/SDL_test_harness.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_test_harness.h rename to include/windows/sdl2/SDL_test_harness.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_test_images.h b/include/windows/sdl2/SDL_test_images.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_test_images.h rename to include/windows/sdl2/SDL_test_images.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_test_log.h b/include/windows/sdl2/SDL_test_log.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_test_log.h rename to include/windows/sdl2/SDL_test_log.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_test_md5.h b/include/windows/sdl2/SDL_test_md5.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_test_md5.h rename to include/windows/sdl2/SDL_test_md5.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_test_random.h b/include/windows/sdl2/SDL_test_random.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_test_random.h rename to include/windows/sdl2/SDL_test_random.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_thread.h b/include/windows/sdl2/SDL_thread.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_thread.h rename to include/windows/sdl2/SDL_thread.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_timer.h b/include/windows/sdl2/SDL_timer.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_timer.h rename to include/windows/sdl2/SDL_timer.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_touch.h b/include/windows/sdl2/SDL_touch.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_touch.h rename to include/windows/sdl2/SDL_touch.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_types.h b/include/windows/sdl2/SDL_types.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_types.h rename to include/windows/sdl2/SDL_types.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_version.h b/include/windows/sdl2/SDL_version.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_version.h rename to include/windows/sdl2/SDL_version.h diff --git a/third_party/windows/SDL2-2.0.5/include/SDL_video.h b/include/windows/sdl2/SDL_video.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/SDL_video.h rename to include/windows/sdl2/SDL_video.h diff --git a/third_party/windows/SDL2-2.0.5/include/begin_code.h b/include/windows/sdl2/begin_code.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/begin_code.h rename to include/windows/sdl2/begin_code.h diff --git a/third_party/windows/SDL2-2.0.5/include/close_code.h b/include/windows/sdl2/close_code.h similarity index 100% rename from third_party/windows/SDL2-2.0.5/include/close_code.h rename to include/windows/sdl2/close_code.h diff --git a/third_party/linux/SDL2/lib/libSDL2-2.0.so.0 b/lib/linux/sdl2/libSDL2-2.0.so.0 similarity index 100% rename from third_party/linux/SDL2/lib/libSDL2-2.0.so.0 rename to lib/linux/sdl2/libSDL2-2.0.so.0 diff --git a/third_party/linux/SDL2/lib/libSDL2-2.0.so.0.7.0 b/lib/linux/sdl2/libSDL2-2.0.so.0.7.0 similarity index 100% rename from third_party/linux/SDL2/lib/libSDL2-2.0.so.0.7.0 rename to lib/linux/sdl2/libSDL2-2.0.so.0.7.0 diff --git a/third_party/linux/SDL2/lib/libSDL2.so b/lib/linux/sdl2/libSDL2.so similarity index 100% rename from third_party/linux/SDL2/lib/libSDL2.so rename to lib/linux/sdl2/libSDL2.so diff --git a/third_party/linux/Soloud/lib/libsoloud_x64.so b/lib/linux/soloud/libsoloud_x64.so similarity index 100% rename from third_party/linux/Soloud/lib/libsoloud_x64.so rename to lib/linux/soloud/libsoloud_x64.so diff --git a/third_party/linux/Soloud/lib/libsoloud_x64_d.so b/lib/linux/soloud/libsoloud_x64_d.so similarity index 100% rename from third_party/linux/Soloud/lib/libsoloud_x64_d.so rename to lib/linux/soloud/libsoloud_x64_d.so diff --git a/third_party/windows/SDL2-2.0.5/lib/x64/SDL2.dll b/lib/windows/sdl2/SDL2.dll similarity index 100% rename from third_party/windows/SDL2-2.0.5/lib/x64/SDL2.dll rename to lib/windows/sdl2/SDL2.dll diff --git a/third_party/windows/SDL2-2.0.5/lib/x64/SDL2.lib b/lib/windows/sdl2/SDL2.lib similarity index 100% rename from third_party/windows/SDL2-2.0.5/lib/x64/SDL2.lib rename to lib/windows/sdl2/SDL2.lib diff --git a/third_party/windows/SDL2-2.0.5/lib/x64/SDL2main.lib b/lib/windows/sdl2/SDL2main.lib similarity index 100% rename from third_party/windows/SDL2-2.0.5/lib/x64/SDL2main.lib rename to lib/windows/sdl2/SDL2main.lib diff --git a/third_party/windows/SDL2-2.0.5/lib/x64/SDL2test.lib b/lib/windows/sdl2/SDL2test.lib similarity index 100% rename from third_party/windows/SDL2-2.0.5/lib/x64/SDL2test.lib rename to lib/windows/sdl2/SDL2test.lib diff --git a/third_party/windows/Soloud/lib/soloud_x64.dll b/lib/windows/soloud/soloud_x64.dll similarity index 100% rename from third_party/windows/Soloud/lib/soloud_x64.dll rename to lib/windows/soloud/soloud_x64.dll diff --git a/third_party/windows/Soloud/lib/soloud_x64.exp b/lib/windows/soloud/soloud_x64.exp similarity index 100% rename from third_party/windows/Soloud/lib/soloud_x64.exp rename to lib/windows/soloud/soloud_x64.exp diff --git a/third_party/windows/Soloud/lib/soloud_x64.lib b/lib/windows/soloud/soloud_x64.lib similarity index 100% rename from third_party/windows/Soloud/lib/soloud_x64.lib rename to lib/windows/soloud/soloud_x64.lib diff --git a/third_party/windows/Soloud/lib/soloud_x64_d.dll b/lib/windows/soloud/soloud_x64_d.dll similarity index 100% rename from third_party/windows/Soloud/lib/soloud_x64_d.dll rename to lib/windows/soloud/soloud_x64_d.dll diff --git a/third_party/windows/Soloud/lib/soloud_x64_d.exp b/lib/windows/soloud/soloud_x64_d.exp similarity index 100% rename from third_party/windows/Soloud/lib/soloud_x64_d.exp rename to lib/windows/soloud/soloud_x64_d.exp diff --git a/third_party/windows/Soloud/lib/soloud_x64_d.ilk b/lib/windows/soloud/soloud_x64_d.ilk similarity index 100% rename from third_party/windows/Soloud/lib/soloud_x64_d.ilk rename to lib/windows/soloud/soloud_x64_d.ilk diff --git a/third_party/windows/Soloud/lib/soloud_x64_d.lib b/lib/windows/soloud/soloud_x64_d.lib similarity index 100% rename from third_party/windows/Soloud/lib/soloud_x64_d.lib rename to lib/windows/soloud/soloud_x64_d.lib diff --git a/third_party/windows/Soloud/lib/soloud_x64_d.pdb b/lib/windows/soloud/soloud_x64_d.pdb similarity index 100% rename from third_party/windows/Soloud/lib/soloud_x64_d.pdb rename to lib/windows/soloud/soloud_x64_d.pdb diff --git a/src/libsymmetry/glad.c b/src/libsymmetry/glad.c index 91af17c..4ed3442 100644 --- a/src/libsymmetry/glad.c +++ b/src/libsymmetry/glad.c @@ -1,8 +1,8 @@ /* - OpenGL loader generated by glad 0.1.13a0 on Sat Mar 11 20:40:16 2017. + OpenGL loader generated by glad 0.1.14a0 on Sat Oct 28 19:45:42 2017. - Language/Generator: C/C++ + Language/Generator: C/C++ Debug Specification: gl APIs: gl=3.3 Profile: core @@ -13,9 +13,9 @@ Omit khrplatform: False Commandline: - --profile="core" --api="gl=3.3" --generator="c" --spec="gl" --no-loader --extensions="" + --profile="core" --api="gl=3.3" --generator="c-debug" --spec="gl" --no-loader --extensions="" Online: - http://glad.dav1d.de/#profile=core&language=c&specification=gl&api=gl%3D3.3 + http://glad.dav1d.de/#profile=core&language=c-debug&specification=gl&api=gl%3D3.3 */ #include @@ -23,6 +23,34 @@ #include #include +void _pre_call_callback_default(const char *name, void *funcptr, int len_args, ...) { + (void) name; + (void) funcptr; + (void) len_args; +} +void _post_call_callback_default(const char *name, void *funcptr, int len_args, ...) { + GLenum error_code; + + (void) funcptr; + (void) len_args; + + error_code = glad_glGetError(); + + if (error_code != GL_NO_ERROR) { + fprintf(stderr, "ERROR %d in %s\n", error_code, name); + } +} + +static GLADcallback _pre_call_callback = _pre_call_callback_default; +void glad_set_pre_callback(GLADcallback cb) { + _pre_call_callback = cb; +} + +static GLADcallback _post_call_callback = _post_call_callback_default; +void glad_set_post_callback(GLADcallback cb) { + _post_call_callback = cb; +} + struct gladGLversionStruct GLVersion; #if defined(GL_ES_VERSION_3_0) || defined(GL_VERSION_3_0) @@ -43,19 +71,19 @@ static int get_exts(void) { exts = (const char *)glGetString(GL_EXTENSIONS); #ifdef _GLAD_IS_SOME_NEW_VERSION } else { - int index; + unsigned int index; num_exts_i = 0; glGetIntegerv(GL_NUM_EXTENSIONS, &num_exts_i); if (num_exts_i > 0) { - exts_i = (const char **)realloc((void *)exts_i, num_exts_i * sizeof *exts_i); + exts_i = (const char **)realloc((void *)exts_i, (size_t)num_exts_i * (sizeof *exts_i)); } if (exts_i == NULL) { return 0; } - for(index = 0; index < num_exts_i; index++) { + for(index = 0; index < (unsigned)num_exts_i; index++) { exts_i[index] = (const char*)glGetStringi(GL_EXTENSIONS, index); } } @@ -65,7 +93,7 @@ static int get_exts(void) { static void free_exts(void) { if (exts_i != NULL) { - free((char **)exts_i); + free((void *)exts_i); exts_i = NULL; } } @@ -124,379 +152,3025 @@ int GLAD_GL_VERSION_3_1; int GLAD_GL_VERSION_3_2; int GLAD_GL_VERSION_3_3; PFNGLCOPYTEXIMAGE1DPROC glad_glCopyTexImage1D; +void APIENTRY glad_debug_impl_glCopyTexImage1D(GLenum arg0, GLint arg1, GLenum arg2, GLint arg3, GLint arg4, GLsizei arg5, GLint arg6) { + _pre_call_callback("glCopyTexImage1D", (void*)glCopyTexImage1D, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6); + glad_glCopyTexImage1D(arg0, arg1, arg2, arg3, arg4, arg5, arg6); + _post_call_callback("glCopyTexImage1D", (void*)glCopyTexImage1D, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6); + +} +PFNGLCOPYTEXIMAGE1DPROC glad_debug_glCopyTexImage1D = glad_debug_impl_glCopyTexImage1D; PFNGLVERTEXATTRIBI3UIPROC glad_glVertexAttribI3ui; +void APIENTRY glad_debug_impl_glVertexAttribI3ui(GLuint arg0, GLuint arg1, GLuint arg2, GLuint arg3) { + _pre_call_callback("glVertexAttribI3ui", (void*)glVertexAttribI3ui, 4, arg0, arg1, arg2, arg3); + glad_glVertexAttribI3ui(arg0, arg1, arg2, arg3); + _post_call_callback("glVertexAttribI3ui", (void*)glVertexAttribI3ui, 4, arg0, arg1, arg2, arg3); + +} +PFNGLVERTEXATTRIBI3UIPROC glad_debug_glVertexAttribI3ui = glad_debug_impl_glVertexAttribI3ui; PFNGLSTENCILMASKSEPARATEPROC glad_glStencilMaskSeparate; +void APIENTRY glad_debug_impl_glStencilMaskSeparate(GLenum arg0, GLuint arg1) { + _pre_call_callback("glStencilMaskSeparate", (void*)glStencilMaskSeparate, 2, arg0, arg1); + glad_glStencilMaskSeparate(arg0, arg1); + _post_call_callback("glStencilMaskSeparate", (void*)glStencilMaskSeparate, 2, arg0, arg1); + +} +PFNGLSTENCILMASKSEPARATEPROC glad_debug_glStencilMaskSeparate = glad_debug_impl_glStencilMaskSeparate; PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_glFramebufferRenderbuffer; +void APIENTRY glad_debug_impl_glFramebufferRenderbuffer(GLenum arg0, GLenum arg1, GLenum arg2, GLuint arg3) { + _pre_call_callback("glFramebufferRenderbuffer", (void*)glFramebufferRenderbuffer, 4, arg0, arg1, arg2, arg3); + glad_glFramebufferRenderbuffer(arg0, arg1, arg2, arg3); + _post_call_callback("glFramebufferRenderbuffer", (void*)glFramebufferRenderbuffer, 4, arg0, arg1, arg2, arg3); + +} +PFNGLFRAMEBUFFERRENDERBUFFERPROC glad_debug_glFramebufferRenderbuffer = glad_debug_impl_glFramebufferRenderbuffer; PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glad_glCompressedTexSubImage3D; +void APIENTRY glad_debug_impl_glCompressedTexSubImage3D(GLenum arg0, GLint arg1, GLint arg2, GLint arg3, GLint arg4, GLsizei arg5, GLsizei arg6, GLsizei arg7, GLenum arg8, GLsizei arg9, const void * arg10) { + _pre_call_callback("glCompressedTexSubImage3D", (void*)glCompressedTexSubImage3D, 11, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); + glad_glCompressedTexSubImage3D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); + _post_call_callback("glCompressedTexSubImage3D", (void*)glCompressedTexSubImage3D, 11, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); + +} +PFNGLCOMPRESSEDTEXSUBIMAGE3DPROC glad_debug_glCompressedTexSubImage3D = glad_debug_impl_glCompressedTexSubImage3D; PFNGLTEXCOORDP3UIVPROC glad_glTexCoordP3uiv; +void APIENTRY glad_debug_impl_glTexCoordP3uiv(GLenum arg0, const GLuint * arg1) { + _pre_call_callback("glTexCoordP3uiv", (void*)glTexCoordP3uiv, 2, arg0, arg1); + glad_glTexCoordP3uiv(arg0, arg1); + _post_call_callback("glTexCoordP3uiv", (void*)glTexCoordP3uiv, 2, arg0, arg1); + +} +PFNGLTEXCOORDP3UIVPROC glad_debug_glTexCoordP3uiv = glad_debug_impl_glTexCoordP3uiv; PFNGLVERTEXATTRIB1SVPROC glad_glVertexAttrib1sv; +void APIENTRY glad_debug_impl_glVertexAttrib1sv(GLuint arg0, const GLshort * arg1) { + _pre_call_callback("glVertexAttrib1sv", (void*)glVertexAttrib1sv, 2, arg0, arg1); + glad_glVertexAttrib1sv(arg0, arg1); + _post_call_callback("glVertexAttrib1sv", (void*)glVertexAttrib1sv, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIB1SVPROC glad_debug_glVertexAttrib1sv = glad_debug_impl_glVertexAttrib1sv; PFNGLBINDSAMPLERPROC glad_glBindSampler; +void APIENTRY glad_debug_impl_glBindSampler(GLuint arg0, GLuint arg1) { + _pre_call_callback("glBindSampler", (void*)glBindSampler, 2, arg0, arg1); + glad_glBindSampler(arg0, arg1); + _post_call_callback("glBindSampler", (void*)glBindSampler, 2, arg0, arg1); + +} +PFNGLBINDSAMPLERPROC glad_debug_glBindSampler = glad_debug_impl_glBindSampler; PFNGLLINEWIDTHPROC glad_glLineWidth; +void APIENTRY glad_debug_impl_glLineWidth(GLfloat arg0) { + _pre_call_callback("glLineWidth", (void*)glLineWidth, 1, arg0); + glad_glLineWidth(arg0); + _post_call_callback("glLineWidth", (void*)glLineWidth, 1, arg0); + +} +PFNGLLINEWIDTHPROC glad_debug_glLineWidth = glad_debug_impl_glLineWidth; PFNGLCOLORP3UIVPROC glad_glColorP3uiv; +void APIENTRY glad_debug_impl_glColorP3uiv(GLenum arg0, const GLuint * arg1) { + _pre_call_callback("glColorP3uiv", (void*)glColorP3uiv, 2, arg0, arg1); + glad_glColorP3uiv(arg0, arg1); + _post_call_callback("glColorP3uiv", (void*)glColorP3uiv, 2, arg0, arg1); + +} +PFNGLCOLORP3UIVPROC glad_debug_glColorP3uiv = glad_debug_impl_glColorP3uiv; PFNGLGETINTEGERI_VPROC glad_glGetIntegeri_v; +void APIENTRY glad_debug_impl_glGetIntegeri_v(GLenum arg0, GLuint arg1, GLint * arg2) { + _pre_call_callback("glGetIntegeri_v", (void*)glGetIntegeri_v, 3, arg0, arg1, arg2); + glad_glGetIntegeri_v(arg0, arg1, arg2); + _post_call_callback("glGetIntegeri_v", (void*)glGetIntegeri_v, 3, arg0, arg1, arg2); + +} +PFNGLGETINTEGERI_VPROC glad_debug_glGetIntegeri_v = glad_debug_impl_glGetIntegeri_v; PFNGLCOMPILESHADERPROC glad_glCompileShader; +void APIENTRY glad_debug_impl_glCompileShader(GLuint arg0) { + _pre_call_callback("glCompileShader", (void*)glCompileShader, 1, arg0); + glad_glCompileShader(arg0); + _post_call_callback("glCompileShader", (void*)glCompileShader, 1, arg0); + +} +PFNGLCOMPILESHADERPROC glad_debug_glCompileShader = glad_debug_impl_glCompileShader; PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glad_glGetTransformFeedbackVarying; +void APIENTRY glad_debug_impl_glGetTransformFeedbackVarying(GLuint arg0, GLuint arg1, GLsizei arg2, GLsizei * arg3, GLsizei * arg4, GLenum * arg5, GLchar * arg6) { + _pre_call_callback("glGetTransformFeedbackVarying", (void*)glGetTransformFeedbackVarying, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6); + glad_glGetTransformFeedbackVarying(arg0, arg1, arg2, arg3, arg4, arg5, arg6); + _post_call_callback("glGetTransformFeedbackVarying", (void*)glGetTransformFeedbackVarying, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6); + +} +PFNGLGETTRANSFORMFEEDBACKVARYINGPROC glad_debug_glGetTransformFeedbackVarying = glad_debug_impl_glGetTransformFeedbackVarying; PFNGLVERTEXATTRIBIPOINTERPROC glad_glVertexAttribIPointer; +void APIENTRY glad_debug_impl_glVertexAttribIPointer(GLuint arg0, GLint arg1, GLenum arg2, GLsizei arg3, const void * arg4) { + _pre_call_callback("glVertexAttribIPointer", (void*)glVertexAttribIPointer, 5, arg0, arg1, arg2, arg3, arg4); + glad_glVertexAttribIPointer(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glVertexAttribIPointer", (void*)glVertexAttribIPointer, 5, arg0, arg1, arg2, arg3, arg4); + +} +PFNGLVERTEXATTRIBIPOINTERPROC glad_debug_glVertexAttribIPointer = glad_debug_impl_glVertexAttribIPointer; PFNGLMULTITEXCOORDP3UIPROC glad_glMultiTexCoordP3ui; +void APIENTRY glad_debug_impl_glMultiTexCoordP3ui(GLenum arg0, GLenum arg1, GLuint arg2) { + _pre_call_callback("glMultiTexCoordP3ui", (void*)glMultiTexCoordP3ui, 3, arg0, arg1, arg2); + glad_glMultiTexCoordP3ui(arg0, arg1, arg2); + _post_call_callback("glMultiTexCoordP3ui", (void*)glMultiTexCoordP3ui, 3, arg0, arg1, arg2); + +} +PFNGLMULTITEXCOORDP3UIPROC glad_debug_glMultiTexCoordP3ui = glad_debug_impl_glMultiTexCoordP3ui; PFNGLVERTEXP4UIPROC glad_glVertexP4ui; +void APIENTRY glad_debug_impl_glVertexP4ui(GLenum arg0, GLuint arg1) { + _pre_call_callback("glVertexP4ui", (void*)glVertexP4ui, 2, arg0, arg1); + glad_glVertexP4ui(arg0, arg1); + _post_call_callback("glVertexP4ui", (void*)glVertexP4ui, 2, arg0, arg1); + +} +PFNGLVERTEXP4UIPROC glad_debug_glVertexP4ui = glad_debug_impl_glVertexP4ui; PFNGLENABLEIPROC glad_glEnablei; +void APIENTRY glad_debug_impl_glEnablei(GLenum arg0, GLuint arg1) { + _pre_call_callback("glEnablei", (void*)glEnablei, 2, arg0, arg1); + glad_glEnablei(arg0, arg1); + _post_call_callback("glEnablei", (void*)glEnablei, 2, arg0, arg1); + +} +PFNGLENABLEIPROC glad_debug_glEnablei = glad_debug_impl_glEnablei; PFNGLVERTEXATTRIBP4UIPROC glad_glVertexAttribP4ui; +void APIENTRY glad_debug_impl_glVertexAttribP4ui(GLuint arg0, GLenum arg1, GLboolean arg2, GLuint arg3) { + _pre_call_callback("glVertexAttribP4ui", (void*)glVertexAttribP4ui, 4, arg0, arg1, arg2, arg3); + glad_glVertexAttribP4ui(arg0, arg1, arg2, arg3); + _post_call_callback("glVertexAttribP4ui", (void*)glVertexAttribP4ui, 4, arg0, arg1, arg2, arg3); + +} +PFNGLVERTEXATTRIBP4UIPROC glad_debug_glVertexAttribP4ui = glad_debug_impl_glVertexAttribP4ui; PFNGLCREATESHADERPROC glad_glCreateShader; +GLuint APIENTRY glad_debug_impl_glCreateShader(GLenum arg0) { + GLuint ret; + _pre_call_callback("glCreateShader", (void*)glCreateShader, 1, arg0); + ret = glad_glCreateShader(arg0); + _post_call_callback("glCreateShader", (void*)glCreateShader, 1, arg0); + return ret; +} +PFNGLCREATESHADERPROC glad_debug_glCreateShader = glad_debug_impl_glCreateShader; PFNGLISBUFFERPROC glad_glIsBuffer; +GLboolean APIENTRY glad_debug_impl_glIsBuffer(GLuint arg0) { + GLboolean ret; + _pre_call_callback("glIsBuffer", (void*)glIsBuffer, 1, arg0); + ret = glad_glIsBuffer(arg0); + _post_call_callback("glIsBuffer", (void*)glIsBuffer, 1, arg0); + return ret; +} +PFNGLISBUFFERPROC glad_debug_glIsBuffer = glad_debug_impl_glIsBuffer; PFNGLGETMULTISAMPLEFVPROC glad_glGetMultisamplefv; +void APIENTRY glad_debug_impl_glGetMultisamplefv(GLenum arg0, GLuint arg1, GLfloat * arg2) { + _pre_call_callback("glGetMultisamplefv", (void*)glGetMultisamplefv, 3, arg0, arg1, arg2); + glad_glGetMultisamplefv(arg0, arg1, arg2); + _post_call_callback("glGetMultisamplefv", (void*)glGetMultisamplefv, 3, arg0, arg1, arg2); + +} +PFNGLGETMULTISAMPLEFVPROC glad_debug_glGetMultisamplefv = glad_debug_impl_glGetMultisamplefv; PFNGLGENRENDERBUFFERSPROC glad_glGenRenderbuffers; +void APIENTRY glad_debug_impl_glGenRenderbuffers(GLsizei arg0, GLuint * arg1) { + _pre_call_callback("glGenRenderbuffers", (void*)glGenRenderbuffers, 2, arg0, arg1); + glad_glGenRenderbuffers(arg0, arg1); + _post_call_callback("glGenRenderbuffers", (void*)glGenRenderbuffers, 2, arg0, arg1); + +} +PFNGLGENRENDERBUFFERSPROC glad_debug_glGenRenderbuffers = glad_debug_impl_glGenRenderbuffers; PFNGLCOPYTEXSUBIMAGE2DPROC glad_glCopyTexSubImage2D; +void APIENTRY glad_debug_impl_glCopyTexSubImage2D(GLenum arg0, GLint arg1, GLint arg2, GLint arg3, GLint arg4, GLint arg5, GLsizei arg6, GLsizei arg7) { + _pre_call_callback("glCopyTexSubImage2D", (void*)glCopyTexSubImage2D, 8, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + glad_glCopyTexSubImage2D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + _post_call_callback("glCopyTexSubImage2D", (void*)glCopyTexSubImage2D, 8, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + +} +PFNGLCOPYTEXSUBIMAGE2DPROC glad_debug_glCopyTexSubImage2D = glad_debug_impl_glCopyTexSubImage2D; PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_glCompressedTexImage2D; +void APIENTRY glad_debug_impl_glCompressedTexImage2D(GLenum arg0, GLint arg1, GLenum arg2, GLsizei arg3, GLsizei arg4, GLint arg5, GLsizei arg6, const void * arg7) { + _pre_call_callback("glCompressedTexImage2D", (void*)glCompressedTexImage2D, 8, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + glad_glCompressedTexImage2D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + _post_call_callback("glCompressedTexImage2D", (void*)glCompressedTexImage2D, 8, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + +} +PFNGLCOMPRESSEDTEXIMAGE2DPROC glad_debug_glCompressedTexImage2D = glad_debug_impl_glCompressedTexImage2D; PFNGLVERTEXATTRIB1FPROC glad_glVertexAttrib1f; +void APIENTRY glad_debug_impl_glVertexAttrib1f(GLuint arg0, GLfloat arg1) { + _pre_call_callback("glVertexAttrib1f", (void*)glVertexAttrib1f, 2, arg0, arg1); + glad_glVertexAttrib1f(arg0, arg1); + _post_call_callback("glVertexAttrib1f", (void*)glVertexAttrib1f, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIB1FPROC glad_debug_glVertexAttrib1f = glad_debug_impl_glVertexAttrib1f; PFNGLBLENDFUNCSEPARATEPROC glad_glBlendFuncSeparate; +void APIENTRY glad_debug_impl_glBlendFuncSeparate(GLenum arg0, GLenum arg1, GLenum arg2, GLenum arg3) { + _pre_call_callback("glBlendFuncSeparate", (void*)glBlendFuncSeparate, 4, arg0, arg1, arg2, arg3); + glad_glBlendFuncSeparate(arg0, arg1, arg2, arg3); + _post_call_callback("glBlendFuncSeparate", (void*)glBlendFuncSeparate, 4, arg0, arg1, arg2, arg3); + +} +PFNGLBLENDFUNCSEPARATEPROC glad_debug_glBlendFuncSeparate = glad_debug_impl_glBlendFuncSeparate; PFNGLHINTPROC glad_glHint; +void APIENTRY glad_debug_impl_glHint(GLenum arg0, GLenum arg1) { + _pre_call_callback("glHint", (void*)glHint, 2, arg0, arg1); + glad_glHint(arg0, arg1); + _post_call_callback("glHint", (void*)glHint, 2, arg0, arg1); + +} +PFNGLHINTPROC glad_debug_glHint = glad_debug_impl_glHint; PFNGLVERTEXATTRIB1SPROC glad_glVertexAttrib1s; +void APIENTRY glad_debug_impl_glVertexAttrib1s(GLuint arg0, GLshort arg1) { + _pre_call_callback("glVertexAttrib1s", (void*)glVertexAttrib1s, 2, arg0, arg1); + glad_glVertexAttrib1s(arg0, arg1); + _post_call_callback("glVertexAttrib1s", (void*)glVertexAttrib1s, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIB1SPROC glad_debug_glVertexAttrib1s = glad_debug_impl_glVertexAttrib1s; PFNGLSAMPLEMASKIPROC glad_glSampleMaski; +void APIENTRY glad_debug_impl_glSampleMaski(GLuint arg0, GLbitfield arg1) { + _pre_call_callback("glSampleMaski", (void*)glSampleMaski, 2, arg0, arg1); + glad_glSampleMaski(arg0, arg1); + _post_call_callback("glSampleMaski", (void*)glSampleMaski, 2, arg0, arg1); + +} +PFNGLSAMPLEMASKIPROC glad_debug_glSampleMaski = glad_debug_impl_glSampleMaski; PFNGLVERTEXP2UIPROC glad_glVertexP2ui; +void APIENTRY glad_debug_impl_glVertexP2ui(GLenum arg0, GLuint arg1) { + _pre_call_callback("glVertexP2ui", (void*)glVertexP2ui, 2, arg0, arg1); + glad_glVertexP2ui(arg0, arg1); + _post_call_callback("glVertexP2ui", (void*)glVertexP2ui, 2, arg0, arg1); + +} +PFNGLVERTEXP2UIPROC glad_debug_glVertexP2ui = glad_debug_impl_glVertexP2ui; PFNGLUNIFORMMATRIX3X2FVPROC glad_glUniformMatrix3x2fv; +void APIENTRY glad_debug_impl_glUniformMatrix3x2fv(GLint arg0, GLsizei arg1, GLboolean arg2, const GLfloat * arg3) { + _pre_call_callback("glUniformMatrix3x2fv", (void*)glUniformMatrix3x2fv, 4, arg0, arg1, arg2, arg3); + glad_glUniformMatrix3x2fv(arg0, arg1, arg2, arg3); + _post_call_callback("glUniformMatrix3x2fv", (void*)glUniformMatrix3x2fv, 4, arg0, arg1, arg2, arg3); + +} +PFNGLUNIFORMMATRIX3X2FVPROC glad_debug_glUniformMatrix3x2fv = glad_debug_impl_glUniformMatrix3x2fv; PFNGLPOINTSIZEPROC glad_glPointSize; +void APIENTRY glad_debug_impl_glPointSize(GLfloat arg0) { + _pre_call_callback("glPointSize", (void*)glPointSize, 1, arg0); + glad_glPointSize(arg0); + _post_call_callback("glPointSize", (void*)glPointSize, 1, arg0); + +} +PFNGLPOINTSIZEPROC glad_debug_glPointSize = glad_debug_impl_glPointSize; PFNGLVERTEXATTRIB2DVPROC glad_glVertexAttrib2dv; +void APIENTRY glad_debug_impl_glVertexAttrib2dv(GLuint arg0, const GLdouble * arg1) { + _pre_call_callback("glVertexAttrib2dv", (void*)glVertexAttrib2dv, 2, arg0, arg1); + glad_glVertexAttrib2dv(arg0, arg1); + _post_call_callback("glVertexAttrib2dv", (void*)glVertexAttrib2dv, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIB2DVPROC glad_debug_glVertexAttrib2dv = glad_debug_impl_glVertexAttrib2dv; PFNGLDELETEPROGRAMPROC glad_glDeleteProgram; +void APIENTRY glad_debug_impl_glDeleteProgram(GLuint arg0) { + _pre_call_callback("glDeleteProgram", (void*)glDeleteProgram, 1, arg0); + glad_glDeleteProgram(arg0); + _post_call_callback("glDeleteProgram", (void*)glDeleteProgram, 1, arg0); + +} +PFNGLDELETEPROGRAMPROC glad_debug_glDeleteProgram = glad_debug_impl_glDeleteProgram; PFNGLVERTEXATTRIB4NUIVPROC glad_glVertexAttrib4Nuiv; +void APIENTRY glad_debug_impl_glVertexAttrib4Nuiv(GLuint arg0, const GLuint * arg1) { + _pre_call_callback("glVertexAttrib4Nuiv", (void*)glVertexAttrib4Nuiv, 2, arg0, arg1); + glad_glVertexAttrib4Nuiv(arg0, arg1); + _post_call_callback("glVertexAttrib4Nuiv", (void*)glVertexAttrib4Nuiv, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIB4NUIVPROC glad_debug_glVertexAttrib4Nuiv = glad_debug_impl_glVertexAttrib4Nuiv; PFNGLRENDERBUFFERSTORAGEPROC glad_glRenderbufferStorage; +void APIENTRY glad_debug_impl_glRenderbufferStorage(GLenum arg0, GLenum arg1, GLsizei arg2, GLsizei arg3) { + _pre_call_callback("glRenderbufferStorage", (void*)glRenderbufferStorage, 4, arg0, arg1, arg2, arg3); + glad_glRenderbufferStorage(arg0, arg1, arg2, arg3); + _post_call_callback("glRenderbufferStorage", (void*)glRenderbufferStorage, 4, arg0, arg1, arg2, arg3); + +} +PFNGLRENDERBUFFERSTORAGEPROC glad_debug_glRenderbufferStorage = glad_debug_impl_glRenderbufferStorage; PFNGLWAITSYNCPROC glad_glWaitSync; +void APIENTRY glad_debug_impl_glWaitSync(GLsync arg0, GLbitfield arg1, GLuint64 arg2) { + _pre_call_callback("glWaitSync", (void*)glWaitSync, 3, arg0, arg1, arg2); + glad_glWaitSync(arg0, arg1, arg2); + _post_call_callback("glWaitSync", (void*)glWaitSync, 3, arg0, arg1, arg2); + +} +PFNGLWAITSYNCPROC glad_debug_glWaitSync = glad_debug_impl_glWaitSync; PFNGLUNIFORMMATRIX4X3FVPROC glad_glUniformMatrix4x3fv; +void APIENTRY glad_debug_impl_glUniformMatrix4x3fv(GLint arg0, GLsizei arg1, GLboolean arg2, const GLfloat * arg3) { + _pre_call_callback("glUniformMatrix4x3fv", (void*)glUniformMatrix4x3fv, 4, arg0, arg1, arg2, arg3); + glad_glUniformMatrix4x3fv(arg0, arg1, arg2, arg3); + _post_call_callback("glUniformMatrix4x3fv", (void*)glUniformMatrix4x3fv, 4, arg0, arg1, arg2, arg3); + +} +PFNGLUNIFORMMATRIX4X3FVPROC glad_debug_glUniformMatrix4x3fv = glad_debug_impl_glUniformMatrix4x3fv; PFNGLUNIFORM3IPROC glad_glUniform3i; +void APIENTRY glad_debug_impl_glUniform3i(GLint arg0, GLint arg1, GLint arg2, GLint arg3) { + _pre_call_callback("glUniform3i", (void*)glUniform3i, 4, arg0, arg1, arg2, arg3); + glad_glUniform3i(arg0, arg1, arg2, arg3); + _post_call_callback("glUniform3i", (void*)glUniform3i, 4, arg0, arg1, arg2, arg3); + +} +PFNGLUNIFORM3IPROC glad_debug_glUniform3i = glad_debug_impl_glUniform3i; PFNGLCLEARBUFFERFVPROC glad_glClearBufferfv; +void APIENTRY glad_debug_impl_glClearBufferfv(GLenum arg0, GLint arg1, const GLfloat * arg2) { + _pre_call_callback("glClearBufferfv", (void*)glClearBufferfv, 3, arg0, arg1, arg2); + glad_glClearBufferfv(arg0, arg1, arg2); + _post_call_callback("glClearBufferfv", (void*)glClearBufferfv, 3, arg0, arg1, arg2); + +} +PFNGLCLEARBUFFERFVPROC glad_debug_glClearBufferfv = glad_debug_impl_glClearBufferfv; PFNGLUNIFORM3FPROC glad_glUniform3f; +void APIENTRY glad_debug_impl_glUniform3f(GLint arg0, GLfloat arg1, GLfloat arg2, GLfloat arg3) { + _pre_call_callback("glUniform3f", (void*)glUniform3f, 4, arg0, arg1, arg2, arg3); + glad_glUniform3f(arg0, arg1, arg2, arg3); + _post_call_callback("glUniform3f", (void*)glUniform3f, 4, arg0, arg1, arg2, arg3); + +} +PFNGLUNIFORM3FPROC glad_debug_glUniform3f = glad_debug_impl_glUniform3f; PFNGLVERTEXATTRIB4UBVPROC glad_glVertexAttrib4ubv; +void APIENTRY glad_debug_impl_glVertexAttrib4ubv(GLuint arg0, const GLubyte * arg1) { + _pre_call_callback("glVertexAttrib4ubv", (void*)glVertexAttrib4ubv, 2, arg0, arg1); + glad_glVertexAttrib4ubv(arg0, arg1); + _post_call_callback("glVertexAttrib4ubv", (void*)glVertexAttrib4ubv, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIB4UBVPROC glad_debug_glVertexAttrib4ubv = glad_debug_impl_glVertexAttrib4ubv; PFNGLGETBUFFERPARAMETERIVPROC glad_glGetBufferParameteriv; +void APIENTRY glad_debug_impl_glGetBufferParameteriv(GLenum arg0, GLenum arg1, GLint * arg2) { + _pre_call_callback("glGetBufferParameteriv", (void*)glGetBufferParameteriv, 3, arg0, arg1, arg2); + glad_glGetBufferParameteriv(arg0, arg1, arg2); + _post_call_callback("glGetBufferParameteriv", (void*)glGetBufferParameteriv, 3, arg0, arg1, arg2); + +} +PFNGLGETBUFFERPARAMETERIVPROC glad_debug_glGetBufferParameteriv = glad_debug_impl_glGetBufferParameteriv; PFNGLTEXCOORDP2UIPROC glad_glTexCoordP2ui; +void APIENTRY glad_debug_impl_glTexCoordP2ui(GLenum arg0, GLuint arg1) { + _pre_call_callback("glTexCoordP2ui", (void*)glTexCoordP2ui, 2, arg0, arg1); + glad_glTexCoordP2ui(arg0, arg1); + _post_call_callback("glTexCoordP2ui", (void*)glTexCoordP2ui, 2, arg0, arg1); + +} +PFNGLTEXCOORDP2UIPROC glad_debug_glTexCoordP2ui = glad_debug_impl_glTexCoordP2ui; PFNGLCOLORMASKIPROC glad_glColorMaski; +void APIENTRY glad_debug_impl_glColorMaski(GLuint arg0, GLboolean arg1, GLboolean arg2, GLboolean arg3, GLboolean arg4) { + _pre_call_callback("glColorMaski", (void*)glColorMaski, 5, arg0, arg1, arg2, arg3, arg4); + glad_glColorMaski(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glColorMaski", (void*)glColorMaski, 5, arg0, arg1, arg2, arg3, arg4); + +} +PFNGLCOLORMASKIPROC glad_debug_glColorMaski = glad_debug_impl_glColorMaski; PFNGLCLEARBUFFERFIPROC glad_glClearBufferfi; +void APIENTRY glad_debug_impl_glClearBufferfi(GLenum arg0, GLint arg1, GLfloat arg2, GLint arg3) { + _pre_call_callback("glClearBufferfi", (void*)glClearBufferfi, 4, arg0, arg1, arg2, arg3); + glad_glClearBufferfi(arg0, arg1, arg2, arg3); + _post_call_callback("glClearBufferfi", (void*)glClearBufferfi, 4, arg0, arg1, arg2, arg3); + +} +PFNGLCLEARBUFFERFIPROC glad_debug_glClearBufferfi = glad_debug_impl_glClearBufferfi; PFNGLGENVERTEXARRAYSPROC glad_glGenVertexArrays; +void APIENTRY glad_debug_impl_glGenVertexArrays(GLsizei arg0, GLuint * arg1) { + _pre_call_callback("glGenVertexArrays", (void*)glGenVertexArrays, 2, arg0, arg1); + glad_glGenVertexArrays(arg0, arg1); + _post_call_callback("glGenVertexArrays", (void*)glGenVertexArrays, 2, arg0, arg1); + +} +PFNGLGENVERTEXARRAYSPROC glad_debug_glGenVertexArrays = glad_debug_impl_glGenVertexArrays; PFNGLMULTITEXCOORDP2UIPROC glad_glMultiTexCoordP2ui; +void APIENTRY glad_debug_impl_glMultiTexCoordP2ui(GLenum arg0, GLenum arg1, GLuint arg2) { + _pre_call_callback("glMultiTexCoordP2ui", (void*)glMultiTexCoordP2ui, 3, arg0, arg1, arg2); + glad_glMultiTexCoordP2ui(arg0, arg1, arg2); + _post_call_callback("glMultiTexCoordP2ui", (void*)glMultiTexCoordP2ui, 3, arg0, arg1, arg2); + +} +PFNGLMULTITEXCOORDP2UIPROC glad_debug_glMultiTexCoordP2ui = glad_debug_impl_glMultiTexCoordP2ui; PFNGLGETSAMPLERPARAMETERIIVPROC glad_glGetSamplerParameterIiv; +void APIENTRY glad_debug_impl_glGetSamplerParameterIiv(GLuint arg0, GLenum arg1, GLint * arg2) { + _pre_call_callback("glGetSamplerParameterIiv", (void*)glGetSamplerParameterIiv, 3, arg0, arg1, arg2); + glad_glGetSamplerParameterIiv(arg0, arg1, arg2); + _post_call_callback("glGetSamplerParameterIiv", (void*)glGetSamplerParameterIiv, 3, arg0, arg1, arg2); + +} +PFNGLGETSAMPLERPARAMETERIIVPROC glad_debug_glGetSamplerParameterIiv = glad_debug_impl_glGetSamplerParameterIiv; PFNGLGETFRAGDATAINDEXPROC glad_glGetFragDataIndex; +GLint APIENTRY glad_debug_impl_glGetFragDataIndex(GLuint arg0, const GLchar * arg1) { + GLint ret; + _pre_call_callback("glGetFragDataIndex", (void*)glGetFragDataIndex, 2, arg0, arg1); + ret = glad_glGetFragDataIndex(arg0, arg1); + _post_call_callback("glGetFragDataIndex", (void*)glGetFragDataIndex, 2, arg0, arg1); + return ret; +} +PFNGLGETFRAGDATAINDEXPROC glad_debug_glGetFragDataIndex = glad_debug_impl_glGetFragDataIndex; PFNGLGETVERTEXATTRIBDVPROC glad_glGetVertexAttribdv; +void APIENTRY glad_debug_impl_glGetVertexAttribdv(GLuint arg0, GLenum arg1, GLdouble * arg2) { + _pre_call_callback("glGetVertexAttribdv", (void*)glGetVertexAttribdv, 3, arg0, arg1, arg2); + glad_glGetVertexAttribdv(arg0, arg1, arg2); + _post_call_callback("glGetVertexAttribdv", (void*)glGetVertexAttribdv, 3, arg0, arg1, arg2); + +} +PFNGLGETVERTEXATTRIBDVPROC glad_debug_glGetVertexAttribdv = glad_debug_impl_glGetVertexAttribdv; PFNGLUNIFORMMATRIX3X4FVPROC glad_glUniformMatrix3x4fv; +void APIENTRY glad_debug_impl_glUniformMatrix3x4fv(GLint arg0, GLsizei arg1, GLboolean arg2, const GLfloat * arg3) { + _pre_call_callback("glUniformMatrix3x4fv", (void*)glUniformMatrix3x4fv, 4, arg0, arg1, arg2, arg3); + glad_glUniformMatrix3x4fv(arg0, arg1, arg2, arg3); + _post_call_callback("glUniformMatrix3x4fv", (void*)glUniformMatrix3x4fv, 4, arg0, arg1, arg2, arg3); + +} +PFNGLUNIFORMMATRIX3X4FVPROC glad_debug_glUniformMatrix3x4fv = glad_debug_impl_glUniformMatrix3x4fv; PFNGLMULTITEXCOORDP4UIPROC glad_glMultiTexCoordP4ui; +void APIENTRY glad_debug_impl_glMultiTexCoordP4ui(GLenum arg0, GLenum arg1, GLuint arg2) { + _pre_call_callback("glMultiTexCoordP4ui", (void*)glMultiTexCoordP4ui, 3, arg0, arg1, arg2); + glad_glMultiTexCoordP4ui(arg0, arg1, arg2); + _post_call_callback("glMultiTexCoordP4ui", (void*)glMultiTexCoordP4ui, 3, arg0, arg1, arg2); + +} +PFNGLMULTITEXCOORDP4UIPROC glad_debug_glMultiTexCoordP4ui = glad_debug_impl_glMultiTexCoordP4ui; PFNGLDELETEFRAMEBUFFERSPROC glad_glDeleteFramebuffers; +void APIENTRY glad_debug_impl_glDeleteFramebuffers(GLsizei arg0, const GLuint * arg1) { + _pre_call_callback("glDeleteFramebuffers", (void*)glDeleteFramebuffers, 2, arg0, arg1); + glad_glDeleteFramebuffers(arg0, arg1); + _post_call_callback("glDeleteFramebuffers", (void*)glDeleteFramebuffers, 2, arg0, arg1); + +} +PFNGLDELETEFRAMEBUFFERSPROC glad_debug_glDeleteFramebuffers = glad_debug_impl_glDeleteFramebuffers; PFNGLDRAWARRAYSPROC glad_glDrawArrays; +void APIENTRY glad_debug_impl_glDrawArrays(GLenum arg0, GLint arg1, GLsizei arg2) { + _pre_call_callback("glDrawArrays", (void*)glDrawArrays, 3, arg0, arg1, arg2); + glad_glDrawArrays(arg0, arg1, arg2); + _post_call_callback("glDrawArrays", (void*)glDrawArrays, 3, arg0, arg1, arg2); + +} +PFNGLDRAWARRAYSPROC glad_debug_glDrawArrays = glad_debug_impl_glDrawArrays; PFNGLUNIFORM1UIPROC glad_glUniform1ui; +void APIENTRY glad_debug_impl_glUniform1ui(GLint arg0, GLuint arg1) { + _pre_call_callback("glUniform1ui", (void*)glUniform1ui, 2, arg0, arg1); + glad_glUniform1ui(arg0, arg1); + _post_call_callback("glUniform1ui", (void*)glUniform1ui, 2, arg0, arg1); + +} +PFNGLUNIFORM1UIPROC glad_debug_glUniform1ui = glad_debug_impl_glUniform1ui; PFNGLVERTEXATTRIBI2IPROC glad_glVertexAttribI2i; +void APIENTRY glad_debug_impl_glVertexAttribI2i(GLuint arg0, GLint arg1, GLint arg2) { + _pre_call_callback("glVertexAttribI2i", (void*)glVertexAttribI2i, 3, arg0, arg1, arg2); + glad_glVertexAttribI2i(arg0, arg1, arg2); + _post_call_callback("glVertexAttribI2i", (void*)glVertexAttribI2i, 3, arg0, arg1, arg2); + +} +PFNGLVERTEXATTRIBI2IPROC glad_debug_glVertexAttribI2i = glad_debug_impl_glVertexAttribI2i; PFNGLTEXCOORDP3UIPROC glad_glTexCoordP3ui; +void APIENTRY glad_debug_impl_glTexCoordP3ui(GLenum arg0, GLuint arg1) { + _pre_call_callback("glTexCoordP3ui", (void*)glTexCoordP3ui, 2, arg0, arg1); + glad_glTexCoordP3ui(arg0, arg1); + _post_call_callback("glTexCoordP3ui", (void*)glTexCoordP3ui, 2, arg0, arg1); + +} +PFNGLTEXCOORDP3UIPROC glad_debug_glTexCoordP3ui = glad_debug_impl_glTexCoordP3ui; PFNGLVERTEXATTRIB3DPROC glad_glVertexAttrib3d; +void APIENTRY glad_debug_impl_glVertexAttrib3d(GLuint arg0, GLdouble arg1, GLdouble arg2, GLdouble arg3) { + _pre_call_callback("glVertexAttrib3d", (void*)glVertexAttrib3d, 4, arg0, arg1, arg2, arg3); + glad_glVertexAttrib3d(arg0, arg1, arg2, arg3); + _post_call_callback("glVertexAttrib3d", (void*)glVertexAttrib3d, 4, arg0, arg1, arg2, arg3); + +} +PFNGLVERTEXATTRIB3DPROC glad_debug_glVertexAttrib3d = glad_debug_impl_glVertexAttrib3d; PFNGLCLEARPROC glad_glClear; +void APIENTRY glad_debug_impl_glClear(GLbitfield arg0) { + _pre_call_callback("glClear", (void*)glClear, 1, arg0); + glad_glClear(arg0); + _post_call_callback("glClear", (void*)glClear, 1, arg0); + +} +PFNGLCLEARPROC glad_debug_glClear = glad_debug_impl_glClear; PFNGLGETACTIVEUNIFORMNAMEPROC glad_glGetActiveUniformName; +void APIENTRY glad_debug_impl_glGetActiveUniformName(GLuint arg0, GLuint arg1, GLsizei arg2, GLsizei * arg3, GLchar * arg4) { + _pre_call_callback("glGetActiveUniformName", (void*)glGetActiveUniformName, 5, arg0, arg1, arg2, arg3, arg4); + glad_glGetActiveUniformName(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glGetActiveUniformName", (void*)glGetActiveUniformName, 5, arg0, arg1, arg2, arg3, arg4); + +} +PFNGLGETACTIVEUNIFORMNAMEPROC glad_debug_glGetActiveUniformName = glad_debug_impl_glGetActiveUniformName; PFNGLISENABLEDPROC glad_glIsEnabled; +GLboolean APIENTRY glad_debug_impl_glIsEnabled(GLenum arg0) { + GLboolean ret; + _pre_call_callback("glIsEnabled", (void*)glIsEnabled, 1, arg0); + ret = glad_glIsEnabled(arg0); + _post_call_callback("glIsEnabled", (void*)glIsEnabled, 1, arg0); + return ret; +} +PFNGLISENABLEDPROC glad_debug_glIsEnabled = glad_debug_impl_glIsEnabled; PFNGLSTENCILOPPROC glad_glStencilOp; +void APIENTRY glad_debug_impl_glStencilOp(GLenum arg0, GLenum arg1, GLenum arg2) { + _pre_call_callback("glStencilOp", (void*)glStencilOp, 3, arg0, arg1, arg2); + glad_glStencilOp(arg0, arg1, arg2); + _post_call_callback("glStencilOp", (void*)glStencilOp, 3, arg0, arg1, arg2); + +} +PFNGLSTENCILOPPROC glad_debug_glStencilOp = glad_debug_impl_glStencilOp; PFNGLFRAMEBUFFERTEXTURE2DPROC glad_glFramebufferTexture2D; +void APIENTRY glad_debug_impl_glFramebufferTexture2D(GLenum arg0, GLenum arg1, GLenum arg2, GLuint arg3, GLint arg4) { + _pre_call_callback("glFramebufferTexture2D", (void*)glFramebufferTexture2D, 5, arg0, arg1, arg2, arg3, arg4); + glad_glFramebufferTexture2D(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glFramebufferTexture2D", (void*)glFramebufferTexture2D, 5, arg0, arg1, arg2, arg3, arg4); + +} +PFNGLFRAMEBUFFERTEXTURE2DPROC glad_debug_glFramebufferTexture2D = glad_debug_impl_glFramebufferTexture2D; PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_glGetFramebufferAttachmentParameteriv; +void APIENTRY glad_debug_impl_glGetFramebufferAttachmentParameteriv(GLenum arg0, GLenum arg1, GLenum arg2, GLint * arg3) { + _pre_call_callback("glGetFramebufferAttachmentParameteriv", (void*)glGetFramebufferAttachmentParameteriv, 4, arg0, arg1, arg2, arg3); + glad_glGetFramebufferAttachmentParameteriv(arg0, arg1, arg2, arg3); + _post_call_callback("glGetFramebufferAttachmentParameteriv", (void*)glGetFramebufferAttachmentParameteriv, 4, arg0, arg1, arg2, arg3); + +} +PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC glad_debug_glGetFramebufferAttachmentParameteriv = glad_debug_impl_glGetFramebufferAttachmentParameteriv; PFNGLVERTEXATTRIB4NUBPROC glad_glVertexAttrib4Nub; +void APIENTRY glad_debug_impl_glVertexAttrib4Nub(GLuint arg0, GLubyte arg1, GLubyte arg2, GLubyte arg3, GLubyte arg4) { + _pre_call_callback("glVertexAttrib4Nub", (void*)glVertexAttrib4Nub, 5, arg0, arg1, arg2, arg3, arg4); + glad_glVertexAttrib4Nub(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glVertexAttrib4Nub", (void*)glVertexAttrib4Nub, 5, arg0, arg1, arg2, arg3, arg4); + +} +PFNGLVERTEXATTRIB4NUBPROC glad_debug_glVertexAttrib4Nub = glad_debug_impl_glVertexAttrib4Nub; PFNGLGETFRAGDATALOCATIONPROC glad_glGetFragDataLocation; +GLint APIENTRY glad_debug_impl_glGetFragDataLocation(GLuint arg0, const GLchar * arg1) { + GLint ret; + _pre_call_callback("glGetFragDataLocation", (void*)glGetFragDataLocation, 2, arg0, arg1); + ret = glad_glGetFragDataLocation(arg0, arg1); + _post_call_callback("glGetFragDataLocation", (void*)glGetFragDataLocation, 2, arg0, arg1); + return ret; +} +PFNGLGETFRAGDATALOCATIONPROC glad_debug_glGetFragDataLocation = glad_debug_impl_glGetFragDataLocation; PFNGLTEXIMAGE1DPROC glad_glTexImage1D; +void APIENTRY glad_debug_impl_glTexImage1D(GLenum arg0, GLint arg1, GLint arg2, GLsizei arg3, GLint arg4, GLenum arg5, GLenum arg6, const void * arg7) { + _pre_call_callback("glTexImage1D", (void*)glTexImage1D, 8, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + glad_glTexImage1D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + _post_call_callback("glTexImage1D", (void*)glTexImage1D, 8, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + +} +PFNGLTEXIMAGE1DPROC glad_debug_glTexImage1D = glad_debug_impl_glTexImage1D; PFNGLTEXPARAMETERIVPROC glad_glTexParameteriv; +void APIENTRY glad_debug_impl_glTexParameteriv(GLenum arg0, GLenum arg1, const GLint * arg2) { + _pre_call_callback("glTexParameteriv", (void*)glTexParameteriv, 3, arg0, arg1, arg2); + glad_glTexParameteriv(arg0, arg1, arg2); + _post_call_callback("glTexParameteriv", (void*)glTexParameteriv, 3, arg0, arg1, arg2); + +} +PFNGLTEXPARAMETERIVPROC glad_debug_glTexParameteriv = glad_debug_impl_glTexParameteriv; PFNGLGETTEXIMAGEPROC glad_glGetTexImage; +void APIENTRY glad_debug_impl_glGetTexImage(GLenum arg0, GLint arg1, GLenum arg2, GLenum arg3, void * arg4) { + _pre_call_callback("glGetTexImage", (void*)glGetTexImage, 5, arg0, arg1, arg2, arg3, arg4); + glad_glGetTexImage(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glGetTexImage", (void*)glGetTexImage, 5, arg0, arg1, arg2, arg3, arg4); + +} +PFNGLGETTEXIMAGEPROC glad_debug_glGetTexImage = glad_debug_impl_glGetTexImage; PFNGLGETQUERYOBJECTI64VPROC glad_glGetQueryObjecti64v; +void APIENTRY glad_debug_impl_glGetQueryObjecti64v(GLuint arg0, GLenum arg1, GLint64 * arg2) { + _pre_call_callback("glGetQueryObjecti64v", (void*)glGetQueryObjecti64v, 3, arg0, arg1, arg2); + glad_glGetQueryObjecti64v(arg0, arg1, arg2); + _post_call_callback("glGetQueryObjecti64v", (void*)glGetQueryObjecti64v, 3, arg0, arg1, arg2); + +} +PFNGLGETQUERYOBJECTI64VPROC glad_debug_glGetQueryObjecti64v = glad_debug_impl_glGetQueryObjecti64v; PFNGLGENFRAMEBUFFERSPROC glad_glGenFramebuffers; +void APIENTRY glad_debug_impl_glGenFramebuffers(GLsizei arg0, GLuint * arg1) { + _pre_call_callback("glGenFramebuffers", (void*)glGenFramebuffers, 2, arg0, arg1); + glad_glGenFramebuffers(arg0, arg1); + _post_call_callback("glGenFramebuffers", (void*)glGenFramebuffers, 2, arg0, arg1); + +} +PFNGLGENFRAMEBUFFERSPROC glad_debug_glGenFramebuffers = glad_debug_impl_glGenFramebuffers; PFNGLGETATTACHEDSHADERSPROC glad_glGetAttachedShaders; +void APIENTRY glad_debug_impl_glGetAttachedShaders(GLuint arg0, GLsizei arg1, GLsizei * arg2, GLuint * arg3) { + _pre_call_callback("glGetAttachedShaders", (void*)glGetAttachedShaders, 4, arg0, arg1, arg2, arg3); + glad_glGetAttachedShaders(arg0, arg1, arg2, arg3); + _post_call_callback("glGetAttachedShaders", (void*)glGetAttachedShaders, 4, arg0, arg1, arg2, arg3); + +} +PFNGLGETATTACHEDSHADERSPROC glad_debug_glGetAttachedShaders = glad_debug_impl_glGetAttachedShaders; PFNGLISRENDERBUFFERPROC glad_glIsRenderbuffer; +GLboolean APIENTRY glad_debug_impl_glIsRenderbuffer(GLuint arg0) { + GLboolean ret; + _pre_call_callback("glIsRenderbuffer", (void*)glIsRenderbuffer, 1, arg0); + ret = glad_glIsRenderbuffer(arg0); + _post_call_callback("glIsRenderbuffer", (void*)glIsRenderbuffer, 1, arg0); + return ret; +} +PFNGLISRENDERBUFFERPROC glad_debug_glIsRenderbuffer = glad_debug_impl_glIsRenderbuffer; PFNGLDELETEVERTEXARRAYSPROC glad_glDeleteVertexArrays; +void APIENTRY glad_debug_impl_glDeleteVertexArrays(GLsizei arg0, const GLuint * arg1) { + _pre_call_callback("glDeleteVertexArrays", (void*)glDeleteVertexArrays, 2, arg0, arg1); + glad_glDeleteVertexArrays(arg0, arg1); + _post_call_callback("glDeleteVertexArrays", (void*)glDeleteVertexArrays, 2, arg0, arg1); + +} +PFNGLDELETEVERTEXARRAYSPROC glad_debug_glDeleteVertexArrays = glad_debug_impl_glDeleteVertexArrays; PFNGLISVERTEXARRAYPROC glad_glIsVertexArray; +GLboolean APIENTRY glad_debug_impl_glIsVertexArray(GLuint arg0) { + GLboolean ret; + _pre_call_callback("glIsVertexArray", (void*)glIsVertexArray, 1, arg0); + ret = glad_glIsVertexArray(arg0); + _post_call_callback("glIsVertexArray", (void*)glIsVertexArray, 1, arg0); + return ret; +} +PFNGLISVERTEXARRAYPROC glad_debug_glIsVertexArray = glad_debug_impl_glIsVertexArray; PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_glDisableVertexAttribArray; +void APIENTRY glad_debug_impl_glDisableVertexAttribArray(GLuint arg0) { + _pre_call_callback("glDisableVertexAttribArray", (void*)glDisableVertexAttribArray, 1, arg0); + glad_glDisableVertexAttribArray(arg0); + _post_call_callback("glDisableVertexAttribArray", (void*)glDisableVertexAttribArray, 1, arg0); + +} +PFNGLDISABLEVERTEXATTRIBARRAYPROC glad_debug_glDisableVertexAttribArray = glad_debug_impl_glDisableVertexAttribArray; PFNGLGETQUERYIVPROC glad_glGetQueryiv; +void APIENTRY glad_debug_impl_glGetQueryiv(GLenum arg0, GLenum arg1, GLint * arg2) { + _pre_call_callback("glGetQueryiv", (void*)glGetQueryiv, 3, arg0, arg1, arg2); + glad_glGetQueryiv(arg0, arg1, arg2); + _post_call_callback("glGetQueryiv", (void*)glGetQueryiv, 3, arg0, arg1, arg2); + +} +PFNGLGETQUERYIVPROC glad_debug_glGetQueryiv = glad_debug_impl_glGetQueryiv; PFNGLGETSAMPLERPARAMETERFVPROC glad_glGetSamplerParameterfv; +void APIENTRY glad_debug_impl_glGetSamplerParameterfv(GLuint arg0, GLenum arg1, GLfloat * arg2) { + _pre_call_callback("glGetSamplerParameterfv", (void*)glGetSamplerParameterfv, 3, arg0, arg1, arg2); + glad_glGetSamplerParameterfv(arg0, arg1, arg2); + _post_call_callback("glGetSamplerParameterfv", (void*)glGetSamplerParameterfv, 3, arg0, arg1, arg2); + +} +PFNGLGETSAMPLERPARAMETERFVPROC glad_debug_glGetSamplerParameterfv = glad_debug_impl_glGetSamplerParameterfv; PFNGLGETUNIFORMINDICESPROC glad_glGetUniformIndices; +void APIENTRY glad_debug_impl_glGetUniformIndices(GLuint arg0, GLsizei arg1, const GLchar *const* arg2, GLuint * arg3) { + _pre_call_callback("glGetUniformIndices", (void*)glGetUniformIndices, 4, arg0, arg1, arg2, arg3); + glad_glGetUniformIndices(arg0, arg1, arg2, arg3); + _post_call_callback("glGetUniformIndices", (void*)glGetUniformIndices, 4, arg0, arg1, arg2, arg3); + +} +PFNGLGETUNIFORMINDICESPROC glad_debug_glGetUniformIndices = glad_debug_impl_glGetUniformIndices; PFNGLISSHADERPROC glad_glIsShader; +GLboolean APIENTRY glad_debug_impl_glIsShader(GLuint arg0) { + GLboolean ret; + _pre_call_callback("glIsShader", (void*)glIsShader, 1, arg0); + ret = glad_glIsShader(arg0); + _post_call_callback("glIsShader", (void*)glIsShader, 1, arg0); + return ret; +} +PFNGLISSHADERPROC glad_debug_glIsShader = glad_debug_impl_glIsShader; PFNGLVERTEXATTRIBI4UBVPROC glad_glVertexAttribI4ubv; +void APIENTRY glad_debug_impl_glVertexAttribI4ubv(GLuint arg0, const GLubyte * arg1) { + _pre_call_callback("glVertexAttribI4ubv", (void*)glVertexAttribI4ubv, 2, arg0, arg1); + glad_glVertexAttribI4ubv(arg0, arg1); + _post_call_callback("glVertexAttribI4ubv", (void*)glVertexAttribI4ubv, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIBI4UBVPROC glad_debug_glVertexAttribI4ubv = glad_debug_impl_glVertexAttribI4ubv; PFNGLPOINTPARAMETERIVPROC glad_glPointParameteriv; +void APIENTRY glad_debug_impl_glPointParameteriv(GLenum arg0, const GLint * arg1) { + _pre_call_callback("glPointParameteriv", (void*)glPointParameteriv, 2, arg0, arg1); + glad_glPointParameteriv(arg0, arg1); + _post_call_callback("glPointParameteriv", (void*)glPointParameteriv, 2, arg0, arg1); + +} +PFNGLPOINTPARAMETERIVPROC glad_debug_glPointParameteriv = glad_debug_impl_glPointParameteriv; PFNGLENABLEPROC glad_glEnable; +void APIENTRY glad_debug_impl_glEnable(GLenum arg0) { + _pre_call_callback("glEnable", (void*)glEnable, 1, arg0); + glad_glEnable(arg0); + _post_call_callback("glEnable", (void*)glEnable, 1, arg0); + +} +PFNGLENABLEPROC glad_debug_glEnable = glad_debug_impl_glEnable; PFNGLGETACTIVEUNIFORMSIVPROC glad_glGetActiveUniformsiv; +void APIENTRY glad_debug_impl_glGetActiveUniformsiv(GLuint arg0, GLsizei arg1, const GLuint * arg2, GLenum arg3, GLint * arg4) { + _pre_call_callback("glGetActiveUniformsiv", (void*)glGetActiveUniformsiv, 5, arg0, arg1, arg2, arg3, arg4); + glad_glGetActiveUniformsiv(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glGetActiveUniformsiv", (void*)glGetActiveUniformsiv, 5, arg0, arg1, arg2, arg3, arg4); + +} +PFNGLGETACTIVEUNIFORMSIVPROC glad_debug_glGetActiveUniformsiv = glad_debug_impl_glGetActiveUniformsiv; PFNGLGETATTRIBLOCATIONPROC glad_glGetAttribLocation; +GLint APIENTRY glad_debug_impl_glGetAttribLocation(GLuint arg0, const GLchar * arg1) { + GLint ret; + _pre_call_callback("glGetAttribLocation", (void*)glGetAttribLocation, 2, arg0, arg1); + ret = glad_glGetAttribLocation(arg0, arg1); + _post_call_callback("glGetAttribLocation", (void*)glGetAttribLocation, 2, arg0, arg1); + return ret; +} +PFNGLGETATTRIBLOCATIONPROC glad_debug_glGetAttribLocation = glad_debug_impl_glGetAttribLocation; PFNGLVERTEXATTRIB4DVPROC glad_glVertexAttrib4dv; +void APIENTRY glad_debug_impl_glVertexAttrib4dv(GLuint arg0, const GLdouble * arg1) { + _pre_call_callback("glVertexAttrib4dv", (void*)glVertexAttrib4dv, 2, arg0, arg1); + glad_glVertexAttrib4dv(arg0, arg1); + _post_call_callback("glVertexAttrib4dv", (void*)glVertexAttrib4dv, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIB4DVPROC glad_debug_glVertexAttrib4dv = glad_debug_impl_glVertexAttrib4dv; PFNGLMULTITEXCOORDP3UIVPROC glad_glMultiTexCoordP3uiv; +void APIENTRY glad_debug_impl_glMultiTexCoordP3uiv(GLenum arg0, GLenum arg1, const GLuint * arg2) { + _pre_call_callback("glMultiTexCoordP3uiv", (void*)glMultiTexCoordP3uiv, 3, arg0, arg1, arg2); + glad_glMultiTexCoordP3uiv(arg0, arg1, arg2); + _post_call_callback("glMultiTexCoordP3uiv", (void*)glMultiTexCoordP3uiv, 3, arg0, arg1, arg2); + +} +PFNGLMULTITEXCOORDP3UIVPROC glad_debug_glMultiTexCoordP3uiv = glad_debug_impl_glMultiTexCoordP3uiv; PFNGLVERTEXATTRIBP3UIPROC glad_glVertexAttribP3ui; +void APIENTRY glad_debug_impl_glVertexAttribP3ui(GLuint arg0, GLenum arg1, GLboolean arg2, GLuint arg3) { + _pre_call_callback("glVertexAttribP3ui", (void*)glVertexAttribP3ui, 4, arg0, arg1, arg2, arg3); + glad_glVertexAttribP3ui(arg0, arg1, arg2, arg3); + _post_call_callback("glVertexAttribP3ui", (void*)glVertexAttribP3ui, 4, arg0, arg1, arg2, arg3); + +} +PFNGLVERTEXATTRIBP3UIPROC glad_debug_glVertexAttribP3ui = glad_debug_impl_glVertexAttribP3ui; PFNGLGETUNIFORMFVPROC glad_glGetUniformfv; +void APIENTRY glad_debug_impl_glGetUniformfv(GLuint arg0, GLint arg1, GLfloat * arg2) { + _pre_call_callback("glGetUniformfv", (void*)glGetUniformfv, 3, arg0, arg1, arg2); + glad_glGetUniformfv(arg0, arg1, arg2); + _post_call_callback("glGetUniformfv", (void*)glGetUniformfv, 3, arg0, arg1, arg2); + +} +PFNGLGETUNIFORMFVPROC glad_debug_glGetUniformfv = glad_debug_impl_glGetUniformfv; PFNGLGETUNIFORMUIVPROC glad_glGetUniformuiv; +void APIENTRY glad_debug_impl_glGetUniformuiv(GLuint arg0, GLint arg1, GLuint * arg2) { + _pre_call_callback("glGetUniformuiv", (void*)glGetUniformuiv, 3, arg0, arg1, arg2); + glad_glGetUniformuiv(arg0, arg1, arg2); + _post_call_callback("glGetUniformuiv", (void*)glGetUniformuiv, 3, arg0, arg1, arg2); + +} +PFNGLGETUNIFORMUIVPROC glad_debug_glGetUniformuiv = glad_debug_impl_glGetUniformuiv; PFNGLGETVERTEXATTRIBIIVPROC glad_glGetVertexAttribIiv; +void APIENTRY glad_debug_impl_glGetVertexAttribIiv(GLuint arg0, GLenum arg1, GLint * arg2) { + _pre_call_callback("glGetVertexAttribIiv", (void*)glGetVertexAttribIiv, 3, arg0, arg1, arg2); + glad_glGetVertexAttribIiv(arg0, arg1, arg2); + _post_call_callback("glGetVertexAttribIiv", (void*)glGetVertexAttribIiv, 3, arg0, arg1, arg2); + +} +PFNGLGETVERTEXATTRIBIIVPROC glad_debug_glGetVertexAttribIiv = glad_debug_impl_glGetVertexAttribIiv; PFNGLDRAWBUFFERPROC glad_glDrawBuffer; +void APIENTRY glad_debug_impl_glDrawBuffer(GLenum arg0) { + _pre_call_callback("glDrawBuffer", (void*)glDrawBuffer, 1, arg0); + glad_glDrawBuffer(arg0); + _post_call_callback("glDrawBuffer", (void*)glDrawBuffer, 1, arg0); + +} +PFNGLDRAWBUFFERPROC glad_debug_glDrawBuffer = glad_debug_impl_glDrawBuffer; PFNGLCLEARBUFFERUIVPROC glad_glClearBufferuiv; +void APIENTRY glad_debug_impl_glClearBufferuiv(GLenum arg0, GLint arg1, const GLuint * arg2) { + _pre_call_callback("glClearBufferuiv", (void*)glClearBufferuiv, 3, arg0, arg1, arg2); + glad_glClearBufferuiv(arg0, arg1, arg2); + _post_call_callback("glClearBufferuiv", (void*)glClearBufferuiv, 3, arg0, arg1, arg2); + +} +PFNGLCLEARBUFFERUIVPROC glad_debug_glClearBufferuiv = glad_debug_impl_glClearBufferuiv; PFNGLDRAWELEMENTSINSTANCEDPROC glad_glDrawElementsInstanced; +void APIENTRY glad_debug_impl_glDrawElementsInstanced(GLenum arg0, GLsizei arg1, GLenum arg2, const void * arg3, GLsizei arg4) { + _pre_call_callback("glDrawElementsInstanced", (void*)glDrawElementsInstanced, 5, arg0, arg1, arg2, arg3, arg4); + glad_glDrawElementsInstanced(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glDrawElementsInstanced", (void*)glDrawElementsInstanced, 5, arg0, arg1, arg2, arg3, arg4); + +} +PFNGLDRAWELEMENTSINSTANCEDPROC glad_debug_glDrawElementsInstanced = glad_debug_impl_glDrawElementsInstanced; PFNGLFLUSHPROC glad_glFlush; +void APIENTRY glad_debug_impl_glFlush() { + _pre_call_callback("glFlush", (void*)glFlush, 0); + glad_glFlush(); + _post_call_callback("glFlush", (void*)glFlush, 0); + +} +PFNGLFLUSHPROC glad_debug_glFlush = glad_debug_impl_glFlush; PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_glGetRenderbufferParameteriv; +void APIENTRY glad_debug_impl_glGetRenderbufferParameteriv(GLenum arg0, GLenum arg1, GLint * arg2) { + _pre_call_callback("glGetRenderbufferParameteriv", (void*)glGetRenderbufferParameteriv, 3, arg0, arg1, arg2); + glad_glGetRenderbufferParameteriv(arg0, arg1, arg2); + _post_call_callback("glGetRenderbufferParameteriv", (void*)glGetRenderbufferParameteriv, 3, arg0, arg1, arg2); + +} +PFNGLGETRENDERBUFFERPARAMETERIVPROC glad_debug_glGetRenderbufferParameteriv = glad_debug_impl_glGetRenderbufferParameteriv; PFNGLGETVERTEXATTRIBPOINTERVPROC glad_glGetVertexAttribPointerv; +void APIENTRY glad_debug_impl_glGetVertexAttribPointerv(GLuint arg0, GLenum arg1, void ** arg2) { + _pre_call_callback("glGetVertexAttribPointerv", (void*)glGetVertexAttribPointerv, 3, arg0, arg1, arg2); + glad_glGetVertexAttribPointerv(arg0, arg1, arg2); + _post_call_callback("glGetVertexAttribPointerv", (void*)glGetVertexAttribPointerv, 3, arg0, arg1, arg2); + +} +PFNGLGETVERTEXATTRIBPOINTERVPROC glad_debug_glGetVertexAttribPointerv = glad_debug_impl_glGetVertexAttribPointerv; PFNGLFENCESYNCPROC glad_glFenceSync; +GLsync APIENTRY glad_debug_impl_glFenceSync(GLenum arg0, GLbitfield arg1) { + GLsync ret; + _pre_call_callback("glFenceSync", (void*)glFenceSync, 2, arg0, arg1); + ret = glad_glFenceSync(arg0, arg1); + _post_call_callback("glFenceSync", (void*)glFenceSync, 2, arg0, arg1); + return ret; +} +PFNGLFENCESYNCPROC glad_debug_glFenceSync = glad_debug_impl_glFenceSync; PFNGLCOLORP3UIPROC glad_glColorP3ui; +void APIENTRY glad_debug_impl_glColorP3ui(GLenum arg0, GLuint arg1) { + _pre_call_callback("glColorP3ui", (void*)glColorP3ui, 2, arg0, arg1); + glad_glColorP3ui(arg0, arg1); + _post_call_callback("glColorP3ui", (void*)glColorP3ui, 2, arg0, arg1); + +} +PFNGLCOLORP3UIPROC glad_debug_glColorP3ui = glad_debug_impl_glColorP3ui; PFNGLVERTEXATTRIB3SVPROC glad_glVertexAttrib3sv; +void APIENTRY glad_debug_impl_glVertexAttrib3sv(GLuint arg0, const GLshort * arg1) { + _pre_call_callback("glVertexAttrib3sv", (void*)glVertexAttrib3sv, 2, arg0, arg1); + glad_glVertexAttrib3sv(arg0, arg1); + _post_call_callback("glVertexAttrib3sv", (void*)glVertexAttrib3sv, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIB3SVPROC glad_debug_glVertexAttrib3sv = glad_debug_impl_glVertexAttrib3sv; PFNGLBEGINCONDITIONALRENDERPROC glad_glBeginConditionalRender; +void APIENTRY glad_debug_impl_glBeginConditionalRender(GLuint arg0, GLenum arg1) { + _pre_call_callback("glBeginConditionalRender", (void*)glBeginConditionalRender, 2, arg0, arg1); + glad_glBeginConditionalRender(arg0, arg1); + _post_call_callback("glBeginConditionalRender", (void*)glBeginConditionalRender, 2, arg0, arg1); + +} +PFNGLBEGINCONDITIONALRENDERPROC glad_debug_glBeginConditionalRender = glad_debug_impl_glBeginConditionalRender; PFNGLGETTEXLEVELPARAMETERIVPROC glad_glGetTexLevelParameteriv; +void APIENTRY glad_debug_impl_glGetTexLevelParameteriv(GLenum arg0, GLint arg1, GLenum arg2, GLint * arg3) { + _pre_call_callback("glGetTexLevelParameteriv", (void*)glGetTexLevelParameteriv, 4, arg0, arg1, arg2, arg3); + glad_glGetTexLevelParameteriv(arg0, arg1, arg2, arg3); + _post_call_callback("glGetTexLevelParameteriv", (void*)glGetTexLevelParameteriv, 4, arg0, arg1, arg2, arg3); + +} +PFNGLGETTEXLEVELPARAMETERIVPROC glad_debug_glGetTexLevelParameteriv = glad_debug_impl_glGetTexLevelParameteriv; PFNGLMULTITEXCOORDP4UIVPROC glad_glMultiTexCoordP4uiv; +void APIENTRY glad_debug_impl_glMultiTexCoordP4uiv(GLenum arg0, GLenum arg1, const GLuint * arg2) { + _pre_call_callback("glMultiTexCoordP4uiv", (void*)glMultiTexCoordP4uiv, 3, arg0, arg1, arg2); + glad_glMultiTexCoordP4uiv(arg0, arg1, arg2); + _post_call_callback("glMultiTexCoordP4uiv", (void*)glMultiTexCoordP4uiv, 3, arg0, arg1, arg2); + +} +PFNGLMULTITEXCOORDP4UIVPROC glad_debug_glMultiTexCoordP4uiv = glad_debug_impl_glMultiTexCoordP4uiv; PFNGLSTENCILFUNCSEPARATEPROC glad_glStencilFuncSeparate; +void APIENTRY glad_debug_impl_glStencilFuncSeparate(GLenum arg0, GLenum arg1, GLint arg2, GLuint arg3) { + _pre_call_callback("glStencilFuncSeparate", (void*)glStencilFuncSeparate, 4, arg0, arg1, arg2, arg3); + glad_glStencilFuncSeparate(arg0, arg1, arg2, arg3); + _post_call_callback("glStencilFuncSeparate", (void*)glStencilFuncSeparate, 4, arg0, arg1, arg2, arg3); + +} +PFNGLSTENCILFUNCSEPARATEPROC glad_debug_glStencilFuncSeparate = glad_debug_impl_glStencilFuncSeparate; PFNGLGENSAMPLERSPROC glad_glGenSamplers; +void APIENTRY glad_debug_impl_glGenSamplers(GLsizei arg0, GLuint * arg1) { + _pre_call_callback("glGenSamplers", (void*)glGenSamplers, 2, arg0, arg1); + glad_glGenSamplers(arg0, arg1); + _post_call_callback("glGenSamplers", (void*)glGenSamplers, 2, arg0, arg1); + +} +PFNGLGENSAMPLERSPROC glad_debug_glGenSamplers = glad_debug_impl_glGenSamplers; PFNGLCLAMPCOLORPROC glad_glClampColor; +void APIENTRY glad_debug_impl_glClampColor(GLenum arg0, GLenum arg1) { + _pre_call_callback("glClampColor", (void*)glClampColor, 2, arg0, arg1); + glad_glClampColor(arg0, arg1); + _post_call_callback("glClampColor", (void*)glClampColor, 2, arg0, arg1); + +} +PFNGLCLAMPCOLORPROC glad_debug_glClampColor = glad_debug_impl_glClampColor; PFNGLUNIFORM4IVPROC glad_glUniform4iv; +void APIENTRY glad_debug_impl_glUniform4iv(GLint arg0, GLsizei arg1, const GLint * arg2) { + _pre_call_callback("glUniform4iv", (void*)glUniform4iv, 3, arg0, arg1, arg2); + glad_glUniform4iv(arg0, arg1, arg2); + _post_call_callback("glUniform4iv", (void*)glUniform4iv, 3, arg0, arg1, arg2); + +} +PFNGLUNIFORM4IVPROC glad_debug_glUniform4iv = glad_debug_impl_glUniform4iv; PFNGLCLEARSTENCILPROC glad_glClearStencil; +void APIENTRY glad_debug_impl_glClearStencil(GLint arg0) { + _pre_call_callback("glClearStencil", (void*)glClearStencil, 1, arg0); + glad_glClearStencil(arg0); + _post_call_callback("glClearStencil", (void*)glClearStencil, 1, arg0); + +} +PFNGLCLEARSTENCILPROC glad_debug_glClearStencil = glad_debug_impl_glClearStencil; PFNGLTEXCOORDP1UIVPROC glad_glTexCoordP1uiv; +void APIENTRY glad_debug_impl_glTexCoordP1uiv(GLenum arg0, const GLuint * arg1) { + _pre_call_callback("glTexCoordP1uiv", (void*)glTexCoordP1uiv, 2, arg0, arg1); + glad_glTexCoordP1uiv(arg0, arg1); + _post_call_callback("glTexCoordP1uiv", (void*)glTexCoordP1uiv, 2, arg0, arg1); + +} +PFNGLTEXCOORDP1UIVPROC glad_debug_glTexCoordP1uiv = glad_debug_impl_glTexCoordP1uiv; PFNGLGENTEXTURESPROC glad_glGenTextures; +void APIENTRY glad_debug_impl_glGenTextures(GLsizei arg0, GLuint * arg1) { + _pre_call_callback("glGenTextures", (void*)glGenTextures, 2, arg0, arg1); + glad_glGenTextures(arg0, arg1); + _post_call_callback("glGenTextures", (void*)glGenTextures, 2, arg0, arg1); + +} +PFNGLGENTEXTURESPROC glad_debug_glGenTextures = glad_debug_impl_glGenTextures; PFNGLGETTEXPARAMETERIUIVPROC glad_glGetTexParameterIuiv; +void APIENTRY glad_debug_impl_glGetTexParameterIuiv(GLenum arg0, GLenum arg1, GLuint * arg2) { + _pre_call_callback("glGetTexParameterIuiv", (void*)glGetTexParameterIuiv, 3, arg0, arg1, arg2); + glad_glGetTexParameterIuiv(arg0, arg1, arg2); + _post_call_callback("glGetTexParameterIuiv", (void*)glGetTexParameterIuiv, 3, arg0, arg1, arg2); + +} +PFNGLGETTEXPARAMETERIUIVPROC glad_debug_glGetTexParameterIuiv = glad_debug_impl_glGetTexParameterIuiv; PFNGLVERTEXATTRIB4NBVPROC glad_glVertexAttrib4Nbv; +void APIENTRY glad_debug_impl_glVertexAttrib4Nbv(GLuint arg0, const GLbyte * arg1) { + _pre_call_callback("glVertexAttrib4Nbv", (void*)glVertexAttrib4Nbv, 2, arg0, arg1); + glad_glVertexAttrib4Nbv(arg0, arg1); + _post_call_callback("glVertexAttrib4Nbv", (void*)glVertexAttrib4Nbv, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIB4NBVPROC glad_debug_glVertexAttrib4Nbv = glad_debug_impl_glVertexAttrib4Nbv; PFNGLISSYNCPROC glad_glIsSync; +GLboolean APIENTRY glad_debug_impl_glIsSync(GLsync arg0) { + GLboolean ret; + _pre_call_callback("glIsSync", (void*)glIsSync, 1, arg0); + ret = glad_glIsSync(arg0); + _post_call_callback("glIsSync", (void*)glIsSync, 1, arg0); + return ret; +} +PFNGLISSYNCPROC glad_debug_glIsSync = glad_debug_impl_glIsSync; PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glad_glGetActiveUniformBlockName; +void APIENTRY glad_debug_impl_glGetActiveUniformBlockName(GLuint arg0, GLuint arg1, GLsizei arg2, GLsizei * arg3, GLchar * arg4) { + _pre_call_callback("glGetActiveUniformBlockName", (void*)glGetActiveUniformBlockName, 5, arg0, arg1, arg2, arg3, arg4); + glad_glGetActiveUniformBlockName(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glGetActiveUniformBlockName", (void*)glGetActiveUniformBlockName, 5, arg0, arg1, arg2, arg3, arg4); + +} +PFNGLGETACTIVEUNIFORMBLOCKNAMEPROC glad_debug_glGetActiveUniformBlockName = glad_debug_impl_glGetActiveUniformBlockName; PFNGLUNIFORM2IPROC glad_glUniform2i; +void APIENTRY glad_debug_impl_glUniform2i(GLint arg0, GLint arg1, GLint arg2) { + _pre_call_callback("glUniform2i", (void*)glUniform2i, 3, arg0, arg1, arg2); + glad_glUniform2i(arg0, arg1, arg2); + _post_call_callback("glUniform2i", (void*)glUniform2i, 3, arg0, arg1, arg2); + +} +PFNGLUNIFORM2IPROC glad_debug_glUniform2i = glad_debug_impl_glUniform2i; PFNGLUNIFORM2FPROC glad_glUniform2f; +void APIENTRY glad_debug_impl_glUniform2f(GLint arg0, GLfloat arg1, GLfloat arg2) { + _pre_call_callback("glUniform2f", (void*)glUniform2f, 3, arg0, arg1, arg2); + glad_glUniform2f(arg0, arg1, arg2); + _post_call_callback("glUniform2f", (void*)glUniform2f, 3, arg0, arg1, arg2); + +} +PFNGLUNIFORM2FPROC glad_debug_glUniform2f = glad_debug_impl_glUniform2f; PFNGLTEXCOORDP4UIPROC glad_glTexCoordP4ui; +void APIENTRY glad_debug_impl_glTexCoordP4ui(GLenum arg0, GLuint arg1) { + _pre_call_callback("glTexCoordP4ui", (void*)glTexCoordP4ui, 2, arg0, arg1); + glad_glTexCoordP4ui(arg0, arg1); + _post_call_callback("glTexCoordP4ui", (void*)glTexCoordP4ui, 2, arg0, arg1); + +} +PFNGLTEXCOORDP4UIPROC glad_debug_glTexCoordP4ui = glad_debug_impl_glTexCoordP4ui; PFNGLGETPROGRAMIVPROC glad_glGetProgramiv; +void APIENTRY glad_debug_impl_glGetProgramiv(GLuint arg0, GLenum arg1, GLint * arg2) { + _pre_call_callback("glGetProgramiv", (void*)glGetProgramiv, 3, arg0, arg1, arg2); + glad_glGetProgramiv(arg0, arg1, arg2); + _post_call_callback("glGetProgramiv", (void*)glGetProgramiv, 3, arg0, arg1, arg2); + +} +PFNGLGETPROGRAMIVPROC glad_debug_glGetProgramiv = glad_debug_impl_glGetProgramiv; PFNGLVERTEXATTRIBPOINTERPROC glad_glVertexAttribPointer; +void APIENTRY glad_debug_impl_glVertexAttribPointer(GLuint arg0, GLint arg1, GLenum arg2, GLboolean arg3, GLsizei arg4, const void * arg5) { + _pre_call_callback("glVertexAttribPointer", (void*)glVertexAttribPointer, 6, arg0, arg1, arg2, arg3, arg4, arg5); + glad_glVertexAttribPointer(arg0, arg1, arg2, arg3, arg4, arg5); + _post_call_callback("glVertexAttribPointer", (void*)glVertexAttribPointer, 6, arg0, arg1, arg2, arg3, arg4, arg5); + +} +PFNGLVERTEXATTRIBPOINTERPROC glad_debug_glVertexAttribPointer = glad_debug_impl_glVertexAttribPointer; PFNGLFRAMEBUFFERTEXTURELAYERPROC glad_glFramebufferTextureLayer; +void APIENTRY glad_debug_impl_glFramebufferTextureLayer(GLenum arg0, GLenum arg1, GLuint arg2, GLint arg3, GLint arg4) { + _pre_call_callback("glFramebufferTextureLayer", (void*)glFramebufferTextureLayer, 5, arg0, arg1, arg2, arg3, arg4); + glad_glFramebufferTextureLayer(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glFramebufferTextureLayer", (void*)glFramebufferTextureLayer, 5, arg0, arg1, arg2, arg3, arg4); + +} +PFNGLFRAMEBUFFERTEXTURELAYERPROC glad_debug_glFramebufferTextureLayer = glad_debug_impl_glFramebufferTextureLayer; PFNGLFLUSHMAPPEDBUFFERRANGEPROC glad_glFlushMappedBufferRange; +void APIENTRY glad_debug_impl_glFlushMappedBufferRange(GLenum arg0, GLintptr arg1, GLsizeiptr arg2) { + _pre_call_callback("glFlushMappedBufferRange", (void*)glFlushMappedBufferRange, 3, arg0, arg1, arg2); + glad_glFlushMappedBufferRange(arg0, arg1, arg2); + _post_call_callback("glFlushMappedBufferRange", (void*)glFlushMappedBufferRange, 3, arg0, arg1, arg2); + +} +PFNGLFLUSHMAPPEDBUFFERRANGEPROC glad_debug_glFlushMappedBufferRange = glad_debug_impl_glFlushMappedBufferRange; PFNGLGENQUERIESPROC glad_glGenQueries; +void APIENTRY glad_debug_impl_glGenQueries(GLsizei arg0, GLuint * arg1) { + _pre_call_callback("glGenQueries", (void*)glGenQueries, 2, arg0, arg1); + glad_glGenQueries(arg0, arg1); + _post_call_callback("glGenQueries", (void*)glGenQueries, 2, arg0, arg1); + +} +PFNGLGENQUERIESPROC glad_debug_glGenQueries = glad_debug_impl_glGenQueries; PFNGLVERTEXATTRIBP1UIPROC glad_glVertexAttribP1ui; +void APIENTRY glad_debug_impl_glVertexAttribP1ui(GLuint arg0, GLenum arg1, GLboolean arg2, GLuint arg3) { + _pre_call_callback("glVertexAttribP1ui", (void*)glVertexAttribP1ui, 4, arg0, arg1, arg2, arg3); + glad_glVertexAttribP1ui(arg0, arg1, arg2, arg3); + _post_call_callback("glVertexAttribP1ui", (void*)glVertexAttribP1ui, 4, arg0, arg1, arg2, arg3); + +} +PFNGLVERTEXATTRIBP1UIPROC glad_debug_glVertexAttribP1ui = glad_debug_impl_glVertexAttribP1ui; PFNGLTEXSUBIMAGE3DPROC glad_glTexSubImage3D; +void APIENTRY glad_debug_impl_glTexSubImage3D(GLenum arg0, GLint arg1, GLint arg2, GLint arg3, GLint arg4, GLsizei arg5, GLsizei arg6, GLsizei arg7, GLenum arg8, GLenum arg9, const void * arg10) { + _pre_call_callback("glTexSubImage3D", (void*)glTexSubImage3D, 11, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); + glad_glTexSubImage3D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); + _post_call_callback("glTexSubImage3D", (void*)glTexSubImage3D, 11, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); + +} +PFNGLTEXSUBIMAGE3DPROC glad_debug_glTexSubImage3D = glad_debug_impl_glTexSubImage3D; PFNGLGETINTEGER64I_VPROC glad_glGetInteger64i_v; +void APIENTRY glad_debug_impl_glGetInteger64i_v(GLenum arg0, GLuint arg1, GLint64 * arg2) { + _pre_call_callback("glGetInteger64i_v", (void*)glGetInteger64i_v, 3, arg0, arg1, arg2); + glad_glGetInteger64i_v(arg0, arg1, arg2); + _post_call_callback("glGetInteger64i_v", (void*)glGetInteger64i_v, 3, arg0, arg1, arg2); + +} +PFNGLGETINTEGER64I_VPROC glad_debug_glGetInteger64i_v = glad_debug_impl_glGetInteger64i_v; PFNGLDELETESAMPLERSPROC glad_glDeleteSamplers; +void APIENTRY glad_debug_impl_glDeleteSamplers(GLsizei arg0, const GLuint * arg1) { + _pre_call_callback("glDeleteSamplers", (void*)glDeleteSamplers, 2, arg0, arg1); + glad_glDeleteSamplers(arg0, arg1); + _post_call_callback("glDeleteSamplers", (void*)glDeleteSamplers, 2, arg0, arg1); + +} +PFNGLDELETESAMPLERSPROC glad_debug_glDeleteSamplers = glad_debug_impl_glDeleteSamplers; PFNGLCOPYTEXIMAGE2DPROC glad_glCopyTexImage2D; +void APIENTRY glad_debug_impl_glCopyTexImage2D(GLenum arg0, GLint arg1, GLenum arg2, GLint arg3, GLint arg4, GLsizei arg5, GLsizei arg6, GLint arg7) { + _pre_call_callback("glCopyTexImage2D", (void*)glCopyTexImage2D, 8, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + glad_glCopyTexImage2D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + _post_call_callback("glCopyTexImage2D", (void*)glCopyTexImage2D, 8, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + +} +PFNGLCOPYTEXIMAGE2DPROC glad_debug_glCopyTexImage2D = glad_debug_impl_glCopyTexImage2D; PFNGLBLITFRAMEBUFFERPROC glad_glBlitFramebuffer; +void APIENTRY glad_debug_impl_glBlitFramebuffer(GLint arg0, GLint arg1, GLint arg2, GLint arg3, GLint arg4, GLint arg5, GLint arg6, GLint arg7, GLbitfield arg8, GLenum arg9) { + _pre_call_callback("glBlitFramebuffer", (void*)glBlitFramebuffer, 10, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); + glad_glBlitFramebuffer(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); + _post_call_callback("glBlitFramebuffer", (void*)glBlitFramebuffer, 10, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); + +} +PFNGLBLITFRAMEBUFFERPROC glad_debug_glBlitFramebuffer = glad_debug_impl_glBlitFramebuffer; PFNGLISENABLEDIPROC glad_glIsEnabledi; +GLboolean APIENTRY glad_debug_impl_glIsEnabledi(GLenum arg0, GLuint arg1) { + GLboolean ret; + _pre_call_callback("glIsEnabledi", (void*)glIsEnabledi, 2, arg0, arg1); + ret = glad_glIsEnabledi(arg0, arg1); + _post_call_callback("glIsEnabledi", (void*)glIsEnabledi, 2, arg0, arg1); + return ret; +} +PFNGLISENABLEDIPROC glad_debug_glIsEnabledi = glad_debug_impl_glIsEnabledi; PFNGLSECONDARYCOLORP3UIPROC glad_glSecondaryColorP3ui; +void APIENTRY glad_debug_impl_glSecondaryColorP3ui(GLenum arg0, GLuint arg1) { + _pre_call_callback("glSecondaryColorP3ui", (void*)glSecondaryColorP3ui, 2, arg0, arg1); + glad_glSecondaryColorP3ui(arg0, arg1); + _post_call_callback("glSecondaryColorP3ui", (void*)glSecondaryColorP3ui, 2, arg0, arg1); + +} +PFNGLSECONDARYCOLORP3UIPROC glad_debug_glSecondaryColorP3ui = glad_debug_impl_glSecondaryColorP3ui; PFNGLBINDFRAGDATALOCATIONINDEXEDPROC glad_glBindFragDataLocationIndexed; +void APIENTRY glad_debug_impl_glBindFragDataLocationIndexed(GLuint arg0, GLuint arg1, GLuint arg2, const GLchar * arg3) { + _pre_call_callback("glBindFragDataLocationIndexed", (void*)glBindFragDataLocationIndexed, 4, arg0, arg1, arg2, arg3); + glad_glBindFragDataLocationIndexed(arg0, arg1, arg2, arg3); + _post_call_callback("glBindFragDataLocationIndexed", (void*)glBindFragDataLocationIndexed, 4, arg0, arg1, arg2, arg3); + +} +PFNGLBINDFRAGDATALOCATIONINDEXEDPROC glad_debug_glBindFragDataLocationIndexed = glad_debug_impl_glBindFragDataLocationIndexed; PFNGLUNIFORM2IVPROC glad_glUniform2iv; +void APIENTRY glad_debug_impl_glUniform2iv(GLint arg0, GLsizei arg1, const GLint * arg2) { + _pre_call_callback("glUniform2iv", (void*)glUniform2iv, 3, arg0, arg1, arg2); + glad_glUniform2iv(arg0, arg1, arg2); + _post_call_callback("glUniform2iv", (void*)glUniform2iv, 3, arg0, arg1, arg2); + +} +PFNGLUNIFORM2IVPROC glad_debug_glUniform2iv = glad_debug_impl_glUniform2iv; PFNGLVERTEXATTRIB1FVPROC glad_glVertexAttrib1fv; +void APIENTRY glad_debug_impl_glVertexAttrib1fv(GLuint arg0, const GLfloat * arg1) { + _pre_call_callback("glVertexAttrib1fv", (void*)glVertexAttrib1fv, 2, arg0, arg1); + glad_glVertexAttrib1fv(arg0, arg1); + _post_call_callback("glVertexAttrib1fv", (void*)glVertexAttrib1fv, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIB1FVPROC glad_debug_glVertexAttrib1fv = glad_debug_impl_glVertexAttrib1fv; PFNGLUNIFORM4UIVPROC glad_glUniform4uiv; +void APIENTRY glad_debug_impl_glUniform4uiv(GLint arg0, GLsizei arg1, const GLuint * arg2) { + _pre_call_callback("glUniform4uiv", (void*)glUniform4uiv, 3, arg0, arg1, arg2); + glad_glUniform4uiv(arg0, arg1, arg2); + _post_call_callback("glUniform4uiv", (void*)glUniform4uiv, 3, arg0, arg1, arg2); + +} +PFNGLUNIFORM4UIVPROC glad_debug_glUniform4uiv = glad_debug_impl_glUniform4uiv; PFNGLFRAMEBUFFERTEXTURE1DPROC glad_glFramebufferTexture1D; +void APIENTRY glad_debug_impl_glFramebufferTexture1D(GLenum arg0, GLenum arg1, GLenum arg2, GLuint arg3, GLint arg4) { + _pre_call_callback("glFramebufferTexture1D", (void*)glFramebufferTexture1D, 5, arg0, arg1, arg2, arg3, arg4); + glad_glFramebufferTexture1D(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glFramebufferTexture1D", (void*)glFramebufferTexture1D, 5, arg0, arg1, arg2, arg3, arg4); + +} +PFNGLFRAMEBUFFERTEXTURE1DPROC glad_debug_glFramebufferTexture1D = glad_debug_impl_glFramebufferTexture1D; PFNGLGETSHADERIVPROC glad_glGetShaderiv; +void APIENTRY glad_debug_impl_glGetShaderiv(GLuint arg0, GLenum arg1, GLint * arg2) { + _pre_call_callback("glGetShaderiv", (void*)glGetShaderiv, 3, arg0, arg1, arg2); + glad_glGetShaderiv(arg0, arg1, arg2); + _post_call_callback("glGetShaderiv", (void*)glGetShaderiv, 3, arg0, arg1, arg2); + +} +PFNGLGETSHADERIVPROC glad_debug_glGetShaderiv = glad_debug_impl_glGetShaderiv; PFNGLBINDFRAGDATALOCATIONPROC glad_glBindFragDataLocation; +void APIENTRY glad_debug_impl_glBindFragDataLocation(GLuint arg0, GLuint arg1, const GLchar * arg2) { + _pre_call_callback("glBindFragDataLocation", (void*)glBindFragDataLocation, 3, arg0, arg1, arg2); + glad_glBindFragDataLocation(arg0, arg1, arg2); + _post_call_callback("glBindFragDataLocation", (void*)glBindFragDataLocation, 3, arg0, arg1, arg2); + +} +PFNGLBINDFRAGDATALOCATIONPROC glad_debug_glBindFragDataLocation = glad_debug_impl_glBindFragDataLocation; PFNGLPOLYGONOFFSETPROC glad_glPolygonOffset; +void APIENTRY glad_debug_impl_glPolygonOffset(GLfloat arg0, GLfloat arg1) { + _pre_call_callback("glPolygonOffset", (void*)glPolygonOffset, 2, arg0, arg1); + glad_glPolygonOffset(arg0, arg1); + _post_call_callback("glPolygonOffset", (void*)glPolygonOffset, 2, arg0, arg1); + +} +PFNGLPOLYGONOFFSETPROC glad_debug_glPolygonOffset = glad_debug_impl_glPolygonOffset; PFNGLGETDOUBLEVPROC glad_glGetDoublev; +void APIENTRY glad_debug_impl_glGetDoublev(GLenum arg0, GLdouble * arg1) { + _pre_call_callback("glGetDoublev", (void*)glGetDoublev, 2, arg0, arg1); + glad_glGetDoublev(arg0, arg1); + _post_call_callback("glGetDoublev", (void*)glGetDoublev, 2, arg0, arg1); + +} +PFNGLGETDOUBLEVPROC glad_debug_glGetDoublev = glad_debug_impl_glGetDoublev; PFNGLVERTEXATTRIB1DPROC glad_glVertexAttrib1d; +void APIENTRY glad_debug_impl_glVertexAttrib1d(GLuint arg0, GLdouble arg1) { + _pre_call_callback("glVertexAttrib1d", (void*)glVertexAttrib1d, 2, arg0, arg1); + glad_glVertexAttrib1d(arg0, arg1); + _post_call_callback("glVertexAttrib1d", (void*)glVertexAttrib1d, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIB1DPROC glad_debug_glVertexAttrib1d = glad_debug_impl_glVertexAttrib1d; PFNGLGETUNIFORMIVPROC glad_glGetUniformiv; +void APIENTRY glad_debug_impl_glGetUniformiv(GLuint arg0, GLint arg1, GLint * arg2) { + _pre_call_callback("glGetUniformiv", (void*)glGetUniformiv, 3, arg0, arg1, arg2); + glad_glGetUniformiv(arg0, arg1, arg2); + _post_call_callback("glGetUniformiv", (void*)glGetUniformiv, 3, arg0, arg1, arg2); + +} +PFNGLGETUNIFORMIVPROC glad_debug_glGetUniformiv = glad_debug_impl_glGetUniformiv; PFNGLMULTITEXCOORDP1UIVPROC glad_glMultiTexCoordP1uiv; +void APIENTRY glad_debug_impl_glMultiTexCoordP1uiv(GLenum arg0, GLenum arg1, const GLuint * arg2) { + _pre_call_callback("glMultiTexCoordP1uiv", (void*)glMultiTexCoordP1uiv, 3, arg0, arg1, arg2); + glad_glMultiTexCoordP1uiv(arg0, arg1, arg2); + _post_call_callback("glMultiTexCoordP1uiv", (void*)glMultiTexCoordP1uiv, 3, arg0, arg1, arg2); + +} +PFNGLMULTITEXCOORDP1UIVPROC glad_debug_glMultiTexCoordP1uiv = glad_debug_impl_glMultiTexCoordP1uiv; PFNGLUNIFORM3FVPROC glad_glUniform3fv; +void APIENTRY glad_debug_impl_glUniform3fv(GLint arg0, GLsizei arg1, const GLfloat * arg2) { + _pre_call_callback("glUniform3fv", (void*)glUniform3fv, 3, arg0, arg1, arg2); + glad_glUniform3fv(arg0, arg1, arg2); + _post_call_callback("glUniform3fv", (void*)glUniform3fv, 3, arg0, arg1, arg2); + +} +PFNGLUNIFORM3FVPROC glad_debug_glUniform3fv = glad_debug_impl_glUniform3fv; PFNGLDEPTHRANGEPROC glad_glDepthRange; +void APIENTRY glad_debug_impl_glDepthRange(GLdouble arg0, GLdouble arg1) { + _pre_call_callback("glDepthRange", (void*)glDepthRange, 2, arg0, arg1); + glad_glDepthRange(arg0, arg1); + _post_call_callback("glDepthRange", (void*)glDepthRange, 2, arg0, arg1); + +} +PFNGLDEPTHRANGEPROC glad_debug_glDepthRange = glad_debug_impl_glDepthRange; PFNGLMAPBUFFERPROC glad_glMapBuffer; +void * APIENTRY glad_debug_impl_glMapBuffer(GLenum arg0, GLenum arg1) { + void * ret; + _pre_call_callback("glMapBuffer", (void*)glMapBuffer, 2, arg0, arg1); + ret = glad_glMapBuffer(arg0, arg1); + _post_call_callback("glMapBuffer", (void*)glMapBuffer, 2, arg0, arg1); + return ret; +} +PFNGLMAPBUFFERPROC glad_debug_glMapBuffer = glad_debug_impl_glMapBuffer; PFNGLCOMPRESSEDTEXIMAGE3DPROC glad_glCompressedTexImage3D; +void APIENTRY glad_debug_impl_glCompressedTexImage3D(GLenum arg0, GLint arg1, GLenum arg2, GLsizei arg3, GLsizei arg4, GLsizei arg5, GLint arg6, GLsizei arg7, const void * arg8) { + _pre_call_callback("glCompressedTexImage3D", (void*)glCompressedTexImage3D, 9, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + glad_glCompressedTexImage3D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + _post_call_callback("glCompressedTexImage3D", (void*)glCompressedTexImage3D, 9, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + +} +PFNGLCOMPRESSEDTEXIMAGE3DPROC glad_debug_glCompressedTexImage3D = glad_debug_impl_glCompressedTexImage3D; PFNGLDELETESYNCPROC glad_glDeleteSync; +void APIENTRY glad_debug_impl_glDeleteSync(GLsync arg0) { + _pre_call_callback("glDeleteSync", (void*)glDeleteSync, 1, arg0); + glad_glDeleteSync(arg0); + _post_call_callback("glDeleteSync", (void*)glDeleteSync, 1, arg0); + +} +PFNGLDELETESYNCPROC glad_debug_glDeleteSync = glad_debug_impl_glDeleteSync; PFNGLCOPYTEXSUBIMAGE3DPROC glad_glCopyTexSubImage3D; +void APIENTRY glad_debug_impl_glCopyTexSubImage3D(GLenum arg0, GLint arg1, GLint arg2, GLint arg3, GLint arg4, GLint arg5, GLint arg6, GLsizei arg7, GLsizei arg8) { + _pre_call_callback("glCopyTexSubImage3D", (void*)glCopyTexSubImage3D, 9, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + glad_glCopyTexSubImage3D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + _post_call_callback("glCopyTexSubImage3D", (void*)glCopyTexSubImage3D, 9, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + +} +PFNGLCOPYTEXSUBIMAGE3DPROC glad_debug_glCopyTexSubImage3D = glad_debug_impl_glCopyTexSubImage3D; PFNGLGETVERTEXATTRIBIVPROC glad_glGetVertexAttribiv; +void APIENTRY glad_debug_impl_glGetVertexAttribiv(GLuint arg0, GLenum arg1, GLint * arg2) { + _pre_call_callback("glGetVertexAttribiv", (void*)glGetVertexAttribiv, 3, arg0, arg1, arg2); + glad_glGetVertexAttribiv(arg0, arg1, arg2); + _post_call_callback("glGetVertexAttribiv", (void*)glGetVertexAttribiv, 3, arg0, arg1, arg2); + +} +PFNGLGETVERTEXATTRIBIVPROC glad_debug_glGetVertexAttribiv = glad_debug_impl_glGetVertexAttribiv; PFNGLMULTIDRAWELEMENTSPROC glad_glMultiDrawElements; +void APIENTRY glad_debug_impl_glMultiDrawElements(GLenum arg0, const GLsizei * arg1, GLenum arg2, const void *const* arg3, GLsizei arg4) { + _pre_call_callback("glMultiDrawElements", (void*)glMultiDrawElements, 5, arg0, arg1, arg2, arg3, arg4); + glad_glMultiDrawElements(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glMultiDrawElements", (void*)glMultiDrawElements, 5, arg0, arg1, arg2, arg3, arg4); + +} +PFNGLMULTIDRAWELEMENTSPROC glad_debug_glMultiDrawElements = glad_debug_impl_glMultiDrawElements; PFNGLVERTEXATTRIB3FVPROC glad_glVertexAttrib3fv; +void APIENTRY glad_debug_impl_glVertexAttrib3fv(GLuint arg0, const GLfloat * arg1) { + _pre_call_callback("glVertexAttrib3fv", (void*)glVertexAttrib3fv, 2, arg0, arg1); + glad_glVertexAttrib3fv(arg0, arg1); + _post_call_callback("glVertexAttrib3fv", (void*)glVertexAttrib3fv, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIB3FVPROC glad_debug_glVertexAttrib3fv = glad_debug_impl_glVertexAttrib3fv; PFNGLUNIFORM3IVPROC glad_glUniform3iv; +void APIENTRY glad_debug_impl_glUniform3iv(GLint arg0, GLsizei arg1, const GLint * arg2) { + _pre_call_callback("glUniform3iv", (void*)glUniform3iv, 3, arg0, arg1, arg2); + glad_glUniform3iv(arg0, arg1, arg2); + _post_call_callback("glUniform3iv", (void*)glUniform3iv, 3, arg0, arg1, arg2); + +} +PFNGLUNIFORM3IVPROC glad_debug_glUniform3iv = glad_debug_impl_glUniform3iv; PFNGLPOLYGONMODEPROC glad_glPolygonMode; +void APIENTRY glad_debug_impl_glPolygonMode(GLenum arg0, GLenum arg1) { + _pre_call_callback("glPolygonMode", (void*)glPolygonMode, 2, arg0, arg1); + glad_glPolygonMode(arg0, arg1); + _post_call_callback("glPolygonMode", (void*)glPolygonMode, 2, arg0, arg1); + +} +PFNGLPOLYGONMODEPROC glad_debug_glPolygonMode = glad_debug_impl_glPolygonMode; PFNGLDRAWBUFFERSPROC glad_glDrawBuffers; +void APIENTRY glad_debug_impl_glDrawBuffers(GLsizei arg0, const GLenum * arg1) { + _pre_call_callback("glDrawBuffers", (void*)glDrawBuffers, 2, arg0, arg1); + glad_glDrawBuffers(arg0, arg1); + _post_call_callback("glDrawBuffers", (void*)glDrawBuffers, 2, arg0, arg1); + +} +PFNGLDRAWBUFFERSPROC glad_debug_glDrawBuffers = glad_debug_impl_glDrawBuffers; PFNGLGETACTIVEUNIFORMBLOCKIVPROC glad_glGetActiveUniformBlockiv; +void APIENTRY glad_debug_impl_glGetActiveUniformBlockiv(GLuint arg0, GLuint arg1, GLenum arg2, GLint * arg3) { + _pre_call_callback("glGetActiveUniformBlockiv", (void*)glGetActiveUniformBlockiv, 4, arg0, arg1, arg2, arg3); + glad_glGetActiveUniformBlockiv(arg0, arg1, arg2, arg3); + _post_call_callback("glGetActiveUniformBlockiv", (void*)glGetActiveUniformBlockiv, 4, arg0, arg1, arg2, arg3); + +} +PFNGLGETACTIVEUNIFORMBLOCKIVPROC glad_debug_glGetActiveUniformBlockiv = glad_debug_impl_glGetActiveUniformBlockiv; PFNGLUSEPROGRAMPROC glad_glUseProgram; +void APIENTRY glad_debug_impl_glUseProgram(GLuint arg0) { + _pre_call_callback("glUseProgram", (void*)glUseProgram, 1, arg0); + glad_glUseProgram(arg0); + _post_call_callback("glUseProgram", (void*)glUseProgram, 1, arg0); + +} +PFNGLUSEPROGRAMPROC glad_debug_glUseProgram = glad_debug_impl_glUseProgram; PFNGLGETPROGRAMINFOLOGPROC glad_glGetProgramInfoLog; +void APIENTRY glad_debug_impl_glGetProgramInfoLog(GLuint arg0, GLsizei arg1, GLsizei * arg2, GLchar * arg3) { + _pre_call_callback("glGetProgramInfoLog", (void*)glGetProgramInfoLog, 4, arg0, arg1, arg2, arg3); + glad_glGetProgramInfoLog(arg0, arg1, arg2, arg3); + _post_call_callback("glGetProgramInfoLog", (void*)glGetProgramInfoLog, 4, arg0, arg1, arg2, arg3); + +} +PFNGLGETPROGRAMINFOLOGPROC glad_debug_glGetProgramInfoLog = glad_debug_impl_glGetProgramInfoLog; PFNGLBINDVERTEXARRAYPROC glad_glBindVertexArray; +void APIENTRY glad_debug_impl_glBindVertexArray(GLuint arg0) { + _pre_call_callback("glBindVertexArray", (void*)glBindVertexArray, 1, arg0); + glad_glBindVertexArray(arg0); + _post_call_callback("glBindVertexArray", (void*)glBindVertexArray, 1, arg0); + +} +PFNGLBINDVERTEXARRAYPROC glad_debug_glBindVertexArray = glad_debug_impl_glBindVertexArray; PFNGLDELETEBUFFERSPROC glad_glDeleteBuffers; +void APIENTRY glad_debug_impl_glDeleteBuffers(GLsizei arg0, const GLuint * arg1) { + _pre_call_callback("glDeleteBuffers", (void*)glDeleteBuffers, 2, arg0, arg1); + glad_glDeleteBuffers(arg0, arg1); + _post_call_callback("glDeleteBuffers", (void*)glDeleteBuffers, 2, arg0, arg1); + +} +PFNGLDELETEBUFFERSPROC glad_debug_glDeleteBuffers = glad_debug_impl_glDeleteBuffers; PFNGLSAMPLERPARAMETERIIVPROC glad_glSamplerParameterIiv; +void APIENTRY glad_debug_impl_glSamplerParameterIiv(GLuint arg0, GLenum arg1, const GLint * arg2) { + _pre_call_callback("glSamplerParameterIiv", (void*)glSamplerParameterIiv, 3, arg0, arg1, arg2); + glad_glSamplerParameterIiv(arg0, arg1, arg2); + _post_call_callback("glSamplerParameterIiv", (void*)glSamplerParameterIiv, 3, arg0, arg1, arg2); + +} +PFNGLSAMPLERPARAMETERIIVPROC glad_debug_glSamplerParameterIiv = glad_debug_impl_glSamplerParameterIiv; PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC glad_glMultiDrawElementsBaseVertex; +void APIENTRY glad_debug_impl_glMultiDrawElementsBaseVertex(GLenum arg0, const GLsizei * arg1, GLenum arg2, const void *const* arg3, GLsizei arg4, const GLint * arg5) { + _pre_call_callback("glMultiDrawElementsBaseVertex", (void*)glMultiDrawElementsBaseVertex, 6, arg0, arg1, arg2, arg3, arg4, arg5); + glad_glMultiDrawElementsBaseVertex(arg0, arg1, arg2, arg3, arg4, arg5); + _post_call_callback("glMultiDrawElementsBaseVertex", (void*)glMultiDrawElementsBaseVertex, 6, arg0, arg1, arg2, arg3, arg4, arg5); + +} +PFNGLMULTIDRAWELEMENTSBASEVERTEXPROC glad_debug_glMultiDrawElementsBaseVertex = glad_debug_impl_glMultiDrawElementsBaseVertex; PFNGLUNIFORM2UIVPROC glad_glUniform2uiv; +void APIENTRY glad_debug_impl_glUniform2uiv(GLint arg0, GLsizei arg1, const GLuint * arg2) { + _pre_call_callback("glUniform2uiv", (void*)glUniform2uiv, 3, arg0, arg1, arg2); + glad_glUniform2uiv(arg0, arg1, arg2); + _post_call_callback("glUniform2uiv", (void*)glUniform2uiv, 3, arg0, arg1, arg2); + +} +PFNGLUNIFORM2UIVPROC glad_debug_glUniform2uiv = glad_debug_impl_glUniform2uiv; PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glad_glCompressedTexSubImage1D; +void APIENTRY glad_debug_impl_glCompressedTexSubImage1D(GLenum arg0, GLint arg1, GLint arg2, GLsizei arg3, GLenum arg4, GLsizei arg5, const void * arg6) { + _pre_call_callback("glCompressedTexSubImage1D", (void*)glCompressedTexSubImage1D, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6); + glad_glCompressedTexSubImage1D(arg0, arg1, arg2, arg3, arg4, arg5, arg6); + _post_call_callback("glCompressedTexSubImage1D", (void*)glCompressedTexSubImage1D, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6); + +} +PFNGLCOMPRESSEDTEXSUBIMAGE1DPROC glad_debug_glCompressedTexSubImage1D = glad_debug_impl_glCompressedTexSubImage1D; PFNGLFINISHPROC glad_glFinish; +void APIENTRY glad_debug_impl_glFinish() { + _pre_call_callback("glFinish", (void*)glFinish, 0); + glad_glFinish(); + _post_call_callback("glFinish", (void*)glFinish, 0); + +} +PFNGLFINISHPROC glad_debug_glFinish = glad_debug_impl_glFinish; PFNGLDELETESHADERPROC glad_glDeleteShader; +void APIENTRY glad_debug_impl_glDeleteShader(GLuint arg0) { + _pre_call_callback("glDeleteShader", (void*)glDeleteShader, 1, arg0); + glad_glDeleteShader(arg0); + _post_call_callback("glDeleteShader", (void*)glDeleteShader, 1, arg0); + +} +PFNGLDELETESHADERPROC glad_debug_glDeleteShader = glad_debug_impl_glDeleteShader; PFNGLVERTEXATTRIB4NSVPROC glad_glVertexAttrib4Nsv; +void APIENTRY glad_debug_impl_glVertexAttrib4Nsv(GLuint arg0, const GLshort * arg1) { + _pre_call_callback("glVertexAttrib4Nsv", (void*)glVertexAttrib4Nsv, 2, arg0, arg1); + glad_glVertexAttrib4Nsv(arg0, arg1); + _post_call_callback("glVertexAttrib4Nsv", (void*)glVertexAttrib4Nsv, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIB4NSVPROC glad_debug_glVertexAttrib4Nsv = glad_debug_impl_glVertexAttrib4Nsv; PFNGLVIEWPORTPROC glad_glViewport; +void APIENTRY glad_debug_impl_glViewport(GLint arg0, GLint arg1, GLsizei arg2, GLsizei arg3) { + _pre_call_callback("glViewport", (void*)glViewport, 4, arg0, arg1, arg2, arg3); + glad_glViewport(arg0, arg1, arg2, arg3); + _post_call_callback("glViewport", (void*)glViewport, 4, arg0, arg1, arg2, arg3); + +} +PFNGLVIEWPORTPROC glad_debug_glViewport = glad_debug_impl_glViewport; PFNGLUNIFORM1UIVPROC glad_glUniform1uiv; +void APIENTRY glad_debug_impl_glUniform1uiv(GLint arg0, GLsizei arg1, const GLuint * arg2) { + _pre_call_callback("glUniform1uiv", (void*)glUniform1uiv, 3, arg0, arg1, arg2); + glad_glUniform1uiv(arg0, arg1, arg2); + _post_call_callback("glUniform1uiv", (void*)glUniform1uiv, 3, arg0, arg1, arg2); + +} +PFNGLUNIFORM1UIVPROC glad_debug_glUniform1uiv = glad_debug_impl_glUniform1uiv; PFNGLTRANSFORMFEEDBACKVARYINGSPROC glad_glTransformFeedbackVaryings; +void APIENTRY glad_debug_impl_glTransformFeedbackVaryings(GLuint arg0, GLsizei arg1, const GLchar *const* arg2, GLenum arg3) { + _pre_call_callback("glTransformFeedbackVaryings", (void*)glTransformFeedbackVaryings, 4, arg0, arg1, arg2, arg3); + glad_glTransformFeedbackVaryings(arg0, arg1, arg2, arg3); + _post_call_callback("glTransformFeedbackVaryings", (void*)glTransformFeedbackVaryings, 4, arg0, arg1, arg2, arg3); + +} +PFNGLTRANSFORMFEEDBACKVARYINGSPROC glad_debug_glTransformFeedbackVaryings = glad_debug_impl_glTransformFeedbackVaryings; PFNGLUNIFORM2UIPROC glad_glUniform2ui; +void APIENTRY glad_debug_impl_glUniform2ui(GLint arg0, GLuint arg1, GLuint arg2) { + _pre_call_callback("glUniform2ui", (void*)glUniform2ui, 3, arg0, arg1, arg2); + glad_glUniform2ui(arg0, arg1, arg2); + _post_call_callback("glUniform2ui", (void*)glUniform2ui, 3, arg0, arg1, arg2); + +} +PFNGLUNIFORM2UIPROC glad_debug_glUniform2ui = glad_debug_impl_glUniform2ui; PFNGLVERTEXATTRIBI3IPROC glad_glVertexAttribI3i; +void APIENTRY glad_debug_impl_glVertexAttribI3i(GLuint arg0, GLint arg1, GLint arg2, GLint arg3) { + _pre_call_callback("glVertexAttribI3i", (void*)glVertexAttribI3i, 4, arg0, arg1, arg2, arg3); + glad_glVertexAttribI3i(arg0, arg1, arg2, arg3); + _post_call_callback("glVertexAttribI3i", (void*)glVertexAttribI3i, 4, arg0, arg1, arg2, arg3); + +} +PFNGLVERTEXATTRIBI3IPROC glad_debug_glVertexAttribI3i = glad_debug_impl_glVertexAttribI3i; PFNGLCLEARDEPTHPROC glad_glClearDepth; +void APIENTRY glad_debug_impl_glClearDepth(GLdouble arg0) { + _pre_call_callback("glClearDepth", (void*)glClearDepth, 1, arg0); + glad_glClearDepth(arg0); + _post_call_callback("glClearDepth", (void*)glClearDepth, 1, arg0); + +} +PFNGLCLEARDEPTHPROC glad_debug_glClearDepth = glad_debug_impl_glClearDepth; PFNGLVERTEXATTRIBI4USVPROC glad_glVertexAttribI4usv; +void APIENTRY glad_debug_impl_glVertexAttribI4usv(GLuint arg0, const GLushort * arg1) { + _pre_call_callback("glVertexAttribI4usv", (void*)glVertexAttribI4usv, 2, arg0, arg1); + glad_glVertexAttribI4usv(arg0, arg1); + _post_call_callback("glVertexAttribI4usv", (void*)glVertexAttribI4usv, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIBI4USVPROC glad_debug_glVertexAttribI4usv = glad_debug_impl_glVertexAttribI4usv; PFNGLTEXPARAMETERFPROC glad_glTexParameterf; +void APIENTRY glad_debug_impl_glTexParameterf(GLenum arg0, GLenum arg1, GLfloat arg2) { + _pre_call_callback("glTexParameterf", (void*)glTexParameterf, 3, arg0, arg1, arg2); + glad_glTexParameterf(arg0, arg1, arg2); + _post_call_callback("glTexParameterf", (void*)glTexParameterf, 3, arg0, arg1, arg2); + +} +PFNGLTEXPARAMETERFPROC glad_debug_glTexParameterf = glad_debug_impl_glTexParameterf; PFNGLTEXPARAMETERIPROC glad_glTexParameteri; +void APIENTRY glad_debug_impl_glTexParameteri(GLenum arg0, GLenum arg1, GLint arg2) { + _pre_call_callback("glTexParameteri", (void*)glTexParameteri, 3, arg0, arg1, arg2); + glad_glTexParameteri(arg0, arg1, arg2); + _post_call_callback("glTexParameteri", (void*)glTexParameteri, 3, arg0, arg1, arg2); + +} +PFNGLTEXPARAMETERIPROC glad_debug_glTexParameteri = glad_debug_impl_glTexParameteri; PFNGLGETSHADERSOURCEPROC glad_glGetShaderSource; +void APIENTRY glad_debug_impl_glGetShaderSource(GLuint arg0, GLsizei arg1, GLsizei * arg2, GLchar * arg3) { + _pre_call_callback("glGetShaderSource", (void*)glGetShaderSource, 4, arg0, arg1, arg2, arg3); + glad_glGetShaderSource(arg0, arg1, arg2, arg3); + _post_call_callback("glGetShaderSource", (void*)glGetShaderSource, 4, arg0, arg1, arg2, arg3); + +} +PFNGLGETSHADERSOURCEPROC glad_debug_glGetShaderSource = glad_debug_impl_glGetShaderSource; PFNGLTEXBUFFERPROC glad_glTexBuffer; +void APIENTRY glad_debug_impl_glTexBuffer(GLenum arg0, GLenum arg1, GLuint arg2) { + _pre_call_callback("glTexBuffer", (void*)glTexBuffer, 3, arg0, arg1, arg2); + glad_glTexBuffer(arg0, arg1, arg2); + _post_call_callback("glTexBuffer", (void*)glTexBuffer, 3, arg0, arg1, arg2); + +} +PFNGLTEXBUFFERPROC glad_debug_glTexBuffer = glad_debug_impl_glTexBuffer; PFNGLPIXELSTOREIPROC glad_glPixelStorei; +void APIENTRY glad_debug_impl_glPixelStorei(GLenum arg0, GLint arg1) { + _pre_call_callback("glPixelStorei", (void*)glPixelStorei, 2, arg0, arg1); + glad_glPixelStorei(arg0, arg1); + _post_call_callback("glPixelStorei", (void*)glPixelStorei, 2, arg0, arg1); + +} +PFNGLPIXELSTOREIPROC glad_debug_glPixelStorei = glad_debug_impl_glPixelStorei; PFNGLVALIDATEPROGRAMPROC glad_glValidateProgram; +void APIENTRY glad_debug_impl_glValidateProgram(GLuint arg0) { + _pre_call_callback("glValidateProgram", (void*)glValidateProgram, 1, arg0); + glad_glValidateProgram(arg0); + _post_call_callback("glValidateProgram", (void*)glValidateProgram, 1, arg0); + +} +PFNGLVALIDATEPROGRAMPROC glad_debug_glValidateProgram = glad_debug_impl_glValidateProgram; PFNGLPIXELSTOREFPROC glad_glPixelStoref; +void APIENTRY glad_debug_impl_glPixelStoref(GLenum arg0, GLfloat arg1) { + _pre_call_callback("glPixelStoref", (void*)glPixelStoref, 2, arg0, arg1); + glad_glPixelStoref(arg0, arg1); + _post_call_callback("glPixelStoref", (void*)glPixelStoref, 2, arg0, arg1); + +} +PFNGLPIXELSTOREFPROC glad_debug_glPixelStoref = glad_debug_impl_glPixelStoref; PFNGLGETBOOLEANI_VPROC glad_glGetBooleani_v; +void APIENTRY glad_debug_impl_glGetBooleani_v(GLenum arg0, GLuint arg1, GLboolean * arg2) { + _pre_call_callback("glGetBooleani_v", (void*)glGetBooleani_v, 3, arg0, arg1, arg2); + glad_glGetBooleani_v(arg0, arg1, arg2); + _post_call_callback("glGetBooleani_v", (void*)glGetBooleani_v, 3, arg0, arg1, arg2); + +} +PFNGLGETBOOLEANI_VPROC glad_debug_glGetBooleani_v = glad_debug_impl_glGetBooleani_v; PFNGLMULTITEXCOORDP2UIVPROC glad_glMultiTexCoordP2uiv; +void APIENTRY glad_debug_impl_glMultiTexCoordP2uiv(GLenum arg0, GLenum arg1, const GLuint * arg2) { + _pre_call_callback("glMultiTexCoordP2uiv", (void*)glMultiTexCoordP2uiv, 3, arg0, arg1, arg2); + glad_glMultiTexCoordP2uiv(arg0, arg1, arg2); + _post_call_callback("glMultiTexCoordP2uiv", (void*)glMultiTexCoordP2uiv, 3, arg0, arg1, arg2); + +} +PFNGLMULTITEXCOORDP2UIVPROC glad_debug_glMultiTexCoordP2uiv = glad_debug_impl_glMultiTexCoordP2uiv; PFNGLVERTEXATTRIBP1UIVPROC glad_glVertexAttribP1uiv; +void APIENTRY glad_debug_impl_glVertexAttribP1uiv(GLuint arg0, GLenum arg1, GLboolean arg2, const GLuint * arg3) { + _pre_call_callback("glVertexAttribP1uiv", (void*)glVertexAttribP1uiv, 4, arg0, arg1, arg2, arg3); + glad_glVertexAttribP1uiv(arg0, arg1, arg2, arg3); + _post_call_callback("glVertexAttribP1uiv", (void*)glVertexAttribP1uiv, 4, arg0, arg1, arg2, arg3); + +} +PFNGLVERTEXATTRIBP1UIVPROC glad_debug_glVertexAttribP1uiv = glad_debug_impl_glVertexAttribP1uiv; PFNGLLINKPROGRAMPROC glad_glLinkProgram; +void APIENTRY glad_debug_impl_glLinkProgram(GLuint arg0) { + _pre_call_callback("glLinkProgram", (void*)glLinkProgram, 1, arg0); + glad_glLinkProgram(arg0); + _post_call_callback("glLinkProgram", (void*)glLinkProgram, 1, arg0); + +} +PFNGLLINKPROGRAMPROC glad_debug_glLinkProgram = glad_debug_impl_glLinkProgram; PFNGLBINDTEXTUREPROC glad_glBindTexture; +void APIENTRY glad_debug_impl_glBindTexture(GLenum arg0, GLuint arg1) { + _pre_call_callback("glBindTexture", (void*)glBindTexture, 2, arg0, arg1); + glad_glBindTexture(arg0, arg1); + _post_call_callback("glBindTexture", (void*)glBindTexture, 2, arg0, arg1); + +} +PFNGLBINDTEXTUREPROC glad_debug_glBindTexture = glad_debug_impl_glBindTexture; PFNGLGETSTRINGPROC glad_glGetString; +const GLubyte * APIENTRY glad_debug_impl_glGetString(GLenum arg0) { + const GLubyte * ret; + _pre_call_callback("glGetString", (void*)glGetString, 1, arg0); + ret = glad_glGetString(arg0); + _post_call_callback("glGetString", (void*)glGetString, 1, arg0); + return ret; +} +PFNGLGETSTRINGPROC glad_debug_glGetString = glad_debug_impl_glGetString; PFNGLVERTEXATTRIBP2UIVPROC glad_glVertexAttribP2uiv; +void APIENTRY glad_debug_impl_glVertexAttribP2uiv(GLuint arg0, GLenum arg1, GLboolean arg2, const GLuint * arg3) { + _pre_call_callback("glVertexAttribP2uiv", (void*)glVertexAttribP2uiv, 4, arg0, arg1, arg2, arg3); + glad_glVertexAttribP2uiv(arg0, arg1, arg2, arg3); + _post_call_callback("glVertexAttribP2uiv", (void*)glVertexAttribP2uiv, 4, arg0, arg1, arg2, arg3); + +} +PFNGLVERTEXATTRIBP2UIVPROC glad_debug_glVertexAttribP2uiv = glad_debug_impl_glVertexAttribP2uiv; PFNGLDETACHSHADERPROC glad_glDetachShader; +void APIENTRY glad_debug_impl_glDetachShader(GLuint arg0, GLuint arg1) { + _pre_call_callback("glDetachShader", (void*)glDetachShader, 2, arg0, arg1); + glad_glDetachShader(arg0, arg1); + _post_call_callback("glDetachShader", (void*)glDetachShader, 2, arg0, arg1); + +} +PFNGLDETACHSHADERPROC glad_debug_glDetachShader = glad_debug_impl_glDetachShader; PFNGLENDQUERYPROC glad_glEndQuery; +void APIENTRY glad_debug_impl_glEndQuery(GLenum arg0) { + _pre_call_callback("glEndQuery", (void*)glEndQuery, 1, arg0); + glad_glEndQuery(arg0); + _post_call_callback("glEndQuery", (void*)glEndQuery, 1, arg0); + +} +PFNGLENDQUERYPROC glad_debug_glEndQuery = glad_debug_impl_glEndQuery; PFNGLNORMALP3UIPROC glad_glNormalP3ui; +void APIENTRY glad_debug_impl_glNormalP3ui(GLenum arg0, GLuint arg1) { + _pre_call_callback("glNormalP3ui", (void*)glNormalP3ui, 2, arg0, arg1); + glad_glNormalP3ui(arg0, arg1); + _post_call_callback("glNormalP3ui", (void*)glNormalP3ui, 2, arg0, arg1); + +} +PFNGLNORMALP3UIPROC glad_debug_glNormalP3ui = glad_debug_impl_glNormalP3ui; PFNGLVERTEXATTRIBI2UIPROC glad_glVertexAttribI2ui; +void APIENTRY glad_debug_impl_glVertexAttribI2ui(GLuint arg0, GLuint arg1, GLuint arg2) { + _pre_call_callback("glVertexAttribI2ui", (void*)glVertexAttribI2ui, 3, arg0, arg1, arg2); + glad_glVertexAttribI2ui(arg0, arg1, arg2); + _post_call_callback("glVertexAttribI2ui", (void*)glVertexAttribI2ui, 3, arg0, arg1, arg2); + +} +PFNGLVERTEXATTRIBI2UIPROC glad_debug_glVertexAttribI2ui = glad_debug_impl_glVertexAttribI2ui; PFNGLDELETETEXTURESPROC glad_glDeleteTextures; +void APIENTRY glad_debug_impl_glDeleteTextures(GLsizei arg0, const GLuint * arg1) { + _pre_call_callback("glDeleteTextures", (void*)glDeleteTextures, 2, arg0, arg1); + glad_glDeleteTextures(arg0, arg1); + _post_call_callback("glDeleteTextures", (void*)glDeleteTextures, 2, arg0, arg1); + +} +PFNGLDELETETEXTURESPROC glad_debug_glDeleteTextures = glad_debug_impl_glDeleteTextures; PFNGLSTENCILOPSEPARATEPROC glad_glStencilOpSeparate; +void APIENTRY glad_debug_impl_glStencilOpSeparate(GLenum arg0, GLenum arg1, GLenum arg2, GLenum arg3) { + _pre_call_callback("glStencilOpSeparate", (void*)glStencilOpSeparate, 4, arg0, arg1, arg2, arg3); + glad_glStencilOpSeparate(arg0, arg1, arg2, arg3); + _post_call_callback("glStencilOpSeparate", (void*)glStencilOpSeparate, 4, arg0, arg1, arg2, arg3); + +} +PFNGLSTENCILOPSEPARATEPROC glad_debug_glStencilOpSeparate = glad_debug_impl_glStencilOpSeparate; PFNGLDELETEQUERIESPROC glad_glDeleteQueries; +void APIENTRY glad_debug_impl_glDeleteQueries(GLsizei arg0, const GLuint * arg1) { + _pre_call_callback("glDeleteQueries", (void*)glDeleteQueries, 2, arg0, arg1); + glad_glDeleteQueries(arg0, arg1); + _post_call_callback("glDeleteQueries", (void*)glDeleteQueries, 2, arg0, arg1); + +} +PFNGLDELETEQUERIESPROC glad_debug_glDeleteQueries = glad_debug_impl_glDeleteQueries; PFNGLNORMALP3UIVPROC glad_glNormalP3uiv; +void APIENTRY glad_debug_impl_glNormalP3uiv(GLenum arg0, const GLuint * arg1) { + _pre_call_callback("glNormalP3uiv", (void*)glNormalP3uiv, 2, arg0, arg1); + glad_glNormalP3uiv(arg0, arg1); + _post_call_callback("glNormalP3uiv", (void*)glNormalP3uiv, 2, arg0, arg1); + +} +PFNGLNORMALP3UIVPROC glad_debug_glNormalP3uiv = glad_debug_impl_glNormalP3uiv; PFNGLVERTEXATTRIB4FPROC glad_glVertexAttrib4f; +void APIENTRY glad_debug_impl_glVertexAttrib4f(GLuint arg0, GLfloat arg1, GLfloat arg2, GLfloat arg3, GLfloat arg4) { + _pre_call_callback("glVertexAttrib4f", (void*)glVertexAttrib4f, 5, arg0, arg1, arg2, arg3, arg4); + glad_glVertexAttrib4f(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glVertexAttrib4f", (void*)glVertexAttrib4f, 5, arg0, arg1, arg2, arg3, arg4); + +} +PFNGLVERTEXATTRIB4FPROC glad_debug_glVertexAttrib4f = glad_debug_impl_glVertexAttrib4f; PFNGLVERTEXATTRIB4DPROC glad_glVertexAttrib4d; +void APIENTRY glad_debug_impl_glVertexAttrib4d(GLuint arg0, GLdouble arg1, GLdouble arg2, GLdouble arg3, GLdouble arg4) { + _pre_call_callback("glVertexAttrib4d", (void*)glVertexAttrib4d, 5, arg0, arg1, arg2, arg3, arg4); + glad_glVertexAttrib4d(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glVertexAttrib4d", (void*)glVertexAttrib4d, 5, arg0, arg1, arg2, arg3, arg4); + +} +PFNGLVERTEXATTRIB4DPROC glad_debug_glVertexAttrib4d = glad_debug_impl_glVertexAttrib4d; PFNGLGETTEXPARAMETERIVPROC glad_glGetTexParameteriv; +void APIENTRY glad_debug_impl_glGetTexParameteriv(GLenum arg0, GLenum arg1, GLint * arg2) { + _pre_call_callback("glGetTexParameteriv", (void*)glGetTexParameteriv, 3, arg0, arg1, arg2); + glad_glGetTexParameteriv(arg0, arg1, arg2); + _post_call_callback("glGetTexParameteriv", (void*)glGetTexParameteriv, 3, arg0, arg1, arg2); + +} +PFNGLGETTEXPARAMETERIVPROC glad_debug_glGetTexParameteriv = glad_debug_impl_glGetTexParameteriv; PFNGLVERTEXATTRIB4SPROC glad_glVertexAttrib4s; +void APIENTRY glad_debug_impl_glVertexAttrib4s(GLuint arg0, GLshort arg1, GLshort arg2, GLshort arg3, GLshort arg4) { + _pre_call_callback("glVertexAttrib4s", (void*)glVertexAttrib4s, 5, arg0, arg1, arg2, arg3, arg4); + glad_glVertexAttrib4s(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glVertexAttrib4s", (void*)glVertexAttrib4s, 5, arg0, arg1, arg2, arg3, arg4); + +} +PFNGLVERTEXATTRIB4SPROC glad_debug_glVertexAttrib4s = glad_debug_impl_glVertexAttrib4s; PFNGLDRAWELEMENTSBASEVERTEXPROC glad_glDrawElementsBaseVertex; +void APIENTRY glad_debug_impl_glDrawElementsBaseVertex(GLenum arg0, GLsizei arg1, GLenum arg2, const void * arg3, GLint arg4) { + _pre_call_callback("glDrawElementsBaseVertex", (void*)glDrawElementsBaseVertex, 5, arg0, arg1, arg2, arg3, arg4); + glad_glDrawElementsBaseVertex(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glDrawElementsBaseVertex", (void*)glDrawElementsBaseVertex, 5, arg0, arg1, arg2, arg3, arg4); + +} +PFNGLDRAWELEMENTSBASEVERTEXPROC glad_debug_glDrawElementsBaseVertex = glad_debug_impl_glDrawElementsBaseVertex; PFNGLSAMPLECOVERAGEPROC glad_glSampleCoverage; +void APIENTRY glad_debug_impl_glSampleCoverage(GLfloat arg0, GLboolean arg1) { + _pre_call_callback("glSampleCoverage", (void*)glSampleCoverage, 2, arg0, arg1); + glad_glSampleCoverage(arg0, arg1); + _post_call_callback("glSampleCoverage", (void*)glSampleCoverage, 2, arg0, arg1); + +} +PFNGLSAMPLECOVERAGEPROC glad_debug_glSampleCoverage = glad_debug_impl_glSampleCoverage; PFNGLSAMPLERPARAMETERIPROC glad_glSamplerParameteri; +void APIENTRY glad_debug_impl_glSamplerParameteri(GLuint arg0, GLenum arg1, GLint arg2) { + _pre_call_callback("glSamplerParameteri", (void*)glSamplerParameteri, 3, arg0, arg1, arg2); + glad_glSamplerParameteri(arg0, arg1, arg2); + _post_call_callback("glSamplerParameteri", (void*)glSamplerParameteri, 3, arg0, arg1, arg2); + +} +PFNGLSAMPLERPARAMETERIPROC glad_debug_glSamplerParameteri = glad_debug_impl_glSamplerParameteri; PFNGLSAMPLERPARAMETERFPROC glad_glSamplerParameterf; +void APIENTRY glad_debug_impl_glSamplerParameterf(GLuint arg0, GLenum arg1, GLfloat arg2) { + _pre_call_callback("glSamplerParameterf", (void*)glSamplerParameterf, 3, arg0, arg1, arg2); + glad_glSamplerParameterf(arg0, arg1, arg2); + _post_call_callback("glSamplerParameterf", (void*)glSamplerParameterf, 3, arg0, arg1, arg2); + +} +PFNGLSAMPLERPARAMETERFPROC glad_debug_glSamplerParameterf = glad_debug_impl_glSamplerParameterf; PFNGLUNIFORM1FPROC glad_glUniform1f; +void APIENTRY glad_debug_impl_glUniform1f(GLint arg0, GLfloat arg1) { + _pre_call_callback("glUniform1f", (void*)glUniform1f, 2, arg0, arg1); + glad_glUniform1f(arg0, arg1); + _post_call_callback("glUniform1f", (void*)glUniform1f, 2, arg0, arg1); + +} +PFNGLUNIFORM1FPROC glad_debug_glUniform1f = glad_debug_impl_glUniform1f; PFNGLGETVERTEXATTRIBFVPROC glad_glGetVertexAttribfv; +void APIENTRY glad_debug_impl_glGetVertexAttribfv(GLuint arg0, GLenum arg1, GLfloat * arg2) { + _pre_call_callback("glGetVertexAttribfv", (void*)glGetVertexAttribfv, 3, arg0, arg1, arg2); + glad_glGetVertexAttribfv(arg0, arg1, arg2); + _post_call_callback("glGetVertexAttribfv", (void*)glGetVertexAttribfv, 3, arg0, arg1, arg2); + +} +PFNGLGETVERTEXATTRIBFVPROC glad_debug_glGetVertexAttribfv = glad_debug_impl_glGetVertexAttribfv; PFNGLGETCOMPRESSEDTEXIMAGEPROC glad_glGetCompressedTexImage; +void APIENTRY glad_debug_impl_glGetCompressedTexImage(GLenum arg0, GLint arg1, void * arg2) { + _pre_call_callback("glGetCompressedTexImage", (void*)glGetCompressedTexImage, 3, arg0, arg1, arg2); + glad_glGetCompressedTexImage(arg0, arg1, arg2); + _post_call_callback("glGetCompressedTexImage", (void*)glGetCompressedTexImage, 3, arg0, arg1, arg2); + +} +PFNGLGETCOMPRESSEDTEXIMAGEPROC glad_debug_glGetCompressedTexImage = glad_debug_impl_glGetCompressedTexImage; PFNGLUNIFORM1IPROC glad_glUniform1i; +void APIENTRY glad_debug_impl_glUniform1i(GLint arg0, GLint arg1) { + _pre_call_callback("glUniform1i", (void*)glUniform1i, 2, arg0, arg1); + glad_glUniform1i(arg0, arg1); + _post_call_callback("glUniform1i", (void*)glUniform1i, 2, arg0, arg1); + +} +PFNGLUNIFORM1IPROC glad_debug_glUniform1i = glad_debug_impl_glUniform1i; PFNGLGETACTIVEATTRIBPROC glad_glGetActiveAttrib; +void APIENTRY glad_debug_impl_glGetActiveAttrib(GLuint arg0, GLuint arg1, GLsizei arg2, GLsizei * arg3, GLint * arg4, GLenum * arg5, GLchar * arg6) { + _pre_call_callback("glGetActiveAttrib", (void*)glGetActiveAttrib, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6); + glad_glGetActiveAttrib(arg0, arg1, arg2, arg3, arg4, arg5, arg6); + _post_call_callback("glGetActiveAttrib", (void*)glGetActiveAttrib, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6); + +} +PFNGLGETACTIVEATTRIBPROC glad_debug_glGetActiveAttrib = glad_debug_impl_glGetActiveAttrib; PFNGLTEXSUBIMAGE2DPROC glad_glTexSubImage2D; +void APIENTRY glad_debug_impl_glTexSubImage2D(GLenum arg0, GLint arg1, GLint arg2, GLint arg3, GLsizei arg4, GLsizei arg5, GLenum arg6, GLenum arg7, const void * arg8) { + _pre_call_callback("glTexSubImage2D", (void*)glTexSubImage2D, 9, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + glad_glTexSubImage2D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + _post_call_callback("glTexSubImage2D", (void*)glTexSubImage2D, 9, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + +} +PFNGLTEXSUBIMAGE2DPROC glad_debug_glTexSubImage2D = glad_debug_impl_glTexSubImage2D; PFNGLDISABLEPROC glad_glDisable; +void APIENTRY glad_debug_impl_glDisable(GLenum arg0) { + _pre_call_callback("glDisable", (void*)glDisable, 1, arg0); + glad_glDisable(arg0); + _post_call_callback("glDisable", (void*)glDisable, 1, arg0); + +} +PFNGLDISABLEPROC glad_debug_glDisable = glad_debug_impl_glDisable; PFNGLLOGICOPPROC glad_glLogicOp; +void APIENTRY glad_debug_impl_glLogicOp(GLenum arg0) { + _pre_call_callback("glLogicOp", (void*)glLogicOp, 1, arg0); + glad_glLogicOp(arg0); + _post_call_callback("glLogicOp", (void*)glLogicOp, 1, arg0); + +} +PFNGLLOGICOPPROC glad_debug_glLogicOp = glad_debug_impl_glLogicOp; PFNGLUNIFORM4UIPROC glad_glUniform4ui; +void APIENTRY glad_debug_impl_glUniform4ui(GLint arg0, GLuint arg1, GLuint arg2, GLuint arg3, GLuint arg4) { + _pre_call_callback("glUniform4ui", (void*)glUniform4ui, 5, arg0, arg1, arg2, arg3, arg4); + glad_glUniform4ui(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glUniform4ui", (void*)glUniform4ui, 5, arg0, arg1, arg2, arg3, arg4); + +} +PFNGLUNIFORM4UIPROC glad_debug_glUniform4ui = glad_debug_impl_glUniform4ui; PFNGLBINDFRAMEBUFFERPROC glad_glBindFramebuffer; +void APIENTRY glad_debug_impl_glBindFramebuffer(GLenum arg0, GLuint arg1) { + _pre_call_callback("glBindFramebuffer", (void*)glBindFramebuffer, 2, arg0, arg1); + glad_glBindFramebuffer(arg0, arg1); + _post_call_callback("glBindFramebuffer", (void*)glBindFramebuffer, 2, arg0, arg1); + +} +PFNGLBINDFRAMEBUFFERPROC glad_debug_glBindFramebuffer = glad_debug_impl_glBindFramebuffer; PFNGLCULLFACEPROC glad_glCullFace; +void APIENTRY glad_debug_impl_glCullFace(GLenum arg0) { + _pre_call_callback("glCullFace", (void*)glCullFace, 1, arg0); + glad_glCullFace(arg0); + _post_call_callback("glCullFace", (void*)glCullFace, 1, arg0); + +} +PFNGLCULLFACEPROC glad_debug_glCullFace = glad_debug_impl_glCullFace; PFNGLGETSTRINGIPROC glad_glGetStringi; +const GLubyte * APIENTRY glad_debug_impl_glGetStringi(GLenum arg0, GLuint arg1) { + const GLubyte * ret; + _pre_call_callback("glGetStringi", (void*)glGetStringi, 2, arg0, arg1); + ret = glad_glGetStringi(arg0, arg1); + _post_call_callback("glGetStringi", (void*)glGetStringi, 2, arg0, arg1); + return ret; +} +PFNGLGETSTRINGIPROC glad_debug_glGetStringi = glad_debug_impl_glGetStringi; PFNGLATTACHSHADERPROC glad_glAttachShader; +void APIENTRY glad_debug_impl_glAttachShader(GLuint arg0, GLuint arg1) { + _pre_call_callback("glAttachShader", (void*)glAttachShader, 2, arg0, arg1); + glad_glAttachShader(arg0, arg1); + _post_call_callback("glAttachShader", (void*)glAttachShader, 2, arg0, arg1); + +} +PFNGLATTACHSHADERPROC glad_debug_glAttachShader = glad_debug_impl_glAttachShader; PFNGLQUERYCOUNTERPROC glad_glQueryCounter; +void APIENTRY glad_debug_impl_glQueryCounter(GLuint arg0, GLenum arg1) { + _pre_call_callback("glQueryCounter", (void*)glQueryCounter, 2, arg0, arg1); + glad_glQueryCounter(arg0, arg1); + _post_call_callback("glQueryCounter", (void*)glQueryCounter, 2, arg0, arg1); + +} +PFNGLQUERYCOUNTERPROC glad_debug_glQueryCounter = glad_debug_impl_glQueryCounter; PFNGLPROVOKINGVERTEXPROC glad_glProvokingVertex; +void APIENTRY glad_debug_impl_glProvokingVertex(GLenum arg0) { + _pre_call_callback("glProvokingVertex", (void*)glProvokingVertex, 1, arg0); + glad_glProvokingVertex(arg0); + _post_call_callback("glProvokingVertex", (void*)glProvokingVertex, 1, arg0); + +} +PFNGLPROVOKINGVERTEXPROC glad_debug_glProvokingVertex = glad_debug_impl_glProvokingVertex; PFNGLDRAWELEMENTSPROC glad_glDrawElements; +void APIENTRY glad_debug_impl_glDrawElements(GLenum arg0, GLsizei arg1, GLenum arg2, const void * arg3) { + _pre_call_callback("glDrawElements", (void*)glDrawElements, 4, arg0, arg1, arg2, arg3); + glad_glDrawElements(arg0, arg1, arg2, arg3); + _post_call_callback("glDrawElements", (void*)glDrawElements, 4, arg0, arg1, arg2, arg3); + +} +PFNGLDRAWELEMENTSPROC glad_debug_glDrawElements = glad_debug_impl_glDrawElements; PFNGLVERTEXATTRIBI4SVPROC glad_glVertexAttribI4sv; +void APIENTRY glad_debug_impl_glVertexAttribI4sv(GLuint arg0, const GLshort * arg1) { + _pre_call_callback("glVertexAttribI4sv", (void*)glVertexAttribI4sv, 2, arg0, arg1); + glad_glVertexAttribI4sv(arg0, arg1); + _post_call_callback("glVertexAttribI4sv", (void*)glVertexAttribI4sv, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIBI4SVPROC glad_debug_glVertexAttribI4sv = glad_debug_impl_glVertexAttribI4sv; PFNGLUNIFORM1IVPROC glad_glUniform1iv; +void APIENTRY glad_debug_impl_glUniform1iv(GLint arg0, GLsizei arg1, const GLint * arg2) { + _pre_call_callback("glUniform1iv", (void*)glUniform1iv, 3, arg0, arg1, arg2); + glad_glUniform1iv(arg0, arg1, arg2); + _post_call_callback("glUniform1iv", (void*)glUniform1iv, 3, arg0, arg1, arg2); + +} +PFNGLUNIFORM1IVPROC glad_debug_glUniform1iv = glad_debug_impl_glUniform1iv; PFNGLGETQUERYOBJECTIVPROC glad_glGetQueryObjectiv; +void APIENTRY glad_debug_impl_glGetQueryObjectiv(GLuint arg0, GLenum arg1, GLint * arg2) { + _pre_call_callback("glGetQueryObjectiv", (void*)glGetQueryObjectiv, 3, arg0, arg1, arg2); + glad_glGetQueryObjectiv(arg0, arg1, arg2); + _post_call_callback("glGetQueryObjectiv", (void*)glGetQueryObjectiv, 3, arg0, arg1, arg2); + +} +PFNGLGETQUERYOBJECTIVPROC glad_debug_glGetQueryObjectiv = glad_debug_impl_glGetQueryObjectiv; PFNGLREADBUFFERPROC glad_glReadBuffer; +void APIENTRY glad_debug_impl_glReadBuffer(GLenum arg0) { + _pre_call_callback("glReadBuffer", (void*)glReadBuffer, 1, arg0); + glad_glReadBuffer(arg0); + _post_call_callback("glReadBuffer", (void*)glReadBuffer, 1, arg0); + +} +PFNGLREADBUFFERPROC glad_debug_glReadBuffer = glad_debug_impl_glReadBuffer; PFNGLTEXPARAMETERIUIVPROC glad_glTexParameterIuiv; +void APIENTRY glad_debug_impl_glTexParameterIuiv(GLenum arg0, GLenum arg1, const GLuint * arg2) { + _pre_call_callback("glTexParameterIuiv", (void*)glTexParameterIuiv, 3, arg0, arg1, arg2); + glad_glTexParameterIuiv(arg0, arg1, arg2); + _post_call_callback("glTexParameterIuiv", (void*)glTexParameterIuiv, 3, arg0, arg1, arg2); + +} +PFNGLTEXPARAMETERIUIVPROC glad_debug_glTexParameterIuiv = glad_debug_impl_glTexParameterIuiv; PFNGLDRAWARRAYSINSTANCEDPROC glad_glDrawArraysInstanced; +void APIENTRY glad_debug_impl_glDrawArraysInstanced(GLenum arg0, GLint arg1, GLsizei arg2, GLsizei arg3) { + _pre_call_callback("glDrawArraysInstanced", (void*)glDrawArraysInstanced, 4, arg0, arg1, arg2, arg3); + glad_glDrawArraysInstanced(arg0, arg1, arg2, arg3); + _post_call_callback("glDrawArraysInstanced", (void*)glDrawArraysInstanced, 4, arg0, arg1, arg2, arg3); + +} +PFNGLDRAWARRAYSINSTANCEDPROC glad_debug_glDrawArraysInstanced = glad_debug_impl_glDrawArraysInstanced; PFNGLGENERATEMIPMAPPROC glad_glGenerateMipmap; +void APIENTRY glad_debug_impl_glGenerateMipmap(GLenum arg0) { + _pre_call_callback("glGenerateMipmap", (void*)glGenerateMipmap, 1, arg0); + glad_glGenerateMipmap(arg0); + _post_call_callback("glGenerateMipmap", (void*)glGenerateMipmap, 1, arg0); + +} +PFNGLGENERATEMIPMAPPROC glad_debug_glGenerateMipmap = glad_debug_impl_glGenerateMipmap; PFNGLSAMPLERPARAMETERIVPROC glad_glSamplerParameteriv; +void APIENTRY glad_debug_impl_glSamplerParameteriv(GLuint arg0, GLenum arg1, const GLint * arg2) { + _pre_call_callback("glSamplerParameteriv", (void*)glSamplerParameteriv, 3, arg0, arg1, arg2); + glad_glSamplerParameteriv(arg0, arg1, arg2); + _post_call_callback("glSamplerParameteriv", (void*)glSamplerParameteriv, 3, arg0, arg1, arg2); + +} +PFNGLSAMPLERPARAMETERIVPROC glad_debug_glSamplerParameteriv = glad_debug_impl_glSamplerParameteriv; PFNGLVERTEXATTRIB3FPROC glad_glVertexAttrib3f; +void APIENTRY glad_debug_impl_glVertexAttrib3f(GLuint arg0, GLfloat arg1, GLfloat arg2, GLfloat arg3) { + _pre_call_callback("glVertexAttrib3f", (void*)glVertexAttrib3f, 4, arg0, arg1, arg2, arg3); + glad_glVertexAttrib3f(arg0, arg1, arg2, arg3); + _post_call_callback("glVertexAttrib3f", (void*)glVertexAttrib3f, 4, arg0, arg1, arg2, arg3); + +} +PFNGLVERTEXATTRIB3FPROC glad_debug_glVertexAttrib3f = glad_debug_impl_glVertexAttrib3f; PFNGLVERTEXATTRIB4UIVPROC glad_glVertexAttrib4uiv; +void APIENTRY glad_debug_impl_glVertexAttrib4uiv(GLuint arg0, const GLuint * arg1) { + _pre_call_callback("glVertexAttrib4uiv", (void*)glVertexAttrib4uiv, 2, arg0, arg1); + glad_glVertexAttrib4uiv(arg0, arg1); + _post_call_callback("glVertexAttrib4uiv", (void*)glVertexAttrib4uiv, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIB4UIVPROC glad_debug_glVertexAttrib4uiv = glad_debug_impl_glVertexAttrib4uiv; PFNGLPOINTPARAMETERIPROC glad_glPointParameteri; +void APIENTRY glad_debug_impl_glPointParameteri(GLenum arg0, GLint arg1) { + _pre_call_callback("glPointParameteri", (void*)glPointParameteri, 2, arg0, arg1); + glad_glPointParameteri(arg0, arg1); + _post_call_callback("glPointParameteri", (void*)glPointParameteri, 2, arg0, arg1); + +} +PFNGLPOINTPARAMETERIPROC glad_debug_glPointParameteri = glad_debug_impl_glPointParameteri; PFNGLBLENDCOLORPROC glad_glBlendColor; +void APIENTRY glad_debug_impl_glBlendColor(GLfloat arg0, GLfloat arg1, GLfloat arg2, GLfloat arg3) { + _pre_call_callback("glBlendColor", (void*)glBlendColor, 4, arg0, arg1, arg2, arg3); + glad_glBlendColor(arg0, arg1, arg2, arg3); + _post_call_callback("glBlendColor", (void*)glBlendColor, 4, arg0, arg1, arg2, arg3); + +} +PFNGLBLENDCOLORPROC glad_debug_glBlendColor = glad_debug_impl_glBlendColor; PFNGLSAMPLERPARAMETERIUIVPROC glad_glSamplerParameterIuiv; +void APIENTRY glad_debug_impl_glSamplerParameterIuiv(GLuint arg0, GLenum arg1, const GLuint * arg2) { + _pre_call_callback("glSamplerParameterIuiv", (void*)glSamplerParameterIuiv, 3, arg0, arg1, arg2); + glad_glSamplerParameterIuiv(arg0, arg1, arg2); + _post_call_callback("glSamplerParameterIuiv", (void*)glSamplerParameterIuiv, 3, arg0, arg1, arg2); + +} +PFNGLSAMPLERPARAMETERIUIVPROC glad_debug_glSamplerParameterIuiv = glad_debug_impl_glSamplerParameterIuiv; PFNGLUNMAPBUFFERPROC glad_glUnmapBuffer; +GLboolean APIENTRY glad_debug_impl_glUnmapBuffer(GLenum arg0) { + GLboolean ret; + _pre_call_callback("glUnmapBuffer", (void*)glUnmapBuffer, 1, arg0); + ret = glad_glUnmapBuffer(arg0); + _post_call_callback("glUnmapBuffer", (void*)glUnmapBuffer, 1, arg0); + return ret; +} +PFNGLUNMAPBUFFERPROC glad_debug_glUnmapBuffer = glad_debug_impl_glUnmapBuffer; PFNGLPOINTPARAMETERFPROC glad_glPointParameterf; +void APIENTRY glad_debug_impl_glPointParameterf(GLenum arg0, GLfloat arg1) { + _pre_call_callback("glPointParameterf", (void*)glPointParameterf, 2, arg0, arg1); + glad_glPointParameterf(arg0, arg1); + _post_call_callback("glPointParameterf", (void*)glPointParameterf, 2, arg0, arg1); + +} +PFNGLPOINTPARAMETERFPROC glad_debug_glPointParameterf = glad_debug_impl_glPointParameterf; PFNGLVERTEXATTRIB3SPROC glad_glVertexAttrib3s; +void APIENTRY glad_debug_impl_glVertexAttrib3s(GLuint arg0, GLshort arg1, GLshort arg2, GLshort arg3) { + _pre_call_callback("glVertexAttrib3s", (void*)glVertexAttrib3s, 4, arg0, arg1, arg2, arg3); + glad_glVertexAttrib3s(arg0, arg1, arg2, arg3); + _post_call_callback("glVertexAttrib3s", (void*)glVertexAttrib3s, 4, arg0, arg1, arg2, arg3); + +} +PFNGLVERTEXATTRIB3SPROC glad_debug_glVertexAttrib3s = glad_debug_impl_glVertexAttrib3s; PFNGLBINDRENDERBUFFERPROC glad_glBindRenderbuffer; +void APIENTRY glad_debug_impl_glBindRenderbuffer(GLenum arg0, GLuint arg1) { + _pre_call_callback("glBindRenderbuffer", (void*)glBindRenderbuffer, 2, arg0, arg1); + glad_glBindRenderbuffer(arg0, arg1); + _post_call_callback("glBindRenderbuffer", (void*)glBindRenderbuffer, 2, arg0, arg1); + +} +PFNGLBINDRENDERBUFFERPROC glad_debug_glBindRenderbuffer = glad_debug_impl_glBindRenderbuffer; PFNGLVERTEXATTRIBP4UIVPROC glad_glVertexAttribP4uiv; +void APIENTRY glad_debug_impl_glVertexAttribP4uiv(GLuint arg0, GLenum arg1, GLboolean arg2, const GLuint * arg3) { + _pre_call_callback("glVertexAttribP4uiv", (void*)glVertexAttribP4uiv, 4, arg0, arg1, arg2, arg3); + glad_glVertexAttribP4uiv(arg0, arg1, arg2, arg3); + _post_call_callback("glVertexAttribP4uiv", (void*)glVertexAttribP4uiv, 4, arg0, arg1, arg2, arg3); + +} +PFNGLVERTEXATTRIBP4UIVPROC glad_debug_glVertexAttribP4uiv = glad_debug_impl_glVertexAttribP4uiv; PFNGLISPROGRAMPROC glad_glIsProgram; +GLboolean APIENTRY glad_debug_impl_glIsProgram(GLuint arg0) { + GLboolean ret; + _pre_call_callback("glIsProgram", (void*)glIsProgram, 1, arg0); + ret = glad_glIsProgram(arg0); + _post_call_callback("glIsProgram", (void*)glIsProgram, 1, arg0); + return ret; +} +PFNGLISPROGRAMPROC glad_debug_glIsProgram = glad_debug_impl_glIsProgram; PFNGLVERTEXATTRIB4BVPROC glad_glVertexAttrib4bv; +void APIENTRY glad_debug_impl_glVertexAttrib4bv(GLuint arg0, const GLbyte * arg1) { + _pre_call_callback("glVertexAttrib4bv", (void*)glVertexAttrib4bv, 2, arg0, arg1); + glad_glVertexAttrib4bv(arg0, arg1); + _post_call_callback("glVertexAttrib4bv", (void*)glVertexAttrib4bv, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIB4BVPROC glad_debug_glVertexAttrib4bv = glad_debug_impl_glVertexAttrib4bv; PFNGLVERTEXATTRIB4FVPROC glad_glVertexAttrib4fv; +void APIENTRY glad_debug_impl_glVertexAttrib4fv(GLuint arg0, const GLfloat * arg1) { + _pre_call_callback("glVertexAttrib4fv", (void*)glVertexAttrib4fv, 2, arg0, arg1); + glad_glVertexAttrib4fv(arg0, arg1); + _post_call_callback("glVertexAttrib4fv", (void*)glVertexAttrib4fv, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIB4FVPROC glad_debug_glVertexAttrib4fv = glad_debug_impl_glVertexAttrib4fv; PFNGLUNIFORM4IPROC glad_glUniform4i; +void APIENTRY glad_debug_impl_glUniform4i(GLint arg0, GLint arg1, GLint arg2, GLint arg3, GLint arg4) { + _pre_call_callback("glUniform4i", (void*)glUniform4i, 5, arg0, arg1, arg2, arg3, arg4); + glad_glUniform4i(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glUniform4i", (void*)glUniform4i, 5, arg0, arg1, arg2, arg3, arg4); + +} +PFNGLUNIFORM4IPROC glad_debug_glUniform4i = glad_debug_impl_glUniform4i; PFNGLACTIVETEXTUREPROC glad_glActiveTexture; +void APIENTRY glad_debug_impl_glActiveTexture(GLenum arg0) { + _pre_call_callback("glActiveTexture", (void*)glActiveTexture, 1, arg0); + glad_glActiveTexture(arg0); + _post_call_callback("glActiveTexture", (void*)glActiveTexture, 1, arg0); + +} +PFNGLACTIVETEXTUREPROC glad_debug_glActiveTexture = glad_debug_impl_glActiveTexture; PFNGLENABLEVERTEXATTRIBARRAYPROC glad_glEnableVertexAttribArray; +void APIENTRY glad_debug_impl_glEnableVertexAttribArray(GLuint arg0) { + _pre_call_callback("glEnableVertexAttribArray", (void*)glEnableVertexAttribArray, 1, arg0); + glad_glEnableVertexAttribArray(arg0); + _post_call_callback("glEnableVertexAttribArray", (void*)glEnableVertexAttribArray, 1, arg0); + +} +PFNGLENABLEVERTEXATTRIBARRAYPROC glad_debug_glEnableVertexAttribArray = glad_debug_impl_glEnableVertexAttribArray; PFNGLREADPIXELSPROC glad_glReadPixels; +void APIENTRY glad_debug_impl_glReadPixels(GLint arg0, GLint arg1, GLsizei arg2, GLsizei arg3, GLenum arg4, GLenum arg5, void * arg6) { + _pre_call_callback("glReadPixels", (void*)glReadPixels, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6); + glad_glReadPixels(arg0, arg1, arg2, arg3, arg4, arg5, arg6); + _post_call_callback("glReadPixels", (void*)glReadPixels, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6); + +} +PFNGLREADPIXELSPROC glad_debug_glReadPixels = glad_debug_impl_glReadPixels; PFNGLVERTEXATTRIBI3IVPROC glad_glVertexAttribI3iv; +void APIENTRY glad_debug_impl_glVertexAttribI3iv(GLuint arg0, const GLint * arg1) { + _pre_call_callback("glVertexAttribI3iv", (void*)glVertexAttribI3iv, 2, arg0, arg1); + glad_glVertexAttribI3iv(arg0, arg1); + _post_call_callback("glVertexAttribI3iv", (void*)glVertexAttribI3iv, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIBI3IVPROC glad_debug_glVertexAttribI3iv = glad_debug_impl_glVertexAttribI3iv; PFNGLUNIFORM4FPROC glad_glUniform4f; +void APIENTRY glad_debug_impl_glUniform4f(GLint arg0, GLfloat arg1, GLfloat arg2, GLfloat arg3, GLfloat arg4) { + _pre_call_callback("glUniform4f", (void*)glUniform4f, 5, arg0, arg1, arg2, arg3, arg4); + glad_glUniform4f(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glUniform4f", (void*)glUniform4f, 5, arg0, arg1, arg2, arg3, arg4); + +} +PFNGLUNIFORM4FPROC glad_debug_glUniform4f = glad_debug_impl_glUniform4f; PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_glRenderbufferStorageMultisample; +void APIENTRY glad_debug_impl_glRenderbufferStorageMultisample(GLenum arg0, GLsizei arg1, GLenum arg2, GLsizei arg3, GLsizei arg4) { + _pre_call_callback("glRenderbufferStorageMultisample", (void*)glRenderbufferStorageMultisample, 5, arg0, arg1, arg2, arg3, arg4); + glad_glRenderbufferStorageMultisample(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glRenderbufferStorageMultisample", (void*)glRenderbufferStorageMultisample, 5, arg0, arg1, arg2, arg3, arg4); + +} +PFNGLRENDERBUFFERSTORAGEMULTISAMPLEPROC glad_debug_glRenderbufferStorageMultisample = glad_debug_impl_glRenderbufferStorageMultisample; PFNGLUNIFORMMATRIX3FVPROC glad_glUniformMatrix3fv; +void APIENTRY glad_debug_impl_glUniformMatrix3fv(GLint arg0, GLsizei arg1, GLboolean arg2, const GLfloat * arg3) { + _pre_call_callback("glUniformMatrix3fv", (void*)glUniformMatrix3fv, 4, arg0, arg1, arg2, arg3); + glad_glUniformMatrix3fv(arg0, arg1, arg2, arg3); + _post_call_callback("glUniformMatrix3fv", (void*)glUniformMatrix3fv, 4, arg0, arg1, arg2, arg3); + +} +PFNGLUNIFORMMATRIX3FVPROC glad_debug_glUniformMatrix3fv = glad_debug_impl_glUniformMatrix3fv; PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glad_glDrawElementsInstancedBaseVertex; +void APIENTRY glad_debug_impl_glDrawElementsInstancedBaseVertex(GLenum arg0, GLsizei arg1, GLenum arg2, const void * arg3, GLsizei arg4, GLint arg5) { + _pre_call_callback("glDrawElementsInstancedBaseVertex", (void*)glDrawElementsInstancedBaseVertex, 6, arg0, arg1, arg2, arg3, arg4, arg5); + glad_glDrawElementsInstancedBaseVertex(arg0, arg1, arg2, arg3, arg4, arg5); + _post_call_callback("glDrawElementsInstancedBaseVertex", (void*)glDrawElementsInstancedBaseVertex, 6, arg0, arg1, arg2, arg3, arg4, arg5); + +} +PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXPROC glad_debug_glDrawElementsInstancedBaseVertex = glad_debug_impl_glDrawElementsInstancedBaseVertex; PFNGLSTENCILFUNCPROC glad_glStencilFunc; +void APIENTRY glad_debug_impl_glStencilFunc(GLenum arg0, GLint arg1, GLuint arg2) { + _pre_call_callback("glStencilFunc", (void*)glStencilFunc, 3, arg0, arg1, arg2); + glad_glStencilFunc(arg0, arg1, arg2); + _post_call_callback("glStencilFunc", (void*)glStencilFunc, 3, arg0, arg1, arg2); + +} +PFNGLSTENCILFUNCPROC glad_debug_glStencilFunc = glad_debug_impl_glStencilFunc; PFNGLUNIFORMBLOCKBINDINGPROC glad_glUniformBlockBinding; +void APIENTRY glad_debug_impl_glUniformBlockBinding(GLuint arg0, GLuint arg1, GLuint arg2) { + _pre_call_callback("glUniformBlockBinding", (void*)glUniformBlockBinding, 3, arg0, arg1, arg2); + glad_glUniformBlockBinding(arg0, arg1, arg2); + _post_call_callback("glUniformBlockBinding", (void*)glUniformBlockBinding, 3, arg0, arg1, arg2); + +} +PFNGLUNIFORMBLOCKBINDINGPROC glad_debug_glUniformBlockBinding = glad_debug_impl_glUniformBlockBinding; PFNGLCOLORP4UIPROC glad_glColorP4ui; +void APIENTRY glad_debug_impl_glColorP4ui(GLenum arg0, GLuint arg1) { + _pre_call_callback("glColorP4ui", (void*)glColorP4ui, 2, arg0, arg1); + glad_glColorP4ui(arg0, arg1); + _post_call_callback("glColorP4ui", (void*)glColorP4ui, 2, arg0, arg1); + +} +PFNGLCOLORP4UIPROC glad_debug_glColorP4ui = glad_debug_impl_glColorP4ui; PFNGLVERTEXATTRIBI4IVPROC glad_glVertexAttribI4iv; +void APIENTRY glad_debug_impl_glVertexAttribI4iv(GLuint arg0, const GLint * arg1) { + _pre_call_callback("glVertexAttribI4iv", (void*)glVertexAttribI4iv, 2, arg0, arg1); + glad_glVertexAttribI4iv(arg0, arg1); + _post_call_callback("glVertexAttribI4iv", (void*)glVertexAttribI4iv, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIBI4IVPROC glad_debug_glVertexAttribI4iv = glad_debug_impl_glVertexAttribI4iv; PFNGLGETSHADERINFOLOGPROC glad_glGetShaderInfoLog; +void APIENTRY glad_debug_impl_glGetShaderInfoLog(GLuint arg0, GLsizei arg1, GLsizei * arg2, GLchar * arg3) { + _pre_call_callback("glGetShaderInfoLog", (void*)glGetShaderInfoLog, 4, arg0, arg1, arg2, arg3); + glad_glGetShaderInfoLog(arg0, arg1, arg2, arg3); + _post_call_callback("glGetShaderInfoLog", (void*)glGetShaderInfoLog, 4, arg0, arg1, arg2, arg3); + +} +PFNGLGETSHADERINFOLOGPROC glad_debug_glGetShaderInfoLog = glad_debug_impl_glGetShaderInfoLog; PFNGLVERTEXATTRIBI4IPROC glad_glVertexAttribI4i; +void APIENTRY glad_debug_impl_glVertexAttribI4i(GLuint arg0, GLint arg1, GLint arg2, GLint arg3, GLint arg4) { + _pre_call_callback("glVertexAttribI4i", (void*)glVertexAttribI4i, 5, arg0, arg1, arg2, arg3, arg4); + glad_glVertexAttribI4i(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glVertexAttribI4i", (void*)glVertexAttribI4i, 5, arg0, arg1, arg2, arg3, arg4); + +} +PFNGLVERTEXATTRIBI4IPROC glad_debug_glVertexAttribI4i = glad_debug_impl_glVertexAttribI4i; PFNGLGETBUFFERSUBDATAPROC glad_glGetBufferSubData; +void APIENTRY glad_debug_impl_glGetBufferSubData(GLenum arg0, GLintptr arg1, GLsizeiptr arg2, void * arg3) { + _pre_call_callback("glGetBufferSubData", (void*)glGetBufferSubData, 4, arg0, arg1, arg2, arg3); + glad_glGetBufferSubData(arg0, arg1, arg2, arg3); + _post_call_callback("glGetBufferSubData", (void*)glGetBufferSubData, 4, arg0, arg1, arg2, arg3); + +} +PFNGLGETBUFFERSUBDATAPROC glad_debug_glGetBufferSubData = glad_debug_impl_glGetBufferSubData; PFNGLBLENDEQUATIONSEPARATEPROC glad_glBlendEquationSeparate; +void APIENTRY glad_debug_impl_glBlendEquationSeparate(GLenum arg0, GLenum arg1) { + _pre_call_callback("glBlendEquationSeparate", (void*)glBlendEquationSeparate, 2, arg0, arg1); + glad_glBlendEquationSeparate(arg0, arg1); + _post_call_callback("glBlendEquationSeparate", (void*)glBlendEquationSeparate, 2, arg0, arg1); + +} +PFNGLBLENDEQUATIONSEPARATEPROC glad_debug_glBlendEquationSeparate = glad_debug_impl_glBlendEquationSeparate; PFNGLVERTEXATTRIBI1UIPROC glad_glVertexAttribI1ui; +void APIENTRY glad_debug_impl_glVertexAttribI1ui(GLuint arg0, GLuint arg1) { + _pre_call_callback("glVertexAttribI1ui", (void*)glVertexAttribI1ui, 2, arg0, arg1); + glad_glVertexAttribI1ui(arg0, arg1); + _post_call_callback("glVertexAttribI1ui", (void*)glVertexAttribI1ui, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIBI1UIPROC glad_debug_glVertexAttribI1ui = glad_debug_impl_glVertexAttribI1ui; PFNGLGENBUFFERSPROC glad_glGenBuffers; +void APIENTRY glad_debug_impl_glGenBuffers(GLsizei arg0, GLuint * arg1) { + _pre_call_callback("glGenBuffers", (void*)glGenBuffers, 2, arg0, arg1); + glad_glGenBuffers(arg0, arg1); + _post_call_callback("glGenBuffers", (void*)glGenBuffers, 2, arg0, arg1); + +} +PFNGLGENBUFFERSPROC glad_debug_glGenBuffers = glad_debug_impl_glGenBuffers; PFNGLVERTEXATTRIB2SVPROC glad_glVertexAttrib2sv; +void APIENTRY glad_debug_impl_glVertexAttrib2sv(GLuint arg0, const GLshort * arg1) { + _pre_call_callback("glVertexAttrib2sv", (void*)glVertexAttrib2sv, 2, arg0, arg1); + glad_glVertexAttrib2sv(arg0, arg1); + _post_call_callback("glVertexAttrib2sv", (void*)glVertexAttrib2sv, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIB2SVPROC glad_debug_glVertexAttrib2sv = glad_debug_impl_glVertexAttrib2sv; PFNGLBLENDFUNCPROC glad_glBlendFunc; +void APIENTRY glad_debug_impl_glBlendFunc(GLenum arg0, GLenum arg1) { + _pre_call_callback("glBlendFunc", (void*)glBlendFunc, 2, arg0, arg1); + glad_glBlendFunc(arg0, arg1); + _post_call_callback("glBlendFunc", (void*)glBlendFunc, 2, arg0, arg1); + +} +PFNGLBLENDFUNCPROC glad_debug_glBlendFunc = glad_debug_impl_glBlendFunc; PFNGLCREATEPROGRAMPROC glad_glCreateProgram; +GLuint APIENTRY glad_debug_impl_glCreateProgram() { + GLuint ret; + _pre_call_callback("glCreateProgram", (void*)glCreateProgram, 0); + ret = glad_glCreateProgram(); + _post_call_callback("glCreateProgram", (void*)glCreateProgram, 0); + return ret; +} +PFNGLCREATEPROGRAMPROC glad_debug_glCreateProgram = glad_debug_impl_glCreateProgram; PFNGLTEXIMAGE3DPROC glad_glTexImage3D; +void APIENTRY glad_debug_impl_glTexImage3D(GLenum arg0, GLint arg1, GLint arg2, GLsizei arg3, GLsizei arg4, GLsizei arg5, GLint arg6, GLenum arg7, GLenum arg8, const void * arg9) { + _pre_call_callback("glTexImage3D", (void*)glTexImage3D, 10, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); + glad_glTexImage3D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); + _post_call_callback("glTexImage3D", (void*)glTexImage3D, 10, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9); + +} +PFNGLTEXIMAGE3DPROC glad_debug_glTexImage3D = glad_debug_impl_glTexImage3D; PFNGLISFRAMEBUFFERPROC glad_glIsFramebuffer; +GLboolean APIENTRY glad_debug_impl_glIsFramebuffer(GLuint arg0) { + GLboolean ret; + _pre_call_callback("glIsFramebuffer", (void*)glIsFramebuffer, 1, arg0); + ret = glad_glIsFramebuffer(arg0); + _post_call_callback("glIsFramebuffer", (void*)glIsFramebuffer, 1, arg0); + return ret; +} +PFNGLISFRAMEBUFFERPROC glad_debug_glIsFramebuffer = glad_debug_impl_glIsFramebuffer; PFNGLPRIMITIVERESTARTINDEXPROC glad_glPrimitiveRestartIndex; +void APIENTRY glad_debug_impl_glPrimitiveRestartIndex(GLuint arg0) { + _pre_call_callback("glPrimitiveRestartIndex", (void*)glPrimitiveRestartIndex, 1, arg0); + glad_glPrimitiveRestartIndex(arg0); + _post_call_callback("glPrimitiveRestartIndex", (void*)glPrimitiveRestartIndex, 1, arg0); + +} +PFNGLPRIMITIVERESTARTINDEXPROC glad_debug_glPrimitiveRestartIndex = glad_debug_impl_glPrimitiveRestartIndex; PFNGLGETINTEGER64VPROC glad_glGetInteger64v; +void APIENTRY glad_debug_impl_glGetInteger64v(GLenum arg0, GLint64 * arg1) { + _pre_call_callback("glGetInteger64v", (void*)glGetInteger64v, 2, arg0, arg1); + glad_glGetInteger64v(arg0, arg1); + _post_call_callback("glGetInteger64v", (void*)glGetInteger64v, 2, arg0, arg1); + +} +PFNGLGETINTEGER64VPROC glad_debug_glGetInteger64v = glad_debug_impl_glGetInteger64v; PFNGLSCISSORPROC glad_glScissor; +void APIENTRY glad_debug_impl_glScissor(GLint arg0, GLint arg1, GLsizei arg2, GLsizei arg3) { + _pre_call_callback("glScissor", (void*)glScissor, 4, arg0, arg1, arg2, arg3); + glad_glScissor(arg0, arg1, arg2, arg3); + _post_call_callback("glScissor", (void*)glScissor, 4, arg0, arg1, arg2, arg3); + +} +PFNGLSCISSORPROC glad_debug_glScissor = glad_debug_impl_glScissor; PFNGLTEXCOORDP4UIVPROC glad_glTexCoordP4uiv; +void APIENTRY glad_debug_impl_glTexCoordP4uiv(GLenum arg0, const GLuint * arg1) { + _pre_call_callback("glTexCoordP4uiv", (void*)glTexCoordP4uiv, 2, arg0, arg1); + glad_glTexCoordP4uiv(arg0, arg1); + _post_call_callback("glTexCoordP4uiv", (void*)glTexCoordP4uiv, 2, arg0, arg1); + +} +PFNGLTEXCOORDP4UIVPROC glad_debug_glTexCoordP4uiv = glad_debug_impl_glTexCoordP4uiv; PFNGLGETBOOLEANVPROC glad_glGetBooleanv; +void APIENTRY glad_debug_impl_glGetBooleanv(GLenum arg0, GLboolean * arg1) { + _pre_call_callback("glGetBooleanv", (void*)glGetBooleanv, 2, arg0, arg1); + glad_glGetBooleanv(arg0, arg1); + _post_call_callback("glGetBooleanv", (void*)glGetBooleanv, 2, arg0, arg1); + +} +PFNGLGETBOOLEANVPROC glad_debug_glGetBooleanv = glad_debug_impl_glGetBooleanv; PFNGLVERTEXP2UIVPROC glad_glVertexP2uiv; +void APIENTRY glad_debug_impl_glVertexP2uiv(GLenum arg0, const GLuint * arg1) { + _pre_call_callback("glVertexP2uiv", (void*)glVertexP2uiv, 2, arg0, arg1); + glad_glVertexP2uiv(arg0, arg1); + _post_call_callback("glVertexP2uiv", (void*)glVertexP2uiv, 2, arg0, arg1); + +} +PFNGLVERTEXP2UIVPROC glad_debug_glVertexP2uiv = glad_debug_impl_glVertexP2uiv; PFNGLUNIFORM3UIVPROC glad_glUniform3uiv; +void APIENTRY glad_debug_impl_glUniform3uiv(GLint arg0, GLsizei arg1, const GLuint * arg2) { + _pre_call_callback("glUniform3uiv", (void*)glUniform3uiv, 3, arg0, arg1, arg2); + glad_glUniform3uiv(arg0, arg1, arg2); + _post_call_callback("glUniform3uiv", (void*)glUniform3uiv, 3, arg0, arg1, arg2); + +} +PFNGLUNIFORM3UIVPROC glad_debug_glUniform3uiv = glad_debug_impl_glUniform3uiv; PFNGLCLEARCOLORPROC glad_glClearColor; +void APIENTRY glad_debug_impl_glClearColor(GLfloat arg0, GLfloat arg1, GLfloat arg2, GLfloat arg3) { + _pre_call_callback("glClearColor", (void*)glClearColor, 4, arg0, arg1, arg2, arg3); + glad_glClearColor(arg0, arg1, arg2, arg3); + _post_call_callback("glClearColor", (void*)glClearColor, 4, arg0, arg1, arg2, arg3); + +} +PFNGLCLEARCOLORPROC glad_debug_glClearColor = glad_debug_impl_glClearColor; PFNGLVERTEXATTRIB4NIVPROC glad_glVertexAttrib4Niv; +void APIENTRY glad_debug_impl_glVertexAttrib4Niv(GLuint arg0, const GLint * arg1) { + _pre_call_callback("glVertexAttrib4Niv", (void*)glVertexAttrib4Niv, 2, arg0, arg1); + glad_glVertexAttrib4Niv(arg0, arg1); + _post_call_callback("glVertexAttrib4Niv", (void*)glVertexAttrib4Niv, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIB4NIVPROC glad_debug_glVertexAttrib4Niv = glad_debug_impl_glVertexAttrib4Niv; PFNGLCLEARBUFFERIVPROC glad_glClearBufferiv; +void APIENTRY glad_debug_impl_glClearBufferiv(GLenum arg0, GLint arg1, const GLint * arg2) { + _pre_call_callback("glClearBufferiv", (void*)glClearBufferiv, 3, arg0, arg1, arg2); + glad_glClearBufferiv(arg0, arg1, arg2); + _post_call_callback("glClearBufferiv", (void*)glClearBufferiv, 3, arg0, arg1, arg2); + +} +PFNGLCLEARBUFFERIVPROC glad_debug_glClearBufferiv = glad_debug_impl_glClearBufferiv; PFNGLGETBUFFERPARAMETERI64VPROC glad_glGetBufferParameteri64v; +void APIENTRY glad_debug_impl_glGetBufferParameteri64v(GLenum arg0, GLenum arg1, GLint64 * arg2) { + _pre_call_callback("glGetBufferParameteri64v", (void*)glGetBufferParameteri64v, 3, arg0, arg1, arg2); + glad_glGetBufferParameteri64v(arg0, arg1, arg2); + _post_call_callback("glGetBufferParameteri64v", (void*)glGetBufferParameteri64v, 3, arg0, arg1, arg2); + +} +PFNGLGETBUFFERPARAMETERI64VPROC glad_debug_glGetBufferParameteri64v = glad_debug_impl_glGetBufferParameteri64v; PFNGLCOLORP4UIVPROC glad_glColorP4uiv; +void APIENTRY glad_debug_impl_glColorP4uiv(GLenum arg0, const GLuint * arg1) { + _pre_call_callback("glColorP4uiv", (void*)glColorP4uiv, 2, arg0, arg1); + glad_glColorP4uiv(arg0, arg1); + _post_call_callback("glColorP4uiv", (void*)glColorP4uiv, 2, arg0, arg1); + +} +PFNGLCOLORP4UIVPROC glad_debug_glColorP4uiv = glad_debug_impl_glColorP4uiv; PFNGLVERTEXATTRIBI2UIVPROC glad_glVertexAttribI2uiv; +void APIENTRY glad_debug_impl_glVertexAttribI2uiv(GLuint arg0, const GLuint * arg1) { + _pre_call_callback("glVertexAttribI2uiv", (void*)glVertexAttribI2uiv, 2, arg0, arg1); + glad_glVertexAttribI2uiv(arg0, arg1); + _post_call_callback("glVertexAttribI2uiv", (void*)glVertexAttribI2uiv, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIBI2UIVPROC glad_debug_glVertexAttribI2uiv = glad_debug_impl_glVertexAttribI2uiv; PFNGLUNIFORM3UIPROC glad_glUniform3ui; +void APIENTRY glad_debug_impl_glUniform3ui(GLint arg0, GLuint arg1, GLuint arg2, GLuint arg3) { + _pre_call_callback("glUniform3ui", (void*)glUniform3ui, 4, arg0, arg1, arg2, arg3); + glad_glUniform3ui(arg0, arg1, arg2, arg3); + _post_call_callback("glUniform3ui", (void*)glUniform3ui, 4, arg0, arg1, arg2, arg3); + +} +PFNGLUNIFORM3UIPROC glad_debug_glUniform3ui = glad_debug_impl_glUniform3ui; PFNGLVERTEXATTRIBI4UIVPROC glad_glVertexAttribI4uiv; +void APIENTRY glad_debug_impl_glVertexAttribI4uiv(GLuint arg0, const GLuint * arg1) { + _pre_call_callback("glVertexAttribI4uiv", (void*)glVertexAttribI4uiv, 2, arg0, arg1); + glad_glVertexAttribI4uiv(arg0, arg1); + _post_call_callback("glVertexAttribI4uiv", (void*)glVertexAttribI4uiv, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIBI4UIVPROC glad_debug_glVertexAttribI4uiv = glad_debug_impl_glVertexAttribI4uiv; PFNGLPOINTPARAMETERFVPROC glad_glPointParameterfv; +void APIENTRY glad_debug_impl_glPointParameterfv(GLenum arg0, const GLfloat * arg1) { + _pre_call_callback("glPointParameterfv", (void*)glPointParameterfv, 2, arg0, arg1); + glad_glPointParameterfv(arg0, arg1); + _post_call_callback("glPointParameterfv", (void*)glPointParameterfv, 2, arg0, arg1); + +} +PFNGLPOINTPARAMETERFVPROC glad_debug_glPointParameterfv = glad_debug_impl_glPointParameterfv; PFNGLUNIFORM2FVPROC glad_glUniform2fv; +void APIENTRY glad_debug_impl_glUniform2fv(GLint arg0, GLsizei arg1, const GLfloat * arg2) { + _pre_call_callback("glUniform2fv", (void*)glUniform2fv, 3, arg0, arg1, arg2); + glad_glUniform2fv(arg0, arg1, arg2); + _post_call_callback("glUniform2fv", (void*)glUniform2fv, 3, arg0, arg1, arg2); + +} +PFNGLUNIFORM2FVPROC glad_debug_glUniform2fv = glad_debug_impl_glUniform2fv; PFNGLGETSAMPLERPARAMETERIUIVPROC glad_glGetSamplerParameterIuiv; +void APIENTRY glad_debug_impl_glGetSamplerParameterIuiv(GLuint arg0, GLenum arg1, GLuint * arg2) { + _pre_call_callback("glGetSamplerParameterIuiv", (void*)glGetSamplerParameterIuiv, 3, arg0, arg1, arg2); + glad_glGetSamplerParameterIuiv(arg0, arg1, arg2); + _post_call_callback("glGetSamplerParameterIuiv", (void*)glGetSamplerParameterIuiv, 3, arg0, arg1, arg2); + +} +PFNGLGETSAMPLERPARAMETERIUIVPROC glad_debug_glGetSamplerParameterIuiv = glad_debug_impl_glGetSamplerParameterIuiv; PFNGLBINDBUFFERRANGEPROC glad_glBindBufferRange; +void APIENTRY glad_debug_impl_glBindBufferRange(GLenum arg0, GLuint arg1, GLuint arg2, GLintptr arg3, GLsizeiptr arg4) { + _pre_call_callback("glBindBufferRange", (void*)glBindBufferRange, 5, arg0, arg1, arg2, arg3, arg4); + glad_glBindBufferRange(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glBindBufferRange", (void*)glBindBufferRange, 5, arg0, arg1, arg2, arg3, arg4); + +} +PFNGLBINDBUFFERRANGEPROC glad_debug_glBindBufferRange = glad_debug_impl_glBindBufferRange; PFNGLUNIFORMMATRIX2X3FVPROC glad_glUniformMatrix2x3fv; +void APIENTRY glad_debug_impl_glUniformMatrix2x3fv(GLint arg0, GLsizei arg1, GLboolean arg2, const GLfloat * arg3) { + _pre_call_callback("glUniformMatrix2x3fv", (void*)glUniformMatrix2x3fv, 4, arg0, arg1, arg2, arg3); + glad_glUniformMatrix2x3fv(arg0, arg1, arg2, arg3); + _post_call_callback("glUniformMatrix2x3fv", (void*)glUniformMatrix2x3fv, 4, arg0, arg1, arg2, arg3); + +} +PFNGLUNIFORMMATRIX2X3FVPROC glad_debug_glUniformMatrix2x3fv = glad_debug_impl_glUniformMatrix2x3fv; PFNGLGETVERTEXATTRIBIUIVPROC glad_glGetVertexAttribIuiv; +void APIENTRY glad_debug_impl_glGetVertexAttribIuiv(GLuint arg0, GLenum arg1, GLuint * arg2) { + _pre_call_callback("glGetVertexAttribIuiv", (void*)glGetVertexAttribIuiv, 3, arg0, arg1, arg2); + glad_glGetVertexAttribIuiv(arg0, arg1, arg2); + _post_call_callback("glGetVertexAttribIuiv", (void*)glGetVertexAttribIuiv, 3, arg0, arg1, arg2); + +} +PFNGLGETVERTEXATTRIBIUIVPROC glad_debug_glGetVertexAttribIuiv = glad_debug_impl_glGetVertexAttribIuiv; PFNGLVERTEXATTRIB4NUSVPROC glad_glVertexAttrib4Nusv; +void APIENTRY glad_debug_impl_glVertexAttrib4Nusv(GLuint arg0, const GLushort * arg1) { + _pre_call_callback("glVertexAttrib4Nusv", (void*)glVertexAttrib4Nusv, 2, arg0, arg1); + glad_glVertexAttrib4Nusv(arg0, arg1); + _post_call_callback("glVertexAttrib4Nusv", (void*)glVertexAttrib4Nusv, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIB4NUSVPROC glad_debug_glVertexAttrib4Nusv = glad_debug_impl_glVertexAttrib4Nusv; PFNGLDEPTHFUNCPROC glad_glDepthFunc; +void APIENTRY glad_debug_impl_glDepthFunc(GLenum arg0) { + _pre_call_callback("glDepthFunc", (void*)glDepthFunc, 1, arg0); + glad_glDepthFunc(arg0); + _post_call_callback("glDepthFunc", (void*)glDepthFunc, 1, arg0); + +} +PFNGLDEPTHFUNCPROC glad_debug_glDepthFunc = glad_debug_impl_glDepthFunc; PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_glCompressedTexSubImage2D; +void APIENTRY glad_debug_impl_glCompressedTexSubImage2D(GLenum arg0, GLint arg1, GLint arg2, GLint arg3, GLsizei arg4, GLsizei arg5, GLenum arg6, GLsizei arg7, const void * arg8) { + _pre_call_callback("glCompressedTexSubImage2D", (void*)glCompressedTexSubImage2D, 9, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + glad_glCompressedTexSubImage2D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + _post_call_callback("glCompressedTexSubImage2D", (void*)glCompressedTexSubImage2D, 9, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + +} +PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC glad_debug_glCompressedTexSubImage2D = glad_debug_impl_glCompressedTexSubImage2D; PFNGLVERTEXATTRIBI4BVPROC glad_glVertexAttribI4bv; +void APIENTRY glad_debug_impl_glVertexAttribI4bv(GLuint arg0, const GLbyte * arg1) { + _pre_call_callback("glVertexAttribI4bv", (void*)glVertexAttribI4bv, 2, arg0, arg1); + glad_glVertexAttribI4bv(arg0, arg1); + _post_call_callback("glVertexAttribI4bv", (void*)glVertexAttribI4bv, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIBI4BVPROC glad_debug_glVertexAttribI4bv = glad_debug_impl_glVertexAttribI4bv; PFNGLGETTEXPARAMETERFVPROC glad_glGetTexParameterfv; +void APIENTRY glad_debug_impl_glGetTexParameterfv(GLenum arg0, GLenum arg1, GLfloat * arg2) { + _pre_call_callback("glGetTexParameterfv", (void*)glGetTexParameterfv, 3, arg0, arg1, arg2); + glad_glGetTexParameterfv(arg0, arg1, arg2); + _post_call_callback("glGetTexParameterfv", (void*)glGetTexParameterfv, 3, arg0, arg1, arg2); + +} +PFNGLGETTEXPARAMETERFVPROC glad_debug_glGetTexParameterfv = glad_debug_impl_glGetTexParameterfv; PFNGLMULTITEXCOORDP1UIPROC glad_glMultiTexCoordP1ui; +void APIENTRY glad_debug_impl_glMultiTexCoordP1ui(GLenum arg0, GLenum arg1, GLuint arg2) { + _pre_call_callback("glMultiTexCoordP1ui", (void*)glMultiTexCoordP1ui, 3, arg0, arg1, arg2); + glad_glMultiTexCoordP1ui(arg0, arg1, arg2); + _post_call_callback("glMultiTexCoordP1ui", (void*)glMultiTexCoordP1ui, 3, arg0, arg1, arg2); + +} +PFNGLMULTITEXCOORDP1UIPROC glad_debug_glMultiTexCoordP1ui = glad_debug_impl_glMultiTexCoordP1ui; PFNGLCLIENTWAITSYNCPROC glad_glClientWaitSync; +GLenum APIENTRY glad_debug_impl_glClientWaitSync(GLsync arg0, GLbitfield arg1, GLuint64 arg2) { + GLenum ret; + _pre_call_callback("glClientWaitSync", (void*)glClientWaitSync, 3, arg0, arg1, arg2); + ret = glad_glClientWaitSync(arg0, arg1, arg2); + _post_call_callback("glClientWaitSync", (void*)glClientWaitSync, 3, arg0, arg1, arg2); + return ret; +} +PFNGLCLIENTWAITSYNCPROC glad_debug_glClientWaitSync = glad_debug_impl_glClientWaitSync; PFNGLVERTEXATTRIBI4UIPROC glad_glVertexAttribI4ui; +void APIENTRY glad_debug_impl_glVertexAttribI4ui(GLuint arg0, GLuint arg1, GLuint arg2, GLuint arg3, GLuint arg4) { + _pre_call_callback("glVertexAttribI4ui", (void*)glVertexAttribI4ui, 5, arg0, arg1, arg2, arg3, arg4); + glad_glVertexAttribI4ui(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glVertexAttribI4ui", (void*)glVertexAttribI4ui, 5, arg0, arg1, arg2, arg3, arg4); + +} +PFNGLVERTEXATTRIBI4UIPROC glad_debug_glVertexAttribI4ui = glad_debug_impl_glVertexAttribI4ui; PFNGLCOLORMASKPROC glad_glColorMask; +void APIENTRY glad_debug_impl_glColorMask(GLboolean arg0, GLboolean arg1, GLboolean arg2, GLboolean arg3) { + _pre_call_callback("glColorMask", (void*)glColorMask, 4, arg0, arg1, arg2, arg3); + glad_glColorMask(arg0, arg1, arg2, arg3); + _post_call_callback("glColorMask", (void*)glColorMask, 4, arg0, arg1, arg2, arg3); + +} +PFNGLCOLORMASKPROC glad_debug_glColorMask = glad_debug_impl_glColorMask; PFNGLTEXPARAMETERIIVPROC glad_glTexParameterIiv; +void APIENTRY glad_debug_impl_glTexParameterIiv(GLenum arg0, GLenum arg1, const GLint * arg2) { + _pre_call_callback("glTexParameterIiv", (void*)glTexParameterIiv, 3, arg0, arg1, arg2); + glad_glTexParameterIiv(arg0, arg1, arg2); + _post_call_callback("glTexParameterIiv", (void*)glTexParameterIiv, 3, arg0, arg1, arg2); + +} +PFNGLTEXPARAMETERIIVPROC glad_debug_glTexParameterIiv = glad_debug_impl_glTexParameterIiv; PFNGLBLENDEQUATIONPROC glad_glBlendEquation; +void APIENTRY glad_debug_impl_glBlendEquation(GLenum arg0) { + _pre_call_callback("glBlendEquation", (void*)glBlendEquation, 1, arg0); + glad_glBlendEquation(arg0); + _post_call_callback("glBlendEquation", (void*)glBlendEquation, 1, arg0); + +} +PFNGLBLENDEQUATIONPROC glad_debug_glBlendEquation = glad_debug_impl_glBlendEquation; PFNGLGETUNIFORMLOCATIONPROC glad_glGetUniformLocation; +GLint APIENTRY glad_debug_impl_glGetUniformLocation(GLuint arg0, const GLchar * arg1) { + GLint ret; + _pre_call_callback("glGetUniformLocation", (void*)glGetUniformLocation, 2, arg0, arg1); + ret = glad_glGetUniformLocation(arg0, arg1); + _post_call_callback("glGetUniformLocation", (void*)glGetUniformLocation, 2, arg0, arg1); + return ret; +} +PFNGLGETUNIFORMLOCATIONPROC glad_debug_glGetUniformLocation = glad_debug_impl_glGetUniformLocation; PFNGLENDTRANSFORMFEEDBACKPROC glad_glEndTransformFeedback; +void APIENTRY glad_debug_impl_glEndTransformFeedback() { + _pre_call_callback("glEndTransformFeedback", (void*)glEndTransformFeedback, 0); + glad_glEndTransformFeedback(); + _post_call_callback("glEndTransformFeedback", (void*)glEndTransformFeedback, 0); + +} +PFNGLENDTRANSFORMFEEDBACKPROC glad_debug_glEndTransformFeedback = glad_debug_impl_glEndTransformFeedback; PFNGLVERTEXATTRIB4USVPROC glad_glVertexAttrib4usv; +void APIENTRY glad_debug_impl_glVertexAttrib4usv(GLuint arg0, const GLushort * arg1) { + _pre_call_callback("glVertexAttrib4usv", (void*)glVertexAttrib4usv, 2, arg0, arg1); + glad_glVertexAttrib4usv(arg0, arg1); + _post_call_callback("glVertexAttrib4usv", (void*)glVertexAttrib4usv, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIB4USVPROC glad_debug_glVertexAttrib4usv = glad_debug_impl_glVertexAttrib4usv; PFNGLUNIFORM4FVPROC glad_glUniform4fv; +void APIENTRY glad_debug_impl_glUniform4fv(GLint arg0, GLsizei arg1, const GLfloat * arg2) { + _pre_call_callback("glUniform4fv", (void*)glUniform4fv, 3, arg0, arg1, arg2); + glad_glUniform4fv(arg0, arg1, arg2); + _post_call_callback("glUniform4fv", (void*)glUniform4fv, 3, arg0, arg1, arg2); + +} +PFNGLUNIFORM4FVPROC glad_debug_glUniform4fv = glad_debug_impl_glUniform4fv; PFNGLBEGINTRANSFORMFEEDBACKPROC glad_glBeginTransformFeedback; +void APIENTRY glad_debug_impl_glBeginTransformFeedback(GLenum arg0) { + _pre_call_callback("glBeginTransformFeedback", (void*)glBeginTransformFeedback, 1, arg0); + glad_glBeginTransformFeedback(arg0); + _post_call_callback("glBeginTransformFeedback", (void*)glBeginTransformFeedback, 1, arg0); + +} +PFNGLBEGINTRANSFORMFEEDBACKPROC glad_debug_glBeginTransformFeedback = glad_debug_impl_glBeginTransformFeedback; PFNGLVERTEXATTRIBI1IVPROC glad_glVertexAttribI1iv; +void APIENTRY glad_debug_impl_glVertexAttribI1iv(GLuint arg0, const GLint * arg1) { + _pre_call_callback("glVertexAttribI1iv", (void*)glVertexAttribI1iv, 2, arg0, arg1); + glad_glVertexAttribI1iv(arg0, arg1); + _post_call_callback("glVertexAttribI1iv", (void*)glVertexAttribI1iv, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIBI1IVPROC glad_debug_glVertexAttribI1iv = glad_debug_impl_glVertexAttribI1iv; PFNGLISSAMPLERPROC glad_glIsSampler; +GLboolean APIENTRY glad_debug_impl_glIsSampler(GLuint arg0) { + GLboolean ret; + _pre_call_callback("glIsSampler", (void*)glIsSampler, 1, arg0); + ret = glad_glIsSampler(arg0); + _post_call_callback("glIsSampler", (void*)glIsSampler, 1, arg0); + return ret; +} +PFNGLISSAMPLERPROC glad_debug_glIsSampler = glad_debug_impl_glIsSampler; PFNGLVERTEXP3UIPROC glad_glVertexP3ui; +void APIENTRY glad_debug_impl_glVertexP3ui(GLenum arg0, GLuint arg1) { + _pre_call_callback("glVertexP3ui", (void*)glVertexP3ui, 2, arg0, arg1); + glad_glVertexP3ui(arg0, arg1); + _post_call_callback("glVertexP3ui", (void*)glVertexP3ui, 2, arg0, arg1); + +} +PFNGLVERTEXP3UIPROC glad_debug_glVertexP3ui = glad_debug_impl_glVertexP3ui; PFNGLVERTEXATTRIBDIVISORPROC glad_glVertexAttribDivisor; +void APIENTRY glad_debug_impl_glVertexAttribDivisor(GLuint arg0, GLuint arg1) { + _pre_call_callback("glVertexAttribDivisor", (void*)glVertexAttribDivisor, 2, arg0, arg1); + glad_glVertexAttribDivisor(arg0, arg1); + _post_call_callback("glVertexAttribDivisor", (void*)glVertexAttribDivisor, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIBDIVISORPROC glad_debug_glVertexAttribDivisor = glad_debug_impl_glVertexAttribDivisor; PFNGLCOMPRESSEDTEXIMAGE1DPROC glad_glCompressedTexImage1D; +void APIENTRY glad_debug_impl_glCompressedTexImage1D(GLenum arg0, GLint arg1, GLenum arg2, GLsizei arg3, GLint arg4, GLsizei arg5, const void * arg6) { + _pre_call_callback("glCompressedTexImage1D", (void*)glCompressedTexImage1D, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6); + glad_glCompressedTexImage1D(arg0, arg1, arg2, arg3, arg4, arg5, arg6); + _post_call_callback("glCompressedTexImage1D", (void*)glCompressedTexImage1D, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6); + +} +PFNGLCOMPRESSEDTEXIMAGE1DPROC glad_debug_glCompressedTexImage1D = glad_debug_impl_glCompressedTexImage1D; PFNGLCOPYTEXSUBIMAGE1DPROC glad_glCopyTexSubImage1D; +void APIENTRY glad_debug_impl_glCopyTexSubImage1D(GLenum arg0, GLint arg1, GLint arg2, GLint arg3, GLint arg4, GLsizei arg5) { + _pre_call_callback("glCopyTexSubImage1D", (void*)glCopyTexSubImage1D, 6, arg0, arg1, arg2, arg3, arg4, arg5); + glad_glCopyTexSubImage1D(arg0, arg1, arg2, arg3, arg4, arg5); + _post_call_callback("glCopyTexSubImage1D", (void*)glCopyTexSubImage1D, 6, arg0, arg1, arg2, arg3, arg4, arg5); + +} +PFNGLCOPYTEXSUBIMAGE1DPROC glad_debug_glCopyTexSubImage1D = glad_debug_impl_glCopyTexSubImage1D; PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glad_glDrawRangeElementsBaseVertex; +void APIENTRY glad_debug_impl_glDrawRangeElementsBaseVertex(GLenum arg0, GLuint arg1, GLuint arg2, GLsizei arg3, GLenum arg4, const void * arg5, GLint arg6) { + _pre_call_callback("glDrawRangeElementsBaseVertex", (void*)glDrawRangeElementsBaseVertex, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6); + glad_glDrawRangeElementsBaseVertex(arg0, arg1, arg2, arg3, arg4, arg5, arg6); + _post_call_callback("glDrawRangeElementsBaseVertex", (void*)glDrawRangeElementsBaseVertex, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6); + +} +PFNGLDRAWRANGEELEMENTSBASEVERTEXPROC glad_debug_glDrawRangeElementsBaseVertex = glad_debug_impl_glDrawRangeElementsBaseVertex; PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_glCheckFramebufferStatus; +GLenum APIENTRY glad_debug_impl_glCheckFramebufferStatus(GLenum arg0) { + GLenum ret; + _pre_call_callback("glCheckFramebufferStatus", (void*)glCheckFramebufferStatus, 1, arg0); + ret = glad_glCheckFramebufferStatus(arg0); + _post_call_callback("glCheckFramebufferStatus", (void*)glCheckFramebufferStatus, 1, arg0); + return ret; +} +PFNGLCHECKFRAMEBUFFERSTATUSPROC glad_debug_glCheckFramebufferStatus = glad_debug_impl_glCheckFramebufferStatus; PFNGLENDCONDITIONALRENDERPROC glad_glEndConditionalRender; +void APIENTRY glad_debug_impl_glEndConditionalRender() { + _pre_call_callback("glEndConditionalRender", (void*)glEndConditionalRender, 0); + glad_glEndConditionalRender(); + _post_call_callback("glEndConditionalRender", (void*)glEndConditionalRender, 0); + +} +PFNGLENDCONDITIONALRENDERPROC glad_debug_glEndConditionalRender = glad_debug_impl_glEndConditionalRender; PFNGLVERTEXP3UIVPROC glad_glVertexP3uiv; +void APIENTRY glad_debug_impl_glVertexP3uiv(GLenum arg0, const GLuint * arg1) { + _pre_call_callback("glVertexP3uiv", (void*)glVertexP3uiv, 2, arg0, arg1); + glad_glVertexP3uiv(arg0, arg1); + _post_call_callback("glVertexP3uiv", (void*)glVertexP3uiv, 2, arg0, arg1); + +} +PFNGLVERTEXP3UIVPROC glad_debug_glVertexP3uiv = glad_debug_impl_glVertexP3uiv; PFNGLBINDATTRIBLOCATIONPROC glad_glBindAttribLocation; +void APIENTRY glad_debug_impl_glBindAttribLocation(GLuint arg0, GLuint arg1, const GLchar * arg2) { + _pre_call_callback("glBindAttribLocation", (void*)glBindAttribLocation, 3, arg0, arg1, arg2); + glad_glBindAttribLocation(arg0, arg1, arg2); + _post_call_callback("glBindAttribLocation", (void*)glBindAttribLocation, 3, arg0, arg1, arg2); + +} +PFNGLBINDATTRIBLOCATIONPROC glad_debug_glBindAttribLocation = glad_debug_impl_glBindAttribLocation; PFNGLUNIFORMMATRIX4X2FVPROC glad_glUniformMatrix4x2fv; +void APIENTRY glad_debug_impl_glUniformMatrix4x2fv(GLint arg0, GLsizei arg1, GLboolean arg2, const GLfloat * arg3) { + _pre_call_callback("glUniformMatrix4x2fv", (void*)glUniformMatrix4x2fv, 4, arg0, arg1, arg2, arg3); + glad_glUniformMatrix4x2fv(arg0, arg1, arg2, arg3); + _post_call_callback("glUniformMatrix4x2fv", (void*)glUniformMatrix4x2fv, 4, arg0, arg1, arg2, arg3); + +} +PFNGLUNIFORMMATRIX4X2FVPROC glad_debug_glUniformMatrix4x2fv = glad_debug_impl_glUniformMatrix4x2fv; PFNGLVERTEXATTRIB1DVPROC glad_glVertexAttrib1dv; +void APIENTRY glad_debug_impl_glVertexAttrib1dv(GLuint arg0, const GLdouble * arg1) { + _pre_call_callback("glVertexAttrib1dv", (void*)glVertexAttrib1dv, 2, arg0, arg1); + glad_glVertexAttrib1dv(arg0, arg1); + _post_call_callback("glVertexAttrib1dv", (void*)glVertexAttrib1dv, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIB1DVPROC glad_debug_glVertexAttrib1dv = glad_debug_impl_glVertexAttrib1dv; PFNGLDRAWRANGEELEMENTSPROC glad_glDrawRangeElements; +void APIENTRY glad_debug_impl_glDrawRangeElements(GLenum arg0, GLuint arg1, GLuint arg2, GLsizei arg3, GLenum arg4, const void * arg5) { + _pre_call_callback("glDrawRangeElements", (void*)glDrawRangeElements, 6, arg0, arg1, arg2, arg3, arg4, arg5); + glad_glDrawRangeElements(arg0, arg1, arg2, arg3, arg4, arg5); + _post_call_callback("glDrawRangeElements", (void*)glDrawRangeElements, 6, arg0, arg1, arg2, arg3, arg4, arg5); + +} +PFNGLDRAWRANGEELEMENTSPROC glad_debug_glDrawRangeElements = glad_debug_impl_glDrawRangeElements; PFNGLGETQUERYOBJECTUIVPROC glad_glGetQueryObjectuiv; +void APIENTRY glad_debug_impl_glGetQueryObjectuiv(GLuint arg0, GLenum arg1, GLuint * arg2) { + _pre_call_callback("glGetQueryObjectuiv", (void*)glGetQueryObjectuiv, 3, arg0, arg1, arg2); + glad_glGetQueryObjectuiv(arg0, arg1, arg2); + _post_call_callback("glGetQueryObjectuiv", (void*)glGetQueryObjectuiv, 3, arg0, arg1, arg2); + +} +PFNGLGETQUERYOBJECTUIVPROC glad_debug_glGetQueryObjectuiv = glad_debug_impl_glGetQueryObjectuiv; PFNGLBINDBUFFERBASEPROC glad_glBindBufferBase; +void APIENTRY glad_debug_impl_glBindBufferBase(GLenum arg0, GLuint arg1, GLuint arg2) { + _pre_call_callback("glBindBufferBase", (void*)glBindBufferBase, 3, arg0, arg1, arg2); + glad_glBindBufferBase(arg0, arg1, arg2); + _post_call_callback("glBindBufferBase", (void*)glBindBufferBase, 3, arg0, arg1, arg2); + +} +PFNGLBINDBUFFERBASEPROC glad_debug_glBindBufferBase = glad_debug_impl_glBindBufferBase; PFNGLBUFFERSUBDATAPROC glad_glBufferSubData; +void APIENTRY glad_debug_impl_glBufferSubData(GLenum arg0, GLintptr arg1, GLsizeiptr arg2, const void * arg3) { + _pre_call_callback("glBufferSubData", (void*)glBufferSubData, 4, arg0, arg1, arg2, arg3); + glad_glBufferSubData(arg0, arg1, arg2, arg3); + _post_call_callback("glBufferSubData", (void*)glBufferSubData, 4, arg0, arg1, arg2, arg3); + +} +PFNGLBUFFERSUBDATAPROC glad_debug_glBufferSubData = glad_debug_impl_glBufferSubData; PFNGLVERTEXATTRIB4IVPROC glad_glVertexAttrib4iv; +void APIENTRY glad_debug_impl_glVertexAttrib4iv(GLuint arg0, const GLint * arg1) { + _pre_call_callback("glVertexAttrib4iv", (void*)glVertexAttrib4iv, 2, arg0, arg1); + glad_glVertexAttrib4iv(arg0, arg1); + _post_call_callback("glVertexAttrib4iv", (void*)glVertexAttrib4iv, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIB4IVPROC glad_debug_glVertexAttrib4iv = glad_debug_impl_glVertexAttrib4iv; PFNGLMAPBUFFERRANGEPROC glad_glMapBufferRange; +void * APIENTRY glad_debug_impl_glMapBufferRange(GLenum arg0, GLintptr arg1, GLsizeiptr arg2, GLbitfield arg3) { + void * ret; + _pre_call_callback("glMapBufferRange", (void*)glMapBufferRange, 4, arg0, arg1, arg2, arg3); + ret = glad_glMapBufferRange(arg0, arg1, arg2, arg3); + _post_call_callback("glMapBufferRange", (void*)glMapBufferRange, 4, arg0, arg1, arg2, arg3); + return ret; +} +PFNGLMAPBUFFERRANGEPROC glad_debug_glMapBufferRange = glad_debug_impl_glMapBufferRange; PFNGLFRAMEBUFFERTEXTUREPROC glad_glFramebufferTexture; +void APIENTRY glad_debug_impl_glFramebufferTexture(GLenum arg0, GLenum arg1, GLuint arg2, GLint arg3) { + _pre_call_callback("glFramebufferTexture", (void*)glFramebufferTexture, 4, arg0, arg1, arg2, arg3); + glad_glFramebufferTexture(arg0, arg1, arg2, arg3); + _post_call_callback("glFramebufferTexture", (void*)glFramebufferTexture, 4, arg0, arg1, arg2, arg3); + +} +PFNGLFRAMEBUFFERTEXTUREPROC glad_debug_glFramebufferTexture = glad_debug_impl_glFramebufferTexture; PFNGLMULTIDRAWARRAYSPROC glad_glMultiDrawArrays; +void APIENTRY glad_debug_impl_glMultiDrawArrays(GLenum arg0, const GLint * arg1, const GLsizei * arg2, GLsizei arg3) { + _pre_call_callback("glMultiDrawArrays", (void*)glMultiDrawArrays, 4, arg0, arg1, arg2, arg3); + glad_glMultiDrawArrays(arg0, arg1, arg2, arg3); + _post_call_callback("glMultiDrawArrays", (void*)glMultiDrawArrays, 4, arg0, arg1, arg2, arg3); + +} +PFNGLMULTIDRAWARRAYSPROC glad_debug_glMultiDrawArrays = glad_debug_impl_glMultiDrawArrays; PFNGLVERTEXP4UIVPROC glad_glVertexP4uiv; +void APIENTRY glad_debug_impl_glVertexP4uiv(GLenum arg0, const GLuint * arg1) { + _pre_call_callback("glVertexP4uiv", (void*)glVertexP4uiv, 2, arg0, arg1); + glad_glVertexP4uiv(arg0, arg1); + _post_call_callback("glVertexP4uiv", (void*)glVertexP4uiv, 2, arg0, arg1); + +} +PFNGLVERTEXP4UIVPROC glad_debug_glVertexP4uiv = glad_debug_impl_glVertexP4uiv; PFNGLVERTEXATTRIBI2IVPROC glad_glVertexAttribI2iv; +void APIENTRY glad_debug_impl_glVertexAttribI2iv(GLuint arg0, const GLint * arg1) { + _pre_call_callback("glVertexAttribI2iv", (void*)glVertexAttribI2iv, 2, arg0, arg1); + glad_glVertexAttribI2iv(arg0, arg1); + _post_call_callback("glVertexAttribI2iv", (void*)glVertexAttribI2iv, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIBI2IVPROC glad_debug_glVertexAttribI2iv = glad_debug_impl_glVertexAttribI2iv; PFNGLDISABLEIPROC glad_glDisablei; +void APIENTRY glad_debug_impl_glDisablei(GLenum arg0, GLuint arg1) { + _pre_call_callback("glDisablei", (void*)glDisablei, 2, arg0, arg1); + glad_glDisablei(arg0, arg1); + _post_call_callback("glDisablei", (void*)glDisablei, 2, arg0, arg1); + +} +PFNGLDISABLEIPROC glad_debug_glDisablei = glad_debug_impl_glDisablei; PFNGLSHADERSOURCEPROC glad_glShaderSource; +void APIENTRY glad_debug_impl_glShaderSource(GLuint arg0, GLsizei arg1, const GLchar *const* arg2, const GLint * arg3) { + _pre_call_callback("glShaderSource", (void*)glShaderSource, 4, arg0, arg1, arg2, arg3); + glad_glShaderSource(arg0, arg1, arg2, arg3); + _post_call_callback("glShaderSource", (void*)glShaderSource, 4, arg0, arg1, arg2, arg3); + +} +PFNGLSHADERSOURCEPROC glad_debug_glShaderSource = glad_debug_impl_glShaderSource; PFNGLDELETERENDERBUFFERSPROC glad_glDeleteRenderbuffers; +void APIENTRY glad_debug_impl_glDeleteRenderbuffers(GLsizei arg0, const GLuint * arg1) { + _pre_call_callback("glDeleteRenderbuffers", (void*)glDeleteRenderbuffers, 2, arg0, arg1); + glad_glDeleteRenderbuffers(arg0, arg1); + _post_call_callback("glDeleteRenderbuffers", (void*)glDeleteRenderbuffers, 2, arg0, arg1); + +} +PFNGLDELETERENDERBUFFERSPROC glad_debug_glDeleteRenderbuffers = glad_debug_impl_glDeleteRenderbuffers; PFNGLVERTEXATTRIBI3UIVPROC glad_glVertexAttribI3uiv; +void APIENTRY glad_debug_impl_glVertexAttribI3uiv(GLuint arg0, const GLuint * arg1) { + _pre_call_callback("glVertexAttribI3uiv", (void*)glVertexAttribI3uiv, 2, arg0, arg1); + glad_glVertexAttribI3uiv(arg0, arg1); + _post_call_callback("glVertexAttribI3uiv", (void*)glVertexAttribI3uiv, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIBI3UIVPROC glad_debug_glVertexAttribI3uiv = glad_debug_impl_glVertexAttribI3uiv; PFNGLGETSYNCIVPROC glad_glGetSynciv; +void APIENTRY glad_debug_impl_glGetSynciv(GLsync arg0, GLenum arg1, GLsizei arg2, GLsizei * arg3, GLint * arg4) { + _pre_call_callback("glGetSynciv", (void*)glGetSynciv, 5, arg0, arg1, arg2, arg3, arg4); + glad_glGetSynciv(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glGetSynciv", (void*)glGetSynciv, 5, arg0, arg1, arg2, arg3, arg4); + +} +PFNGLGETSYNCIVPROC glad_debug_glGetSynciv = glad_debug_impl_glGetSynciv; PFNGLTEXCOORDP2UIVPROC glad_glTexCoordP2uiv; +void APIENTRY glad_debug_impl_glTexCoordP2uiv(GLenum arg0, const GLuint * arg1) { + _pre_call_callback("glTexCoordP2uiv", (void*)glTexCoordP2uiv, 2, arg0, arg1); + glad_glTexCoordP2uiv(arg0, arg1); + _post_call_callback("glTexCoordP2uiv", (void*)glTexCoordP2uiv, 2, arg0, arg1); + +} +PFNGLTEXCOORDP2UIVPROC glad_debug_glTexCoordP2uiv = glad_debug_impl_glTexCoordP2uiv; PFNGLBEGINQUERYPROC glad_glBeginQuery; +void APIENTRY glad_debug_impl_glBeginQuery(GLenum arg0, GLuint arg1) { + _pre_call_callback("glBeginQuery", (void*)glBeginQuery, 2, arg0, arg1); + glad_glBeginQuery(arg0, arg1); + _post_call_callback("glBeginQuery", (void*)glBeginQuery, 2, arg0, arg1); + +} +PFNGLBEGINQUERYPROC glad_debug_glBeginQuery = glad_debug_impl_glBeginQuery; PFNGLUNIFORMMATRIX4FVPROC glad_glUniformMatrix4fv; +void APIENTRY glad_debug_impl_glUniformMatrix4fv(GLint arg0, GLsizei arg1, GLboolean arg2, const GLfloat * arg3) { + _pre_call_callback("glUniformMatrix4fv", (void*)glUniformMatrix4fv, 4, arg0, arg1, arg2, arg3); + glad_glUniformMatrix4fv(arg0, arg1, arg2, arg3); + _post_call_callback("glUniformMatrix4fv", (void*)glUniformMatrix4fv, 4, arg0, arg1, arg2, arg3); + +} +PFNGLUNIFORMMATRIX4FVPROC glad_debug_glUniformMatrix4fv = glad_debug_impl_glUniformMatrix4fv; PFNGLBINDBUFFERPROC glad_glBindBuffer; +void APIENTRY glad_debug_impl_glBindBuffer(GLenum arg0, GLuint arg1) { + _pre_call_callback("glBindBuffer", (void*)glBindBuffer, 2, arg0, arg1); + glad_glBindBuffer(arg0, arg1); + _post_call_callback("glBindBuffer", (void*)glBindBuffer, 2, arg0, arg1); + +} +PFNGLBINDBUFFERPROC glad_debug_glBindBuffer = glad_debug_impl_glBindBuffer; PFNGLUNIFORMMATRIX2FVPROC glad_glUniformMatrix2fv; +void APIENTRY glad_debug_impl_glUniformMatrix2fv(GLint arg0, GLsizei arg1, GLboolean arg2, const GLfloat * arg3) { + _pre_call_callback("glUniformMatrix2fv", (void*)glUniformMatrix2fv, 4, arg0, arg1, arg2, arg3); + glad_glUniformMatrix2fv(arg0, arg1, arg2, arg3); + _post_call_callback("glUniformMatrix2fv", (void*)glUniformMatrix2fv, 4, arg0, arg1, arg2, arg3); + +} +PFNGLUNIFORMMATRIX2FVPROC glad_debug_glUniformMatrix2fv = glad_debug_impl_glUniformMatrix2fv; PFNGLUNIFORMMATRIX2X4FVPROC glad_glUniformMatrix2x4fv; +void APIENTRY glad_debug_impl_glUniformMatrix2x4fv(GLint arg0, GLsizei arg1, GLboolean arg2, const GLfloat * arg3) { + _pre_call_callback("glUniformMatrix2x4fv", (void*)glUniformMatrix2x4fv, 4, arg0, arg1, arg2, arg3); + glad_glUniformMatrix2x4fv(arg0, arg1, arg2, arg3); + _post_call_callback("glUniformMatrix2x4fv", (void*)glUniformMatrix2x4fv, 4, arg0, arg1, arg2, arg3); + +} +PFNGLUNIFORMMATRIX2X4FVPROC glad_debug_glUniformMatrix2x4fv = glad_debug_impl_glUniformMatrix2x4fv; PFNGLBUFFERDATAPROC glad_glBufferData; +void APIENTRY glad_debug_impl_glBufferData(GLenum arg0, GLsizeiptr arg1, const void * arg2, GLenum arg3) { + _pre_call_callback("glBufferData", (void*)glBufferData, 4, arg0, arg1, arg2, arg3); + glad_glBufferData(arg0, arg1, arg2, arg3); + _post_call_callback("glBufferData", (void*)glBufferData, 4, arg0, arg1, arg2, arg3); + +} +PFNGLBUFFERDATAPROC glad_debug_glBufferData = glad_debug_impl_glBufferData; PFNGLGETTEXPARAMETERIIVPROC glad_glGetTexParameterIiv; +void APIENTRY glad_debug_impl_glGetTexParameterIiv(GLenum arg0, GLenum arg1, GLint * arg2) { + _pre_call_callback("glGetTexParameterIiv", (void*)glGetTexParameterIiv, 3, arg0, arg1, arg2); + glad_glGetTexParameterIiv(arg0, arg1, arg2); + _post_call_callback("glGetTexParameterIiv", (void*)glGetTexParameterIiv, 3, arg0, arg1, arg2); + +} +PFNGLGETTEXPARAMETERIIVPROC glad_debug_glGetTexParameterIiv = glad_debug_impl_glGetTexParameterIiv; PFNGLTEXCOORDP1UIPROC glad_glTexCoordP1ui; +void APIENTRY glad_debug_impl_glTexCoordP1ui(GLenum arg0, GLuint arg1) { + _pre_call_callback("glTexCoordP1ui", (void*)glTexCoordP1ui, 2, arg0, arg1); + glad_glTexCoordP1ui(arg0, arg1); + _post_call_callback("glTexCoordP1ui", (void*)glTexCoordP1ui, 2, arg0, arg1); + +} +PFNGLTEXCOORDP1UIPROC glad_debug_glTexCoordP1ui = glad_debug_impl_glTexCoordP1ui; PFNGLGETERRORPROC glad_glGetError; +GLenum APIENTRY glad_debug_impl_glGetError() { + GLenum ret; + _pre_call_callback("glGetError", (void*)glGetError, 0); + ret = glad_glGetError(); + _post_call_callback("glGetError", (void*)glGetError, 0); + return ret; +} +PFNGLGETERRORPROC glad_debug_glGetError = glad_debug_impl_glGetError; PFNGLVERTEXATTRIBP2UIPROC glad_glVertexAttribP2ui; +void APIENTRY glad_debug_impl_glVertexAttribP2ui(GLuint arg0, GLenum arg1, GLboolean arg2, GLuint arg3) { + _pre_call_callback("glVertexAttribP2ui", (void*)glVertexAttribP2ui, 4, arg0, arg1, arg2, arg3); + glad_glVertexAttribP2ui(arg0, arg1, arg2, arg3); + _post_call_callback("glVertexAttribP2ui", (void*)glVertexAttribP2ui, 4, arg0, arg1, arg2, arg3); + +} +PFNGLVERTEXATTRIBP2UIPROC glad_debug_glVertexAttribP2ui = glad_debug_impl_glVertexAttribP2ui; PFNGLGETFLOATVPROC glad_glGetFloatv; +void APIENTRY glad_debug_impl_glGetFloatv(GLenum arg0, GLfloat * arg1) { + _pre_call_callback("glGetFloatv", (void*)glGetFloatv, 2, arg0, arg1); + glad_glGetFloatv(arg0, arg1); + _post_call_callback("glGetFloatv", (void*)glGetFloatv, 2, arg0, arg1); + +} +PFNGLGETFLOATVPROC glad_debug_glGetFloatv = glad_debug_impl_glGetFloatv; PFNGLTEXSUBIMAGE1DPROC glad_glTexSubImage1D; +void APIENTRY glad_debug_impl_glTexSubImage1D(GLenum arg0, GLint arg1, GLint arg2, GLsizei arg3, GLenum arg4, GLenum arg5, const void * arg6) { + _pre_call_callback("glTexSubImage1D", (void*)glTexSubImage1D, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6); + glad_glTexSubImage1D(arg0, arg1, arg2, arg3, arg4, arg5, arg6); + _post_call_callback("glTexSubImage1D", (void*)glTexSubImage1D, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6); + +} +PFNGLTEXSUBIMAGE1DPROC glad_debug_glTexSubImage1D = glad_debug_impl_glTexSubImage1D; PFNGLVERTEXATTRIB2FVPROC glad_glVertexAttrib2fv; +void APIENTRY glad_debug_impl_glVertexAttrib2fv(GLuint arg0, const GLfloat * arg1) { + _pre_call_callback("glVertexAttrib2fv", (void*)glVertexAttrib2fv, 2, arg0, arg1); + glad_glVertexAttrib2fv(arg0, arg1); + _post_call_callback("glVertexAttrib2fv", (void*)glVertexAttrib2fv, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIB2FVPROC glad_debug_glVertexAttrib2fv = glad_debug_impl_glVertexAttrib2fv; PFNGLGETTEXLEVELPARAMETERFVPROC glad_glGetTexLevelParameterfv; +void APIENTRY glad_debug_impl_glGetTexLevelParameterfv(GLenum arg0, GLint arg1, GLenum arg2, GLfloat * arg3) { + _pre_call_callback("glGetTexLevelParameterfv", (void*)glGetTexLevelParameterfv, 4, arg0, arg1, arg2, arg3); + glad_glGetTexLevelParameterfv(arg0, arg1, arg2, arg3); + _post_call_callback("glGetTexLevelParameterfv", (void*)glGetTexLevelParameterfv, 4, arg0, arg1, arg2, arg3); + +} +PFNGLGETTEXLEVELPARAMETERFVPROC glad_debug_glGetTexLevelParameterfv = glad_debug_impl_glGetTexLevelParameterfv; PFNGLVERTEXATTRIBI1IPROC glad_glVertexAttribI1i; +void APIENTRY glad_debug_impl_glVertexAttribI1i(GLuint arg0, GLint arg1) { + _pre_call_callback("glVertexAttribI1i", (void*)glVertexAttribI1i, 2, arg0, arg1); + glad_glVertexAttribI1i(arg0, arg1); + _post_call_callback("glVertexAttribI1i", (void*)glVertexAttribI1i, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIBI1IPROC glad_debug_glVertexAttribI1i = glad_debug_impl_glVertexAttribI1i; PFNGLVERTEXATTRIBP3UIVPROC glad_glVertexAttribP3uiv; +void APIENTRY glad_debug_impl_glVertexAttribP3uiv(GLuint arg0, GLenum arg1, GLboolean arg2, const GLuint * arg3) { + _pre_call_callback("glVertexAttribP3uiv", (void*)glVertexAttribP3uiv, 4, arg0, arg1, arg2, arg3); + glad_glVertexAttribP3uiv(arg0, arg1, arg2, arg3); + _post_call_callback("glVertexAttribP3uiv", (void*)glVertexAttribP3uiv, 4, arg0, arg1, arg2, arg3); + +} +PFNGLVERTEXATTRIBP3UIVPROC glad_debug_glVertexAttribP3uiv = glad_debug_impl_glVertexAttribP3uiv; PFNGLSECONDARYCOLORP3UIVPROC glad_glSecondaryColorP3uiv; +void APIENTRY glad_debug_impl_glSecondaryColorP3uiv(GLenum arg0, const GLuint * arg1) { + _pre_call_callback("glSecondaryColorP3uiv", (void*)glSecondaryColorP3uiv, 2, arg0, arg1); + glad_glSecondaryColorP3uiv(arg0, arg1); + _post_call_callback("glSecondaryColorP3uiv", (void*)glSecondaryColorP3uiv, 2, arg0, arg1); + +} +PFNGLSECONDARYCOLORP3UIVPROC glad_debug_glSecondaryColorP3uiv = glad_debug_impl_glSecondaryColorP3uiv; PFNGLGETINTEGERVPROC glad_glGetIntegerv; +void APIENTRY glad_debug_impl_glGetIntegerv(GLenum arg0, GLint * arg1) { + _pre_call_callback("glGetIntegerv", (void*)glGetIntegerv, 2, arg0, arg1); + glad_glGetIntegerv(arg0, arg1); + _post_call_callback("glGetIntegerv", (void*)glGetIntegerv, 2, arg0, arg1); + +} +PFNGLGETINTEGERVPROC glad_debug_glGetIntegerv = glad_debug_impl_glGetIntegerv; PFNGLGETBUFFERPOINTERVPROC glad_glGetBufferPointerv; +void APIENTRY glad_debug_impl_glGetBufferPointerv(GLenum arg0, GLenum arg1, void ** arg2) { + _pre_call_callback("glGetBufferPointerv", (void*)glGetBufferPointerv, 3, arg0, arg1, arg2); + glad_glGetBufferPointerv(arg0, arg1, arg2); + _post_call_callback("glGetBufferPointerv", (void*)glGetBufferPointerv, 3, arg0, arg1, arg2); + +} +PFNGLGETBUFFERPOINTERVPROC glad_debug_glGetBufferPointerv = glad_debug_impl_glGetBufferPointerv; PFNGLFRAMEBUFFERTEXTURE3DPROC glad_glFramebufferTexture3D; +void APIENTRY glad_debug_impl_glFramebufferTexture3D(GLenum arg0, GLenum arg1, GLenum arg2, GLuint arg3, GLint arg4, GLint arg5) { + _pre_call_callback("glFramebufferTexture3D", (void*)glFramebufferTexture3D, 6, arg0, arg1, arg2, arg3, arg4, arg5); + glad_glFramebufferTexture3D(arg0, arg1, arg2, arg3, arg4, arg5); + _post_call_callback("glFramebufferTexture3D", (void*)glFramebufferTexture3D, 6, arg0, arg1, arg2, arg3, arg4, arg5); + +} +PFNGLFRAMEBUFFERTEXTURE3DPROC glad_debug_glFramebufferTexture3D = glad_debug_impl_glFramebufferTexture3D; PFNGLISQUERYPROC glad_glIsQuery; +GLboolean APIENTRY glad_debug_impl_glIsQuery(GLuint arg0) { + GLboolean ret; + _pre_call_callback("glIsQuery", (void*)glIsQuery, 1, arg0); + ret = glad_glIsQuery(arg0); + _post_call_callback("glIsQuery", (void*)glIsQuery, 1, arg0); + return ret; +} +PFNGLISQUERYPROC glad_debug_glIsQuery = glad_debug_impl_glIsQuery; PFNGLVERTEXATTRIB4SVPROC glad_glVertexAttrib4sv; +void APIENTRY glad_debug_impl_glVertexAttrib4sv(GLuint arg0, const GLshort * arg1) { + _pre_call_callback("glVertexAttrib4sv", (void*)glVertexAttrib4sv, 2, arg0, arg1); + glad_glVertexAttrib4sv(arg0, arg1); + _post_call_callback("glVertexAttrib4sv", (void*)glVertexAttrib4sv, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIB4SVPROC glad_debug_glVertexAttrib4sv = glad_debug_impl_glVertexAttrib4sv; PFNGLTEXIMAGE2DPROC glad_glTexImage2D; +void APIENTRY glad_debug_impl_glTexImage2D(GLenum arg0, GLint arg1, GLint arg2, GLsizei arg3, GLsizei arg4, GLint arg5, GLenum arg6, GLenum arg7, const void * arg8) { + _pre_call_callback("glTexImage2D", (void*)glTexImage2D, 9, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + glad_glTexImage2D(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + _post_call_callback("glTexImage2D", (void*)glTexImage2D, 9, arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8); + +} +PFNGLTEXIMAGE2DPROC glad_debug_glTexImage2D = glad_debug_impl_glTexImage2D; PFNGLSTENCILMASKPROC glad_glStencilMask; +void APIENTRY glad_debug_impl_glStencilMask(GLuint arg0) { + _pre_call_callback("glStencilMask", (void*)glStencilMask, 1, arg0); + glad_glStencilMask(arg0); + _post_call_callback("glStencilMask", (void*)glStencilMask, 1, arg0); + +} +PFNGLSTENCILMASKPROC glad_debug_glStencilMask = glad_debug_impl_glStencilMask; PFNGLSAMPLERPARAMETERFVPROC glad_glSamplerParameterfv; +void APIENTRY glad_debug_impl_glSamplerParameterfv(GLuint arg0, GLenum arg1, const GLfloat * arg2) { + _pre_call_callback("glSamplerParameterfv", (void*)glSamplerParameterfv, 3, arg0, arg1, arg2); + glad_glSamplerParameterfv(arg0, arg1, arg2); + _post_call_callback("glSamplerParameterfv", (void*)glSamplerParameterfv, 3, arg0, arg1, arg2); + +} +PFNGLSAMPLERPARAMETERFVPROC glad_debug_glSamplerParameterfv = glad_debug_impl_glSamplerParameterfv; PFNGLISTEXTUREPROC glad_glIsTexture; +GLboolean APIENTRY glad_debug_impl_glIsTexture(GLuint arg0) { + GLboolean ret; + _pre_call_callback("glIsTexture", (void*)glIsTexture, 1, arg0); + ret = glad_glIsTexture(arg0); + _post_call_callback("glIsTexture", (void*)glIsTexture, 1, arg0); + return ret; +} +PFNGLISTEXTUREPROC glad_debug_glIsTexture = glad_debug_impl_glIsTexture; PFNGLUNIFORM1FVPROC glad_glUniform1fv; +void APIENTRY glad_debug_impl_glUniform1fv(GLint arg0, GLsizei arg1, const GLfloat * arg2) { + _pre_call_callback("glUniform1fv", (void*)glUniform1fv, 3, arg0, arg1, arg2); + glad_glUniform1fv(arg0, arg1, arg2); + _post_call_callback("glUniform1fv", (void*)glUniform1fv, 3, arg0, arg1, arg2); + +} +PFNGLUNIFORM1FVPROC glad_debug_glUniform1fv = glad_debug_impl_glUniform1fv; PFNGLVERTEXATTRIB4NUBVPROC glad_glVertexAttrib4Nubv; +void APIENTRY glad_debug_impl_glVertexAttrib4Nubv(GLuint arg0, const GLubyte * arg1) { + _pre_call_callback("glVertexAttrib4Nubv", (void*)glVertexAttrib4Nubv, 2, arg0, arg1); + glad_glVertexAttrib4Nubv(arg0, arg1); + _post_call_callback("glVertexAttrib4Nubv", (void*)glVertexAttrib4Nubv, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIB4NUBVPROC glad_debug_glVertexAttrib4Nubv = glad_debug_impl_glVertexAttrib4Nubv; PFNGLTEXPARAMETERFVPROC glad_glTexParameterfv; +void APIENTRY glad_debug_impl_glTexParameterfv(GLenum arg0, GLenum arg1, const GLfloat * arg2) { + _pre_call_callback("glTexParameterfv", (void*)glTexParameterfv, 3, arg0, arg1, arg2); + glad_glTexParameterfv(arg0, arg1, arg2); + _post_call_callback("glTexParameterfv", (void*)glTexParameterfv, 3, arg0, arg1, arg2); + +} +PFNGLTEXPARAMETERFVPROC glad_debug_glTexParameterfv = glad_debug_impl_glTexParameterfv; PFNGLGETSAMPLERPARAMETERIVPROC glad_glGetSamplerParameteriv; +void APIENTRY glad_debug_impl_glGetSamplerParameteriv(GLuint arg0, GLenum arg1, GLint * arg2) { + _pre_call_callback("glGetSamplerParameteriv", (void*)glGetSamplerParameteriv, 3, arg0, arg1, arg2); + glad_glGetSamplerParameteriv(arg0, arg1, arg2); + _post_call_callback("glGetSamplerParameteriv", (void*)glGetSamplerParameteriv, 3, arg0, arg1, arg2); + +} +PFNGLGETSAMPLERPARAMETERIVPROC glad_debug_glGetSamplerParameteriv = glad_debug_impl_glGetSamplerParameteriv; PFNGLCOPYBUFFERSUBDATAPROC glad_glCopyBufferSubData; +void APIENTRY glad_debug_impl_glCopyBufferSubData(GLenum arg0, GLenum arg1, GLintptr arg2, GLintptr arg3, GLsizeiptr arg4) { + _pre_call_callback("glCopyBufferSubData", (void*)glCopyBufferSubData, 5, arg0, arg1, arg2, arg3, arg4); + glad_glCopyBufferSubData(arg0, arg1, arg2, arg3, arg4); + _post_call_callback("glCopyBufferSubData", (void*)glCopyBufferSubData, 5, arg0, arg1, arg2, arg3, arg4); + +} +PFNGLCOPYBUFFERSUBDATAPROC glad_debug_glCopyBufferSubData = glad_debug_impl_glCopyBufferSubData; PFNGLVERTEXATTRIBI1UIVPROC glad_glVertexAttribI1uiv; +void APIENTRY glad_debug_impl_glVertexAttribI1uiv(GLuint arg0, const GLuint * arg1) { + _pre_call_callback("glVertexAttribI1uiv", (void*)glVertexAttribI1uiv, 2, arg0, arg1); + glad_glVertexAttribI1uiv(arg0, arg1); + _post_call_callback("glVertexAttribI1uiv", (void*)glVertexAttribI1uiv, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIBI1UIVPROC glad_debug_glVertexAttribI1uiv = glad_debug_impl_glVertexAttribI1uiv; PFNGLVERTEXATTRIB2DPROC glad_glVertexAttrib2d; +void APIENTRY glad_debug_impl_glVertexAttrib2d(GLuint arg0, GLdouble arg1, GLdouble arg2) { + _pre_call_callback("glVertexAttrib2d", (void*)glVertexAttrib2d, 3, arg0, arg1, arg2); + glad_glVertexAttrib2d(arg0, arg1, arg2); + _post_call_callback("glVertexAttrib2d", (void*)glVertexAttrib2d, 3, arg0, arg1, arg2); + +} +PFNGLVERTEXATTRIB2DPROC glad_debug_glVertexAttrib2d = glad_debug_impl_glVertexAttrib2d; PFNGLVERTEXATTRIB2FPROC glad_glVertexAttrib2f; +void APIENTRY glad_debug_impl_glVertexAttrib2f(GLuint arg0, GLfloat arg1, GLfloat arg2) { + _pre_call_callback("glVertexAttrib2f", (void*)glVertexAttrib2f, 3, arg0, arg1, arg2); + glad_glVertexAttrib2f(arg0, arg1, arg2); + _post_call_callback("glVertexAttrib2f", (void*)glVertexAttrib2f, 3, arg0, arg1, arg2); + +} +PFNGLVERTEXATTRIB2FPROC glad_debug_glVertexAttrib2f = glad_debug_impl_glVertexAttrib2f; PFNGLVERTEXATTRIB3DVPROC glad_glVertexAttrib3dv; +void APIENTRY glad_debug_impl_glVertexAttrib3dv(GLuint arg0, const GLdouble * arg1) { + _pre_call_callback("glVertexAttrib3dv", (void*)glVertexAttrib3dv, 2, arg0, arg1); + glad_glVertexAttrib3dv(arg0, arg1); + _post_call_callback("glVertexAttrib3dv", (void*)glVertexAttrib3dv, 2, arg0, arg1); + +} +PFNGLVERTEXATTRIB3DVPROC glad_debug_glVertexAttrib3dv = glad_debug_impl_glVertexAttrib3dv; PFNGLGETQUERYOBJECTUI64VPROC glad_glGetQueryObjectui64v; +void APIENTRY glad_debug_impl_glGetQueryObjectui64v(GLuint arg0, GLenum arg1, GLuint64 * arg2) { + _pre_call_callback("glGetQueryObjectui64v", (void*)glGetQueryObjectui64v, 3, arg0, arg1, arg2); + glad_glGetQueryObjectui64v(arg0, arg1, arg2); + _post_call_callback("glGetQueryObjectui64v", (void*)glGetQueryObjectui64v, 3, arg0, arg1, arg2); + +} +PFNGLGETQUERYOBJECTUI64VPROC glad_debug_glGetQueryObjectui64v = glad_debug_impl_glGetQueryObjectui64v; PFNGLDEPTHMASKPROC glad_glDepthMask; +void APIENTRY glad_debug_impl_glDepthMask(GLboolean arg0) { + _pre_call_callback("glDepthMask", (void*)glDepthMask, 1, arg0); + glad_glDepthMask(arg0); + _post_call_callback("glDepthMask", (void*)glDepthMask, 1, arg0); + +} +PFNGLDEPTHMASKPROC glad_debug_glDepthMask = glad_debug_impl_glDepthMask; PFNGLVERTEXATTRIB2SPROC glad_glVertexAttrib2s; +void APIENTRY glad_debug_impl_glVertexAttrib2s(GLuint arg0, GLshort arg1, GLshort arg2) { + _pre_call_callback("glVertexAttrib2s", (void*)glVertexAttrib2s, 3, arg0, arg1, arg2); + glad_glVertexAttrib2s(arg0, arg1, arg2); + _post_call_callback("glVertexAttrib2s", (void*)glVertexAttrib2s, 3, arg0, arg1, arg2); + +} +PFNGLVERTEXATTRIB2SPROC glad_debug_glVertexAttrib2s = glad_debug_impl_glVertexAttrib2s; PFNGLTEXIMAGE3DMULTISAMPLEPROC glad_glTexImage3DMultisample; +void APIENTRY glad_debug_impl_glTexImage3DMultisample(GLenum arg0, GLsizei arg1, GLenum arg2, GLsizei arg3, GLsizei arg4, GLsizei arg5, GLboolean arg6) { + _pre_call_callback("glTexImage3DMultisample", (void*)glTexImage3DMultisample, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6); + glad_glTexImage3DMultisample(arg0, arg1, arg2, arg3, arg4, arg5, arg6); + _post_call_callback("glTexImage3DMultisample", (void*)glTexImage3DMultisample, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6); + +} +PFNGLTEXIMAGE3DMULTISAMPLEPROC glad_debug_glTexImage3DMultisample = glad_debug_impl_glTexImage3DMultisample; PFNGLGETUNIFORMBLOCKINDEXPROC glad_glGetUniformBlockIndex; +GLuint APIENTRY glad_debug_impl_glGetUniformBlockIndex(GLuint arg0, const GLchar * arg1) { + GLuint ret; + _pre_call_callback("glGetUniformBlockIndex", (void*)glGetUniformBlockIndex, 2, arg0, arg1); + ret = glad_glGetUniformBlockIndex(arg0, arg1); + _post_call_callback("glGetUniformBlockIndex", (void*)glGetUniformBlockIndex, 2, arg0, arg1); + return ret; +} +PFNGLGETUNIFORMBLOCKINDEXPROC glad_debug_glGetUniformBlockIndex = glad_debug_impl_glGetUniformBlockIndex; PFNGLTEXIMAGE2DMULTISAMPLEPROC glad_glTexImage2DMultisample; +void APIENTRY glad_debug_impl_glTexImage2DMultisample(GLenum arg0, GLsizei arg1, GLenum arg2, GLsizei arg3, GLsizei arg4, GLboolean arg5) { + _pre_call_callback("glTexImage2DMultisample", (void*)glTexImage2DMultisample, 6, arg0, arg1, arg2, arg3, arg4, arg5); + glad_glTexImage2DMultisample(arg0, arg1, arg2, arg3, arg4, arg5); + _post_call_callback("glTexImage2DMultisample", (void*)glTexImage2DMultisample, 6, arg0, arg1, arg2, arg3, arg4, arg5); + +} +PFNGLTEXIMAGE2DMULTISAMPLEPROC glad_debug_glTexImage2DMultisample = glad_debug_impl_glTexImage2DMultisample; PFNGLGETACTIVEUNIFORMPROC glad_glGetActiveUniform; +void APIENTRY glad_debug_impl_glGetActiveUniform(GLuint arg0, GLuint arg1, GLsizei arg2, GLsizei * arg3, GLint * arg4, GLenum * arg5, GLchar * arg6) { + _pre_call_callback("glGetActiveUniform", (void*)glGetActiveUniform, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6); + glad_glGetActiveUniform(arg0, arg1, arg2, arg3, arg4, arg5, arg6); + _post_call_callback("glGetActiveUniform", (void*)glGetActiveUniform, 7, arg0, arg1, arg2, arg3, arg4, arg5, arg6); + +} +PFNGLGETACTIVEUNIFORMPROC glad_debug_glGetActiveUniform = glad_debug_impl_glGetActiveUniform; PFNGLFRONTFACEPROC glad_glFrontFace; +void APIENTRY glad_debug_impl_glFrontFace(GLenum arg0) { + _pre_call_callback("glFrontFace", (void*)glFrontFace, 1, arg0); + glad_glFrontFace(arg0); + _post_call_callback("glFrontFace", (void*)glFrontFace, 1, arg0); + +} +PFNGLFRONTFACEPROC glad_debug_glFrontFace = glad_debug_impl_glFrontFace; static void load_GL_VERSION_1_0(GLADloadproc load) { if(!GLAD_GL_VERSION_1_0) return; glad_glCullFace = (PFNGLCULLFACEPROC)load("glCullFace"); @@ -912,6 +3586,7 @@ static void load_GL_VERSION_3_3(GLADloadproc load) { } static int find_extensionsGL(void) { if (!get_exts()) return 0; + (void)&has_ext; free_exts(); return 1; } diff --git a/third_party/windows/SDL2-2.0.5/COPYING.txt b/third_party/windows/SDL2-2.0.5/COPYING.txt deleted file mode 100644 index 04f14ee..0000000 --- a/third_party/windows/SDL2-2.0.5/COPYING.txt +++ /dev/null @@ -1,20 +0,0 @@ - -Simple DirectMedia Layer -Copyright (C) 1997-2016 Sam Lantinga - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - -1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. -2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. -3. This notice may not be removed or altered from any source distribution. - diff --git a/third_party/windows/SDL2-2.0.5/lib/x86/SDL2.dll b/third_party/windows/SDL2-2.0.5/lib/x86/SDL2.dll deleted file mode 100644 index 2b7e3193c5e1b7ca3209f56e49cd7d3847fc8925..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1068544 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

6co zyA9cBIH*tDZKhcbAwK5&5e-_@ZU|zeaxM&F3i-Guh|$T2*9I{v?YbbQgpb8RjHK+1 zK};CDN}A;X3y2EQ17gDssWV=)%(vTUYQeD6`dN7GUucc(>S^1jb#&g@OWwreY6B%1 z0~AkV5u#7Sop)x89*`S-sG~q+_uv;{S(RQbYqK$|1@n(V|M;b>(}{l>yUq~*n$4nY zF!%XaE*swYg)GagQMC7+7C>R4ziA3zG^fbj2PlS>=xlaPIk6RD`3kQg#CA`wwje&Q zc)+_;+2Zq09RRv{z*LVuH6IbM(0ahbNY@Y}M!$~dV#059nwn{^B`|-|Q`~s0#foA0 z!t_bNVB~#9f2&nBuy^V!&zsAxrO#z}oH`k%8Y5|W{Qtkj?zuGT|2Dg81I0gP_d?6= zKi;XK$Z7sB0Cf{|X!Aq7G1wP#oH{pQ(94C>XBS3J_C;gTv&b)Yi_Qb{MNtWdf>{aGP#S~{kr{{(i4CKz=Jbxj zPsQR~)SbE;oTuj#VAO~7w|MhqN9VM?{{z_pMrc(aJL>qtjW|66*@0{-ehS6llIhfR zD&=3|T-q`yLd=w`vA~%EcWFlU9iR%P(b`ia*&+jm)rFav4MZkn6f#2}R3J`GJ=$R; zH|MO#o?*3R%&!?cg-oi#e&?KgGsYsf=M*r(IHlh4n5paE!P8KAn`Q5Ta6I4M zqecdZ(xzBB^ZuHrP_+DT&$l*2@}t&_(e8eLCL$`p_LXYhWQdo2N$#`UuR}JAFSj-K zCEJ`%?l>-tw#tfd+3wDn?}EC^-tC;(ukZfOnX)Qe_I~v{jk+Z_fqFQ?mT+HpwpE2r zGRV8IdYDni%;&>(P>2s`x|}2o3uYn}gr&fFMt?N)Zs3#y2OZk+Jg(r_T!=x5`XN=KVd&ujLgRzg3KWO*@DqzbK4KqV8&q`97 zELta^#0pzlkxFa0&z829DDQmjmGVB9?-k-(h)}2^gkDtoO7C;p_aFtLgip=prSO&5 z*$GQSwOyN&o4r|>f1$iur;bUTG#DKfEkYoLq?u_538d>)8Qss!n&$FZV8$+{7NXA8y|gv)ScY|sb9ol)=-9PE z)~T^43d`O#RG!@Eoo{vtTbihE>S&zN%@O6NUx&jJZb@f4T$gsHy(X=SrI0F)1FzwE zCOT&gm=N}A{8eAi1yd63Px1`tNh6!+X@kOidQ!ZlCpoAXdiwHbjF2$enODzL#ECtx zRK|}}w6#EAc9$$2XLiG)I9mET&d#{(CJ3nEy>DA;5IsQ(0_h(6+R0Amd=OLKS&PP0 zz+0v5`pmT0Hi$7O(>P|sh9DpY@5)lOi3XAhgy-P~HvEJuH9C^o8n<6H#Y0hN} zE69)olW0PWj>s8&<-A`TuH+Zd

e;WigZ~q>A2()+>+b&?)+3Plt1Kt8?^bVvC*2 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�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

>1;dY!cVfb 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ʒ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 Md=mc6|N4La9cE5&rvLx| diff --git a/third_party/windows/SDL2-2.0.5/lib/x86/SDL2.lib b/third_party/windows/SDL2-2.0.5/lib/x86/SDL2.lib deleted file mode 100644 index 0b0c31e3c0ff38ea7474257f3c037d1298986994..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 122786 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 diff --git a/third_party/windows/SDL2-2.0.5/lib/x86/SDL2test.lib b/third_party/windows/SDL2-2.0.5/lib/x86/SDL2test.lib deleted file mode 100644 index ab97478273171033fbd4d932051fb22c0a2ba733..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 823702 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�T?`ejLHoPD5K|lM* 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¡ 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 diff --git a/third_party/windows/Soloud/include/soloud.h b/third_party/windows/Soloud/include/soloud.h deleted file mode 100644 index bc5c83d..0000000 --- a/third_party/windows/Soloud/include/soloud.h +++ /dev/null @@ -1,481 +0,0 @@ -/* -SoLoud audio engine -Copyright (c) 2013-2015 Jari Komppa - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source - distribution. -*/ - -#ifndef SOLOUD_H -#define SOLOUD_H - -#include // rand -#include // sin - -#ifndef M_PI -#define M_PI 3.14159265359 -#endif - -#if defined(_WIN32)||defined(_WIN64) -#define WINDOWS_VERSION -#endif - -#if !defined(DISABLE_SIMD) -#if defined(__x86_64__) || defined( _M_X64 ) || defined( __i386 ) || defined( _M_IX86 ) -#define SOLOUD_SSE_INTRINSICS -#endif -#endif - -#define SOLOUD_VERSION 111 - -///////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////// -// Configuration defines - -// Maximum number of filters per stream -#define FILTERS_PER_STREAM 8 - -// Number of samples to process on one go -#define SAMPLE_GRANULARITY 512 - -// Maximum number of concurrent voices (hard limit is 4095) -#define VOICE_COUNT 1024 - -// Use linear resampler -#define RESAMPLER_LINEAR - -// 1)mono, 2)stereo 4)quad 6)5.1 -#define MAX_CHANNELS 6 - -// -///////////////////////////////////////////////////////////////////// -///////////////////////////////////////////////////////////////////// - -// Typedefs have to be made before the includes, as the -// includes depend on them. -namespace SoLoud -{ - class Soloud; - typedef void (*mutexCallFunction)(void *aMutexPtr); - typedef void (*soloudCallFunction)(Soloud *aSoloud); - typedef unsigned int result; - typedef unsigned int handle; - typedef double time; -}; - -namespace SoLoud -{ - // Class that handles aligned allocations to support vectorized operations - class AlignedFloatBuffer - { - public: - float *mData; // aligned pointer - unsigned char *mBasePtr; // raw allocated pointer (for delete) - - // ctor - AlignedFloatBuffer(); - // Allocate and align buffer - result init(unsigned int aFloats); - // dtor - ~AlignedFloatBuffer(); - }; -}; - -#include "soloud_filter.h" -#include "soloud_fader.h" -#include "soloud_audiosource.h" -#include "soloud_bus.h" -#include "soloud_error.h" - -namespace SoLoud -{ - - // Soloud core class. - class Soloud - { - public: - // Back-end data; content is up to the back-end implementation. - void * mBackendData; - // Pointer for the audio thread mutex. - void * mAudioThreadMutex; - // Called by SoLoud to shut down the back-end. If NULL, not called. Should be set by back-end. - soloudCallFunction mBackendCleanupFunc; - - // CTor - Soloud(); - // DTor - ~Soloud(); - - enum BACKENDS - { - AUTO = 0, - SDL, - SDL2, - PORTAUDIO, - WINMM, - XAUDIO2, - WASAPI, - ALSA, - OSS, - OPENAL, - COREAUDIO, - OPENSLES, - VITA_HOMEBREW, - NULLDRIVER, - BACKEND_MAX, - }; - - enum FLAGS - { - // Use round-off clipper - CLIP_ROUNDOFF = 1, - ENABLE_VISUALIZATION = 2, - LEFT_HANDED_3D = 4 - }; - - // Initialize SoLoud. Must be called before SoLoud can be used. - result init(unsigned int aFlags = Soloud::CLIP_ROUNDOFF, unsigned int aBackend = Soloud::AUTO, unsigned int aSamplerate = Soloud::AUTO, unsigned int aBufferSize = Soloud::AUTO, unsigned int aChannels = 2); - - // Deinitialize SoLoud. Must be called before shutting down. - void deinit(); - - // Query SoLoud version number (should equal to SOLOUD_VERSION macro) - unsigned int getVersion() const; - - // Translate error number to an asciiz string - const char * getErrorString(result aErrorCode) const; - - // Returns current backend ID (BACKENDS enum) - unsigned int getBackendId(); - // Returns current backend string. May be NULL. - const char * getBackendString(); - // Returns current backend channel count (1 mono, 2 stereo, etc) - unsigned int getBackendChannels(); - // Returns current backend sample rate - unsigned int getBackendSamplerate(); - // Returns current backend buffer size - unsigned int getBackendBufferSize(); - - // Set speaker position in 3d space - result setSpeakerPosition(unsigned int aChannel, float aX, float aY, float aZ); - - // Start playing a sound. Returns voice handle, which can be ignored or used to alter the playing sound's parameters. Negative volume means to use default. - handle play(AudioSource &aSound, float aVolume = -1.0f, float aPan = 0.0f, bool aPaused = 0, unsigned int aBus = 0); - // Start playing a sound delayed in relation to other sounds called via this function. Negative volume means to use default. - handle playClocked(time aSoundTime, AudioSource &aSound, float aVolume = -1.0f, float aPan = 0.0f, unsigned int aBus = 0); - // Start playing a 3d audio source - handle play3d(AudioSource &aSound, float aPosX, float aPosY, float aPosZ, float aVelX = 0.0f, float aVelY = 0.0f, float aVelZ = 0.0f, float aVolume = 1.0f, bool aPaused = 0, unsigned int aBus = 0); - // Start playing a 3d audio source, delayed in relation to other sounds called via this function. - handle play3dClocked(time aSoundTime, AudioSource &aSound, float aPosX, float aPosY, float aPosZ, float aVelX = 0.0f, float aVelY = 0.0f, float aVelZ = 0.0f, float aVolume = 1.0f, unsigned int aBus = 0); - // Start playing a sound without any panning. It will be played at full volume. - handle playBackground(AudioSource &aSound, float aVolume = -1.0f, bool aPaused = 0, unsigned int aBus = 0); - - // Seek the audio stream to certain point in time. Some streams can't seek backwards. Relative play speed affects time. - void seek(handle aVoiceHandle, time aSeconds); - // Stop the sound. - void stop(handle aVoiceHandle); - // Stop all voices. - void stopAll(); - // Stop all voices that play this sound source - void stopAudioSource(AudioSource &aSound); - - // Set a live filter parameter. Use 0 for the global filters. - void setFilterParameter(handle aVoiceHandle, unsigned int aFilterId, unsigned int aAttributeId, float aValue); - // Get a live filter parameter. Use 0 for the global filters. - float getFilterParameter(handle aVoiceHandle, unsigned int aFilterId, unsigned int aAttributeId); - // Fade a live filter parameter. Use 0 for the global filters. - void fadeFilterParameter(handle aVoiceHandle, unsigned int aFilterId, unsigned int aAttributeId, float aTo, time aTime); - // Oscillate a live filter parameter. Use 0 for the global filters. - void oscillateFilterParameter(handle aVoiceHandle, unsigned int aFilterId, unsigned int aAttributeId, float aFrom, float aTo, time aTime); - - // Get current play time, in seconds. - time getStreamTime(handle aVoiceHandle); - // Get current pause state. - bool getPause(handle aVoiceHandle); - // Get current volume. - float getVolume(handle aVoiceHandle); - // Get current overall volume (set volume * 3d volume) - float getOverallVolume(handle aVoiceHandle); - // Get current pan. - float getPan(handle aVoiceHandle); - // Get current sample rate. - float getSamplerate(handle aVoiceHandle); - // Get current voice protection state. - bool getProtectVoice(handle aVoiceHandle); - // Get the current number of busy voices. - unsigned int getActiveVoiceCount(); - // Get the current number of voices in SoLoud - unsigned int getVoiceCount(); - // Check if the handle is still valid, or if the sound has stopped. - bool isValidVoiceHandle(handle aVoiceHandle); - // Get current relative play speed. - float getRelativePlaySpeed(handle aVoiceHandle); - // Get current post-clip scaler value. - float getPostClipScaler() const; - // Get current global volume - float getGlobalVolume() const; - // Get current maximum active voice setting - unsigned int getMaxActiveVoiceCount() const; - // Query whether a voice is set to loop. - bool getLooping(handle aVoiceHandle); - - // Set voice's loop state - void setLooping(handle aVoiceHandle, bool aLooping); - // Set current maximum active voice setting - result setMaxActiveVoiceCount(unsigned int aVoiceCount); - // Set behavior for inaudible sounds - void setInaudibleBehavior(handle aVoiceHandle, bool aMustTick, bool aKill); - // Set the global volume - void setGlobalVolume(float aVolume); - // Set the post clip scaler value - void setPostClipScaler(float aScaler); - // Set the pause state - void setPause(handle aVoiceHandle, bool aPause); - // Pause all voices - void setPauseAll(bool aPause); - // Set the relative play speed - result setRelativePlaySpeed(handle aVoiceHandle, float aSpeed); - // Set the voice protection state - void setProtectVoice(handle aVoiceHandle, bool aProtect); - // Set the sample rate - void setSamplerate(handle aVoiceHandle, float aSamplerate); - // Set panning value; -1 is left, 0 is center, 1 is right - void setPan(handle aVoiceHandle, float aPan); - // Set absolute left/right volumes - void setPanAbsolute(handle aVoiceHandle, float aLVolume, float aRVolume, float aLBVolume = 0, float aRBVolume = 0, float aCVolume = 0, float aSVolume = 0); - // Set overall volume - void setVolume(handle aVoiceHandle, float aVolume); - // Set delay, in samples, before starting to play samples. Calling this on a live sound will cause glitches. - void setDelaySamples(handle aVoiceHandle, unsigned int aSamples); - - // Set up volume fader - void fadeVolume(handle aVoiceHandle, float aTo, time aTime); - // Set up panning fader - void fadePan(handle aVoiceHandle, float aTo, time aTime); - // Set up relative play speed fader - void fadeRelativePlaySpeed(handle aVoiceHandle, float aTo, time aTime); - // Set up global volume fader - void fadeGlobalVolume(float aTo, time aTime); - // Schedule a stream to pause - void schedulePause(handle aVoiceHandle, time aTime); - // Schedule a stream to stop - void scheduleStop(handle aVoiceHandle, time aTime); - - // Set up volume oscillator - void oscillateVolume(handle aVoiceHandle, float aFrom, float aTo, time aTime); - // Set up panning oscillator - void oscillatePan(handle aVoiceHandle, float aFrom, float aTo, time aTime); - // Set up relative play speed oscillator - void oscillateRelativePlaySpeed(handle aVoiceHandle, float aFrom, float aTo, time aTime); - // Set up global volume oscillator - void oscillateGlobalVolume(float aFrom, float aTo, time aTime); - - // Set global filters. Set to NULL to clear the filter. - void setGlobalFilter(unsigned int aFilterId, Filter *aFilter); - - // Enable or disable visualization data gathering - void setVisualizationEnable(bool aEnable); - - // Calculate and get 256 floats of FFT data for visualization. Visualization has to be enabled before use. - float *calcFFT(); - - // Get 256 floats of wave data for visualization. Visualization has to be enabled before use. - float *getWave(); - - // Get current loop count. Returns 0 if handle is not valid. (All audio sources may not update loop count) - unsigned int getLoopCount(handle aVoiceHandle); - - // Get audiosource-specific information from a voice. - float getInfo(handle aVoiceHandle, unsigned int aInfoKey); - - // Create a voice group. Returns 0 if unable (out of voice groups / out of memory) - handle createVoiceGroup(); - // Destroy a voice group. - result destroyVoiceGroup(handle aVoiceGroupHandle); - // Add a voice handle to a voice group - result addVoiceToGroup(handle aVoiceGroupHandle, handle aVoiceHandle); - // Is this handle a valid voice group? - bool isVoiceGroup(handle aVoiceGroupHandle); - // Is this voice group empty? - bool isVoiceGroupEmpty(handle aVoiceGroupHandle); - - // Perform 3d audio parameter update - void update3dAudio(); - - // Set the speed of sound constant for doppler - result set3dSoundSpeed(float aSpeed); - // Get the current speed of sound constant for doppler - float get3dSoundSpeed(); - // Set 3d listener parameters - void set3dListenerParameters(float aPosX, float aPosY, float aPosZ, float aAtX, float aAtY, float aAtZ, float aUpX, float aUpY, float aUpZ, float aVelocityX = 0.0f, float aVelocityY = 0.0f, float aVelocityZ = 0.0f); - // Set 3d listener position - void set3dListenerPosition(float aPosX, float aPosY, float aPosZ); - // Set 3d listener "at" vector - void set3dListenerAt(float aAtX, float aAtY, float aAtZ); - // set 3d listener "up" vector - void set3dListenerUp(float aUpX, float aUpY, float aUpZ); - // Set 3d listener velocity - void set3dListenerVelocity(float aVelocityX, float aVelocityY, float aVelocityZ); - - // Set 3d audio source parameters - void set3dSourceParameters(handle aVoiceHandle, float aPosX, float aPosY, float aPosZ, float aVelocityX = 0.0f, float aVelocityY = 0.0f, float aVelocityZ = 0.0f); - // Set 3d audio source position - void set3dSourcePosition(handle aVoiceHandle, float aPosX, float aPosY, float aPosZ); - // Set 3d audio source velocity - void set3dSourceVelocity(handle aVoiceHandle, float aVelocityX, float aVelocityY, float aVelocityZ); - // Set 3d audio source min/max distance (distance < min means max volume) - void set3dSourceMinMaxDistance(handle aVoiceHandle, float aMinDistance, float aMaxDistance); - // Set 3d audio source attenuation parameters - void set3dSourceAttenuation(handle aVoiceHandle, unsigned int aAttenuationModel, float aAttenuationRolloffFactor); - // Set 3d audio source doppler factor to reduce or enhance doppler effect. Default = 1.0 - void set3dSourceDopplerFactor(handle aVoiceHandle, float aDopplerFactor); - - // Rest of the stuff is used internally. - - // Returns mixed float samples in buffer. Called by the back-end, or user with null driver. - void mix(float *aBuffer, unsigned int aSamples); - // Returns mixed 16-bit signed integer samples in buffer. Called by the back-end, or user with null driver. - void mixSigned16(short *aBuffer, unsigned int aSamples); - public: - // Mix N samples * M channels. Called by other mix_ functions. - void mix_internal(unsigned int aSamples); - - // Handle rest of initialization (called from backend) - void postinit(unsigned int aSamplerate, unsigned int aBufferSize, unsigned int aFlags, unsigned int aChannels); - - // Update list of active voices - void calcActiveVoices(); - // Perform mixing for a specific bus - void mixBus(float *aBuffer, unsigned int aSamples, float *aScratch, unsigned int aBus, float aSamplerate, unsigned int aChannels); - // Max. number of active voices. Busses and tickable inaudibles also count against this. - unsigned int mMaxActiveVoices; - // Highest voice in use so far - unsigned int mHighestVoice; - // Scratch buffer, used for resampling. - AlignedFloatBuffer mScratch; - // Current size of the scratch, in samples. - unsigned int mScratchSize; - // Amount of scratch needed. - unsigned int mScratchNeeded; - // Output scratch buffer, used in mix_(). - AlignedFloatBuffer mOutputScratch; - // Audio voices. - AudioSourceInstance *mVoice[VOICE_COUNT]; - // Output sample rate (not float) - unsigned int mSamplerate; - // Output channel count - unsigned int mChannels; - // Current backend ID - unsigned int mBackendID; - // Current backend string - const char * mBackendString; - // Maximum size of output buffer; used to calculate needed scratch. - unsigned int mBufferSize; - // Flags; see Soloud::FLAGS - unsigned int mFlags; - // Global volume. Applied before clipping. - float mGlobalVolume; - // Post-clip scaler. Applied after clipping. - float mPostClipScaler; - // Current play index. Used to create audio handles. - unsigned int mPlayIndex; - // Current sound source index. Used to create sound source IDs. - unsigned int mAudioSourceID; - // Fader for the global volume. - Fader mGlobalVolumeFader; - // Global stream time, for the global volume fader. - time mStreamTime; - // Last time seen by the playClocked call - time mLastClockedTime; - // Global filter - Filter *mFilter[FILTERS_PER_STREAM]; - // Global filter instance - FilterInstance *mFilterInstance[FILTERS_PER_STREAM]; - // Find a free voice, stopping the oldest if no free voice is found. - int findFreeVoice(); - // Converts handle to voice, if the handle is valid. Returns -1 if not. - int getVoiceFromHandle(handle aVoiceHandle) const; - // Converts voice + playindex into handle - handle getHandleFromVoice(unsigned int aVoice) const; - // Stop voice (not handle). - void stopVoice(unsigned int aVoice); - // Set voice (not handle) pan. - void setVoicePan(unsigned int aVoice, float aPan); - // Set voice (not handle) relative play speed. - result setVoiceRelativePlaySpeed(unsigned int aVoice, float aSpeed); - // Set voice (not handle) volume. - void setVoiceVolume(unsigned int aVoice, float aVolume); - // Set voice (not handle) pause state. - void setVoicePause(unsigned int aVoice, int aPause); - // Update overall volume from set and 3d volumes - void updateVoiceVolume(unsigned int aVoice); - // Update overall relative play speed from set and 3d speeds - void updateVoiceRelativePlaySpeed(unsigned int aVoice); - // Perform 3d audio calculation for array of voices - void update3dVoices(unsigned int *aVoiceList, unsigned int aVoiceCount); - // Clip the samples in the buffer - void clip(AlignedFloatBuffer &aBuffer, AlignedFloatBuffer &aDestBuffer, unsigned int aSamples, float aVolume0, float aVolume1); - // Mono-mixed wave data for visualization and for visualization FFT input - float mVisualizationWaveData[256]; - // FFT output data - float mFFTData[256]; - // Snapshot of wave data for visualization - float mWaveData[256]; - - // 3d listener position - float m3dPosition[3]; - // 3d listener look-at - float m3dAt[3]; - // 3d listener up - float m3dUp[3]; - // 3d listener velocity - float m3dVelocity[3]; - // 3d speed of sound (for doppler) - float m3dSoundSpeed; - - // 3d position of speakers - float m3dSpeakerPosition[3 * MAX_CHANNELS]; - - // Data related to 3d processing, separate from AudioSource so we can do 3d calculations without audio mutex. - AudioSourceInstance3dData m3dData[VOICE_COUNT]; - - // For each voice group, first int is number of ints alocated. - unsigned int **mVoiceGroup; - unsigned int mVoiceGroupCount; - - // List of currently active voices - unsigned int mActiveVoice[VOICE_COUNT]; - // Number of currently active voices - unsigned int mActiveVoiceCount; - // Active voices list needs to be recalculated - bool mActiveVoiceDirty; - - // Remove all non-active voices from group - void trimVoiceGroup(handle aVoiceGroupHandle); - // Get pointer to the zero-terminated array of voice handles in a voice group - handle * voiceGroupHandleToArray(handle aVoiceGroupHandle) const; - - // Lock audio thread mutex. - void lockAudioMutex(); - // Unlock audio thread mutex. - void unlockAudioMutex(); - }; -}; - -#endif diff --git a/third_party/windows/Soloud/include/soloud_audiosource.h b/third_party/windows/Soloud/include/soloud_audiosource.h deleted file mode 100644 index 0b39bc2..0000000 --- a/third_party/windows/Soloud/include/soloud_audiosource.h +++ /dev/null @@ -1,313 +0,0 @@ -/* -SoLoud audio engine -Copyright (c) 2013-2015 Jari Komppa - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source - distribution. -*/ - -#ifndef SOLOUD_AUDIOSOURCE_H -#define SOLOUD_AUDIOSOURCE_H - -#include "soloud.h" -#include "soloud_fader.h" -#include "soloud_filter.h" - -namespace SoLoud -{ - class AudioSource; - class AudioSourceInstance; - class AudioSourceInstance3dData; - - struct AudioSourceResampleData - { - AudioSourceResampleData(); - ~AudioSourceResampleData(); - float *mBuffer; - }; - - class AudioCollider - { - public: - // Calculate volume multiplier. Assumed to return value between 0 and 1. - virtual float collide(Soloud *aSoloud, AudioSourceInstance3dData *aAudioInstance3dData, int aUserData) = 0; - }; - - class AudioAttenuator - { - public: - virtual float attenuate(float aDistance, float aMinDistance, float aMaxDistance, float aRolloffFactor) = 0; - }; - - class AudioSourceInstance3dData - { - public: - // ctor - AudioSourceInstance3dData(); - // Set settings from audiosource - void init(AudioSource &aSource); - // 3d position - float m3dPosition[3]; - // 3d velocity - float m3dVelocity[3]; - // 3d cone direction - /* - float m3dConeDirection[3]; - // 3d cone inner angle - float m3dConeInnerAngle; - // 3d cone outer angle - float m3dConeOuterAngle; - // 3d cone outer volume multiplier - float m3dConeOuterVolume; - */ - // 3d min distance - float m3dMinDistance; - // 3d max distance - float m3dMaxDistance; - // 3d attenuation rolloff factor - float m3dAttenuationRolloff; - // 3d attenuation model - unsigned int m3dAttenuationModel; - // 3d doppler factor - float m3dDopplerFactor; - // Pointer to a custom audio collider object - AudioCollider *mCollider; - // Pointer to a custom audio attenuator object - AudioAttenuator *mAttenuator; - // User data related to audio collider - int mColliderData; - - // Doppler sample rate multiplier - float mDopplerValue; - // Overall 3d volume - float m3dVolume; - // Channel volume - float mChannelVolume[MAX_CHANNELS]; - // Copy of flags - unsigned int mFlags; - // Latest handle for this voice - handle mHandle; - }; - - // Base class for audio instances - class AudioSourceInstance - { - public: - enum FLAGS - { - // This audio instance loops (if supported) - LOOPING = 1, - // This audio instance is protected - won't get stopped if we run out of voices - PROTECTED = 2, - // This audio instance is paused - PAUSED = 4, - // This audio instance is affected by 3d processing - PROCESS_3D = 8, - // This audio instance has listener-relative 3d coordinates - LISTENER_RELATIVE = 16, - // Currently inaudible - INAUDIBLE = 32, - // If inaudible, should be killed (default = don't kill kill) - INAUDIBLE_KILL = 64, - // If inaudible, should still be ticked (default = pause) - INAUDIBLE_TICK = 128 - }; - // Ctor - AudioSourceInstance(); - // Dtor - virtual ~AudioSourceInstance(); - // Play index; used to identify instances from handles - unsigned int mPlayIndex; - // Loop count - unsigned int mLoopCount; - // Flags; see AudioSourceInstance::FLAGS - unsigned int mFlags; - // Pan value, for getPan() - float mPan; - // Volume for each channel (panning) - float mChannelVolume[MAX_CHANNELS]; - // Set volume - float mSetVolume; - // Overall volume overall = set * 3d - float mOverallVolume; - // Base samplerate; samplerate = base samplerate * relative play speed - float mBaseSamplerate; - // Samplerate; samplerate = base samplerate * relative play speed - float mSamplerate; - // Number of channels this audio source produces - unsigned int mChannels; - // Relative play speed; samplerate = base samplerate * relative play speed - float mSetRelativePlaySpeed; - // Overall relative plays peed; overall = set * 3d - float mOverallRelativePlaySpeed; - // How long this stream has played, in seconds. - time mStreamTime; - // Fader for the audio panning - Fader mPanFader; - // Fader for the audio volume - Fader mVolumeFader; - // Fader for the relative play speed - Fader mRelativePlaySpeedFader; - // Fader used to schedule pausing of the stream - Fader mPauseScheduler; - // Fader used to schedule stopping of the stream - Fader mStopScheduler; - // Affected by some fader - int mActiveFader; - // Current channel volumes, used to ramp the volume changes to avoid clicks - float mCurrentChannelVolume[MAX_CHANNELS]; - // ID of the sound source that generated this instance - unsigned int mAudioSourceID; - // Handle of the bus this audio instance is playing on. 0 for root. - unsigned int mBusHandle; - // Filter pointer - FilterInstance *mFilter[FILTERS_PER_STREAM]; - // Initialize instance. Mostly internal use. - void init(AudioSource &aSource, int aPlayIndex); - // Buffers for the resampler - AudioSourceResampleData *mResampleData[2]; - // Sub-sample playhead; 16.16 fixed point - unsigned int mSrcOffset; - // Samples left over from earlier pass - unsigned int mLeftoverSamples; - // Number of samples to delay streaming - unsigned int mDelaySamples; - - // Get N samples from the stream to the buffer - virtual void getAudio(float *aBuffer, unsigned int aSamples) = 0; - // Has the stream ended? - virtual bool hasEnded() = 0; - // Seek to certain place in the stream. Base implementation is generic "tape" seek (and slow). - virtual void seek(time aSeconds, float *mScratch, unsigned int mScratchSize); - // Rewind stream. Base implementation returns NOT_IMPLEMENTED, meaning it can't rewind. - virtual result rewind(); - // Get information. Returns 0 by default. - virtual float getInfo(unsigned int aInfoKey); - }; - - class Soloud; - - // Base class for audio sources - class AudioSource - { - public: - enum FLAGS - { - // The instances from this audio source should loop - SHOULD_LOOP = 1, - // Only one instance of this audio source should play at the same time - SINGLE_INSTANCE = 2, - // Visualization data gathering enabled. Only for busses. - VISUALIZATION_DATA = 4, - // Audio instances created from this source are affected by 3d processing - PROCESS_3D = 8, - // Audio instances created from this source have listener-relative 3d coordinates - LISTENER_RELATIVE = 16, - // Delay start of sound by the distance from listener - DISTANCE_DELAY = 32, - // If inaudible, should be killed (default) - INAUDIBLE_KILL = 64, - // If inaudible, should still be ticked (default = pause) - INAUDIBLE_TICK = 128 - }; - enum ATTENUATION_MODELS - { - // No attenuation - NO_ATTENUATION = 0, - // Inverse distance attenuation model - INVERSE_DISTANCE = 1, - // Linear distance attenuation model - LINEAR_DISTANCE = 2, - // Exponential distance attenuation model - EXPONENTIAL_DISTANCE = 3 - }; - - // Flags. See AudioSource::FLAGS - unsigned int mFlags; - // Base sample rate, used to initialize instances - float mBaseSamplerate; - // Default volume for created instances - float mVolume; - // Number of channels this audio source produces - unsigned int mChannels; - // Sound source ID. Assigned by SoLoud the first time it's played. - unsigned int mAudioSourceID; - // 3d min distance - float m3dMinDistance; - // 3d max distance - float m3dMaxDistance; - // 3d attenuation rolloff factor - float m3dAttenuationRolloff; - // 3d attenuation model - unsigned int m3dAttenuationModel; - // 3d doppler factor - float m3dDopplerFactor; - // Filter pointer - Filter *mFilter[FILTERS_PER_STREAM]; - // Pointer to the Soloud object. Needed to stop all instances in dtor. - Soloud *mSoloud; - // Pointer to a custom audio collider object - AudioCollider *mCollider; - // Pointer to custom attenuator object - AudioAttenuator *mAttenuator; - // User data related to audio collider - int mColliderData; - - // CTor - AudioSource(); - // Set default volume for instances - void setVolume(float aVolume); - // Set the looping of the instances created from this audio source - void setLooping(bool aLoop); - // Set whether only one instance of this sound should ever be playing at the same time - void setSingleInstance(bool aSingleInstance); - - // Set the minimum and maximum distances for 3d audio source (closer to min distance = max vol) - void set3dMinMaxDistance(float aMinDistance, float aMaxDistance); - // Set attenuation model and rolloff factor for 3d audio source - void set3dAttenuation(unsigned int aAttenuationModel, float aAttenuationRolloffFactor); - // Set doppler factor to reduce or enhance doppler effect, default = 1.0 - void set3dDopplerFactor(float aDopplerFactor); - // Enable 3d processing. Implicitly set by play3d calls. - void set3dProcessing(bool aDo3dProcessing); - // Set the coordinates for this audio source to be relative to listener's coordinates. - void set3dListenerRelative(bool aListenerRelative); - // Enable delaying the start of the sound based on the distance. - void set3dDistanceDelay(bool aDistanceDelay); - - // Set a custom 3d audio collider. Set to NULL to disable. - void set3dCollider(AudioCollider *aCollider, int aUserData = 0); - // Set a custom attenuator. Set to NULL to disable. - void set3dAttenuator(AudioAttenuator *aAttenuator); - - // Set behavior for inaudible sounds - void setInaudibleBehavior(bool aMustTick, bool aKill); - - // Set filter. Set to NULL to clear the filter. - virtual void setFilter(unsigned int aFilterId, Filter *aFilter); - // DTor - virtual ~AudioSource(); - // Create instance from the audio source. Called from within Soloud class. - virtual AudioSourceInstance *createInstance() = 0; - // Stop all instances of this audio source - void stop(); - }; -}; - -#endif diff --git a/third_party/windows/Soloud/include/soloud_bassboostfilter.h b/third_party/windows/Soloud/include/soloud_bassboostfilter.h deleted file mode 100644 index ec91b04..0000000 --- a/third_party/windows/Soloud/include/soloud_bassboostfilter.h +++ /dev/null @@ -1,63 +0,0 @@ -/* -SoLoud audio engine -Copyright (c) 2013-2015 Jari Komppa - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source - distribution. -*/ - -#ifndef SOLOUD_BASSBOOSTFILTER_H -#define SOLOUD_BASSBOOSTFILTER_H - -#include "soloud.h" -#include "soloud_fftfilter.h" - -namespace SoLoud -{ - class BassboostFilter; - - class BassboostFilterInstance : public FFTFilterInstance - { - enum FILTERATTRIBUTE - { - WET = 0, - BOOST = 1 - }; - BassboostFilter *mParent; - public: - virtual void fftFilterChannel(float *aFFTBuffer, unsigned int aSamples, float aSamplerate, time aTime, unsigned int aChannel, unsigned int aChannels); - BassboostFilterInstance(BassboostFilter *aParent); - }; - - class BassboostFilter : public FFTFilter - { - public: - enum FILTERATTRIBUTE - { - WET = 0, - BOOST = 1 - }; - float mBoost; - result setParams(float aBoost); - virtual FilterInstance *createInstance(); - BassboostFilter(); - }; -} - -#endif \ No newline at end of file diff --git a/third_party/windows/Soloud/include/soloud_biquadresonantfilter.h b/third_party/windows/Soloud/include/soloud_biquadresonantfilter.h deleted file mode 100644 index cdf4a45..0000000 --- a/third_party/windows/Soloud/include/soloud_biquadresonantfilter.h +++ /dev/null @@ -1,91 +0,0 @@ -/* -SoLoud audio engine -Copyright (c) 2013-2014 Jari Komppa - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source - distribution. -*/ - -#ifndef SOLOUD_BQRFILTER_H -#define SOLOUD_BQRFILTER_H - -#include "soloud.h" - -namespace SoLoud -{ - class BiquadResonantFilter; - - struct BQRStateData - { - float mY1, mY2, mX1, mX2; - }; - - class BiquadResonantFilterInstance : public FilterInstance - { - enum FILTERATTRIBUTE - { - WET = 0, - SAMPLERATE = 1, - FREQUENCY = 2, - RESONANCE = 3 - }; - - int mActive; - BQRStateData mState[2]; - float mA0, mA1, mA2, mB1, mB2; - int mDirty; - int mFilterType; - - BiquadResonantFilter *mParent; - void calcBQRParams(); - public: - virtual void filterChannel(float *aBuffer, unsigned int aSamples, float aSamplerate, time aTime, unsigned int aChannel, unsigned int aChannels); - virtual ~BiquadResonantFilterInstance(); - BiquadResonantFilterInstance(BiquadResonantFilter *aParent); - }; - - class BiquadResonantFilter : public Filter - { - public: - enum FILTERTYPE - { - NONE = 0, - LOWPASS = 1, - HIGHPASS = 2, - BANDPASS = 3 - }; - enum FILTERATTRIBUTE - { - WET = 0, - SAMPLERATE = 1, - FREQUENCY = 2, - RESONANCE = 3 - }; - int mFilterType; - float mSampleRate; - float mFrequency; - float mResonance; - virtual BiquadResonantFilterInstance *createInstance(); - BiquadResonantFilter(); - result setParams(int aType, float aSampleRate, float aFrequency, float aResonance); - virtual ~BiquadResonantFilter(); - }; -} - -#endif \ No newline at end of file diff --git a/third_party/windows/Soloud/include/soloud_bus.h b/third_party/windows/Soloud/include/soloud_bus.h deleted file mode 100644 index 495c154..0000000 --- a/third_party/windows/Soloud/include/soloud_bus.h +++ /dev/null @@ -1,86 +0,0 @@ -/* -SoLoud audio engine -Copyright (c) 2013-2014 Jari Komppa - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source - distribution. -*/ - -#ifndef SOLOUD_BUS_H -#define SOLOUD_BUS_H - -#include "soloud.h" - -namespace SoLoud -{ - class Bus; - - class BusInstance : public AudioSourceInstance - { - Bus *mParent; - unsigned int mScratchSize; - AlignedFloatBuffer mScratch; - public: - // Mono-mixed wave data for visualization and for visualization FFT input - float mVisualizationWaveData[256]; - - BusInstance(Bus *aParent); - virtual void getAudio(float *aBuffer, unsigned int aSamples); - virtual bool hasEnded(); - virtual ~BusInstance(); - }; - - class Bus : public AudioSource - { - public: - Bus(); - virtual BusInstance *createInstance(); - // Set filter. Set to NULL to clear the filter. - virtual void setFilter(unsigned int aFilterId, Filter *aFilter); - // Play sound through the bus - handle play(AudioSource &aSound, float aVolume = 1.0f, float aPan = 0.0f, bool aPaused = 0); - // Play sound through the bus, delayed in relation to other sounds called via this function. - handle playClocked(time aSoundTime, AudioSource &aSound, float aVolume = 1.0f, float aPan = 0.0f); - // Start playing a 3d audio source through the bus - handle play3d(AudioSource &aSound, float aPosX, float aPosY, float aPosZ, float aVelX = 0.0f, float aVelY = 0.0f, float aVelZ = 0.0f, float aVolume = 1.0f, bool aPaused = 0); - // Start playing a 3d audio source through the bus, delayed in relation to other sounds called via this function. - handle play3dClocked(time aSoundTime, AudioSource &aSound, float aPosX, float aPosY, float aPosZ, float aVelX = 0.0f, float aVelY = 0.0f, float aVelZ = 0.0f, float aVolume = 1.0f); - // Set number of channels for the bus (default 2) - result setChannels(unsigned int aChannels); - // Enable or disable visualization data gathering - void setVisualizationEnable(bool aEnable); - - // Calculate and get 256 floats of FFT data for visualization. Visualization has to be enabled before use. - float *calcFFT(); - - // Get 256 floats of wave data for visualization. Visualization has to be enabled before use. - float *getWave(); - public: - BusInstance *mInstance; - unsigned int mChannelHandle; - // FFT output data - float mFFTData[256]; - // Snapshot of wave data for visualization - float mWaveData[256]; - // Internal: find the bus' channel - void findBusHandle(); - }; -}; - -#endif \ No newline at end of file diff --git a/third_party/windows/Soloud/include/soloud_c.h b/third_party/windows/Soloud/include/soloud_c.h deleted file mode 100644 index 45dc57c..0000000 --- a/third_party/windows/Soloud/include/soloud_c.h +++ /dev/null @@ -1,490 +0,0 @@ -/* ************************************************** - * WARNING: this is a generated file. Do not edit. * - * Any edits will be overwritten by the generator. * - ************************************************** */ - -/* -SoLoud audio engine -Copyright (c) 2013-2016 Jari Komppa - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source - distribution. -*/ - -/* SoLoud C-Api Code Generator (c)2013-2016 Jari Komppa http://iki.fi/sol/ */ - -#ifndef SOLOUD_C_H_INCLUDED -#define SOLOUD_C_H_INCLUDED - -#ifdef __cplusplus -extern "C" { -#endif -// Collected enumerations -enum SOLOUD_ENUMS -{ - SOLOUD_AUTO = 0, - SOLOUD_SDL = 1, - SOLOUD_SDL2 = 2, - SOLOUD_PORTAUDIO = 3, - SOLOUD_WINMM = 4, - SOLOUD_XAUDIO2 = 5, - SOLOUD_WASAPI = 6, - SOLOUD_ALSA = 7, - SOLOUD_OSS = 8, - SOLOUD_OPENAL = 9, - SOLOUD_COREAUDIO = 10, - SOLOUD_OPENSLES = 11, - SOLOUD_NULLDRIVER = 12, - SOLOUD_BACKEND_MAX = 13, - SOLOUD_CLIP_ROUNDOFF = 1, - SOLOUD_ENABLE_VISUALIZATION = 2, - SOLOUD_LEFT_HANDED_3D = 4, - BIQUADRESONANTFILTER_NONE = 0, - BIQUADRESONANTFILTER_LOWPASS = 1, - BIQUADRESONANTFILTER_HIGHPASS = 2, - BIQUADRESONANTFILTER_BANDPASS = 3, - BIQUADRESONANTFILTER_WET = 0, - BIQUADRESONANTFILTER_SAMPLERATE = 1, - BIQUADRESONANTFILTER_FREQUENCY = 2, - BIQUADRESONANTFILTER_RESONANCE = 3, - LOFIFILTER_WET = 0, - LOFIFILTER_SAMPLERATE = 1, - LOFIFILTER_BITDEPTH = 2, - BASSBOOSTFILTER_WET = 0, - BASSBOOSTFILTER_BOOST = 1, - SFXR_COIN = 0, - SFXR_LASER = 1, - SFXR_EXPLOSION = 2, - SFXR_POWERUP = 3, - SFXR_HURT = 4, - SFXR_JUMP = 5, - SFXR_BLIP = 6, - FLANGERFILTER_WET = 0, - FLANGERFILTER_DELAY = 1, - FLANGERFILTER_FREQ = 2, - MONOTONE_SQUARE = 0, - MONOTONE_SAW = 1, - MONOTONE_SIN = 2, - MONOTONE_SAWSIN = 3 -}; - -// Object handle typedefs -typedef void * AlignedFloatBuffer; -typedef void * Soloud; -typedef void * AudioCollider; -typedef void * AudioAttenuator; -typedef void * AudioSource; -typedef void * BiquadResonantFilter; -typedef void * LofiFilter; -typedef void * Bus; -typedef void * EchoFilter; -typedef void * Fader; -typedef void * FFTFilter; -typedef void * BassboostFilter; -typedef void * Filter; -typedef void * Speech; -typedef void * Wav; -typedef void * WavStream; -typedef void * Prg; -typedef void * Sfxr; -typedef void * FlangerFilter; -typedef void * DCRemovalFilter; -typedef void * Openmpt; -typedef void * Monotone; -typedef void * TedSid; -typedef void * File; - -/* - * Soloud - */ -void Soloud_destroy(Soloud * aSoloud); -Soloud * Soloud_create(); -int Soloud_init(Soloud * aSoloud); -int Soloud_initEx(Soloud * aSoloud, unsigned int aFlags /* = Soloud::CLIP_ROUNDOFF */, unsigned int aBackend /* = Soloud::AUTO */, unsigned int aSamplerate /* = Soloud::AUTO */, unsigned int aBufferSize /* = Soloud::AUTO */, unsigned int aChannels /* = 2 */); -void Soloud_deinit(Soloud * aSoloud); -unsigned int Soloud_getVersion(Soloud * aSoloud); -const char * Soloud_getErrorString(Soloud * aSoloud, int aErrorCode); -unsigned int Soloud_getBackendId(Soloud * aSoloud); -const char * Soloud_getBackendString(Soloud * aSoloud); -unsigned int Soloud_getBackendChannels(Soloud * aSoloud); -unsigned int Soloud_getBackendSamplerate(Soloud * aSoloud); -unsigned int Soloud_getBackendBufferSize(Soloud * aSoloud); -int Soloud_setSpeakerPosition(Soloud * aSoloud, unsigned int aChannel, float aX, float aY, float aZ); -unsigned int Soloud_play(Soloud * aSoloud, AudioSource * aSound); -unsigned int Soloud_playEx(Soloud * aSoloud, AudioSource * aSound, float aVolume /* = -1.0f */, float aPan /* = 0.0f */, int aPaused /* = 0 */, unsigned int aBus /* = 0 */); -unsigned int Soloud_playClocked(Soloud * aSoloud, double aSoundTime, AudioSource * aSound); -unsigned int Soloud_playClockedEx(Soloud * aSoloud, double aSoundTime, AudioSource * aSound, float aVolume /* = -1.0f */, float aPan /* = 0.0f */, unsigned int aBus /* = 0 */); -unsigned int Soloud_play3d(Soloud * aSoloud, AudioSource * aSound, float aPosX, float aPosY, float aPosZ); -unsigned int Soloud_play3dEx(Soloud * aSoloud, AudioSource * aSound, float aPosX, float aPosY, float aPosZ, float aVelX /* = 0.0f */, float aVelY /* = 0.0f */, float aVelZ /* = 0.0f */, float aVolume /* = 1.0f */, int aPaused /* = 0 */, unsigned int aBus /* = 0 */); -unsigned int Soloud_play3dClocked(Soloud * aSoloud, double aSoundTime, AudioSource * aSound, float aPosX, float aPosY, float aPosZ); -unsigned int Soloud_play3dClockedEx(Soloud * aSoloud, double aSoundTime, AudioSource * aSound, float aPosX, float aPosY, float aPosZ, float aVelX /* = 0.0f */, float aVelY /* = 0.0f */, float aVelZ /* = 0.0f */, float aVolume /* = 1.0f */, unsigned int aBus /* = 0 */); -void Soloud_seek(Soloud * aSoloud, unsigned int aVoiceHandle, double aSeconds); -void Soloud_stop(Soloud * aSoloud, unsigned int aVoiceHandle); -void Soloud_stopAll(Soloud * aSoloud); -void Soloud_stopAudioSource(Soloud * aSoloud, AudioSource * aSound); -void Soloud_setFilterParameter(Soloud * aSoloud, unsigned int aVoiceHandle, unsigned int aFilterId, unsigned int aAttributeId, float aValue); -float Soloud_getFilterParameter(Soloud * aSoloud, unsigned int aVoiceHandle, unsigned int aFilterId, unsigned int aAttributeId); -void Soloud_fadeFilterParameter(Soloud * aSoloud, unsigned int aVoiceHandle, unsigned int aFilterId, unsigned int aAttributeId, float aTo, double aTime); -void Soloud_oscillateFilterParameter(Soloud * aSoloud, unsigned int aVoiceHandle, unsigned int aFilterId, unsigned int aAttributeId, float aFrom, float aTo, double aTime); -double Soloud_getStreamTime(Soloud * aSoloud, unsigned int aVoiceHandle); -int Soloud_getPause(Soloud * aSoloud, unsigned int aVoiceHandle); -float Soloud_getVolume(Soloud * aSoloud, unsigned int aVoiceHandle); -float Soloud_getOverallVolume(Soloud * aSoloud, unsigned int aVoiceHandle); -float Soloud_getPan(Soloud * aSoloud, unsigned int aVoiceHandle); -float Soloud_getSamplerate(Soloud * aSoloud, unsigned int aVoiceHandle); -int Soloud_getProtectVoice(Soloud * aSoloud, unsigned int aVoiceHandle); -unsigned int Soloud_getActiveVoiceCount(Soloud * aSoloud); -unsigned int Soloud_getVoiceCount(Soloud * aSoloud); -int Soloud_isValidVoiceHandle(Soloud * aSoloud, unsigned int aVoiceHandle); -float Soloud_getRelativePlaySpeed(Soloud * aSoloud, unsigned int aVoiceHandle); -float Soloud_getPostClipScaler(Soloud * aSoloud); -float Soloud_getGlobalVolume(Soloud * aSoloud); -unsigned int Soloud_getMaxActiveVoiceCount(Soloud * aSoloud); -int Soloud_getLooping(Soloud * aSoloud, unsigned int aVoiceHandle); -void Soloud_setLooping(Soloud * aSoloud, unsigned int aVoiceHandle, int aLooping); -int Soloud_setMaxActiveVoiceCount(Soloud * aSoloud, unsigned int aVoiceCount); -void Soloud_setInaudibleBehavior(Soloud * aSoloud, unsigned int aVoiceHandle, int aMustTick, int aKill); -void Soloud_setGlobalVolume(Soloud * aSoloud, float aVolume); -void Soloud_setPostClipScaler(Soloud * aSoloud, float aScaler); -void Soloud_setPause(Soloud * aSoloud, unsigned int aVoiceHandle, int aPause); -void Soloud_setPauseAll(Soloud * aSoloud, int aPause); -int Soloud_setRelativePlaySpeed(Soloud * aSoloud, unsigned int aVoiceHandle, float aSpeed); -void Soloud_setProtectVoice(Soloud * aSoloud, unsigned int aVoiceHandle, int aProtect); -void Soloud_setSamplerate(Soloud * aSoloud, unsigned int aVoiceHandle, float aSamplerate); -void Soloud_setPan(Soloud * aSoloud, unsigned int aVoiceHandle, float aPan); -void Soloud_setPanAbsolute(Soloud * aSoloud, unsigned int aVoiceHandle, float aLVolume, float aRVolume); -void Soloud_setPanAbsoluteEx(Soloud * aSoloud, unsigned int aVoiceHandle, float aLVolume, float aRVolume, float aLBVolume /* = 0 */, float aRBVolume /* = 0 */, float aCVolume /* = 0 */, float aSVolume /* = 0 */); -void Soloud_setVolume(Soloud * aSoloud, unsigned int aVoiceHandle, float aVolume); -void Soloud_setDelaySamples(Soloud * aSoloud, unsigned int aVoiceHandle, unsigned int aSamples); -void Soloud_fadeVolume(Soloud * aSoloud, unsigned int aVoiceHandle, float aTo, double aTime); -void Soloud_fadePan(Soloud * aSoloud, unsigned int aVoiceHandle, float aTo, double aTime); -void Soloud_fadeRelativePlaySpeed(Soloud * aSoloud, unsigned int aVoiceHandle, float aTo, double aTime); -void Soloud_fadeGlobalVolume(Soloud * aSoloud, float aTo, double aTime); -void Soloud_schedulePause(Soloud * aSoloud, unsigned int aVoiceHandle, double aTime); -void Soloud_scheduleStop(Soloud * aSoloud, unsigned int aVoiceHandle, double aTime); -void Soloud_oscillateVolume(Soloud * aSoloud, unsigned int aVoiceHandle, float aFrom, float aTo, double aTime); -void Soloud_oscillatePan(Soloud * aSoloud, unsigned int aVoiceHandle, float aFrom, float aTo, double aTime); -void Soloud_oscillateRelativePlaySpeed(Soloud * aSoloud, unsigned int aVoiceHandle, float aFrom, float aTo, double aTime); -void Soloud_oscillateGlobalVolume(Soloud * aSoloud, float aFrom, float aTo, double aTime); -void Soloud_setGlobalFilter(Soloud * aSoloud, unsigned int aFilterId, Filter * aFilter); -void Soloud_setVisualizationEnable(Soloud * aSoloud, int aEnable); -float * Soloud_calcFFT(Soloud * aSoloud); -float * Soloud_getWave(Soloud * aSoloud); -unsigned int Soloud_getLoopCount(Soloud * aSoloud, unsigned int aVoiceHandle); -float Soloud_getInfo(Soloud * aSoloud, unsigned int aVoiceHandle, unsigned int aInfoKey); -unsigned int Soloud_createVoiceGroup(Soloud * aSoloud); -int Soloud_destroyVoiceGroup(Soloud * aSoloud, unsigned int aVoiceGroupHandle); -int Soloud_addVoiceToGroup(Soloud * aSoloud, unsigned int aVoiceGroupHandle, unsigned int aVoiceHandle); -int Soloud_isVoiceGroup(Soloud * aSoloud, unsigned int aVoiceGroupHandle); -int Soloud_isVoiceGroupEmpty(Soloud * aSoloud, unsigned int aVoiceGroupHandle); -void Soloud_update3dAudio(Soloud * aSoloud); -int Soloud_set3dSoundSpeed(Soloud * aSoloud, float aSpeed); -float Soloud_get3dSoundSpeed(Soloud * aSoloud); -void Soloud_set3dListenerParameters(Soloud * aSoloud, float aPosX, float aPosY, float aPosZ, float aAtX, float aAtY, float aAtZ, float aUpX, float aUpY, float aUpZ); -void Soloud_set3dListenerParametersEx(Soloud * aSoloud, float aPosX, float aPosY, float aPosZ, float aAtX, float aAtY, float aAtZ, float aUpX, float aUpY, float aUpZ, float aVelocityX /* = 0.0f */, float aVelocityY /* = 0.0f */, float aVelocityZ /* = 0.0f */); -void Soloud_set3dListenerPosition(Soloud * aSoloud, float aPosX, float aPosY, float aPosZ); -void Soloud_set3dListenerAt(Soloud * aSoloud, float aAtX, float aAtY, float aAtZ); -void Soloud_set3dListenerUp(Soloud * aSoloud, float aUpX, float aUpY, float aUpZ); -void Soloud_set3dListenerVelocity(Soloud * aSoloud, float aVelocityX, float aVelocityY, float aVelocityZ); -void Soloud_set3dSourceParameters(Soloud * aSoloud, unsigned int aVoiceHandle, float aPosX, float aPosY, float aPosZ); -void Soloud_set3dSourceParametersEx(Soloud * aSoloud, unsigned int aVoiceHandle, float aPosX, float aPosY, float aPosZ, float aVelocityX /* = 0.0f */, float aVelocityY /* = 0.0f */, float aVelocityZ /* = 0.0f */); -void Soloud_set3dSourcePosition(Soloud * aSoloud, unsigned int aVoiceHandle, float aPosX, float aPosY, float aPosZ); -void Soloud_set3dSourceVelocity(Soloud * aSoloud, unsigned int aVoiceHandle, float aVelocityX, float aVelocityY, float aVelocityZ); -void Soloud_set3dSourceMinMaxDistance(Soloud * aSoloud, unsigned int aVoiceHandle, float aMinDistance, float aMaxDistance); -void Soloud_set3dSourceAttenuation(Soloud * aSoloud, unsigned int aVoiceHandle, unsigned int aAttenuationModel, float aAttenuationRolloffFactor); -void Soloud_set3dSourceDopplerFactor(Soloud * aSoloud, unsigned int aVoiceHandle, float aDopplerFactor); -void Soloud_mix(Soloud * aSoloud, float * aBuffer, unsigned int aSamples); -void Soloud_mixSigned16(Soloud * aSoloud, short * aBuffer, unsigned int aSamples); - -/* - * AudioAttenuator - */ -void AudioAttenuator_destroy(AudioAttenuator * aAudioAttenuator); -float AudioAttenuator_attenuate(AudioAttenuator * aAudioAttenuator, float aDistance, float aMinDistance, float aMaxDistance, float aRolloffFactor); - -/* - * BiquadResonantFilter - */ -void BiquadResonantFilter_destroy(BiquadResonantFilter * aBiquadResonantFilter); -BiquadResonantFilter * BiquadResonantFilter_create(); -int BiquadResonantFilter_setParams(BiquadResonantFilter * aBiquadResonantFilter, int aType, float aSampleRate, float aFrequency, float aResonance); - -/* - * LofiFilter - */ -void LofiFilter_destroy(LofiFilter * aLofiFilter); -LofiFilter * LofiFilter_create(); -int LofiFilter_setParams(LofiFilter * aLofiFilter, float aSampleRate, float aBitdepth); - -/* - * Bus - */ -void Bus_destroy(Bus * aBus); -Bus * Bus_create(); -void Bus_setFilter(Bus * aBus, unsigned int aFilterId, Filter * aFilter); -unsigned int Bus_play(Bus * aBus, AudioSource * aSound); -unsigned int Bus_playEx(Bus * aBus, AudioSource * aSound, float aVolume /* = 1.0f */, float aPan /* = 0.0f */, int aPaused /* = 0 */); -unsigned int Bus_playClocked(Bus * aBus, double aSoundTime, AudioSource * aSound); -unsigned int Bus_playClockedEx(Bus * aBus, double aSoundTime, AudioSource * aSound, float aVolume /* = 1.0f */, float aPan /* = 0.0f */); -unsigned int Bus_play3d(Bus * aBus, AudioSource * aSound, float aPosX, float aPosY, float aPosZ); -unsigned int Bus_play3dEx(Bus * aBus, AudioSource * aSound, float aPosX, float aPosY, float aPosZ, float aVelX /* = 0.0f */, float aVelY /* = 0.0f */, float aVelZ /* = 0.0f */, float aVolume /* = 1.0f */, int aPaused /* = 0 */); -unsigned int Bus_play3dClocked(Bus * aBus, double aSoundTime, AudioSource * aSound, float aPosX, float aPosY, float aPosZ); -unsigned int Bus_play3dClockedEx(Bus * aBus, double aSoundTime, AudioSource * aSound, float aPosX, float aPosY, float aPosZ, float aVelX /* = 0.0f */, float aVelY /* = 0.0f */, float aVelZ /* = 0.0f */, float aVolume /* = 1.0f */); -int Bus_setChannels(Bus * aBus, unsigned int aChannels); -void Bus_setVisualizationEnable(Bus * aBus, int aEnable); -float * Bus_calcFFT(Bus * aBus); -float * Bus_getWave(Bus * aBus); -void Bus_setVolume(Bus * aBus, float aVolume); -void Bus_setLooping(Bus * aBus, int aLoop); -void Bus_set3dMinMaxDistance(Bus * aBus, float aMinDistance, float aMaxDistance); -void Bus_set3dAttenuation(Bus * aBus, unsigned int aAttenuationModel, float aAttenuationRolloffFactor); -void Bus_set3dDopplerFactor(Bus * aBus, float aDopplerFactor); -void Bus_set3dProcessing(Bus * aBus, int aDo3dProcessing); -void Bus_set3dListenerRelative(Bus * aBus, int aListenerRelative); -void Bus_set3dDistanceDelay(Bus * aBus, int aDistanceDelay); -void Bus_set3dCollider(Bus * aBus, AudioCollider * aCollider); -void Bus_set3dColliderEx(Bus * aBus, AudioCollider * aCollider, int aUserData /* = 0 */); -void Bus_set3dAttenuator(Bus * aBus, AudioAttenuator * aAttenuator); -void Bus_setInaudibleBehavior(Bus * aBus, int aMustTick, int aKill); -void Bus_stop(Bus * aBus); - -/* - * EchoFilter - */ -void EchoFilter_destroy(EchoFilter * aEchoFilter); -EchoFilter * EchoFilter_create(); -int EchoFilter_setParams(EchoFilter * aEchoFilter, float aDelay); -int EchoFilter_setParamsEx(EchoFilter * aEchoFilter, float aDelay, float aDecay /* = 0.7f */, float aFilter /* = 0.0f */); - -/* - * FFTFilter - */ -void FFTFilter_destroy(FFTFilter * aFFTFilter); -FFTFilter * FFTFilter_create(); - -/* - * BassboostFilter - */ -void BassboostFilter_destroy(BassboostFilter * aBassboostFilter); -int BassboostFilter_setParams(BassboostFilter * aBassboostFilter, float aBoost); -BassboostFilter * BassboostFilter_create(); - -/* - * Speech - */ -void Speech_destroy(Speech * aSpeech); -Speech * Speech_create(); -int Speech_setText(Speech * aSpeech, const char * aText); -void Speech_setVolume(Speech * aSpeech, float aVolume); -void Speech_setLooping(Speech * aSpeech, int aLoop); -void Speech_set3dMinMaxDistance(Speech * aSpeech, float aMinDistance, float aMaxDistance); -void Speech_set3dAttenuation(Speech * aSpeech, unsigned int aAttenuationModel, float aAttenuationRolloffFactor); -void Speech_set3dDopplerFactor(Speech * aSpeech, float aDopplerFactor); -void Speech_set3dProcessing(Speech * aSpeech, int aDo3dProcessing); -void Speech_set3dListenerRelative(Speech * aSpeech, int aListenerRelative); -void Speech_set3dDistanceDelay(Speech * aSpeech, int aDistanceDelay); -void Speech_set3dCollider(Speech * aSpeech, AudioCollider * aCollider); -void Speech_set3dColliderEx(Speech * aSpeech, AudioCollider * aCollider, int aUserData /* = 0 */); -void Speech_set3dAttenuator(Speech * aSpeech, AudioAttenuator * aAttenuator); -void Speech_setInaudibleBehavior(Speech * aSpeech, int aMustTick, int aKill); -void Speech_setFilter(Speech * aSpeech, unsigned int aFilterId, Filter * aFilter); -void Speech_stop(Speech * aSpeech); - -/* - * Wav - */ -void Wav_destroy(Wav * aWav); -Wav * Wav_create(); -int Wav_load(Wav * aWav, const char * aFilename); -int Wav_loadMem(Wav * aWav, unsigned char * aMem, unsigned int aLength); -int Wav_loadMemEx(Wav * aWav, unsigned char * aMem, unsigned int aLength, int aCopy /* = false */, int aTakeOwnership /* = true */); -int Wav_loadFile(Wav * aWav, File * aFile); -double Wav_getLength(Wav * aWav); -void Wav_setVolume(Wav * aWav, float aVolume); -void Wav_setLooping(Wav * aWav, int aLoop); -void Wav_set3dMinMaxDistance(Wav * aWav, float aMinDistance, float aMaxDistance); -void Wav_set3dAttenuation(Wav * aWav, unsigned int aAttenuationModel, float aAttenuationRolloffFactor); -void Wav_set3dDopplerFactor(Wav * aWav, float aDopplerFactor); -void Wav_set3dProcessing(Wav * aWav, int aDo3dProcessing); -void Wav_set3dListenerRelative(Wav * aWav, int aListenerRelative); -void Wav_set3dDistanceDelay(Wav * aWav, int aDistanceDelay); -void Wav_set3dCollider(Wav * aWav, AudioCollider * aCollider); -void Wav_set3dColliderEx(Wav * aWav, AudioCollider * aCollider, int aUserData /* = 0 */); -void Wav_set3dAttenuator(Wav * aWav, AudioAttenuator * aAttenuator); -void Wav_setInaudibleBehavior(Wav * aWav, int aMustTick, int aKill); -void Wav_setFilter(Wav * aWav, unsigned int aFilterId, Filter * aFilter); -void Wav_stop(Wav * aWav); - -/* - * WavStream - */ -void WavStream_destroy(WavStream * aWavStream); -WavStream * WavStream_create(); -int WavStream_load(WavStream * aWavStream, const char * aFilename); -int WavStream_loadMem(WavStream * aWavStream, unsigned char * aData, unsigned int aDataLen); -int WavStream_loadMemEx(WavStream * aWavStream, unsigned char * aData, unsigned int aDataLen, int aCopy /* = false */, int aTakeOwnership /* = true */); -int WavStream_loadToMem(WavStream * aWavStream, const char * aFilename); -int WavStream_loadFile(WavStream * aWavStream, File * aFile); -int WavStream_loadFileToMem(WavStream * aWavStream, File * aFile); -double WavStream_getLength(WavStream * aWavStream); -void WavStream_setVolume(WavStream * aWavStream, float aVolume); -void WavStream_setLooping(WavStream * aWavStream, int aLoop); -void WavStream_set3dMinMaxDistance(WavStream * aWavStream, float aMinDistance, float aMaxDistance); -void WavStream_set3dAttenuation(WavStream * aWavStream, unsigned int aAttenuationModel, float aAttenuationRolloffFactor); -void WavStream_set3dDopplerFactor(WavStream * aWavStream, float aDopplerFactor); -void WavStream_set3dProcessing(WavStream * aWavStream, int aDo3dProcessing); -void WavStream_set3dListenerRelative(WavStream * aWavStream, int aListenerRelative); -void WavStream_set3dDistanceDelay(WavStream * aWavStream, int aDistanceDelay); -void WavStream_set3dCollider(WavStream * aWavStream, AudioCollider * aCollider); -void WavStream_set3dColliderEx(WavStream * aWavStream, AudioCollider * aCollider, int aUserData /* = 0 */); -void WavStream_set3dAttenuator(WavStream * aWavStream, AudioAttenuator * aAttenuator); -void WavStream_setInaudibleBehavior(WavStream * aWavStream, int aMustTick, int aKill); -void WavStream_setFilter(WavStream * aWavStream, unsigned int aFilterId, Filter * aFilter); -void WavStream_stop(WavStream * aWavStream); - -/* - * Prg - */ -void Prg_destroy(Prg * aPrg); -Prg * Prg_create(); -unsigned int Prg_rand(Prg * aPrg); -void Prg_srand(Prg * aPrg, int aSeed); - -/* - * Sfxr - */ -void Sfxr_destroy(Sfxr * aSfxr); -Sfxr * Sfxr_create(); -void Sfxr_resetParams(Sfxr * aSfxr); -int Sfxr_loadParams(Sfxr * aSfxr, const char * aFilename); -int Sfxr_loadParamsMem(Sfxr * aSfxr, unsigned char * aMem, unsigned int aLength); -int Sfxr_loadParamsMemEx(Sfxr * aSfxr, unsigned char * aMem, unsigned int aLength, int aCopy /* = false */, int aTakeOwnership /* = true */); -int Sfxr_loadParamsFile(Sfxr * aSfxr, File * aFile); -int Sfxr_loadPreset(Sfxr * aSfxr, int aPresetNo, int aRandSeed); -void Sfxr_setVolume(Sfxr * aSfxr, float aVolume); -void Sfxr_setLooping(Sfxr * aSfxr, int aLoop); -void Sfxr_set3dMinMaxDistance(Sfxr * aSfxr, float aMinDistance, float aMaxDistance); -void Sfxr_set3dAttenuation(Sfxr * aSfxr, unsigned int aAttenuationModel, float aAttenuationRolloffFactor); -void Sfxr_set3dDopplerFactor(Sfxr * aSfxr, float aDopplerFactor); -void Sfxr_set3dProcessing(Sfxr * aSfxr, int aDo3dProcessing); -void Sfxr_set3dListenerRelative(Sfxr * aSfxr, int aListenerRelative); -void Sfxr_set3dDistanceDelay(Sfxr * aSfxr, int aDistanceDelay); -void Sfxr_set3dCollider(Sfxr * aSfxr, AudioCollider * aCollider); -void Sfxr_set3dColliderEx(Sfxr * aSfxr, AudioCollider * aCollider, int aUserData /* = 0 */); -void Sfxr_set3dAttenuator(Sfxr * aSfxr, AudioAttenuator * aAttenuator); -void Sfxr_setInaudibleBehavior(Sfxr * aSfxr, int aMustTick, int aKill); -void Sfxr_setFilter(Sfxr * aSfxr, unsigned int aFilterId, Filter * aFilter); -void Sfxr_stop(Sfxr * aSfxr); - -/* - * FlangerFilter - */ -void FlangerFilter_destroy(FlangerFilter * aFlangerFilter); -FlangerFilter * FlangerFilter_create(); -int FlangerFilter_setParams(FlangerFilter * aFlangerFilter, float aDelay, float aFreq); - -/* - * DCRemovalFilter - */ -void DCRemovalFilter_destroy(DCRemovalFilter * aDCRemovalFilter); -DCRemovalFilter * DCRemovalFilter_create(); -int DCRemovalFilter_setParams(DCRemovalFilter * aDCRemovalFilter); -int DCRemovalFilter_setParamsEx(DCRemovalFilter * aDCRemovalFilter, float aLength /* = 0.1f */); - -/* - * Openmpt - */ -void Openmpt_destroy(Openmpt * aOpenmpt); -Openmpt * Openmpt_create(); -int Openmpt_load(Openmpt * aOpenmpt, const char * aFilename); -int Openmpt_loadMem(Openmpt * aOpenmpt, unsigned char * aMem, unsigned int aLength); -int Openmpt_loadMemEx(Openmpt * aOpenmpt, unsigned char * aMem, unsigned int aLength, int aCopy /* = false */, int aTakeOwnership /* = true */); -int Openmpt_loadFile(Openmpt * aOpenmpt, File * aFile); -void Openmpt_setVolume(Openmpt * aOpenmpt, float aVolume); -void Openmpt_setLooping(Openmpt * aOpenmpt, int aLoop); -void Openmpt_set3dMinMaxDistance(Openmpt * aOpenmpt, float aMinDistance, float aMaxDistance); -void Openmpt_set3dAttenuation(Openmpt * aOpenmpt, unsigned int aAttenuationModel, float aAttenuationRolloffFactor); -void Openmpt_set3dDopplerFactor(Openmpt * aOpenmpt, float aDopplerFactor); -void Openmpt_set3dProcessing(Openmpt * aOpenmpt, int aDo3dProcessing); -void Openmpt_set3dListenerRelative(Openmpt * aOpenmpt, int aListenerRelative); -void Openmpt_set3dDistanceDelay(Openmpt * aOpenmpt, int aDistanceDelay); -void Openmpt_set3dCollider(Openmpt * aOpenmpt, AudioCollider * aCollider); -void Openmpt_set3dColliderEx(Openmpt * aOpenmpt, AudioCollider * aCollider, int aUserData /* = 0 */); -void Openmpt_set3dAttenuator(Openmpt * aOpenmpt, AudioAttenuator * aAttenuator); -void Openmpt_setInaudibleBehavior(Openmpt * aOpenmpt, int aMustTick, int aKill); -void Openmpt_setFilter(Openmpt * aOpenmpt, unsigned int aFilterId, Filter * aFilter); -void Openmpt_stop(Openmpt * aOpenmpt); - -/* - * Monotone - */ -void Monotone_destroy(Monotone * aMonotone); -Monotone * Monotone_create(); -int Monotone_setParams(Monotone * aMonotone, int aHardwareChannels); -int Monotone_setParamsEx(Monotone * aMonotone, int aHardwareChannels, int aWaveform /* = SQUARE */); -int Monotone_load(Monotone * aMonotone, const char * aFilename); -int Monotone_loadMem(Monotone * aMonotone, unsigned char * aMem, unsigned int aLength); -int Monotone_loadMemEx(Monotone * aMonotone, unsigned char * aMem, unsigned int aLength, int aCopy /* = false */, int aTakeOwnership /* = true */); -int Monotone_loadFile(Monotone * aMonotone, File * aFile); -void Monotone_setVolume(Monotone * aMonotone, float aVolume); -void Monotone_setLooping(Monotone * aMonotone, int aLoop); -void Monotone_set3dMinMaxDistance(Monotone * aMonotone, float aMinDistance, float aMaxDistance); -void Monotone_set3dAttenuation(Monotone * aMonotone, unsigned int aAttenuationModel, float aAttenuationRolloffFactor); -void Monotone_set3dDopplerFactor(Monotone * aMonotone, float aDopplerFactor); -void Monotone_set3dProcessing(Monotone * aMonotone, int aDo3dProcessing); -void Monotone_set3dListenerRelative(Monotone * aMonotone, int aListenerRelative); -void Monotone_set3dDistanceDelay(Monotone * aMonotone, int aDistanceDelay); -void Monotone_set3dCollider(Monotone * aMonotone, AudioCollider * aCollider); -void Monotone_set3dColliderEx(Monotone * aMonotone, AudioCollider * aCollider, int aUserData /* = 0 */); -void Monotone_set3dAttenuator(Monotone * aMonotone, AudioAttenuator * aAttenuator); -void Monotone_setInaudibleBehavior(Monotone * aMonotone, int aMustTick, int aKill); -void Monotone_setFilter(Monotone * aMonotone, unsigned int aFilterId, Filter * aFilter); -void Monotone_stop(Monotone * aMonotone); - -/* - * TedSid - */ -void TedSid_destroy(TedSid * aTedSid); -TedSid * TedSid_create(); -int TedSid_load(TedSid * aTedSid, const char * aFilename); -int TedSid_loadToMem(TedSid * aTedSid, const char * aFilename); -int TedSid_loadMem(TedSid * aTedSid, unsigned char * aMem, unsigned int aLength); -int TedSid_loadMemEx(TedSid * aTedSid, unsigned char * aMem, unsigned int aLength, int aCopy /* = false */, int aTakeOwnership /* = true */); -int TedSid_loadFileToMem(TedSid * aTedSid, File * aFile); -int TedSid_loadFile(TedSid * aTedSid, File * aFile); -void TedSid_setVolume(TedSid * aTedSid, float aVolume); -void TedSid_setLooping(TedSid * aTedSid, int aLoop); -void TedSid_set3dMinMaxDistance(TedSid * aTedSid, float aMinDistance, float aMaxDistance); -void TedSid_set3dAttenuation(TedSid * aTedSid, unsigned int aAttenuationModel, float aAttenuationRolloffFactor); -void TedSid_set3dDopplerFactor(TedSid * aTedSid, float aDopplerFactor); -void TedSid_set3dProcessing(TedSid * aTedSid, int aDo3dProcessing); -void TedSid_set3dListenerRelative(TedSid * aTedSid, int aListenerRelative); -void TedSid_set3dDistanceDelay(TedSid * aTedSid, int aDistanceDelay); -void TedSid_set3dCollider(TedSid * aTedSid, AudioCollider * aCollider); -void TedSid_set3dColliderEx(TedSid * aTedSid, AudioCollider * aCollider, int aUserData /* = 0 */); -void TedSid_set3dAttenuator(TedSid * aTedSid, AudioAttenuator * aAttenuator); -void TedSid_setInaudibleBehavior(TedSid * aTedSid, int aMustTick, int aKill); -void TedSid_setFilter(TedSid * aTedSid, unsigned int aFilterId, Filter * aFilter); -void TedSid_stop(TedSid * aTedSid); -#ifdef __cplusplus -} // extern "C" -#endif - -#endif // SOLOUD_C_H_INCLUDED - diff --git a/third_party/windows/Soloud/include/soloud_dcremovalfilter.h b/third_party/windows/Soloud/include/soloud_dcremovalfilter.h deleted file mode 100644 index c9ecef1..0000000 --- a/third_party/windows/Soloud/include/soloud_dcremovalfilter.h +++ /dev/null @@ -1,58 +0,0 @@ -/* -SoLoud audio engine -Copyright (c) 2013-2015 Jari Komppa - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source - distribution. -*/ - -#ifndef SOLOUD_DCREMOVAL_H -#define SOLOUD_DCREMOVAL_H - -#include "soloud.h" - -namespace SoLoud -{ - class DCRemovalFilter; - - class DCRemovalFilterInstance : public FilterInstance - { - float *mBuffer; - float *mTotals; - int mBufferLength; - DCRemovalFilter *mParent; - int mOffset; - - public: - virtual void filter(float *aBuffer, unsigned int aSamples, unsigned int aChannels, float aSamplerate, time aTime); - virtual ~DCRemovalFilterInstance(); - DCRemovalFilterInstance(DCRemovalFilter *aParent); - }; - - class DCRemovalFilter : public Filter - { - public: - float mLength; - virtual FilterInstance *createInstance(); - DCRemovalFilter(); - result setParams(float aLength = 0.1f); - }; -} - -#endif \ No newline at end of file diff --git a/third_party/windows/Soloud/include/soloud_echofilter.h b/third_party/windows/Soloud/include/soloud_echofilter.h deleted file mode 100644 index a73dc50..0000000 --- a/third_party/windows/Soloud/include/soloud_echofilter.h +++ /dev/null @@ -1,59 +0,0 @@ -/* -SoLoud audio engine -Copyright (c) 2013-2014 Jari Komppa - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source - distribution. -*/ - -#ifndef SOLOUD_ECHOFILTER_H -#define SOLOUD_ECHOFILTER_H - -#include "soloud.h" - -namespace SoLoud -{ - class EchoFilter; - - class EchoFilterInstance : public FilterInstance - { - float *mBuffer; - int mBufferLength; - EchoFilter *mParent; - int mOffset; - - public: - virtual void filter(float *aBuffer, unsigned int aSamples, unsigned int aChannels, float aSamplerate, time aTime); - virtual ~EchoFilterInstance(); - EchoFilterInstance(EchoFilter *aParent); - }; - - class EchoFilter : public Filter - { - public: - float mDelay; - float mDecay; - float mFilter; - virtual FilterInstance *createInstance(); - EchoFilter(); - result setParams(float aDelay, float aDecay = 0.7f, float aFilter = 0.0f); - }; -} - -#endif \ No newline at end of file diff --git a/third_party/windows/Soloud/include/soloud_error.h b/third_party/windows/Soloud/include/soloud_error.h deleted file mode 100644 index a0be65d..0000000 --- a/third_party/windows/Soloud/include/soloud_error.h +++ /dev/null @@ -1,41 +0,0 @@ -/* -SoLoud audio engine -Copyright (c) 2013-2014 Jari Komppa - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source - distribution. -*/ -#ifndef SOLOUD_ERROR_H -#define SOLOUD_ERROR_H - -namespace SoLoud -{ - enum SOLOUD_ERRORS - { - SO_NO_ERROR = 0, // No error - INVALID_PARAMETER = 1, // Some parameter is invalid - FILE_NOT_FOUND = 2, // File not found - FILE_LOAD_FAILED = 3, // File found, but could not be loaded - DLL_NOT_FOUND = 4, // DLL not found, or wrong DLL - OUT_OF_MEMORY = 5, // Out of memory - NOT_IMPLEMENTED = 6, // Feature not implemented - UNKNOWN_ERROR = 7 // Other error - }; -}; -#endif \ No newline at end of file diff --git a/third_party/windows/Soloud/include/soloud_fader.h b/third_party/windows/Soloud/include/soloud_fader.h deleted file mode 100644 index a4de6a6..0000000 --- a/third_party/windows/Soloud/include/soloud_fader.h +++ /dev/null @@ -1,63 +0,0 @@ -/* -SoLoud audio engine -Copyright (c) 2013-2014 Jari Komppa - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source - distribution. -*/ - -#ifndef SOLOUD_FADER_H -#define SOLOUD_FADER_H - -#include "soloud.h" - -namespace SoLoud -{ - // Helper class to process faders - class Fader - { - public: - // Value to fade from - float mFrom; - // Value to fade to - float mTo; - // Delta between from and to - float mDelta; - // Total time to fade - time mTime; - // Time fading started - time mStartTime; - // Time fading will end - time mEndTime; - // Current value. Used in case time rolls over. - float mCurrent; - // Active flag; 0 means disabled, 1 is active, 2 is LFO, -1 means was active, but stopped - int mActive; - // Ctor - Fader(); - // Set up LFO - void setLFO(float aFrom, float aTo, time aTime, time aStartTime); - // Set up fader - void set(float aFrom, float aTo, time aTime, time aStartTime); - // Get the current fading value - float get(time aCurrentTime); - }; -}; - -#endif \ No newline at end of file diff --git a/third_party/windows/Soloud/include/soloud_fft.h b/third_party/windows/Soloud/include/soloud_fft.h deleted file mode 100644 index fcdc8f9..0000000 --- a/third_party/windows/Soloud/include/soloud_fft.h +++ /dev/null @@ -1,45 +0,0 @@ -/* -SoLoud audio engine -Copyright (c) 2013-2015 Jari Komppa - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source - distribution. -*/ - -#ifndef SOLOUD_FFT_H -#define SOLOUD_FFT_H - -#include "soloud.h" - -namespace SoLoud -{ - namespace FFT - { - // Perform 1024 unit FFT. Buffer must have 1024 floats, and will be overwritten - void fft1024(float *aBuffer); - - // Perform 256 unit FFT. Buffer must have 256 floats, and will be overwritten - void fft256(float *aBuffer); - - // Perform 256 unit IFFT. Buffer must have 256 floats, and will be overwritten - void ifft256(float *aBuffer); - }; -}; - -#endif \ No newline at end of file diff --git a/third_party/windows/Soloud/include/soloud_fftfilter.h b/third_party/windows/Soloud/include/soloud_fftfilter.h deleted file mode 100644 index 543ab3c..0000000 --- a/third_party/windows/Soloud/include/soloud_fftfilter.h +++ /dev/null @@ -1,57 +0,0 @@ -/* -SoLoud audio engine -Copyright (c) 2013-2015 Jari Komppa - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source - distribution. -*/ - -#ifndef SOLOUD_FFTFILTER_H -#define SOLOUD_FFTFILTER_H - -#include "soloud.h" - -namespace SoLoud -{ - class FFTFilter; - - class FFTFilterInstance : public FilterInstance - { - float *mTemp; - float *mInputBuffer; - float *mMixBuffer; - unsigned int mOffset[MAX_CHANNELS]; - FFTFilter *mParent; - public: - virtual void fftFilterChannel(float *aFFTBuffer, unsigned int aSamples, float aSamplerate, time aTime, unsigned int aChannel, unsigned int aChannels); - virtual void filterChannel(float *aBuffer, unsigned int aSamples, float aSamplerate, time aTime, unsigned int aChannel, unsigned int aChannels); - virtual ~FFTFilterInstance(); - FFTFilterInstance(FFTFilter *aParent); - FFTFilterInstance(); - }; - - class FFTFilter : public Filter - { - public: - virtual FilterInstance *createInstance(); - FFTFilter(); - }; -} - -#endif \ No newline at end of file diff --git a/third_party/windows/Soloud/include/soloud_file.h b/third_party/windows/Soloud/include/soloud_file.h deleted file mode 100644 index 6b5cd6c..0000000 --- a/third_party/windows/Soloud/include/soloud_file.h +++ /dev/null @@ -1,90 +0,0 @@ -/* -SoLoud audio engine -Copyright (c) 2013-2015 Jari Komppa - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source - distribution. -*/ - -#ifndef SOLOUD_FILE_H -#define SOLOUD_FILE_H - -#include -#include "soloud.h" - -typedef void* Soloud_Filehack; - -namespace SoLoud -{ - class File - { - public: - virtual ~File() {} - unsigned int read8(); - unsigned int read16(); - unsigned int read32(); - virtual int eof() = 0; - virtual unsigned int read(unsigned char *aDst, unsigned int aBytes) = 0; - virtual unsigned int length() = 0; - virtual void seek(int aOffset) = 0; - virtual unsigned int pos() = 0; - virtual FILE * getFilePtr() { return 0; } - virtual unsigned char * getMemPtr() { return 0; } - }; - - class DiskFile : public File - { - public: - FILE *mFileHandle; - - virtual int eof(); - virtual unsigned int read(unsigned char *aDst, unsigned int aBytes); - virtual unsigned int length(); - virtual void seek(int aOffset); - virtual unsigned int pos(); - virtual ~DiskFile(); - DiskFile(); - DiskFile(FILE *fp); - result open(const char *aFilename); - virtual FILE * getFilePtr(); - }; - - class MemoryFile : public File - { - public: - unsigned char *mDataPtr; - unsigned int mDataLength; - unsigned int mOffset; - bool mDataOwned; - - virtual int eof(); - virtual unsigned int read(unsigned char *aDst, unsigned int aBytes); - virtual unsigned int length(); - virtual void seek(int aOffset); - virtual unsigned int pos(); - virtual unsigned char * getMemPtr(); - virtual ~MemoryFile(); - MemoryFile(); - result openMem(unsigned char *aData, unsigned int aDataLength, bool aCopy=false, bool aTakeOwnership=true); - result openToMem(const char *aFilename); - result openFileToMem(File *aFile); - }; -}; - -#endif diff --git a/third_party/windows/Soloud/include/soloud_file_hack_off.h b/third_party/windows/Soloud/include/soloud_file_hack_off.h deleted file mode 100644 index 6c75180..0000000 --- a/third_party/windows/Soloud/include/soloud_file_hack_off.h +++ /dev/null @@ -1,35 +0,0 @@ -/* -SoLoud audio engine -Copyright (c) 2013-2015 Jari Komppa - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source - distribution. -*/ - -/* -See soloud_file_hack_on.h -*/ - -#undef FILE -#undef fgetc -#undef fread -#undef fseek -#undef ftell -#undef fclose -#undef fopen diff --git a/third_party/windows/Soloud/include/soloud_file_hack_on.h b/third_party/windows/Soloud/include/soloud_file_hack_on.h deleted file mode 100644 index a7efe99..0000000 --- a/third_party/windows/Soloud/include/soloud_file_hack_on.h +++ /dev/null @@ -1,58 +0,0 @@ -/* -SoLoud audio engine -Copyright (c) 2013-2015 Jari Komppa - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source - distribution. -*/ - -/* -This is a "hack" header to fool third party code to use our File stuff instead -of stdio FILE* stuff. -You can use soloud_file_hack_off.h to undef the stuff defined here. -*/ - -#ifndef SEEK_SET -#error soloud_file_hack_on must be included after stdio, otherwise the #define hacks will break stdio. -#endif - -typedef void* Soloud_Filehack; - -#ifdef __cplusplus -extern "C" { -#endif - -extern int Soloud_Filehack_fgetc(Soloud_Filehack *f); -extern int Soloud_Filehack_fread(void *dst, int s, int c, Soloud_Filehack *f); -extern int Soloud_Filehack_fseek(Soloud_Filehack *f, int idx, int base); -extern int Soloud_Filehack_ftell(Soloud_Filehack *f); -extern int Soloud_Filehack_fclose(Soloud_Filehack *f); -extern Soloud_Filehack * Soloud_Filehack_fopen(const char *aFilename, char *aMode); - -#ifdef __cplusplus -} -#endif - -#define FILE Soloud_Filehack -#define fgetc Soloud_Filehack_fgetc -#define fread Soloud_Filehack_fread -#define fseek Soloud_Filehack_fseek -#define ftell Soloud_Filehack_ftell -#define fclose Soloud_Filehack_fclose -#define fopen Soloud_Filehack_fopen diff --git a/third_party/windows/Soloud/include/soloud_filter.h b/third_party/windows/Soloud/include/soloud_filter.h deleted file mode 100644 index 887d3fa..0000000 --- a/third_party/windows/Soloud/include/soloud_filter.h +++ /dev/null @@ -1,64 +0,0 @@ -/* -SoLoud audio engine -Copyright (c) 2013-2014 Jari Komppa - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source - distribution. -*/ - -#ifndef SOLOUD_FILTER_H -#define SOLOUD_FILTER_H - -#include "soloud.h" - -namespace SoLoud -{ - class Fader; - - class FilterInstance - { - public: - unsigned int mNumParams; - unsigned int mParamChanged; - float *mParam; - Fader *mParamFader; - - - FilterInstance(); - virtual result initParams(int aNumParams); - virtual void updateParams(time aTime); - virtual void filter(float *aBuffer, unsigned int aSamples, unsigned int aChannels, float aSamplerate, time aTime); - virtual void filterChannel(float *aBuffer, unsigned int aSamples, float aSamplerate, time aTime, unsigned int aChannel, unsigned int aChannels); - virtual float getFilterParameter(unsigned int aAttributeId); - virtual void setFilterParameter(unsigned int aAttributeId, float aValue); - virtual void fadeFilterParameter(unsigned int aAttributeId, float aTo, time aTime, time aStartTime); - virtual void oscillateFilterParameter(unsigned int aAttributeId, float aFrom, float aTo, time aTime, time aStartTime); - virtual ~FilterInstance(); - }; - - class Filter - { - public: - Filter(); - virtual FilterInstance *createInstance() = 0; - virtual ~Filter(); - }; -}; - -#endif diff --git a/third_party/windows/Soloud/include/soloud_flangerfilter.h b/third_party/windows/Soloud/include/soloud_flangerfilter.h deleted file mode 100644 index 7eb4adb..0000000 --- a/third_party/windows/Soloud/include/soloud_flangerfilter.h +++ /dev/null @@ -1,65 +0,0 @@ -/* -SoLoud audio engine -Copyright (c) 2013-2014 Jari Komppa - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source - distribution. -*/ - -#ifndef SOLOUD_FLANGERFILTER_H -#define SOLOUD_FLANGERFILTER_H - -#include "soloud.h" - -namespace SoLoud -{ - class FlangerFilter; - - class FlangerFilterInstance : public FilterInstance - { - float *mBuffer; - int mBufferLength; - FlangerFilter *mParent; - int mOffset; - double mIndex; - - public: - virtual void filter(float *aBuffer, unsigned int aSamples, unsigned int aChannels, float aSamplerate, time aTime); - virtual ~FlangerFilterInstance(); - FlangerFilterInstance(FlangerFilter *aParent); - }; - - class FlangerFilter : public Filter - { - public: - enum FILTERPARAMS - { - WET, - DELAY, - FREQ - }; - float mDelay; - float mFreq; - virtual FilterInstance *createInstance(); - FlangerFilter(); - result setParams(float aDelay, float aFreq); - }; -} - -#endif \ No newline at end of file diff --git a/third_party/windows/Soloud/include/soloud_internal.h b/third_party/windows/Soloud/include/soloud_internal.h deleted file mode 100644 index d510693..0000000 --- a/third_party/windows/Soloud/include/soloud_internal.h +++ /dev/null @@ -1,118 +0,0 @@ -/* -SoLoud audio engine -Copyright (c) 2013-2015 Jari Komppa - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source - distribution. -*/ - -#ifndef SOLOUD_INTERNAL_H -#define SOLOUD_INTERNAL_H - -#include "soloud.h" - -namespace SoLoud -{ - // SDL back-end initialization call - result sdl_init(SoLoud::Soloud *aSoloud, unsigned int aFlags = Soloud::CLIP_ROUNDOFF, unsigned int aSamplerate = 44100, unsigned int aBuffer = 2048, unsigned int aChannels = 2); - - // SDL "non-dynamic" back-end initialization call - result sdlstatic_init(SoLoud::Soloud *aSoloud, unsigned int aFlags = Soloud::CLIP_ROUNDOFF, unsigned int aSamplerate = 44100, unsigned int aBuffer = 2048, unsigned int aChannels = 2); - - // SDL2 "non-dynamic" back-end initialization call - result sdl2static_init(SoLoud::Soloud *aSoloud, unsigned int aFlags = Soloud::CLIP_ROUNDOFF, unsigned int aSamplerate = 44100, unsigned int aBuffer = 2048, unsigned int aChannels = 2); - - // OpenAL back-end initialization call - result openal_init(SoLoud::Soloud *aSoloud, unsigned int aFlags = Soloud::CLIP_ROUNDOFF, unsigned int aSamplerate = 44100, unsigned int aBuffer = 2048, unsigned int aChannels = 2); - - // Core Audio driver back-end initialization call - result coreaudio_init(SoLoud::Soloud *aSoloud, unsigned int aFlags = Soloud::CLIP_ROUNDOFF, unsigned int aSamplerate = 44100, unsigned int aBuffer = 2048, unsigned int aChannels = 2); - - // OpenSL ES back-end initialization call - result opensles_init(SoLoud::Soloud *aSoloud, unsigned int aFlags = Soloud::CLIP_ROUNDOFF, unsigned int aSamplerate = 44100, unsigned int aBuffer = 2048, unsigned int aChannels = 2); - - // PortAudio back-end initialization call - result portaudio_init(SoLoud::Soloud *aSoloud, unsigned int aFlags = Soloud::CLIP_ROUNDOFF, unsigned int aSamplerate = 44100, unsigned int aBuffer = 2048, unsigned int aChannels = 2); - - // WinMM back-end initialization call - result winmm_init(SoLoud::Soloud *aSoloud, unsigned int aFlags = Soloud::CLIP_ROUNDOFF, unsigned int aSamplerate = 44100, unsigned int aBuffer = 4096, unsigned int aChannels = 2); - - // XAudio2 back-end initialization call - result xaudio2_init(SoLoud::Soloud *aSoloud, unsigned int aFlags = Soloud::CLIP_ROUNDOFF, unsigned int aSamplerate = 44100, unsigned int aBuffer = 2048, unsigned int aChannels = 2); - - // WASAPI back-end initialization call - result wasapi_init(SoLoud::Soloud *aSoloud, unsigned int aFlags = Soloud::CLIP_ROUNDOFF, unsigned int aSamplerate = 44100, unsigned int aBuffer = 4096, unsigned int aChannels = 2); - - // OSS back-end initialization call - result oss_init(SoLoud::Soloud *aSoloud, unsigned int aFlags = Soloud::CLIP_ROUNDOFF, unsigned int aSamplerate = 44100, unsigned int aBuffer = 2048, unsigned int aChannels = 2); - - // PS Vita homebrew back-end initialization call - result vita_homebrew_init(SoLoud::Soloud *aSoloud, unsigned int aFlags = Soloud::CLIP_ROUNDOFF, unsigned int aSamplerate = 44100, unsigned int aBuffer = 2048, unsigned int aChannels = 2); - - // ALSA back-end initialization call - result alsa_init(SoLoud::Soloud *aSoloud, unsigned int aFlags = Soloud::CLIP_ROUNDOFF, unsigned int aSamplerate = 44100, unsigned int aBuffer = 2048, unsigned int aChannels = 2); - - // null driver back-end initialization call - result null_init(SoLoud::Soloud *aSoloud, unsigned int aFlags = Soloud::CLIP_ROUNDOFF, unsigned int aSamplerate = 44100, unsigned int aBuffer = 2048, unsigned int aChannels = 2); - - // Deinterlace samples in a buffer. From 12121212 to 11112222 - void deinterlace_samples_float(const float *aSourceBuffer, float *aDestBuffer, unsigned int aSamples, unsigned int aChannels); - - // Interlace samples in a buffer. From 11112222 to 12121212 - void interlace_samples_float(const float *aSourceBuffer, float *aDestBuffer, unsigned int aSamples, unsigned int aChannels); - - // Convert to 16-bit and interlace samples in a buffer. From 11112222 to 12121212 - void interlace_samples_s16(const float *aSourceBuffer, short *aDestBuffer, unsigned int aSamples, unsigned int aChannels); -}; - -#define FOR_ALL_VOICES_PRE \ - handle *h_ = NULL; \ - handle th_[2] = { aVoiceHandle, 0 }; \ - lockAudioMutex(); \ - h_ = voiceGroupHandleToArray(aVoiceHandle); \ - if (h_ == NULL) h_ = th_; \ - while (*h_) \ - { \ - int ch = getVoiceFromHandle(*h_); \ - if (ch != -1) \ - { - -#define FOR_ALL_VOICES_POST \ - } \ - h_++; \ - } \ - unlockAudioMutex(); - -#define FOR_ALL_VOICES_PRE_3D \ - handle *h_ = NULL; \ - handle th_[2] = { aVoiceHandle, 0 }; \ - h_ = voiceGroupHandleToArray(aVoiceHandle); \ - if (h_ == NULL) h_ = th_; \ - while (*h_) \ - { \ - int ch = (*h_ & 0xfff) - 1; \ - if (ch != -1 && m3dData[ch].mHandle == *h_) \ - { - -#define FOR_ALL_VOICES_POST_3D \ - } \ - h_++; \ - } - -#endif \ No newline at end of file diff --git a/third_party/windows/Soloud/include/soloud_lofifilter.h b/third_party/windows/Soloud/include/soloud_lofifilter.h deleted file mode 100644 index 627ab6c..0000000 --- a/third_party/windows/Soloud/include/soloud_lofifilter.h +++ /dev/null @@ -1,75 +0,0 @@ -/* -SoLoud audio engine -Copyright (c) 2013-2014 Jari Komppa - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source - distribution. -*/ - -#ifndef SOLOUD_LOFIFILTER_H -#define SOLOUD_LOFIFILTER_H - -#include "soloud.h" - -namespace SoLoud -{ - class LofiFilter; - - struct LofiChannelData - { - float mSample; - float mSamplesToSkip; - }; - - class LofiFilterInstance : public FilterInstance - { - enum FILTERPARAMS - { - WET, - SAMPLERATE, - BITDEPTH - }; - LofiChannelData mChannelData[2]; - - LofiFilter *mParent; - public: - virtual void filterChannel(float *aBuffer, unsigned int aSamples, float aSamplerate, time aTime, unsigned int aChannel, unsigned int aChannels); - virtual ~LofiFilterInstance(); - LofiFilterInstance(LofiFilter *aParent); - }; - - class LofiFilter : public Filter - { - public: - enum FILTERPARAMS - { - WET, - SAMPLERATE, - BITDEPTH - }; - float mSampleRate; - float mBitdepth; - virtual LofiFilterInstance *createInstance(); - LofiFilter(); - result setParams(float aSampleRate, float aBitdepth); - virtual ~LofiFilter(); - }; -} - -#endif \ No newline at end of file diff --git a/third_party/windows/Soloud/include/soloud_monotone.h b/third_party/windows/Soloud/include/soloud_monotone.h deleted file mode 100644 index d86ca92..0000000 --- a/third_party/windows/Soloud/include/soloud_monotone.h +++ /dev/null @@ -1,116 +0,0 @@ -/* -MONOTONE module for SoLoud audio engine -Copyright (c) 2013-2015 Jari Komppa - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source - distribution. -*/ - -#ifndef MONOTONE_H -#define MONOTONE_H - -#include "soloud.h" - -namespace SoLoud -{ - class Monotone; - class File; - - struct MonotoneSong - { - char *mTitle; - char *mComment; - unsigned char mVersion; // must be 1 - unsigned char mTotalPatterns; - unsigned char mTotalTracks; - unsigned char mCellSize; // must be 2 for version 1 - unsigned char mOrder[256]; - unsigned int *mPatternData; // 64 rows * mTotalPatterns * mTotalTracks - }; - - struct MonotoneChannel - { - int mEnabled; - int mActive; - int mFreq[3]; - int mPortamento; - int mArpCounter; - int mArp; - int mLastNote; - int mPortamentoToNote; - int mVibrato; - int mVibratoIndex; - int mVibratoDepth; - int mVibratoSpeed; - }; - - struct MonotoneHardwareChannel - { - int mEnabled; - float mSamplePos; - float mSamplePosInc; - }; - - class MonotoneInstance : public AudioSourceInstance - { - Monotone *mParent; - public: - MonotoneChannel mChannel[12]; - MonotoneHardwareChannel mOutput[12]; - int mNextChannel; - int mTempo; // ticks / row. Tick = 60hz. Default 4. - int mOrder; - int mRow; - int mSampleCount; - int mRowTick; - - MonotoneInstance(Monotone *aParent); - virtual void getAudio(float *aBuffer, unsigned int aSamples); - virtual bool hasEnded(); - }; - - class Monotone : public AudioSource - { - public: - enum MONOTONE_WAVEFORMS - { - SQUARE = 0, - SAW = 1, - SIN = 2, - SAWSIN = 3 - }; - - int mNotesHz[800]; - int mVibTable[32]; - int mHardwareChannels; - int mWaveform; - MonotoneSong mSong; - Monotone(); - ~Monotone(); - result setParams(int aHardwareChannels, int aWaveform = SQUARE); - result load(const char *aFilename); - result loadMem(unsigned char *aMem, unsigned int aLength, bool aCopy = false, bool aTakeOwnership = true); - result loadFile(File *aFile); - virtual AudioSourceInstance *createInstance(); - public: - void clear(); - }; -}; - -#endif \ No newline at end of file diff --git a/third_party/windows/Soloud/include/soloud_openmpt.h b/third_party/windows/Soloud/include/soloud_openmpt.h deleted file mode 100644 index aa0fdbc..0000000 --- a/third_party/windows/Soloud/include/soloud_openmpt.h +++ /dev/null @@ -1,62 +0,0 @@ -/* -Openmpt module for SoLoud audio engine -Copyright (c) 2016 Jari Komppa - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source - distribution. -*/ - -#ifndef OPENMPT_H -#define OPENMPT_H - -#include "soloud.h" - -namespace SoLoud -{ - class Openmpt; - class File; - - class OpenmptInstance : public AudioSourceInstance - { - Openmpt *mParent; - void *mModfile; - int mPlaying; - - public: - OpenmptInstance(Openmpt *aParent); - virtual ~OpenmptInstance(); - virtual void getAudio(float *aBuffer, unsigned int aSamples); - virtual bool hasEnded(); - }; - - class Openmpt : public AudioSource - { - public: - char *mData; - unsigned int mDataLen; - Openmpt(); - virtual ~Openmpt(); - result load(const char* aFilename); - result loadMem(unsigned char *aMem, unsigned int aLength, bool aCopy = false, bool aTakeOwnership = true); - result loadFile(File *aFile); - virtual AudioSourceInstance *createInstance(); - }; -}; - -#endif \ No newline at end of file diff --git a/third_party/windows/Soloud/include/soloud_sfxr.h b/third_party/windows/Soloud/include/soloud_sfxr.h deleted file mode 100644 index dd3a5ce..0000000 --- a/third_party/windows/Soloud/include/soloud_sfxr.h +++ /dev/null @@ -1,169 +0,0 @@ -/* -SFXR module for SoLoud audio engine -Copyright (c) 2014 Jari Komppa -Based on code (c) by Tomas Pettersson, re-licensed under zlib by permission - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source - distribution. -*/ - -#ifndef SFXR_H -#define SFXR_H - -#include "soloud.h" - -namespace SoLoud -{ - class File; - - class Prg - { - public: - // random generator - Prg(); - unsigned int state[16]; - unsigned int index; - unsigned int rand(); - void srand(int aSeed); - }; - - struct SfxrParams - { - int wave_type; - - float p_base_freq; - float p_freq_limit; - float p_freq_ramp; - float p_freq_dramp; - float p_duty; - float p_duty_ramp; - - float p_vib_strength; - float p_vib_speed; - float p_vib_delay; - - float p_env_attack; - float p_env_sustain; - float p_env_decay; - float p_env_punch; - - bool filter_on; - float p_lpf_resonance; - float p_lpf_freq; - float p_lpf_ramp; - float p_hpf_freq; - float p_hpf_ramp; - - float p_pha_offset; - float p_pha_ramp; - - float p_repeat_speed; - - float p_arp_speed; - float p_arp_mod; - - float master_vol; - - float sound_vol; - }; - - class Sfxr; - - class SfxrInstance : public AudioSourceInstance - { - Sfxr *mParent; - - Prg mRand; - SfxrParams mParams; - - bool playing_sample; - int phase; - double fperiod; - double fmaxperiod; - double fslide; - double fdslide; - int period; - float square_duty; - float square_slide; - int env_stage; - int env_time; - int env_length[3]; - float env_vol; - float fphase; - float fdphase; - int iphase; - float phaser_buffer[1024]; - int ipp; - float noise_buffer[32]; - float fltp; - float fltdp; - float fltw; - float fltw_d; - float fltdmp; - float fltphp; - float flthp; - float flthp_d; - float vib_phase; - float vib_speed; - float vib_amp; - int rep_time; - int rep_limit; - int arp_time; - int arp_limit; - double arp_mod; - - void resetSample(bool aRestart); - - public: - SfxrInstance(Sfxr *aParent); - virtual void getAudio(float *aBuffer, unsigned int aSamples); - virtual bool hasEnded(); - }; - - class Sfxr : public AudioSource - { - public: - SfxrParams mParams; - - enum SFXR_PRESETS - { - COIN, - LASER, - EXPLOSION, - POWERUP, - HURT, - JUMP, - BLIP - }; - - Prg mRand; - - Sfxr(); - virtual ~Sfxr(); - void resetParams(); - result loadParams(const char* aFilename); - result loadParamsMem(unsigned char *aMem, unsigned int aLength, bool aCopy = false, bool aTakeOwnership = true); - result loadParamsFile(File *aFile); - - result loadPreset(int aPresetNo, int aRandSeed); - virtual AudioSourceInstance *createInstance(); - }; -}; - -#endif \ No newline at end of file diff --git a/third_party/windows/Soloud/include/soloud_speech.h b/third_party/windows/Soloud/include/soloud_speech.h deleted file mode 100644 index 680d1e0..0000000 --- a/third_party/windows/Soloud/include/soloud_speech.h +++ /dev/null @@ -1,63 +0,0 @@ -/* -SoLoud audio engine -Copyright (c) 2013-2015 Jari Komppa - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source - distribution. -*/ -#ifndef SOLOUD_SPEECH_H -#define SOLOUD_SPEECH_H - -#include "soloud.h" -#include "../src/audiosource/speech/darray.h" -#include "../src/audiosource/speech/klatt.h" -#include "../src/audiosource/speech/tts.h" - -namespace SoLoud -{ - class Speech; - - class Speech : public AudioSource - { - public: - int mFrames; - darray mElement; - Speech(); - result setText(const char *aText); - virtual ~Speech(); - virtual AudioSourceInstance *createInstance(); - }; - - class SpeechInstance : public AudioSourceInstance - { - klatt mSynth; - Speech *mParent; - short *mSample; - int mSampleCount; - int mOffset; - public: - SpeechInstance(Speech *aParent); - virtual ~SpeechInstance(); - virtual void getAudio(float *aBuffer, unsigned int aSamples); - virtual result rewind(); - virtual bool hasEnded(); - }; -}; - -#endif diff --git a/third_party/windows/Soloud/include/soloud_tedsid.h b/third_party/windows/Soloud/include/soloud_tedsid.h deleted file mode 100644 index 72d8748..0000000 --- a/third_party/windows/Soloud/include/soloud_tedsid.h +++ /dev/null @@ -1,74 +0,0 @@ -/* -TED/SID module for SoLoud audio engine -Copyright (c) 2013-2015 Jari Komppa - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source - distribution. -*/ - -#ifndef TEDSID_H -#define TEDSID_H - -#include "soloud.h" - -class SIDsound; -class TED; - -namespace SoLoud -{ - class TedSid; - class File; - - class TedSidInstance : public AudioSourceInstance - { - TedSid *mParent; - SIDsound *mSID; - TED *mTED; - unsigned int mSampleCount; - int mNextReg; - int mNextVal; - int mRegValues[128]; - public: - - TedSidInstance(TedSid *aParent); - ~TedSidInstance(); - virtual void getAudio(float *aBuffer, unsigned int aSamples); - virtual void tick(); - virtual bool hasEnded(); - virtual float getInfo(unsigned int aInfoKey); - }; - - class TedSid : public AudioSource - { - public: - File *mFile; - int mModel; - bool mFileOwned; - TedSid(); - ~TedSid(); - result load(const char *aFilename); - result loadToMem(const char *aFilename); - result loadMem(unsigned char *aMem, unsigned int aLength, bool aCopy = false, bool aTakeOwnership = true); - result loadFileToMem(File *aFile); - result loadFile(File *aFile); - virtual AudioSourceInstance *createInstance(); - }; -}; - -#endif \ No newline at end of file diff --git a/third_party/windows/Soloud/include/soloud_thread.h b/third_party/windows/Soloud/include/soloud_thread.h deleted file mode 100644 index b89eb62..0000000 --- a/third_party/windows/Soloud/include/soloud_thread.h +++ /dev/null @@ -1,83 +0,0 @@ -/* -SoLoud audio engine -Copyright (c) 2013-2014 Jari Komppa - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source - distribution. -*/ - -#ifndef SOLOUD_THREAD_H -#define SOLOUD_THREAD_H - -#include "soloud.h" - -namespace SoLoud -{ - namespace Thread - { - typedef void (*threadFunction)(void *aParam); - - struct ThreadHandleData; - typedef ThreadHandleData* ThreadHandle; - - void * createMutex(); - void destroyMutex(void *aHandle); - void lockMutex(void *aHandle); - void unlockMutex(void *aHandle); - - ThreadHandle createThread(threadFunction aThreadFunction, void *aParameter); - - void sleep(int aMSec); - void wait(ThreadHandle aThreadHandle); - void release(ThreadHandle aThreadHandle); - -#define MAX_THREADPOOL_TASKS 1024 - - class PoolTask - { - public: - virtual void work() = 0; - }; - - class Pool - { - public: - // Initialize and run thread pool. For thread count 0, work is done at addWork call. - void init(int aThreadCount); - // Ctor, sets known state - Pool(); - // Dtor. Waits for the threads to finish. Work may be unfinished. - ~Pool(); - // Add work to work list. Object is not automatically deleted when work is done. - void addWork(PoolTask *aTask); - // Called from worker thread to get a new task. Returns null if no work available. - PoolTask *getWork(); - public: - int mThreadCount; // number of threads - ThreadHandle *mThread; // array of thread handles - void *mWorkMutex; // mutex to protect task array/maxtask - PoolTask *mTaskArray[MAX_THREADPOOL_TASKS]; // pointers to tasks - int mMaxTask; // how many tasks are pending - int mRobin; // cyclic counter, used to pick jobs for threads - volatile int mRunning; // running flag, used to flag threads to stop - }; - } -} - -#endif \ No newline at end of file diff --git a/third_party/windows/Soloud/include/soloud_vic.h b/third_party/windows/Soloud/include/soloud_vic.h deleted file mode 100644 index dd8845c..0000000 --- a/third_party/windows/Soloud/include/soloud_vic.h +++ /dev/null @@ -1,108 +0,0 @@ -/* -SoLoud audio engine -Copyright (c) 2015 Jari Komppa - -VIC 6560/6561 sound chip emulator -Copyright (c) 2015 Petri Hakkinen - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source - distribution. -*/ - -#ifndef SOLOUD_VIC_H -#define SOLOUD_VIC_H - -#include "soloud.h" - -/* -A very bare bones emulator for Commodore VIC-20 sound chip. Supports both PAL and NTSC models. -Bass, alto and soprano should be quite close to original vic, noise probably not so. - -The first three channels (bass, alto and soprano) are square waveform generators with 7-bit frequency. -The highest bit of each oscillator register switches the oscillator on/off. -The fourth oscillator generates a noise waveform. - -VIC-20 does not have per channel volume control, only global volume, -which you can change by setting audio source's volume. - -To get that authentic moldy VIC-20 sound, the audio source should be coupled with a biquad resonant filter -with the following params: type = LOWPASS, sample rate = 44100, frequency = 1500, resonance = 2.0. -*/ - -namespace SoLoud -{ - class Vic; - - class VicInstance : public AudioSourceInstance - { - public: - VicInstance(Vic *aParent); - ~VicInstance(); - - virtual void getAudio(float *aBuffer, unsigned int aSamples); - virtual bool hasEnded(); - - private: - Vic* m_parent; - unsigned int m_phase[4]; - unsigned int m_noisePos; - }; - - class Vic : public AudioSource - { - public: - // VIC model - enum - { - PAL = 0, - NTSC, - }; - - // VIC sound registers - enum - { - BASS = 0, - ALTO, - SOPRANO, - NOISE, - MAX_REGS - }; - - Vic(); - virtual ~Vic(); - - void setModel(int model); - int getModel() const; - - void setRegister(int reg, unsigned char value) { m_regs[reg] = value; } - unsigned char getRegister(int reg) const { return m_regs[reg]; } - - virtual AudioSourceInstance *createInstance(); - - private: - friend class VicInstance; - - int m_model; - float m_clocks[4]; // base clock frequencies for oscillators, dependent on VIC model - unsigned char m_regs[MAX_REGS]; - unsigned char m_noise[8192]; - }; -}; - -#endif diff --git a/third_party/windows/Soloud/include/soloud_wav.h b/third_party/windows/Soloud/include/soloud_wav.h deleted file mode 100644 index a76cf2f..0000000 --- a/third_party/windows/Soloud/include/soloud_wav.h +++ /dev/null @@ -1,68 +0,0 @@ -/* -SoLoud audio engine -Copyright (c) 2013-2015 Jari Komppa - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source - distribution. -*/ - -#ifndef SOLOUD_WAV_H -#define SOLOUD_WAV_H - -#include "soloud.h" - -struct stb_vorbis; - -namespace SoLoud -{ - class Wav; - class File; - - class WavInstance : public AudioSourceInstance - { - Wav *mParent; - unsigned int mOffset; - public: - WavInstance(Wav *aParent); - virtual void getAudio(float *aBuffer, unsigned int aSamples); - virtual result rewind(); - virtual bool hasEnded(); - }; - - class Wav : public AudioSource - { - result loadwav(File *aReader); - result loadogg(File *aReader); - result testAndLoadFile(File *aReader); - public: - float *mData; - unsigned int mSampleCount; - - Wav(); - virtual ~Wav(); - result load(const char *aFilename); - result loadMem(unsigned char *aMem, unsigned int aLength, bool aCopy = false, bool aTakeOwnership = true); - result loadFile(File *aFile); - - virtual AudioSourceInstance *createInstance(); - time getLength(); - }; -}; - -#endif diff --git a/third_party/windows/Soloud/include/soloud_wavstream.h b/third_party/windows/Soloud/include/soloud_wavstream.h deleted file mode 100644 index 81ee17e..0000000 --- a/third_party/windows/Soloud/include/soloud_wavstream.h +++ /dev/null @@ -1,83 +0,0 @@ -/* -SoLoud audio engine -Copyright (c) 2013-2015 Jari Komppa - -This software is provided 'as-is', without any express or implied -warranty. In no event will the authors be held liable for any damages -arising from the use of this software. - -Permission is granted to anyone to use this software for any purpose, -including commercial applications, and to alter it and redistribute it -freely, subject to the following restrictions: - - 1. The origin of this software must not be misrepresented; you must not - claim that you wrote the original software. If you use this software - in a product, an acknowledgment in the product documentation would be - appreciated but is not required. - - 2. Altered source versions must be plainly marked as such, and must not be - misrepresented as being the original software. - - 3. This notice may not be removed or altered from any source - distribution. -*/ - -#ifndef SOLOUD_WAVSTREAM_H -#define SOLOUD_WAVSTREAM_H - -#include -#include "soloud.h" - - -struct stb_vorbis; - -namespace SoLoud -{ - class WavStream; - class File; - - class WavStreamInstance : public AudioSourceInstance - { - WavStream *mParent; - unsigned int mOffset; - File *mFile; - stb_vorbis *mOgg; - unsigned int mOggFrameSize; - unsigned int mOggFrameOffset; - float **mOggOutputs; - public: - WavStreamInstance(WavStream *aParent); - virtual void getAudio(float *aBuffer, unsigned int aSamples); - virtual result rewind(); - virtual bool hasEnded(); - virtual ~WavStreamInstance(); - }; - - class WavStream : public AudioSource - { - result loadwav(File * fp); - result loadogg(File * fp); - public: - int mOgg; - char *mFilename; - File *mMemFile; - File *mStreamFile; - unsigned int mDataOffset; - unsigned int mBits; - unsigned int mSampleCount; - - WavStream(); - virtual ~WavStream(); - result load(const char *aFilename); - result loadMem(unsigned char *aData, unsigned int aDataLen, bool aCopy = false, bool aTakeOwnership = true); - result loadToMem(const char *aFilename); - result loadFile(File *aFile); - result loadFileToMem(File *aFile); - virtual AudioSourceInstance *createInstance(); - time getLength(); - public: - result parse(File *aFile); - }; -}; - -#endif \ No newline at end of file