From ee1804e5717895299f0d80627d415339ca2b576e Mon Sep 17 00:00:00 2001 From: PiKeyAr Date: Tue, 19 Nov 2024 10:13:11 +0900 Subject: [PATCH] Update SDL to 2.30.9 --- extlib/SDL2/cmake/sdl2-config.cmake | 14 +- extlib/SDL2/include/SDL.h | 2 +- extlib/SDL2/include/SDL_assert.h | 16 +- extlib/SDL2/include/SDL_atomic.h | 9 +- extlib/SDL2/include/SDL_audio.h | 18 +- extlib/SDL2/include/SDL_bits.h | 2 +- extlib/SDL2/include/SDL_blendmode.h | 8 +- extlib/SDL2/include/SDL_clipboard.h | 49 +- extlib/SDL2/include/SDL_config.h | 356 +- extlib/SDL2/include/SDL_config.h.cmake | 329 +- extlib/SDL2/include/SDL_config.h.in | 211 +- extlib/SDL2/include/SDL_config_android.h | 63 +- extlib/SDL2/include/SDL_config_emscripten.h | 218 + extlib/SDL2/include/SDL_config_iphoneos.h | 93 +- extlib/SDL2/include/SDL_config_macosx.h | 134 +- extlib/SDL2/include/SDL_config_macosx.h.orig | 197 - extlib/SDL2/include/SDL_config_minimal.h | 37 +- extlib/SDL2/include/SDL_config_ngage.h | 89 + extlib/SDL2/include/SDL_config_os2.h | 204 + extlib/SDL2/include/SDL_config_pandora.h | 43 +- extlib/SDL2/include/SDL_config_psp.h | 144 - extlib/SDL2/include/SDL_config_windows.h | 228 +- extlib/SDL2/include/SDL_config_wingdk.h | 253 + extlib/SDL2/include/SDL_config_winrt.h | 175 +- extlib/SDL2/include/SDL_config_wiz.h | 121 - extlib/SDL2/include/SDL_config_xbox.h | 240 + extlib/SDL2/include/SDL_copying.h | 2 +- extlib/SDL2/include/SDL_cpuinfo.h | 3 +- extlib/SDL2/include/SDL_egl.h | 70 +- extlib/SDL2/include/SDL_endian.h | 8 +- extlib/SDL2/include/SDL_error.h | 2 +- extlib/SDL2/include/SDL_events.h | 21 +- extlib/SDL2/include/SDL_filesystem.h | 10 +- extlib/SDL2/include/SDL_gamecontroller.h | 61 +- extlib/SDL2/include/SDL_gesture.h | 2 +- extlib/SDL2/include/SDL_guid.h | 2 +- extlib/SDL2/include/SDL_haptic.h | 2 +- extlib/SDL2/include/SDL_hidapi.h | 2 +- extlib/SDL2/include/SDL_hints.h | 562 +- extlib/SDL2/include/SDL_joystick.h | 58 +- extlib/SDL2/include/SDL_keyboard.h | 8 +- extlib/SDL2/include/SDL_keycode.h | 4 +- extlib/SDL2/include/SDL_loadso.h | 2 +- extlib/SDL2/include/SDL_locale.h | 2 +- extlib/SDL2/include/SDL_log.h | 6 +- extlib/SDL2/include/SDL_main.h | 18 +- extlib/SDL2/include/SDL_messagebox.h | 2 +- extlib/SDL2/include/SDL_metal.h | 4 +- extlib/SDL2/include/SDL_misc.h | 2 +- extlib/SDL2/include/SDL_mouse.h | 15 +- extlib/SDL2/include/SDL_mutex.h | 86 +- extlib/SDL2/include/SDL_name.h | 2 +- extlib/SDL2/include/SDL_opengl.h | 53 +- extlib/SDL2/include/SDL_opengl_glext.h | 2493 ++++++++- extlib/SDL2/include/SDL_opengles.h | 2 +- extlib/SDL2/include/SDL_opengles2.h | 2 +- extlib/SDL2/include/SDL_opengles2_gl2.h | 713 +-- extlib/SDL2/include/SDL_opengles2_gl2ext.h | 4975 ++++++++++++----- .../SDL2/include/SDL_opengles2_gl2platform.h | 15 +- .../SDL2/include/SDL_opengles2_khrplatform.h | 57 +- extlib/SDL2/include/SDL_pixels.h | 22 +- extlib/SDL2/include/SDL_platform.h | 23 +- extlib/SDL2/include/SDL_power.h | 17 +- extlib/SDL2/include/SDL_quit.h | 2 +- extlib/SDL2/include/SDL_rect.h | 2 +- extlib/SDL2/include/SDL_render.h | 14 +- extlib/SDL2/include/SDL_revision.h | 6 +- extlib/SDL2/include/SDL_revision.h.cmake | 8 + extlib/SDL2/include/SDL_rwops.h | 2 +- extlib/SDL2/include/SDL_scancode.h | 49 +- extlib/SDL2/include/SDL_sensor.h | 31 +- extlib/SDL2/include/SDL_shape.h | 2 +- extlib/SDL2/include/SDL_stdinc.h | 94 +- extlib/SDL2/include/SDL_surface.h | 2 +- extlib/SDL2/include/SDL_system.h | 19 +- extlib/SDL2/include/SDL_syswm.h | 2 +- extlib/SDL2/include/SDL_test.h | 2 +- extlib/SDL2/include/SDL_test_assert.h | 2 +- extlib/SDL2/include/SDL_test_common.h | 2 +- extlib/SDL2/include/SDL_test_compare.h | 2 +- extlib/SDL2/include/SDL_test_crc32.h | 2 +- extlib/SDL2/include/SDL_test_font.h | 2 +- extlib/SDL2/include/SDL_test_fuzzer.h | 2 +- extlib/SDL2/include/SDL_test_harness.h | 2 +- extlib/SDL2/include/SDL_test_images.h | 2 +- extlib/SDL2/include/SDL_test_log.h | 2 +- extlib/SDL2/include/SDL_test_md5.h | 2 +- extlib/SDL2/include/SDL_test_memory.h | 2 +- extlib/SDL2/include/SDL_test_random.h | 2 +- extlib/SDL2/include/SDL_thread.h | 10 +- extlib/SDL2/include/SDL_timer.h | 2 +- extlib/SDL2/include/SDL_touch.h | 2 +- extlib/SDL2/include/SDL_types.h | 2 +- extlib/SDL2/include/SDL_version.h | 6 +- extlib/SDL2/include/SDL_video.h | 64 +- extlib/SDL2/include/SDL_vulkan.h | 4 + extlib/SDL2/include/begin_code.h | 18 +- extlib/SDL2/include/close_code.h | 6 +- extlib/SDL2/lib/x86/SDL2.dll | Bin 2234368 -> 1364992 bytes extlib/SDL2/lib/x86/SDL2.lib | Bin 185010 -> 188076 bytes extlib/SDL2/lib/x86/SDL2main.lib | Bin 36942 -> 37362 bytes extlib/SDL2/lib/x86/SDL2test.lib | Bin 923174 -> 940370 bytes 102 files changed, 9355 insertions(+), 3599 deletions(-) create mode 100644 extlib/SDL2/include/SDL_config_emscripten.h delete mode 100644 extlib/SDL2/include/SDL_config_macosx.h.orig create mode 100644 extlib/SDL2/include/SDL_config_ngage.h create mode 100644 extlib/SDL2/include/SDL_config_os2.h delete mode 100644 extlib/SDL2/include/SDL_config_psp.h create mode 100644 extlib/SDL2/include/SDL_config_wingdk.h delete mode 100644 extlib/SDL2/include/SDL_config_wiz.h create mode 100644 extlib/SDL2/include/SDL_config_xbox.h create mode 100644 extlib/SDL2/include/SDL_revision.h.cmake diff --git a/extlib/SDL2/cmake/sdl2-config.cmake b/extlib/SDL2/cmake/sdl2-config.cmake index 1a25259c..bb284b8f 100644 --- a/extlib/SDL2/cmake/sdl2-config.cmake +++ b/extlib/SDL2/cmake/sdl2-config.cmake @@ -1,7 +1,7 @@ # SDL2 CMake configuration file: # This file is meant to be placed in a cmake subfolder of SDL2-devel-2.x.y-VC -cmake_minimum_required(VERSION 3.0) +cmake_minimum_required(VERSION 3.0...3.5) include(FeatureSummary) set_package_properties(SDL2 PROPERTIES @@ -68,6 +68,8 @@ if(EXISTS "${_sdl2_library}" AND EXISTS "${_sdl2_dll_library}") IMPORTED_LOCATION "${_sdl2_dll_library}" COMPATIBLE_INTERFACE_BOOL "SDL2_SHARED" INTERFACE_SDL2_SHARED "ON" + COMPATIBLE_INTERFACE_STRING "SDL_VERSION" + INTERFACE_SDL_VERSION "SDL2" ) endif() set(SDL2_SDL2_FOUND TRUE) @@ -77,6 +79,8 @@ endif() unset(_sdl2_library) unset(_sdl2_dll_library) +set(SDL2_SDL2-static_FOUND FALSE) + set(_sdl2main_library "${SDL2_LIBDIR}/SDL2main.lib") if(EXISTS "${_sdl2main_library}") if(NOT TARGET SDL2::SDL2main) @@ -84,11 +88,13 @@ if(EXISTS "${_sdl2main_library}") set_target_properties(SDL2::SDL2main PROPERTIES IMPORTED_LOCATION "${_sdl2main_library}" + COMPATIBLE_INTERFACE_STRING "SDL_VERSION" + INTERFACE_SDL_VERSION "SDL2" ) endif() set(SDL2_SDL2main_FOUND TRUE) else() - set(SDL2_SDL2_FOUND FALSE) + set(SDL2_SDL2main_FOUND FALSE) endif() unset(_sdl2main_library) @@ -100,11 +106,13 @@ if(EXISTS "${_sdl2test_library}") PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${SDL2_INCLUDE_DIRS}" IMPORTED_LOCATION "${_sdl2test_library}" + COMPATIBLE_INTERFACE_STRING "SDL_VERSION" + INTERFACE_SDL_VERSION "SDL2" ) endif() set(SDL2_SDL2test_FOUND TRUE) else() - set(SDL2_SDL2_FOUND FALSE) + set(SDL2_SDL2test_FOUND FALSE) endif() unset(_sdl2test_library) diff --git a/extlib/SDL2/include/SDL.h b/extlib/SDL2/include/SDL.h index 12e7f31a..20c903b2 100644 --- a/extlib/SDL2/include/SDL.h +++ b/extlib/SDL2/include/SDL.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 diff --git a/extlib/SDL2/include/SDL_assert.h b/extlib/SDL2/include/SDL_assert.h index e71cf979..a396d4e0 100644 --- a/extlib/SDL2/include/SDL_assert.h +++ b/extlib/SDL2/include/SDL_assert.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -55,6 +55,8 @@ assert can have unique static variables associated with it. #define SDL_TriggerBreakpoint() __builtin_debugtrap() #elif ( (!defined(__NACL__)) && ((defined(__GNUC__) || defined(__clang__)) && (defined(__i386__) || defined(__x86_64__))) ) #define SDL_TriggerBreakpoint() __asm__ __volatile__ ( "int $3\n\t" ) +#elif (defined(__GNUC__) || defined(__clang__)) && defined(__riscv) + #define SDL_TriggerBreakpoint() __asm__ __volatile__ ( "ebreak\n\t" ) #elif ( defined(__APPLE__) && (defined(__arm64__) || defined(__aarch64__)) ) /* this might work on other ARM targets, but this is a known quantity... */ #define SDL_TriggerBreakpoint() __asm__ __volatile__ ( "brk #22\n\t" ) #elif defined(__APPLE__) && defined(__arm__) @@ -125,12 +127,10 @@ typedef struct SDL_AssertData const struct SDL_AssertData *next; } SDL_AssertData; -#if (SDL_ASSERT_LEVEL > 0) - /* Never call this directly. Use the SDL_assert* macros. */ extern DECLSPEC SDL_AssertState SDLCALL SDL_ReportAssertion(SDL_AssertData *, - const char *, - const char *, int) + const char *, + const char *, int) #if defined(__clang__) #if __has_feature(attribute_analyzer_noreturn) /* this tells Clang's static analysis that we're a custom assert function, @@ -151,9 +151,7 @@ extern DECLSPEC SDL_AssertState SDLCALL SDL_ReportAssertion(SDL_AssertData *, #define SDL_enabled_assert(condition) \ do { \ while ( !(condition) ) { \ - static struct SDL_AssertData sdl_assert_data = { \ - 0, 0, #condition, 0, 0, 0, 0 \ - }; \ + static struct SDL_AssertData sdl_assert_data = { 0, 0, #condition, 0, 0, 0, 0 }; \ const SDL_AssertState sdl_assert_state = SDL_ReportAssertion(&sdl_assert_data, SDL_FUNCTION, SDL_FILE, SDL_LINE); \ if (sdl_assert_state == SDL_ASSERTION_RETRY) { \ continue; /* go again. */ \ @@ -164,8 +162,6 @@ extern DECLSPEC SDL_AssertState SDLCALL SDL_ReportAssertion(SDL_AssertData *, } \ } while (SDL_NULL_WHILE_LOOP_CONDITION) -#endif /* enabled assertions support code */ - /* Enable various levels of assertions. */ #if SDL_ASSERT_LEVEL == 0 /* assertions disabled */ # define SDL_assert(condition) SDL_disabled_assert(condition) diff --git a/extlib/SDL2/include/SDL_atomic.h b/extlib/SDL2/include/SDL_atomic.h index 2eace208..1fa18f49 100644 --- a/extlib/SDL2/include/SDL_atomic.h +++ b/extlib/SDL2/include/SDL_atomic.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -209,7 +209,7 @@ typedef void (*SDL_KernelMemoryBarrierFunc)(); #if defined(__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) || defined(__ARM_ARCH_7EM__) || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) || defined(__ARM_ARCH_7S__) || defined(__ARM_ARCH_8A__) #define SDL_MemoryBarrierRelease() __asm__ __volatile__ ("dmb ish" : : : "memory") #define SDL_MemoryBarrierAcquire() __asm__ __volatile__ ("dmb ish" : : : "memory") -#elif defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6T2__) || defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) || defined(__ARM_ARCH_5TE__) +#elif defined(__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) || defined(__ARM_ARCH_6K__) || defined(__ARM_ARCH_6T2__) || defined(__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) #ifdef __thumb__ /* The mcr instruction isn't available in thumb mode, use real functions */ #define SDL_MEMORY_BARRIER_USES_FUNCTION @@ -240,7 +240,7 @@ typedef void (*SDL_KernelMemoryBarrierFunc)(); /* "REP NOP" is PAUSE, coded for tools that don't know it by that name. */ #if (defined(__GNUC__) || defined(__clang__)) && (defined(__i386__) || defined(__x86_64__)) #define SDL_CPUPauseInstruction() __asm__ __volatile__("pause\n") /* Some assemblers can't do REP NOP, so go with PAUSE. */ -#elif (defined(__arm__) && __ARM_ARCH__ >= 7) || defined(__aarch64__) +#elif (defined(__arm__) && defined(__ARM_ARCH) && __ARM_ARCH >= 7) || defined(__aarch64__) #define SDL_CPUPauseInstruction() __asm__ __volatile__("yield" ::: "memory") #elif (defined(__powerpc__) || defined(__powerpc64__)) #define SDL_CPUPauseInstruction() __asm__ __volatile__("or 27,27,27"); @@ -249,9 +249,8 @@ typedef void (*SDL_KernelMemoryBarrierFunc)(); #elif defined(_MSC_VER) && (defined(_M_ARM) || defined(_M_ARM64)) #define SDL_CPUPauseInstruction() __yield() #elif defined(__WATCOMC__) && defined(__386__) - /* watcom assembler rejects PAUSE if CPU < i686, and it refuses REP NOP as an invalid combination. Hardcode the bytes. */ extern __inline void SDL_CPUPauseInstruction(void); - #pragma aux SDL_CPUPauseInstruction = "db 0f3h,90h" + #pragma aux SDL_CPUPauseInstruction = ".686p" ".xmm2" "pause" #else #define SDL_CPUPauseInstruction() #endif diff --git a/extlib/SDL2/include/SDL_audio.h b/extlib/SDL2/include/SDL_audio.h index c42de3ed..9bb03327 100644 --- a/extlib/SDL2/include/SDL_audio.h +++ b/extlib/SDL2/include/SDL_audio.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -169,13 +169,13 @@ typedef void (SDLCALL * SDL_AudioCallback) (void *userdata, Uint8 * stream, * The calculated values in this structure are calculated by SDL_OpenAudio(). * * For multi-channel audio, the default SDL channel mapping is: - * 2: FL FR (stereo) - * 3: FL FR LFE (2.1 surround) - * 4: FL FR BL BR (quad) - * 5: FL FR LFE BL BR (4.1 surround) - * 6: FL FR FC LFE SL SR (5.1 surround - last two can also be BL BR) - * 7: FL FR FC LFE BC SL SR (6.1 surround) - * 8: FL FR FC LFE BL BR SL SR (7.1 surround) + * 2: FL FR (stereo) + * 3: FL FR LFE (2.1 surround) + * 4: FL FR BL BR (quad) + * 5: FL FR LFE BL BR (4.1 surround) + * 6: FL FR FC LFE SL SR (5.1 surround - last two can also be BL BR) + * 7: FL FR FC LFE BC SL SR (6.1 surround) + * 8: FL FR FC LFE BL BR SL SR (7.1 surround) */ typedef struct SDL_AudioSpec { @@ -594,7 +594,7 @@ extern DECLSPEC int SDLCALL SDL_GetDefaultAudioInfo(char **name, * frames_ (with stereo output, two samples--left and right--would make a * single sample frame). This number should be a power of two, and may be * adjusted by the audio driver to a value more suitable for the hardware. - * Good values seem to range between 512 and 8096 inclusive, depending on + * Good values seem to range between 512 and 4096 inclusive, depending on * the application and CPU speed. Smaller values reduce latency, but can * lead to underflow if the application is doing heavy processing and cannot * fill the audio buffer in time. Note that the number of sample frames is diff --git a/extlib/SDL2/include/SDL_bits.h b/extlib/SDL2/include/SDL_bits.h index 22cb8531..83e8a78c 100644 --- a/extlib/SDL2/include/SDL_bits.h +++ b/extlib/SDL2/include/SDL_bits.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 diff --git a/extlib/SDL2/include/SDL_blendmode.h b/extlib/SDL2/include/SDL_blendmode.h index 08c9f9dd..09d01477 100644 --- a/extlib/SDL2/include/SDL_blendmode.h +++ b/extlib/SDL2/include/SDL_blendmode.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -52,7 +52,7 @@ typedef enum dstA = dstA */ SDL_BLENDMODE_MUL = 0x00000008, /**< color multiply dstRGB = (srcRGB * dstRGB) + (dstRGB * (1-srcA)) - dstA = (srcA * dstA) + (dstA * (1-srcA)) */ + dstA = dstA */ SDL_BLENDMODE_INVALID = 0x7FFFFFFF /* Additional custom blend modes can be returned by SDL_ComposeCustomBlendMode() */ @@ -65,8 +65,8 @@ typedef enum typedef enum { SDL_BLENDOPERATION_ADD = 0x1, /**< dst + src: supported by all renderers */ - SDL_BLENDOPERATION_SUBTRACT = 0x2, /**< dst - src : supported by D3D9, D3D11, OpenGL, OpenGLES */ - SDL_BLENDOPERATION_REV_SUBTRACT = 0x3, /**< src - dst : supported by D3D9, D3D11, OpenGL, OpenGLES */ + SDL_BLENDOPERATION_SUBTRACT = 0x2, /**< src - dst : supported by D3D9, D3D11, OpenGL, OpenGLES */ + SDL_BLENDOPERATION_REV_SUBTRACT = 0x3, /**< dst - src : supported by D3D9, D3D11, OpenGL, OpenGLES */ SDL_BLENDOPERATION_MINIMUM = 0x4, /**< min(dst, src) : supported by D3D9, D3D11 */ SDL_BLENDOPERATION_MAXIMUM = 0x5 /**< max(dst, src) : supported by D3D9, D3D11 */ } SDL_BlendOperation; diff --git a/extlib/SDL2/include/SDL_clipboard.h b/extlib/SDL2/include/SDL_clipboard.h index 93513630..bd4b044c 100644 --- a/extlib/SDL2/include/SDL_clipboard.h +++ b/extlib/SDL2/include/SDL_clipboard.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -82,6 +82,53 @@ extern DECLSPEC char * SDLCALL SDL_GetClipboardText(void); */ extern DECLSPEC SDL_bool SDLCALL SDL_HasClipboardText(void); +/** + * Put UTF-8 text into the primary selection. + * + * \param text the text to store in the primary selection + * \returns 0 on success or a negative error code on failure; call + * SDL_GetError() for more information. + * + * \since This function is available since SDL 2.26.0. + * + * \sa SDL_GetPrimarySelectionText + * \sa SDL_HasPrimarySelectionText + */ +extern DECLSPEC int SDLCALL SDL_SetPrimarySelectionText(const char *text); + +/** + * Get UTF-8 text from the primary selection, which must be freed with + * SDL_free(). + * + * This functions returns empty string if there was not enough memory left for + * a copy of the primary selection's content. + * + * \returns the primary selection text on success or an empty string on + * failure; call SDL_GetError() for more information. Caller must + * call SDL_free() on the returned pointer when done with it (even if + * there was an error). + * + * \since This function is available since SDL 2.26.0. + * + * \sa SDL_HasPrimarySelectionText + * \sa SDL_SetPrimarySelectionText + */ +extern DECLSPEC char * SDLCALL SDL_GetPrimarySelectionText(void); + +/** + * Query whether the primary selection exists and contains a non-empty text + * string. + * + * \returns SDL_TRUE if the primary selection has text, or SDL_FALSE if it + * does not. + * + * \since This function is available since SDL 2.26.0. + * + * \sa SDL_GetPrimarySelectionText + * \sa SDL_SetPrimarySelectionText + */ +extern DECLSPEC SDL_bool SDLCALL SDL_HasPrimarySelectionText(void); + /* Ends C function definitions when using C++ */ #ifdef __cplusplus diff --git a/extlib/SDL2/include/SDL_config.h b/extlib/SDL2/include/SDL_config.h index 3ad3e8ff..49605b1e 100644 --- a/extlib/SDL2/include/SDL_config.h +++ b/extlib/SDL2/include/SDL_config.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -19,333 +19,43 @@ 3. This notice may not be removed or altered from any source distribution. */ -#ifndef SDL_config_windows_h_ -#define SDL_config_windows_h_ +#ifndef SDL_config_h_ #define SDL_config_h_ #include "SDL_platform.h" -/* winsdkver.h defines _WIN32_MAXVER for SDK version detection. It is present since at least the Windows 7 SDK, - * but out of caution we'll only use it if the compiler supports __has_include() to confirm its presence. - * If your compiler doesn't support __has_include() but you have winsdkver.h, define HAVE_WINSDKVER_H. */ -#if !defined(HAVE_WINSDKVER_H) && defined(__has_include) -#if __has_include() -#define HAVE_WINSDKVER_H 1 -#endif -#endif - -#ifdef HAVE_WINSDKVER_H -#include -#endif - -/* sdkddkver.h defines more specific SDK version numbers. This is needed because older versions of the - * Windows 10 SDK have broken declarations for the C API for DirectX 12. */ -#if !defined(HAVE_SDKDDKVER_H) && defined(__has_include) -#if __has_include() -#define HAVE_SDKDDKVER_H 1 -#endif -#endif - -#ifdef HAVE_SDKDDKVER_H -#include -#endif - -/* This is a set of defines to configure the SDL features */ - -#if !defined(_STDINT_H_) && (!defined(HAVE_STDINT_H) || !_HAVE_STDINT_H) -#if defined(__GNUC__) || defined(__DMC__) || defined(__WATCOMC__) || defined(__clang__) || defined(__BORLANDC__) || defined(__CODEGEARC__) -#define HAVE_STDINT_H 1 -#elif defined(_MSC_VER) -typedef signed __int8 int8_t; -typedef unsigned __int8 uint8_t; -typedef signed __int16 int16_t; -typedef unsigned __int16 uint16_t; -typedef signed __int32 int32_t; -typedef unsigned __int32 uint32_t; -typedef signed __int64 int64_t; -typedef unsigned __int64 uint64_t; -#ifndef _UINTPTR_T_DEFINED -#ifdef _WIN64 -typedef unsigned __int64 uintptr_t; -#else -typedef unsigned int uintptr_t; -#endif -#define _UINTPTR_T_DEFINED -#endif -/* Older Visual C++ headers don't have the Win64-compatible typedefs... */ -#if ((_MSC_VER <= 1200) && (!defined(DWORD_PTR))) -#define DWORD_PTR DWORD -#endif -#if ((_MSC_VER <= 1200) && (!defined(LONG_PTR))) -#define LONG_PTR LONG -#endif -#else /* !__GNUC__ && !_MSC_VER */ -typedef signed char int8_t; -typedef unsigned char uint8_t; -typedef signed short int16_t; -typedef unsigned short uint16_t; -typedef signed int int32_t; -typedef unsigned int uint32_t; -typedef signed long long int64_t; -typedef unsigned long long uint64_t; -#ifndef _SIZE_T_DEFINED_ -#define _SIZE_T_DEFINED_ -typedef unsigned int size_t; -#endif -typedef unsigned int uintptr_t; -#endif /* __GNUC__ || _MSC_VER */ -#endif /* !_STDINT_H_ && !HAVE_STDINT_H */ - -#ifdef _WIN64 -# define SIZEOF_VOIDP 8 -#else -# define SIZEOF_VOIDP 4 -#endif - -#ifdef __clang__ -# define HAVE_GCC_ATOMICS 1 -#endif - -#define HAVE_DDRAW_H 1 -#define HAVE_DINPUT_H 1 -#define HAVE_DSOUND_H 1 -#ifndef __WATCOMC__ -#define HAVE_DXGI_H 1 -#define HAVE_XINPUT_H 1 -#if defined(_WIN32_MAXVER) && _WIN32_MAXVER >= 0x0A00 /* Windows 10 SDK */ -#define HAVE_WINDOWS_GAMING_INPUT_H 1 -#endif -#if defined(_WIN32_MAXVER) && _WIN32_MAXVER >= 0x0602 /* Windows 8 SDK */ -#define HAVE_D3D11_H 1 -#define HAVE_ROAPI_H 1 -#endif -#if defined(WDK_NTDDI_VERSION) && WDK_NTDDI_VERSION > 0x0A000008 /* 10.0.19041.0 */ -#define HAVE_D3D12_H 1 -#endif -#if defined(_WIN32_MAXVER) && _WIN32_MAXVER >= 0x0603 /* Windows 8.1 SDK */ -#define HAVE_SHELLSCALINGAPI_H 1 -#endif -#define HAVE_MMDEVICEAPI_H 1 -#define HAVE_AUDIOCLIENT_H 1 -#define HAVE_TPCSHRD_H 1 -#define HAVE_SENSORSAPI_H 1 -#endif -#if (defined(_M_IX86) || defined(_M_X64) || defined(_M_AMD64)) && (defined(_MSC_VER) && _MSC_VER >= 1600) -#define HAVE_IMMINTRIN_H 1 -#elif defined(__has_include) && (defined(__i386__) || defined(__x86_64)) -# if __has_include() -# define HAVE_IMMINTRIN_H 1 -# endif -#endif - -/* This is disabled by default to avoid C runtime dependencies and manifest requirements */ -#ifdef HAVE_LIBC -/* Useful headers */ -#define STDC_HEADERS 1 -#define HAVE_CTYPE_H 1 -#define HAVE_FLOAT_H 1 -#define HAVE_LIMITS_H 1 -#define HAVE_MATH_H 1 -#define HAVE_SIGNAL_H 1 -#define HAVE_STDIO_H 1 -#define HAVE_STRING_H 1 - -/* C library functions */ -#define HAVE_MALLOC 1 -#define HAVE_CALLOC 1 -#define HAVE_REALLOC 1 -#define HAVE_FREE 1 -#define HAVE_ALLOCA 1 -/* OpenWatcom requires specific calling conventions for qsort and bsearch */ -#ifndef __WATCOMC__ -#define HAVE_QSORT 1 -#define HAVE_BSEARCH 1 -#endif -#define HAVE_ABS 1 -#define HAVE_MEMSET 1 -#define HAVE_MEMCPY 1 -#define HAVE_MEMMOVE 1 -#define HAVE_MEMCMP 1 -#define HAVE_STRLEN 1 -#define HAVE__STRREV 1 -/* These functions have security warnings, so we won't use them */ -/* #undef HAVE__STRUPR */ -/* #undef HAVE__STRLWR */ -#define HAVE_STRCHR 1 -#define HAVE_STRRCHR 1 -#define HAVE_STRSTR 1 -/* #undef HAVE_STRTOK_R */ -/* These functions have security warnings, so we won't use them */ -/* #undef HAVE__LTOA */ -/* #undef HAVE__ULTOA */ -#define HAVE_STRTOL 1 -#define HAVE_STRTOUL 1 -#define HAVE_STRTOD 1 -#define HAVE_ATOI 1 -#define HAVE_ATOF 1 -#define HAVE_STRCMP 1 -#define HAVE_STRNCMP 1 -#define HAVE__STRICMP 1 -#define HAVE__STRNICMP 1 -#define HAVE__WCSICMP 1 -#define HAVE__WCSNICMP 1 -#define HAVE__WCSDUP 1 -#define HAVE_ACOS 1 -#define HAVE_ASIN 1 -#define HAVE_ATAN 1 -#define HAVE_ATAN2 1 -#define HAVE_CEIL 1 -#define HAVE_COS 1 -#define HAVE_EXP 1 -#define HAVE_FABS 1 -#define HAVE_FLOOR 1 -#define HAVE_FMOD 1 -#define HAVE_LOG 1 -#define HAVE_LOG10 1 -#define HAVE_POW 1 -#define HAVE_SIN 1 -#define HAVE_SQRT 1 -#define HAVE_TAN 1 -#ifndef __WATCOMC__ -#define HAVE_ACOSF 1 -#define HAVE_ASINF 1 -#define HAVE_ATANF 1 -#define HAVE_ATAN2F 1 -#define HAVE_CEILF 1 -#define HAVE__COPYSIGN 1 -#define HAVE_COSF 1 -#define HAVE_EXPF 1 -#define HAVE_FABSF 1 -#define HAVE_FLOORF 1 -#define HAVE_FMODF 1 -#define HAVE_LOGF 1 -#define HAVE_LOG10F 1 -#define HAVE_POWF 1 -#define HAVE_SINF 1 -#define HAVE_SQRTF 1 -#define HAVE_TANF 1 -#endif -#if defined(_MSC_VER) -/* These functions were added with the VC++ 2013 C runtime library */ -#if _MSC_VER >= 1800 -#define HAVE_STRTOLL 1 -#define HAVE_STRTOULL 1 -#define HAVE_VSSCANF 1 -#define HAVE_LROUND 1 -#define HAVE_LROUNDF 1 -#define HAVE_ROUND 1 -#define HAVE_ROUNDF 1 -#define HAVE_SCALBN 1 -#define HAVE_SCALBNF 1 -#define HAVE_TRUNC 1 -#define HAVE_TRUNCF 1 -#endif -/* This function is available with at least the VC++ 2008 C runtime library */ -#if _MSC_VER >= 1400 -#define HAVE__FSEEKI64 1 -#endif -#ifdef _USE_MATH_DEFINES -#define HAVE_M_PI 1 -#endif -#elif defined(__WATCOMC__) -#define HAVE__FSEEKI64 1 -#define HAVE_STRTOLL 1 -#define HAVE_STRTOULL 1 -#define HAVE_VSSCANF 1 -#define HAVE_ROUND 1 -#define HAVE_SCALBN 1 -#define HAVE_TRUNC 1 -#else -#define HAVE_M_PI 1 -#endif -#else -#define HAVE_STDARG_H 1 -#define HAVE_STDDEF_H 1 -#endif - -/* Enable various audio drivers */ -#if defined(HAVE_MMDEVICEAPI_H) && defined(HAVE_AUDIOCLIENT_H) -#define SDL_AUDIO_DRIVER_WASAPI 1 -#endif -#define SDL_AUDIO_DRIVER_DSOUND 1 -#define SDL_AUDIO_DRIVER_WINMM 1 -#define SDL_AUDIO_DRIVER_DISK 1 -#define SDL_AUDIO_DRIVER_DUMMY 1 - -/* Enable various input drivers */ -#define SDL_JOYSTICK_DINPUT 1 -#define SDL_JOYSTICK_HIDAPI 1 -#ifndef __WINRT__ -#define SDL_JOYSTICK_RAWINPUT 1 -#endif -#define SDL_JOYSTICK_VIRTUAL 1 -#ifdef HAVE_WINDOWS_GAMING_INPUT_H -#define SDL_JOYSTICK_WGI 1 -#endif -#define SDL_JOYSTICK_XINPUT 1 -#define SDL_HAPTIC_DINPUT 1 -#define SDL_HAPTIC_XINPUT 1 - -/* Enable the sensor driver */ -#ifdef HAVE_SENSORSAPI_H -#define SDL_SENSOR_WINDOWS 1 +/** + * \file SDL_config.h + */ + +/* Add any platform that doesn't build using the configure system. */ +#if defined(__WIN32__) +#include "SDL_config_windows.h" +#elif defined(__WINRT__) +#include "SDL_config_winrt.h" +#elif defined(__WINGDK__) +#include "SDL_config_wingdk.h" +#elif defined(__XBOXONE__) || defined(__XBOXSERIES__) +#include "SDL_config_xbox.h" +#elif defined(__MACOSX__) +#include "SDL_config_macosx.h" +#elif defined(__IPHONEOS__) +#include "SDL_config_iphoneos.h" +#elif defined(__ANDROID__) +#include "SDL_config_android.h" +#elif defined(__OS2__) +#include "SDL_config_os2.h" +#elif defined(__EMSCRIPTEN__) +#include "SDL_config_emscripten.h" +#elif defined(__NGAGE__) +#include "SDL_config_ngage.h" #else -#define SDL_SENSOR_DUMMY 1 -#endif - -/* Enable various shared object loading systems */ -#define SDL_LOADSO_WINDOWS 1 +/* This is a minimal configuration just to get SDL running on new platforms. */ +#include "SDL_config_minimal.h" +#endif /* platform config */ -/* Enable various threading systems */ -#define SDL_THREAD_GENERIC_COND_SUFFIX 1 -#define SDL_THREAD_WINDOWS 1 - -/* Enable various timer systems */ -#define SDL_TIMER_WINDOWS 1 - -/* Enable various video drivers */ -#define SDL_VIDEO_DRIVER_DUMMY 1 -#define SDL_VIDEO_DRIVER_WINDOWS 1 - -#ifndef SDL_VIDEO_RENDER_D3D -#define SDL_VIDEO_RENDER_D3D 1 -#endif -#if !defined(SDL_VIDEO_RENDER_D3D11) && defined(HAVE_D3D11_H) -#define SDL_VIDEO_RENDER_D3D11 1 -#endif -#if !defined(SDL_VIDEO_RENDER_D3D12) && defined(HAVE_D3D12_H) -#define SDL_VIDEO_RENDER_D3D12 1 -#endif - -/* Enable OpenGL support */ -#ifndef SDL_VIDEO_OPENGL -#define SDL_VIDEO_OPENGL 1 -#endif -#ifndef SDL_VIDEO_OPENGL_WGL -#define SDL_VIDEO_OPENGL_WGL 1 +#ifdef USING_GENERATED_CONFIG_H +#error Wrong SDL_config.h, check your include path? #endif -#ifndef SDL_VIDEO_RENDER_OGL -#define SDL_VIDEO_RENDER_OGL 1 -#endif -#ifndef SDL_VIDEO_RENDER_OGL_ES2 -#define SDL_VIDEO_RENDER_OGL_ES2 1 -#endif -#ifndef SDL_VIDEO_OPENGL_ES2 -#define SDL_VIDEO_OPENGL_ES2 1 -#endif -#ifndef SDL_VIDEO_OPENGL_EGL -#define SDL_VIDEO_OPENGL_EGL 1 -#endif - -/* Enable Vulkan support */ -#define SDL_VIDEO_VULKAN 1 - -/* Enable system power support */ -#define SDL_POWER_WINDOWS 1 - -/* Enable filesystem support */ -#define SDL_FILESYSTEM_WINDOWS 1 - -#endif /* SDL_config_windows_h_ */ -/* vi: set ts=4 sw=4 expandtab: */ +#endif /* SDL_config_h_ */ diff --git a/extlib/SDL2/include/SDL_config.h.cmake b/extlib/SDL2/include/SDL_config.h.cmake index c57266c4..ffcafd89 100644 --- a/extlib/SDL2/include/SDL_config.h.cmake +++ b/extlib/SDL2/include/SDL_config.h.cmake @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2017 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -38,7 +38,7 @@ /* C datatypes */ /* Define SIZEOF_VOIDP for 64/32 architectures */ -#ifdef __LP64__ +#if defined(__LP64__) || defined(_LP64) || defined(_WIN64) #define SIZEOF_VOIDP 8 #else #define SIZEOF_VOIDP 4 @@ -47,48 +47,37 @@ #cmakedefine HAVE_GCC_ATOMICS @HAVE_GCC_ATOMICS@ #cmakedefine HAVE_GCC_SYNC_LOCK_TEST_AND_SET @HAVE_GCC_SYNC_LOCK_TEST_AND_SET@ -#cmakedefine HAVE_D3D_H @HAVE_D3D_H@ -#cmakedefine HAVE_D3D11_H @HAVE_D3D11_H@ -#cmakedefine HAVE_DDRAW_H @HAVE_DDRAW_H@ -#cmakedefine HAVE_DSOUND_H @HAVE_DSOUND_H@ -#cmakedefine HAVE_DINPUT_H @HAVE_DINPUT_H@ -#cmakedefine HAVE_XAUDIO2_H @HAVE_XAUDIO2_H@ -#cmakedefine HAVE_XINPUT_H @HAVE_XINPUT_H@ -#cmakedefine HAVE_DXGI_H @HAVE_DXGI_H@ -#cmakedefine HAVE_XINPUT_GAMEPAD_EX @HAVE_XINPUT_GAMEPAD_EX@ -#cmakedefine HAVE_XINPUT_STATE_EX @HAVE_XINPUT_STATE_EX@ - /* Comment this if you want to build without any C library requirements */ #cmakedefine HAVE_LIBC 1 -#if HAVE_LIBC +#ifdef HAVE_LIBC /* Useful headers */ -#cmakedefine HAVE_ALLOCA_H 1 -#cmakedefine HAVE_SYS_TYPES_H 1 -#cmakedefine HAVE_STDIO_H 1 #cmakedefine STDC_HEADERS 1 -#cmakedefine HAVE_STDLIB_H 1 -#cmakedefine HAVE_STDARG_H 1 +#cmakedefine HAVE_ALLOCA_H 1 +#cmakedefine HAVE_CTYPE_H 1 +#cmakedefine HAVE_FLOAT_H 1 +#cmakedefine HAVE_ICONV_H 1 +#cmakedefine HAVE_INTTYPES_H 1 +#cmakedefine HAVE_LIMITS_H 1 #cmakedefine HAVE_MALLOC_H 1 +#cmakedefine HAVE_MATH_H 1 #cmakedefine HAVE_MEMORY_H 1 -#cmakedefine HAVE_STRING_H 1 +#cmakedefine HAVE_SIGNAL_H 1 +#cmakedefine HAVE_STDARG_H 1 +#cmakedefine HAVE_STDDEF_H 1 +#cmakedefine HAVE_STDINT_H 1 +#cmakedefine HAVE_STDIO_H 1 +#cmakedefine HAVE_STDLIB_H 1 #cmakedefine HAVE_STRINGS_H 1 +#cmakedefine HAVE_STRING_H 1 +#cmakedefine HAVE_SYS_TYPES_H 1 #cmakedefine HAVE_WCHAR_H 1 -#cmakedefine HAVE_INTTYPES_H 1 -#cmakedefine HAVE_STDINT_H 1 -#cmakedefine HAVE_CTYPE_H 1 -#cmakedefine HAVE_MATH_H 1 -#cmakedefine HAVE_ICONV_H 1 -#cmakedefine HAVE_SIGNAL_H 1 -#cmakedefine HAVE_ALTIVEC_H 1 +#cmakedefine HAVE_LINUX_INPUT_H 1 #cmakedefine HAVE_PTHREAD_NP_H 1 -#cmakedefine HAVE_LIBUDEV_H 1 -#cmakedefine HAVE_DBUS_DBUS_H 1 -#cmakedefine HAVE_IBUS_IBUS_H 1 -#cmakedefine HAVE_FCITX_FRONTEND_H 1 -#cmakedefine HAVE_LIBSAMPLERATE_H 1 +#cmakedefine HAVE_LIBUNWIND_H 1 /* C library functions */ +#cmakedefine HAVE_DLOPEN 1 #cmakedefine HAVE_MALLOC 1 #cmakedefine HAVE_CALLOC 1 #cmakedefine HAVE_REALLOC 1 @@ -101,6 +90,7 @@ #cmakedefine HAVE_UNSETENV 1 #endif #cmakedefine HAVE_QSORT 1 +#cmakedefine HAVE_BSEARCH 1 #cmakedefine HAVE_ABS 1 #cmakedefine HAVE_BCOPY 1 #cmakedefine HAVE_MEMSET 1 @@ -110,11 +100,18 @@ #cmakedefine HAVE_WCSLEN 1 #cmakedefine HAVE_WCSLCPY 1 #cmakedefine HAVE_WCSLCAT 1 +#cmakedefine HAVE__WCSDUP 1 +#cmakedefine HAVE_WCSDUP 1 +#cmakedefine HAVE_WCSSTR 1 #cmakedefine HAVE_WCSCMP 1 +#cmakedefine HAVE_WCSNCMP 1 +#cmakedefine HAVE_WCSCASECMP 1 +#cmakedefine HAVE__WCSICMP 1 +#cmakedefine HAVE_WCSNCASECMP 1 +#cmakedefine HAVE__WCSNICMP 1 #cmakedefine HAVE_STRLEN 1 #cmakedefine HAVE_STRLCPY 1 #cmakedefine HAVE_STRLCAT 1 -#cmakedefine HAVE_STRDUP 1 #cmakedefine HAVE__STRREV 1 #cmakedefine HAVE__STRUPR 1 #cmakedefine HAVE__STRLWR 1 @@ -123,6 +120,7 @@ #cmakedefine HAVE_STRCHR 1 #cmakedefine HAVE_STRRCHR 1 #cmakedefine HAVE_STRSTR 1 +#cmakedefine HAVE_STRTOK_R 1 #cmakedefine HAVE_ITOA 1 #cmakedefine HAVE__LTOA 1 #cmakedefine HAVE__UITOA 1 @@ -142,31 +140,58 @@ #cmakedefine HAVE_STRCASECMP 1 #cmakedefine HAVE__STRNICMP 1 #cmakedefine HAVE_STRNCASECMP 1 +#cmakedefine HAVE_STRCASESTR 1 +#cmakedefine HAVE_SSCANF 1 #cmakedefine HAVE_VSSCANF 1 #cmakedefine HAVE_VSNPRINTF 1 #cmakedefine HAVE_M_PI 1 -#cmakedefine HAVE_ATAN 1 -#cmakedefine HAVE_ATAN2 1 #cmakedefine HAVE_ACOS 1 +#cmakedefine HAVE_ACOSF 1 #cmakedefine HAVE_ASIN 1 +#cmakedefine HAVE_ASINF 1 +#cmakedefine HAVE_ATAN 1 +#cmakedefine HAVE_ATANF 1 +#cmakedefine HAVE_ATAN2 1 +#cmakedefine HAVE_ATAN2F 1 #cmakedefine HAVE_CEIL 1 +#cmakedefine HAVE_CEILF 1 #cmakedefine HAVE_COPYSIGN 1 +#cmakedefine HAVE_COPYSIGNF 1 #cmakedefine HAVE_COS 1 #cmakedefine HAVE_COSF 1 +#cmakedefine HAVE_EXP 1 +#cmakedefine HAVE_EXPF 1 #cmakedefine HAVE_FABS 1 +#cmakedefine HAVE_FABSF 1 #cmakedefine HAVE_FLOOR 1 +#cmakedefine HAVE_FLOORF 1 +#cmakedefine HAVE_FMOD 1 +#cmakedefine HAVE_FMODF 1 #cmakedefine HAVE_LOG 1 +#cmakedefine HAVE_LOGF 1 +#cmakedefine HAVE_LOG10 1 +#cmakedefine HAVE_LOG10F 1 +#cmakedefine HAVE_LROUND 1 +#cmakedefine HAVE_LROUNDF 1 #cmakedefine HAVE_POW 1 +#cmakedefine HAVE_POWF 1 +#cmakedefine HAVE_ROUND 1 +#cmakedefine HAVE_ROUNDF 1 #cmakedefine HAVE_SCALBN 1 +#cmakedefine HAVE_SCALBNF 1 #cmakedefine HAVE_SIN 1 #cmakedefine HAVE_SINF 1 #cmakedefine HAVE_SQRT 1 #cmakedefine HAVE_SQRTF 1 #cmakedefine HAVE_TAN 1 #cmakedefine HAVE_TANF 1 +#cmakedefine HAVE_TRUNC 1 +#cmakedefine HAVE_TRUNCF 1 #cmakedefine HAVE_FOPEN64 1 #cmakedefine HAVE_FSEEKO 1 #cmakedefine HAVE_FSEEKO64 1 +#cmakedefine HAVE_MEMFD_CREATE 1 +#cmakedefine HAVE_POSIX_FALLOCATE 1 #cmakedefine HAVE_SIGACTION 1 #cmakedefine HAVE_SA_SIGACTION 1 #cmakedefine HAVE_SETJMP 1 @@ -177,22 +202,72 @@ #cmakedefine HAVE_GETPAGESIZE 1 #cmakedefine HAVE_MPROTECT 1 #cmakedefine HAVE_ICONV 1 +#cmakedefine SDL_USE_LIBICONV 1 #cmakedefine HAVE_PTHREAD_SETNAME_NP 1 #cmakedefine HAVE_PTHREAD_SET_NAME_NP 1 #cmakedefine HAVE_SEM_TIMEDWAIT 1 #cmakedefine HAVE_GETAUXVAL 1 +#cmakedefine HAVE_ELF_AUX_INFO 1 #cmakedefine HAVE_POLL 1 +#cmakedefine HAVE__EXIT 1 -#elif __WIN32__ +#else #cmakedefine HAVE_STDARG_H 1 #cmakedefine HAVE_STDDEF_H 1 -#else -/* We may need some replacement for stdarg.h here */ -#include +#cmakedefine HAVE_STDINT_H 1 +#cmakedefine HAVE_FLOAT_H 1 #endif /* HAVE_LIBC */ +#cmakedefine HAVE_ALTIVEC_H 1 +#cmakedefine HAVE_DBUS_DBUS_H 1 +#cmakedefine HAVE_FCITX 1 +#cmakedefine HAVE_IBUS_IBUS_H 1 +#cmakedefine HAVE_SYS_INOTIFY_H 1 +#cmakedefine HAVE_INOTIFY_INIT 1 +#cmakedefine HAVE_INOTIFY_INIT1 1 +#cmakedefine HAVE_INOTIFY 1 +#cmakedefine HAVE_LIBUSB 1 +#cmakedefine HAVE_O_CLOEXEC 1 + +/* Apple platforms might be building universal binaries, where Intel builds + can use immintrin.h but other architectures can't. */ +#ifdef __APPLE__ +# if defined(__has_include) && (defined(__i386__) || defined(__x86_64)) +# if __has_include() +# define HAVE_IMMINTRIN_H 1 +# endif +# endif +#else /* non-Apple platforms can use the normal CMake check for this. */ +#cmakedefine HAVE_IMMINTRIN_H 1 +#endif + +#cmakedefine HAVE_LIBUDEV_H 1 +#cmakedefine HAVE_LIBSAMPLERATE_H 1 +#cmakedefine HAVE_LIBDECOR_H 1 + +#cmakedefine HAVE_D3D_H @HAVE_D3D_H@ +#cmakedefine HAVE_D3D11_H @HAVE_D3D11_H@ +#cmakedefine HAVE_D3D12_H @HAVE_D3D12_H@ +#cmakedefine HAVE_DDRAW_H @HAVE_DDRAW_H@ +#cmakedefine HAVE_DSOUND_H @HAVE_DSOUND_H@ +#cmakedefine HAVE_DINPUT_H @HAVE_DINPUT_H@ +#cmakedefine HAVE_XINPUT_H @HAVE_XINPUT_H@ +#cmakedefine HAVE_WINDOWS_GAMING_INPUT_H @HAVE_WINDOWS_GAMING_INPUT_H@ +#cmakedefine HAVE_DXGI_H @HAVE_DXGI_H@ + +#cmakedefine HAVE_MMDEVICEAPI_H @HAVE_MMDEVICEAPI_H@ +#cmakedefine HAVE_AUDIOCLIENT_H @HAVE_AUDIOCLIENT_H@ +#cmakedefine HAVE_TPCSHRD_H @HAVE_TPCSHRD_H@ +#cmakedefine HAVE_SENSORSAPI_H @HAVE_SENSORSAPI_H@ +#cmakedefine HAVE_ROAPI_H @HAVE_ROAPI_H@ +#cmakedefine HAVE_SHELLSCALINGAPI_H @HAVE_SHELLSCALINGAPI_H@ + +#cmakedefine USE_POSIX_SPAWN @USE_POSIX_SPAWN@ + /* SDL internal assertion support */ +#if @SDL_DEFAULT_ASSERT_LEVEL_CONFIGURED@ #cmakedefine SDL_DEFAULT_ASSERT_LEVEL @SDL_DEFAULT_ASSERT_LEVEL@ +#endif /* Allow disabling of core subsystems */ #cmakedefine SDL_ATOMIC_DISABLED @SDL_ATOMIC_DISABLED@ @@ -202,6 +277,8 @@ #cmakedefine SDL_FILE_DISABLED @SDL_FILE_DISABLED@ #cmakedefine SDL_JOYSTICK_DISABLED @SDL_JOYSTICK_DISABLED@ #cmakedefine SDL_HAPTIC_DISABLED @SDL_HAPTIC_DISABLED@ +#cmakedefine SDL_HIDAPI_DISABLED @SDL_HIDAPI_DISABLED@ +#cmakedefine SDL_SENSOR_DISABLED @SDL_SENSOR_DISABLED@ #cmakedefine SDL_LOADSO_DISABLED @SDL_LOADSO_DISABLED@ #cmakedefine SDL_RENDER_DISABLED @SDL_RENDER_DISABLED@ #cmakedefine SDL_THREADS_DISABLED @SDL_THREADS_DISABLED@ @@ -209,11 +286,15 @@ #cmakedefine SDL_VIDEO_DISABLED @SDL_VIDEO_DISABLED@ #cmakedefine SDL_POWER_DISABLED @SDL_POWER_DISABLED@ #cmakedefine SDL_FILESYSTEM_DISABLED @SDL_FILESYSTEM_DISABLED@ +#cmakedefine SDL_LOCALE_DISABLED @SDL_LOCALE_DISABLED@ +#cmakedefine SDL_MISC_DISABLED @SDL_MISC_DISABLED@ /* Enable various audio drivers */ #cmakedefine SDL_AUDIO_DRIVER_ALSA @SDL_AUDIO_DRIVER_ALSA@ #cmakedefine SDL_AUDIO_DRIVER_ALSA_DYNAMIC @SDL_AUDIO_DRIVER_ALSA_DYNAMIC@ #cmakedefine SDL_AUDIO_DRIVER_ANDROID @SDL_AUDIO_DRIVER_ANDROID@ +#cmakedefine SDL_AUDIO_DRIVER_OPENSLES @SDL_AUDIO_DRIVER_OPENSLES@ +#cmakedefine SDL_AUDIO_DRIVER_AAUDIO @SDL_AUDIO_DRIVER_AAUDIO@ #cmakedefine SDL_AUDIO_DRIVER_ARTS @SDL_AUDIO_DRIVER_ARTS@ #cmakedefine SDL_AUDIO_DRIVER_ARTS_DYNAMIC @SDL_AUDIO_DRIVER_ARTS_DYNAMIC@ #cmakedefine SDL_AUDIO_DRIVER_COREAUDIO @SDL_AUDIO_DRIVER_COREAUDIO@ @@ -232,8 +313,9 @@ #cmakedefine SDL_AUDIO_DRIVER_NAS_DYNAMIC @SDL_AUDIO_DRIVER_NAS_DYNAMIC@ #cmakedefine SDL_AUDIO_DRIVER_NETBSD @SDL_AUDIO_DRIVER_NETBSD@ #cmakedefine SDL_AUDIO_DRIVER_OSS @SDL_AUDIO_DRIVER_OSS@ -#cmakedefine SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H @SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H@ #cmakedefine SDL_AUDIO_DRIVER_PAUDIO @SDL_AUDIO_DRIVER_PAUDIO@ +#cmakedefine SDL_AUDIO_DRIVER_PIPEWIRE @SDL_AUDIO_DRIVER_PIPEWIRE@ +#cmakedefine SDL_AUDIO_DRIVER_PIPEWIRE_DYNAMIC @SDL_AUDIO_DRIVER_PIPEWIRE_DYNAMIC@ #cmakedefine SDL_AUDIO_DRIVER_PULSEAUDIO @SDL_AUDIO_DRIVER_PULSEAUDIO@ #cmakedefine SDL_AUDIO_DRIVER_PULSEAUDIO_DYNAMIC @SDL_AUDIO_DRIVER_PULSEAUDIO_DYNAMIC@ #cmakedefine SDL_AUDIO_DRIVER_QSA @SDL_AUDIO_DRIVER_QSA@ @@ -242,62 +324,105 @@ #cmakedefine SDL_AUDIO_DRIVER_SUNAUDIO @SDL_AUDIO_DRIVER_SUNAUDIO@ #cmakedefine SDL_AUDIO_DRIVER_WASAPI @SDL_AUDIO_DRIVER_WASAPI@ #cmakedefine SDL_AUDIO_DRIVER_WINMM @SDL_AUDIO_DRIVER_WINMM@ -#cmakedefine SDL_AUDIO_DRIVER_XAUDIO2 @SDL_AUDIO_DRIVER_XAUDIO2@ +#cmakedefine SDL_AUDIO_DRIVER_OS2 @SDL_AUDIO_DRIVER_OS2@ +#cmakedefine SDL_AUDIO_DRIVER_VITA @SDL_AUDIO_DRIVER_VITA@ +#cmakedefine SDL_AUDIO_DRIVER_PSP @SDL_AUDIO_DRIVER_PSP@ +#cmakedefine SDL_AUDIO_DRIVER_PS2 @SDL_AUDIO_DRIVER_PS2@ +#cmakedefine SDL_AUDIO_DRIVER_N3DS @SDL_AUDIO_DRIVER_N3DS@ /* Enable various input drivers */ #cmakedefine SDL_INPUT_LINUXEV @SDL_INPUT_LINUXEV@ #cmakedefine SDL_INPUT_LINUXKD @SDL_INPUT_LINUXKD@ -#cmakedefine SDL_INPUT_TSLIB @SDL_INPUT_TSLIB@ +#cmakedefine SDL_INPUT_FBSDKBIO @SDL_INPUT_FBSDKBIO@ +#cmakedefine SDL_INPUT_WSCONS @SDL_INPUT_WSCONS@ #cmakedefine SDL_JOYSTICK_ANDROID @SDL_JOYSTICK_ANDROID@ #cmakedefine SDL_JOYSTICK_HAIKU @SDL_JOYSTICK_HAIKU@ +#cmakedefine SDL_JOYSTICK_WGI @SDL_JOYSTICK_WGI@ #cmakedefine SDL_JOYSTICK_DINPUT @SDL_JOYSTICK_DINPUT@ #cmakedefine SDL_JOYSTICK_XINPUT @SDL_JOYSTICK_XINPUT@ #cmakedefine SDL_JOYSTICK_DUMMY @SDL_JOYSTICK_DUMMY@ #cmakedefine SDL_JOYSTICK_IOKIT @SDL_JOYSTICK_IOKIT@ #cmakedefine SDL_JOYSTICK_MFI @SDL_JOYSTICK_MFI@ #cmakedefine SDL_JOYSTICK_LINUX @SDL_JOYSTICK_LINUX@ -#cmakedefine SDL_JOYSTICK_WINMM @SDL_JOYSTICK_WINMM@ +#cmakedefine SDL_JOYSTICK_OS2 @SDL_JOYSTICK_OS2@ #cmakedefine SDL_JOYSTICK_USBHID @SDL_JOYSTICK_USBHID@ -#cmakedefine SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H @SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H@ +#cmakedefine SDL_HAVE_MACHINE_JOYSTICK_H @SDL_HAVE_MACHINE_JOYSTICK_H@ +#cmakedefine SDL_JOYSTICK_HIDAPI @SDL_JOYSTICK_HIDAPI@ +#cmakedefine SDL_JOYSTICK_RAWINPUT @SDL_JOYSTICK_RAWINPUT@ #cmakedefine SDL_JOYSTICK_EMSCRIPTEN @SDL_JOYSTICK_EMSCRIPTEN@ +#cmakedefine SDL_JOYSTICK_VIRTUAL @SDL_JOYSTICK_VIRTUAL@ +#cmakedefine SDL_JOYSTICK_VITA @SDL_JOYSTICK_VITA@ +#cmakedefine SDL_JOYSTICK_PSP @SDL_JOYSTICK_PSP@ +#cmakedefine SDL_JOYSTICK_PS2 @SDL_JOYSTICK_PS2@ +#cmakedefine SDL_JOYSTICK_N3DS @SDL_JOYSTICK_N3DS@ #cmakedefine SDL_HAPTIC_DUMMY @SDL_HAPTIC_DUMMY@ #cmakedefine SDL_HAPTIC_LINUX @SDL_HAPTIC_LINUX@ #cmakedefine SDL_HAPTIC_IOKIT @SDL_HAPTIC_IOKIT@ #cmakedefine SDL_HAPTIC_DINPUT @SDL_HAPTIC_DINPUT@ #cmakedefine SDL_HAPTIC_XINPUT @SDL_HAPTIC_XINPUT@ #cmakedefine SDL_HAPTIC_ANDROID @SDL_HAPTIC_ANDROID@ +#cmakedefine SDL_LIBUSB_DYNAMIC @SDL_LIBUSB_DYNAMIC@ +#cmakedefine SDL_UDEV_DYNAMIC @SDL_UDEV_DYNAMIC@ + +/* Enable various sensor drivers */ +#cmakedefine SDL_SENSOR_ANDROID @SDL_SENSOR_ANDROID@ +#cmakedefine SDL_SENSOR_COREMOTION @SDL_SENSOR_COREMOTION@ +#cmakedefine SDL_SENSOR_WINDOWS @SDL_SENSOR_WINDOWS@ +#cmakedefine SDL_SENSOR_DUMMY @SDL_SENSOR_DUMMY@ +#cmakedefine SDL_SENSOR_VITA @SDL_SENSOR_VITA@ +#cmakedefine SDL_SENSOR_N3DS @SDL_SENSOR_N3DS@ /* Enable various shared object loading systems */ #cmakedefine SDL_LOADSO_DLOPEN @SDL_LOADSO_DLOPEN@ #cmakedefine SDL_LOADSO_DUMMY @SDL_LOADSO_DUMMY@ #cmakedefine SDL_LOADSO_LDG @SDL_LOADSO_LDG@ #cmakedefine SDL_LOADSO_WINDOWS @SDL_LOADSO_WINDOWS@ +#cmakedefine SDL_LOADSO_OS2 @SDL_LOADSO_OS2@ /* Enable various threading systems */ +#cmakedefine SDL_THREAD_GENERIC_COND_SUFFIX @SDL_THREAD_GENERIC_COND_SUFFIX@ #cmakedefine SDL_THREAD_PTHREAD @SDL_THREAD_PTHREAD@ #cmakedefine SDL_THREAD_PTHREAD_RECURSIVE_MUTEX @SDL_THREAD_PTHREAD_RECURSIVE_MUTEX@ #cmakedefine SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP @SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP@ #cmakedefine SDL_THREAD_WINDOWS @SDL_THREAD_WINDOWS@ +#cmakedefine SDL_THREAD_OS2 @SDL_THREAD_OS2@ +#cmakedefine SDL_THREAD_VITA @SDL_THREAD_VITA@ +#cmakedefine SDL_THREAD_PSP @SDL_THREAD_PSP@ +#cmakedefine SDL_THREAD_PS2 @SDL_THREAD_PS2@ +#cmakedefine SDL_THREAD_N3DS @SDL_THREAD_N3DS@ /* Enable various timer systems */ #cmakedefine SDL_TIMER_HAIKU @SDL_TIMER_HAIKU@ #cmakedefine SDL_TIMER_DUMMY @SDL_TIMER_DUMMY@ #cmakedefine SDL_TIMER_UNIX @SDL_TIMER_UNIX@ #cmakedefine SDL_TIMER_WINDOWS @SDL_TIMER_WINDOWS@ -#cmakedefine SDL_TIMER_WINCE @SDL_TIMER_WINCE@ +#cmakedefine SDL_TIMER_OS2 @SDL_TIMER_OS2@ +#cmakedefine SDL_TIMER_VITA @SDL_TIMER_VITA@ +#cmakedefine SDL_TIMER_PSP @SDL_TIMER_PSP@ +#cmakedefine SDL_TIMER_PS2 @SDL_TIMER_PS2@ +#cmakedefine SDL_TIMER_N3DS @SDL_TIMER_N3DS@ /* Enable various video drivers */ #cmakedefine SDL_VIDEO_DRIVER_ANDROID @SDL_VIDEO_DRIVER_ANDROID@ +#cmakedefine SDL_VIDEO_DRIVER_EMSCRIPTEN @SDL_VIDEO_DRIVER_EMSCRIPTEN@ #cmakedefine SDL_VIDEO_DRIVER_HAIKU @SDL_VIDEO_DRIVER_HAIKU@ #cmakedefine SDL_VIDEO_DRIVER_COCOA @SDL_VIDEO_DRIVER_COCOA@ +#cmakedefine SDL_VIDEO_DRIVER_UIKIT @SDL_VIDEO_DRIVER_UIKIT@ #cmakedefine SDL_VIDEO_DRIVER_DIRECTFB @SDL_VIDEO_DRIVER_DIRECTFB@ #cmakedefine SDL_VIDEO_DRIVER_DIRECTFB_DYNAMIC @SDL_VIDEO_DRIVER_DIRECTFB_DYNAMIC@ #cmakedefine SDL_VIDEO_DRIVER_DUMMY @SDL_VIDEO_DRIVER_DUMMY@ +#cmakedefine SDL_VIDEO_DRIVER_OFFSCREEN @SDL_VIDEO_DRIVER_OFFSCREEN@ #cmakedefine SDL_VIDEO_DRIVER_WINDOWS @SDL_VIDEO_DRIVER_WINDOWS@ +#cmakedefine SDL_VIDEO_DRIVER_WINRT @SDL_VIDEO_DRIVER_WINRT@ #cmakedefine SDL_VIDEO_DRIVER_WAYLAND @SDL_VIDEO_DRIVER_WAYLAND@ #cmakedefine SDL_VIDEO_DRIVER_RPI @SDL_VIDEO_DRIVER_RPI@ #cmakedefine SDL_VIDEO_DRIVER_VIVANTE @SDL_VIDEO_DRIVER_VIVANTE@ #cmakedefine SDL_VIDEO_DRIVER_VIVANTE_VDK @SDL_VIDEO_DRIVER_VIVANTE_VDK@ +#cmakedefine SDL_VIDEO_DRIVER_OS2 @SDL_VIDEO_DRIVER_OS2@ +#cmakedefine SDL_VIDEO_DRIVER_QNX @SDL_VIDEO_DRIVER_QNX@ +#cmakedefine SDL_VIDEO_DRIVER_RISCOS @SDL_VIDEO_DRIVER_RISCOS@ +#cmakedefine SDL_VIDEO_DRIVER_PSP @SDL_VIDEO_DRIVER_PSP@ +#cmakedefine SDL_VIDEO_DRIVER_PS2 @SDL_VIDEO_DRIVER_PS2@ #cmakedefine SDL_VIDEO_DRIVER_KMSDRM @SDL_VIDEO_DRIVER_KMSDRM@ #cmakedefine SDL_VIDEO_DRIVER_KMSDRM_DYNAMIC @SDL_VIDEO_DRIVER_KMSDRM_DYNAMIC@ @@ -308,39 +433,40 @@ #cmakedefine SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_EGL @SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_EGL@ #cmakedefine SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_CURSOR @SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_CURSOR@ #cmakedefine SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_XKBCOMMON @SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_XKBCOMMON@ +#cmakedefine SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_LIBDECOR @SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_LIBDECOR@ -#cmakedefine SDL_VIDEO_DRIVER_MIR @SDL_VIDEO_DRIVER_MIR@ -#cmakedefine SDL_VIDEO_DRIVER_MIR_DYNAMIC @SDL_VIDEO_DRIVER_MIR_DYNAMIC@ -#cmakedefine SDL_VIDEO_DRIVER_MIR_DYNAMIC_XKBCOMMON @SDL_VIDEO_DRIVER_MIR_DYNAMIC_XKBCOMMON@ -#cmakedefine SDL_VIDEO_DRIVER_EMSCRIPTEN @SDL_VIDEO_DRIVER_EMSCRIPTEN@ #cmakedefine SDL_VIDEO_DRIVER_X11 @SDL_VIDEO_DRIVER_X11@ #cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC @SDL_VIDEO_DRIVER_X11_DYNAMIC@ #cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT @SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT@ #cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC_XCURSOR @SDL_VIDEO_DRIVER_X11_DYNAMIC_XCURSOR@ -#cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC_XINERAMA @SDL_VIDEO_DRIVER_X11_DYNAMIC_XINERAMA@ #cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC_XINPUT2 @SDL_VIDEO_DRIVER_X11_DYNAMIC_XINPUT2@ +#cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC_XFIXES @SDL_VIDEO_DRIVER_X11_DYNAMIC_XFIXES@ #cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR @SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR@ #cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC_XSS @SDL_VIDEO_DRIVER_X11_DYNAMIC_XSS@ -#cmakedefine SDL_VIDEO_DRIVER_X11_DYNAMIC_XVIDMODE @SDL_VIDEO_DRIVER_X11_DYNAMIC_XVIDMODE@ #cmakedefine SDL_VIDEO_DRIVER_X11_XCURSOR @SDL_VIDEO_DRIVER_X11_XCURSOR@ #cmakedefine SDL_VIDEO_DRIVER_X11_XDBE @SDL_VIDEO_DRIVER_X11_XDBE@ -#cmakedefine SDL_VIDEO_DRIVER_X11_XINERAMA @SDL_VIDEO_DRIVER_X11_XINERAMA@ #cmakedefine SDL_VIDEO_DRIVER_X11_XINPUT2 @SDL_VIDEO_DRIVER_X11_XINPUT2@ #cmakedefine SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH @SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH@ +#cmakedefine SDL_VIDEO_DRIVER_X11_XFIXES @SDL_VIDEO_DRIVER_X11_XFIXES@ #cmakedefine SDL_VIDEO_DRIVER_X11_XRANDR @SDL_VIDEO_DRIVER_X11_XRANDR@ #cmakedefine SDL_VIDEO_DRIVER_X11_XSCRNSAVER @SDL_VIDEO_DRIVER_X11_XSCRNSAVER@ #cmakedefine SDL_VIDEO_DRIVER_X11_XSHAPE @SDL_VIDEO_DRIVER_X11_XSHAPE@ -#cmakedefine SDL_VIDEO_DRIVER_X11_XVIDMODE @SDL_VIDEO_DRIVER_X11_XVIDMODE@ #cmakedefine SDL_VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS @SDL_VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS@ -#cmakedefine SDL_VIDEO_DRIVER_X11_CONST_PARAM_XEXTADDDISPLAY @SDL_VIDEO_DRIVER_X11_CONST_PARAM_XEXTADDDISPLAY@ #cmakedefine SDL_VIDEO_DRIVER_X11_HAS_XKBKEYCODETOKEYSYM @SDL_VIDEO_DRIVER_X11_HAS_XKBKEYCODETOKEYSYM@ +#cmakedefine SDL_VIDEO_DRIVER_VITA @SDL_VIDEO_DRIVER_VITA@ +#cmakedefine SDL_VIDEO_DRIVER_N3DS @SDL_VIDEO_DRIVER_N3DS@ #cmakedefine SDL_VIDEO_RENDER_D3D @SDL_VIDEO_RENDER_D3D@ #cmakedefine SDL_VIDEO_RENDER_D3D11 @SDL_VIDEO_RENDER_D3D11@ +#cmakedefine SDL_VIDEO_RENDER_D3D12 @SDL_VIDEO_RENDER_D3D12@ #cmakedefine SDL_VIDEO_RENDER_OGL @SDL_VIDEO_RENDER_OGL@ #cmakedefine SDL_VIDEO_RENDER_OGL_ES @SDL_VIDEO_RENDER_OGL_ES@ #cmakedefine SDL_VIDEO_RENDER_OGL_ES2 @SDL_VIDEO_RENDER_OGL_ES2@ #cmakedefine SDL_VIDEO_RENDER_DIRECTFB @SDL_VIDEO_RENDER_DIRECTFB@ +#cmakedefine SDL_VIDEO_RENDER_METAL @SDL_VIDEO_RENDER_METAL@ +#cmakedefine SDL_VIDEO_RENDER_VITA_GXM @SDL_VIDEO_RENDER_VITA_GXM@ +#cmakedefine SDL_VIDEO_RENDER_PS2 @SDL_VIDEO_RENDER_PS2@ +#cmakedefine SDL_VIDEO_RENDER_PSP @SDL_VIDEO_RENDER_PSP@ /* Enable OpenGL support */ #cmakedefine SDL_VIDEO_OPENGL @SDL_VIDEO_OPENGL@ @@ -357,50 +483,71 @@ /* Enable Vulkan support */ #cmakedefine SDL_VIDEO_VULKAN @SDL_VIDEO_VULKAN@ +/* Enable Metal support */ +#cmakedefine SDL_VIDEO_METAL @SDL_VIDEO_METAL@ + /* Enable system power support */ #cmakedefine SDL_POWER_ANDROID @SDL_POWER_ANDROID@ #cmakedefine SDL_POWER_LINUX @SDL_POWER_LINUX@ #cmakedefine SDL_POWER_WINDOWS @SDL_POWER_WINDOWS@ +#cmakedefine SDL_POWER_WINRT @SDL_POWER_WINRT@ #cmakedefine SDL_POWER_MACOSX @SDL_POWER_MACOSX@ +#cmakedefine SDL_POWER_UIKIT @SDL_POWER_UIKIT@ #cmakedefine SDL_POWER_HAIKU @SDL_POWER_HAIKU@ #cmakedefine SDL_POWER_EMSCRIPTEN @SDL_POWER_EMSCRIPTEN@ #cmakedefine SDL_POWER_HARDWIRED @SDL_POWER_HARDWIRED@ +#cmakedefine SDL_POWER_VITA @SDL_POWER_VITA@ +#cmakedefine SDL_POWER_PSP @SDL_POWER_PSP@ +#cmakedefine SDL_POWER_N3DS @SDL_POWER_N3DS@ /* Enable system filesystem support */ #cmakedefine SDL_FILESYSTEM_ANDROID @SDL_FILESYSTEM_ANDROID@ #cmakedefine SDL_FILESYSTEM_HAIKU @SDL_FILESYSTEM_HAIKU@ #cmakedefine SDL_FILESYSTEM_COCOA @SDL_FILESYSTEM_COCOA@ #cmakedefine SDL_FILESYSTEM_DUMMY @SDL_FILESYSTEM_DUMMY@ +#cmakedefine SDL_FILESYSTEM_RISCOS @SDL_FILESYSTEM_RISCOS@ #cmakedefine SDL_FILESYSTEM_UNIX @SDL_FILESYSTEM_UNIX@ #cmakedefine SDL_FILESYSTEM_WINDOWS @SDL_FILESYSTEM_WINDOWS@ #cmakedefine SDL_FILESYSTEM_EMSCRIPTEN @SDL_FILESYSTEM_EMSCRIPTEN@ +#cmakedefine SDL_FILESYSTEM_OS2 @SDL_FILESYSTEM_OS2@ +#cmakedefine SDL_FILESYSTEM_VITA @SDL_FILESYSTEM_VITA@ +#cmakedefine SDL_FILESYSTEM_PSP @SDL_FILESYSTEM_PSP@ +#cmakedefine SDL_FILESYSTEM_PS2 @SDL_FILESYSTEM_PS2@ +#cmakedefine SDL_FILESYSTEM_N3DS @SDL_FILESYSTEM_N3DS@ + +/* Enable misc subsystem */ +#cmakedefine SDL_MISC_DUMMY @SDL_MISC_DUMMY@ + +/* Enable locale subsystem */ +#cmakedefine SDL_LOCALE_DUMMY @SDL_LOCALE_DUMMY@ /* Enable assembly routines */ -#cmakedefine SDL_ASSEMBLY_ROUTINES @SDL_ASSEMBLY_ROUTINES@ #cmakedefine SDL_ALTIVEC_BLITTERS @SDL_ALTIVEC_BLITTERS@ +#cmakedefine SDL_ARM_SIMD_BLITTERS @SDL_ARM_SIMD_BLITTERS@ +#cmakedefine SDL_ARM_NEON_BLITTERS @SDL_ARM_NEON_BLITTERS@ + +/* Whether SDL_DYNAMIC_API needs dlopen */ +#cmakedefine DYNAPI_NEEDS_DLOPEN @DYNAPI_NEEDS_DLOPEN@ /* Enable dynamic libsamplerate support */ #cmakedefine SDL_LIBSAMPLERATE_DYNAMIC @SDL_LIBSAMPLERATE_DYNAMIC@ +/* Enable ime support */ +#cmakedefine SDL_USE_IME @SDL_USE_IME@ + /* Platform specific definitions */ -#if !defined(__WIN32__) -# if !defined(_STDINT_H_) && !defined(_STDINT_H) && !defined(HAVE_STDINT_H) && !defined(_HAVE_STDINT_H) -typedef unsigned int size_t; -typedef signed char int8_t; -typedef unsigned char uint8_t; -typedef signed short int16_t; -typedef unsigned short uint16_t; -typedef signed int int32_t; -typedef unsigned int uint32_t; -typedef signed long long int64_t; -typedef unsigned long long uint64_t; -typedef unsigned long uintptr_t; -# endif /* if (stdint.h isn't available) */ -#else /* __WIN32__ */ -# if !defined(_STDINT_H_) && !defined(HAVE_STDINT_H) && !defined(_HAVE_STDINT_H) -# if defined(__GNUC__) || defined(__DMC__) || defined(__WATCOMC__) -#define HAVE_STDINT_H 1 -# elif defined(_MSC_VER) +#cmakedefine SDL_IPHONE_KEYBOARD @SDL_IPHONE_KEYBOARD@ +#cmakedefine SDL_IPHONE_LAUNCHSCREEN @SDL_IPHONE_LAUNCHSCREEN@ + +#cmakedefine SDL_VIDEO_VITA_PIB @SDL_VIDEO_VITA_PIB@ +#cmakedefine SDL_VIDEO_VITA_PVR @SDL_VIDEO_VITA_PVR@ +#cmakedefine SDL_VIDEO_VITA_PVR_OGL @SDL_VIDEO_VITA_PVR_OGL@ + +#cmakedefine SDL_HAVE_LIBDECOR_GET_MIN_MAX @SDL_HAVE_LIBDECOR_GET_MIN_MAX@ + +#if !defined(HAVE_STDINT_H) && !defined(_STDINT_H_) +/* Most everything except Visual Studio 2008 and earlier has stdint.h now */ +#if defined(_MSC_VER) && (_MSC_VER < 1600) typedef signed __int8 int8_t; typedef unsigned __int8 uint8_t; typedef signed __int16 int16_t; @@ -409,37 +556,15 @@ typedef signed __int32 int32_t; typedef unsigned __int32 uint32_t; typedef signed __int64 int64_t; typedef unsigned __int64 uint64_t; -# ifndef _UINTPTR_T_DEFINED -# ifdef _WIN64 +#ifndef _UINTPTR_T_DEFINED +#ifdef _WIN64 typedef unsigned __int64 uintptr_t; -# else +#else typedef unsigned int uintptr_t; -# endif +#endif #define _UINTPTR_T_DEFINED -# endif -/* Older Visual C++ headers don't have the Win64-compatible typedefs... */ -# if ((_MSC_VER <= 1200) && (!defined(DWORD_PTR))) -#define DWORD_PTR DWORD -# endif -# if ((_MSC_VER <= 1200) && (!defined(LONG_PTR))) -#define LONG_PTR LONG -# endif -# else /* !__GNUC__ && !_MSC_VER */ -typedef signed char int8_t; -typedef unsigned char uint8_t; -typedef signed short int16_t; -typedef unsigned short uint16_t; -typedef signed int int32_t; -typedef unsigned int uint32_t; -typedef signed long long int64_t; -typedef unsigned long long uint64_t; -# ifndef _SIZE_T_DEFINED_ -#define _SIZE_T_DEFINED_ -typedef unsigned int size_t; -# endif -typedef unsigned int uintptr_t; -# endif /* __GNUC__ || _MSC_VER */ -# endif /* !_STDINT_H_ && !HAVE_STDINT_H */ -#endif /* __WIN32__ */ +#endif +#endif /* Visual Studio 2008 */ +#endif /* !_STDINT_H_ && !HAVE_STDINT_H */ #endif /* SDL_config_h_ */ diff --git a/extlib/SDL2/include/SDL_config.h.in b/extlib/SDL2/include/SDL_config.h.in index 8b3d2088..f5dd166f 100644 --- a/extlib/SDL2/include/SDL_config.h.in +++ b/extlib/SDL2/include/SDL_config.h.in @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2017 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -33,7 +33,7 @@ /* Make sure that this isn't included by Visual C++ */ #ifdef _MSC_VER -#error You should run hg revert SDL_config.h +#error You should run git checkout -f include/SDL_config.h #endif /* C language features */ @@ -42,53 +42,45 @@ #undef volatile /* C datatypes */ -#ifdef __LP64__ +#if defined(__LP64__) || defined(_LP64) || defined(_WIN64) #define SIZEOF_VOIDP 8 #else #define SIZEOF_VOIDP 4 #endif + #undef HAVE_GCC_ATOMICS #undef HAVE_GCC_SYNC_LOCK_TEST_AND_SET -#undef HAVE_DDRAW_H -#undef HAVE_DINPUT_H -#undef HAVE_DSOUND_H -#undef HAVE_DXGI_H -#undef HAVE_XINPUT_H -#undef HAVE_XINPUT_GAMEPAD_EX -#undef HAVE_XINPUT_STATE_EX - /* Comment this if you want to build without any C library requirements */ #undef HAVE_LIBC -#if HAVE_LIBC +#ifdef HAVE_LIBC /* Useful headers */ -#undef HAVE_ALLOCA_H -#undef HAVE_SYS_TYPES_H -#undef HAVE_STDIO_H #undef STDC_HEADERS -#undef HAVE_STDLIB_H -#undef HAVE_STDARG_H +#undef HAVE_ALLOCA_H +#undef HAVE_CTYPE_H +#undef HAVE_FLOAT_H +#undef HAVE_ICONV_H +#undef HAVE_INTTYPES_H +#undef HAVE_LIMITS_H #undef HAVE_MALLOC_H +#undef HAVE_MATH_H #undef HAVE_MEMORY_H -#undef HAVE_STRING_H +#undef HAVE_SIGNAL_H +#undef HAVE_STDARG_H +#undef HAVE_STDINT_H +#undef HAVE_STDIO_H +#undef HAVE_STDLIB_H #undef HAVE_STRINGS_H +#undef HAVE_STRING_H +#undef HAVE_SYS_TYPES_H #undef HAVE_WCHAR_H -#undef HAVE_INTTYPES_H -#undef HAVE_STDINT_H -#undef HAVE_CTYPE_H -#undef HAVE_MATH_H -#undef HAVE_ICONV_H -#undef HAVE_SIGNAL_H -#undef HAVE_ALTIVEC_H +#undef HAVE_LINUX_INPUT_H #undef HAVE_PTHREAD_NP_H -#undef HAVE_LIBUDEV_H -#undef HAVE_DBUS_DBUS_H -#undef HAVE_IBUS_IBUS_H -#undef HAVE_FCITX_FRONTEND_H -#undef HAVE_LIBSAMPLERATE_H +#undef HAVE_LIBUNWIND_H /* C library functions */ +#undef HAVE_DLOPEN #undef HAVE_MALLOC #undef HAVE_CALLOC #undef HAVE_REALLOC @@ -101,6 +93,7 @@ #undef HAVE_UNSETENV #endif #undef HAVE_QSORT +#undef HAVE_BSEARCH #undef HAVE_ABS #undef HAVE_BCOPY #undef HAVE_MEMSET @@ -110,11 +103,18 @@ #undef HAVE_WCSLEN #undef HAVE_WCSLCPY #undef HAVE_WCSLCAT +#undef HAVE__WCSDUP +#undef HAVE_WCSDUP +#undef HAVE_WCSSTR #undef HAVE_WCSCMP +#undef HAVE_WCSNCMP +#undef HAVE_WCSCASECMP +#undef HAVE__WCSICMP +#undef HAVE_WCSNCASECMP +#undef HAVE__WCSNICMP #undef HAVE_STRLEN #undef HAVE_STRLCPY #undef HAVE_STRLCAT -#undef HAVE_STRDUP #undef HAVE__STRREV #undef HAVE__STRUPR #undef HAVE__STRLWR @@ -123,6 +123,7 @@ #undef HAVE_STRCHR #undef HAVE_STRRCHR #undef HAVE_STRSTR +#undef HAVE_STRTOK_R #undef HAVE_ITOA #undef HAVE__LTOA #undef HAVE__UITOA @@ -142,30 +143,54 @@ #undef HAVE_STRCASECMP #undef HAVE__STRNICMP #undef HAVE_STRNCASECMP +#undef HAVE_STRCASESTR #undef HAVE_SSCANF #undef HAVE_VSSCANF #undef HAVE_SNPRINTF #undef HAVE_VSNPRINTF #undef HAVE_M_PI -#undef HAVE_ATAN -#undef HAVE_ATAN2 #undef HAVE_ACOS +#undef HAVE_ACOSF #undef HAVE_ASIN +#undef HAVE_ASINF +#undef HAVE_ATAN +#undef HAVE_ATANF +#undef HAVE_ATAN2 +#undef HAVE_ATAN2F #undef HAVE_CEIL +#undef HAVE_CEILF #undef HAVE_COPYSIGN +#undef HAVE_COPYSIGNF #undef HAVE_COS #undef HAVE_COSF +#undef HAVE_EXP +#undef HAVE_EXPF #undef HAVE_FABS +#undef HAVE_FABSF #undef HAVE_FLOOR +#undef HAVE_FLOORF +#undef HAVE_FMOD +#undef HAVE_FMODF #undef HAVE_LOG +#undef HAVE_LOGF +#undef HAVE_LOG10 +#undef HAVE_LOG10F +#undef HAVE_LROUND +#undef HAVE_LROUNDF #undef HAVE_POW +#undef HAVE_POWF +#undef HAVE_ROUND +#undef HAVE_ROUNDF #undef HAVE_SCALBN +#undef HAVE_SCALBNF #undef HAVE_SIN #undef HAVE_SINF #undef HAVE_SQRT #undef HAVE_SQRTF #undef HAVE_TAN #undef HAVE_TANF +#undef HAVE_TRUNC +#undef HAVE_TRUNCF #undef HAVE_FOPEN64 #undef HAVE_FSEEKO #undef HAVE_FSEEKO64 @@ -179,18 +204,54 @@ #undef HAVE_GETPAGESIZE #undef HAVE_MPROTECT #undef HAVE_ICONV +#undef SDL_USE_LIBICONV #undef HAVE_PTHREAD_SETNAME_NP #undef HAVE_PTHREAD_SET_NAME_NP #undef HAVE_SEM_TIMEDWAIT #undef HAVE_GETAUXVAL +#undef HAVE_ELF_AUX_INFO #undef HAVE_POLL +#undef HAVE_MEMFD_CREATE +#undef HAVE_POSIX_FALLOCATE +#undef HAVE__EXIT #else -#define HAVE_STDARG_H 1 -#define HAVE_STDDEF_H 1 -#define HAVE_STDINT_H 1 +#define HAVE_STDARG_H 1 +#define HAVE_STDDEF_H 1 +#define HAVE_STDINT_H 1 #endif /* HAVE_LIBC */ +#undef HAVE_O_CLOEXEC +#undef HAVE_ALTIVEC_H +#undef HAVE_DBUS_DBUS_H +#undef HAVE_FCITX +#undef HAVE_SYS_INOTIFY_H +#undef HAVE_INOTIFY_INIT +#undef HAVE_INOTIFY_INIT1 +#undef HAVE_INOTIFY +#undef HAVE_IBUS_IBUS_H +#undef HAVE_IMMINTRIN_H +#undef HAVE_LIBUDEV_H +#undef HAVE_LIBUSB +#undef HAVE_LIBSAMPLERATE_H +#undef HAVE_LIBDECOR_H +#undef HAVE_LSXINTRIN_H +#undef HAVE_LASXINTRIN_H + +#undef HAVE_DDRAW_H +#undef HAVE_DINPUT_H +#undef HAVE_DSOUND_H +#undef HAVE_DXGI_H +#undef HAVE_WINDOWS_GAMING_INPUT_H +#undef HAVE_XINPUT_H + +#undef HAVE_MMDEVICEAPI_H +#undef HAVE_AUDIOCLIENT_H +#undef HAVE_TPCSHRD_H +#undef HAVE_SENSORSAPI_H +#undef HAVE_ROAPI_H +#undef HAVE_SHELLSCALINGAPI_H + /* SDL internal assertion support */ #undef SDL_DEFAULT_ASSERT_LEVEL @@ -202,6 +263,8 @@ #undef SDL_FILE_DISABLED #undef SDL_JOYSTICK_DISABLED #undef SDL_HAPTIC_DISABLED +#undef SDL_HIDAPI_DISABLED +#undef SDL_SENSOR_DISABLED #undef SDL_LOADSO_DISABLED #undef SDL_RENDER_DISABLED #undef SDL_THREADS_DISABLED @@ -209,8 +272,11 @@ #undef SDL_VIDEO_DISABLED #undef SDL_POWER_DISABLED #undef SDL_FILESYSTEM_DISABLED +#undef SDL_LOCALE_DISABLED +#undef SDL_MISC_DISABLED /* Enable various audio drivers */ +#undef SDL_AUDIO_DRIVER_AAUDIO #undef SDL_AUDIO_DRIVER_ALSA #undef SDL_AUDIO_DRIVER_ALSA_DYNAMIC #undef SDL_AUDIO_DRIVER_ANDROID @@ -232,9 +298,11 @@ #undef SDL_AUDIO_DRIVER_NAS #undef SDL_AUDIO_DRIVER_NAS_DYNAMIC #undef SDL_AUDIO_DRIVER_NETBSD +#undef SDL_AUDIO_DRIVER_OPENSLES #undef SDL_AUDIO_DRIVER_OSS -#undef SDL_AUDIO_DRIVER_OSS_SOUNDCARD_H #undef SDL_AUDIO_DRIVER_PAUDIO +#undef SDL_AUDIO_DRIVER_PIPEWIRE +#undef SDL_AUDIO_DRIVER_PIPEWIRE_DYNAMIC #undef SDL_AUDIO_DRIVER_PULSEAUDIO #undef SDL_AUDIO_DRIVER_PULSEAUDIO_DYNAMIC #undef SDL_AUDIO_DRIVER_QSA @@ -243,46 +311,63 @@ #undef SDL_AUDIO_DRIVER_SUNAUDIO #undef SDL_AUDIO_DRIVER_WASAPI #undef SDL_AUDIO_DRIVER_WINMM -#undef SDL_AUDIO_DRIVER_XAUDIO2 +#undef SDL_AUDIO_DRIVER_OS2 /* Enable various input drivers */ #undef SDL_INPUT_LINUXEV +#undef SDL_INPUT_FBSDKBIO #undef SDL_INPUT_LINUXKD -#undef SDL_INPUT_TSLIB +#undef SDL_INPUT_WSCONS #undef SDL_JOYSTICK_HAIKU #undef SDL_JOYSTICK_DINPUT +#undef SDL_JOYSTICK_WGI #undef SDL_JOYSTICK_XINPUT #undef SDL_JOYSTICK_DUMMY #undef SDL_JOYSTICK_IOKIT +#undef SDL_JOYSTICK_MFI #undef SDL_JOYSTICK_LINUX #undef SDL_JOYSTICK_ANDROID -#undef SDL_JOYSTICK_WINMM +#undef SDL_JOYSTICK_OS2 #undef SDL_JOYSTICK_USBHID -#undef SDL_JOYSTICK_USBHID_MACHINE_JOYSTICK_H +#undef SDL_HAVE_MACHINE_JOYSTICK_H +#undef SDL_JOYSTICK_HIDAPI +#undef SDL_JOYSTICK_RAWINPUT #undef SDL_JOYSTICK_EMSCRIPTEN +#undef SDL_JOYSTICK_VIRTUAL #undef SDL_HAPTIC_DUMMY +#undef SDL_HAPTIC_ANDROID #undef SDL_HAPTIC_LINUX #undef SDL_HAPTIC_IOKIT #undef SDL_HAPTIC_DINPUT #undef SDL_HAPTIC_XINPUT +/* Enable various sensor drivers */ +#undef SDL_SENSOR_ANDROID +#undef SDL_SENSOR_COREMOTION +#undef SDL_SENSOR_WINDOWS +#undef SDL_SENSOR_DUMMY + /* Enable various shared object loading systems */ #undef SDL_LOADSO_DLOPEN #undef SDL_LOADSO_DUMMY #undef SDL_LOADSO_LDG #undef SDL_LOADSO_WINDOWS +#undef SDL_LOADSO_OS2 /* Enable various threading systems */ +#undef SDL_THREAD_GENERIC_COND_SUFFIX #undef SDL_THREAD_PTHREAD #undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX #undef SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP #undef SDL_THREAD_WINDOWS +#undef SDL_THREAD_OS2 /* Enable various timer systems */ #undef SDL_TIMER_HAIKU #undef SDL_TIMER_DUMMY #undef SDL_TIMER_UNIX #undef SDL_TIMER_WINDOWS +#undef SDL_TIMER_OS2 /* Enable various video drivers */ #undef SDL_VIDEO_DRIVER_HAIKU @@ -297,9 +382,7 @@ #undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_EGL #undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_CURSOR #undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_XKBCOMMON -#undef SDL_VIDEO_DRIVER_MIR -#undef SDL_VIDEO_DRIVER_MIR_DYNAMIC -#undef SDL_VIDEO_DRIVER_MIR_DYNAMIC_XKBCOMMON +#undef SDL_VIDEO_DRIVER_WAYLAND_DYNAMIC_LIBDECOR #undef SDL_VIDEO_DRIVER_X11 #undef SDL_VIDEO_DRIVER_RPI #undef SDL_VIDEO_DRIVER_KMSDRM @@ -307,37 +390,39 @@ #undef SDL_VIDEO_DRIVER_KMSDRM_DYNAMIC_GBM #undef SDL_VIDEO_DRIVER_ANDROID #undef SDL_VIDEO_DRIVER_EMSCRIPTEN +#undef SDL_VIDEO_DRIVER_OFFSCREEN #undef SDL_VIDEO_DRIVER_X11_DYNAMIC #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XCURSOR -#undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XINERAMA #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XINPUT2 +#undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XFIXES #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR #undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XSS -#undef SDL_VIDEO_DRIVER_X11_DYNAMIC_XVIDMODE #undef SDL_VIDEO_DRIVER_X11_XCURSOR #undef SDL_VIDEO_DRIVER_X11_XDBE -#undef SDL_VIDEO_DRIVER_X11_XINERAMA #undef SDL_VIDEO_DRIVER_X11_XINPUT2 #undef SDL_VIDEO_DRIVER_X11_XINPUT2_SUPPORTS_MULTITOUCH +#undef SDL_VIDEO_DRIVER_X11_XFIXES #undef SDL_VIDEO_DRIVER_X11_XRANDR #undef SDL_VIDEO_DRIVER_X11_XSCRNSAVER #undef SDL_VIDEO_DRIVER_X11_XSHAPE -#undef SDL_VIDEO_DRIVER_X11_XVIDMODE #undef SDL_VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS -#undef SDL_VIDEO_DRIVER_X11_CONST_PARAM_XEXTADDDISPLAY #undef SDL_VIDEO_DRIVER_X11_HAS_XKBKEYCODETOKEYSYM #undef SDL_VIDEO_DRIVER_NACL #undef SDL_VIDEO_DRIVER_VIVANTE #undef SDL_VIDEO_DRIVER_VIVANTE_VDK +#undef SDL_VIDEO_DRIVER_OS2 #undef SDL_VIDEO_DRIVER_QNX +#undef SDL_VIDEO_DRIVER_RISCOS #undef SDL_VIDEO_RENDER_D3D #undef SDL_VIDEO_RENDER_D3D11 +#undef SDL_VIDEO_RENDER_D3D12 #undef SDL_VIDEO_RENDER_OGL #undef SDL_VIDEO_RENDER_OGL_ES #undef SDL_VIDEO_RENDER_OGL_ES2 #undef SDL_VIDEO_RENDER_DIRECTFB +#undef SDL_VIDEO_RENDER_METAL /* Enable OpenGL support */ #undef SDL_VIDEO_OPENGL @@ -354,6 +439,9 @@ /* Enable Vulkan support */ #undef SDL_VIDEO_VULKAN +/* Enable Metal support */ +#undef SDL_VIDEO_METAL + /* Enable system power support */ #undef SDL_POWER_LINUX #undef SDL_POWER_WINDOWS @@ -364,18 +452,33 @@ #undef SDL_POWER_HARDWIRED /* Enable system filesystem support */ +#undef SDL_FILESYSTEM_ANDROID #undef SDL_FILESYSTEM_HAIKU #undef SDL_FILESYSTEM_COCOA #undef SDL_FILESYSTEM_DUMMY +#undef SDL_FILESYSTEM_RISCOS #undef SDL_FILESYSTEM_UNIX #undef SDL_FILESYSTEM_WINDOWS #undef SDL_FILESYSTEM_NACL -#undef SDL_FILESYSTEM_ANDROID #undef SDL_FILESYSTEM_EMSCRIPTEN +#undef SDL_FILESYSTEM_OS2 +#undef SDL_FILESYSTEM_VITA +#undef SDL_FILESYSTEM_PSP +#undef SDL_FILESYSTEM_PS2 + +/* Enable misc subsystem */ +#undef SDL_MISC_DUMMY + +/* Enable locale subsystem */ +#undef SDL_LOCALE_DUMMY /* Enable assembly routines */ -#undef SDL_ASSEMBLY_ROUTINES #undef SDL_ALTIVEC_BLITTERS +#undef SDL_ARM_SIMD_BLITTERS +#undef SDL_ARM_NEON_BLITTERS + +/* Whether SDL_DYNAMIC_API needs dlopen() */ +#undef DYNAPI_NEEDS_DLOPEN /* Enable ime support */ #undef SDL_USE_IME @@ -383,7 +486,13 @@ /* Enable dynamic udev support */ #undef SDL_UDEV_DYNAMIC +/* Enable dynamic libusb support */ +#undef SDL_LIBUSB_DYNAMIC + /* Enable dynamic libsamplerate support */ #undef SDL_LIBSAMPLERATE_DYNAMIC +/* Libdecor get min/max content size functions */ +#undef SDL_HAVE_LIBDECOR_GET_MIN_MAX + #endif /* SDL_config_h_ */ diff --git a/extlib/SDL2/include/SDL_config_android.h b/extlib/SDL2/include/SDL_config_android.h index 361bad8b..00ffef85 100644 --- a/extlib/SDL2/include/SDL_config_android.h +++ b/extlib/SDL2/include/SDL_config_android.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2017 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -35,18 +35,20 @@ #define HAVE_GCC_ATOMICS 1 -#define HAVE_ALLOCA_H 1 -#define HAVE_SYS_TYPES_H 1 -#define HAVE_STDIO_H 1 #define STDC_HEADERS 1 -#define HAVE_STRING_H 1 -#define HAVE_INTTYPES_H 1 -#define HAVE_STDINT_H 1 +#define HAVE_ALLOCA_H 1 #define HAVE_CTYPE_H 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_LIMITS_H 1 #define HAVE_MATH_H 1 #define HAVE_SIGNAL_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_STDIO_H 1 +#define HAVE_STRING_H 1 +#define HAVE_SYS_TYPES_H 1 /* C library functions */ +#define HAVE_DLOPEN 1 #define HAVE_MALLOC 1 #define HAVE_CALLOC 1 #define HAVE_REALLOC 1 @@ -58,6 +60,7 @@ #define HAVE_SETENV 1 #define HAVE_UNSETENV 1 #define HAVE_QSORT 1 +#define HAVE_BSEARCH 1 #define HAVE_ABS 1 #define HAVE_BCOPY 1 #define HAVE_MEMSET 1 @@ -67,10 +70,10 @@ #define HAVE_STRLEN 1 #define HAVE_STRLCPY 1 #define HAVE_STRLCAT 1 -#define HAVE_STRDUP 1 #define HAVE_STRCHR 1 #define HAVE_STRRCHR 1 #define HAVE_STRSTR 1 +#define HAVE_STRTOK_R 1 #define HAVE_STRTOL 1 #define HAVE_STRTOUL 1 #define HAVE_STRTOLL 1 @@ -82,43 +85,77 @@ #define HAVE_STRNCMP 1 #define HAVE_STRCASECMP 1 #define HAVE_STRNCASECMP 1 +#define HAVE_STRCASESTR 1 #define HAVE_VSSCANF 1 #define HAVE_VSNPRINTF 1 -#define HAVE_M_PI 1 +#define HAVE_ACOS 1 +#define HAVE_ACOSF 1 +#define HAVE_ASIN 1 +#define HAVE_ASINF 1 #define HAVE_ATAN 1 +#define HAVE_ATANF 1 #define HAVE_ATAN2 1 -#define HAVE_ACOS 1 -#define HAVE_ASIN 1 +#define HAVE_ATAN2F 1 #define HAVE_CEIL 1 +#define HAVE_CEILF 1 #define HAVE_COPYSIGN 1 +#define HAVE_COPYSIGNF 1 #define HAVE_COS 1 #define HAVE_COSF 1 +#define HAVE_EXP 1 +#define HAVE_EXPF 1 #define HAVE_FABS 1 +#define HAVE_FABSF 1 #define HAVE_FLOOR 1 +#define HAVE_FLOORF 1 +#define HAVE_FMOD 1 +#define HAVE_FMODF 1 #define HAVE_LOG 1 +#define HAVE_LOGF 1 +#define HAVE_LOG10 1 +#define HAVE_LOG10F 1 +#define HAVE_LROUND 1 +#define HAVE_LROUNDF 1 #define HAVE_POW 1 +#define HAVE_POWF 1 +#define HAVE_ROUND 1 +#define HAVE_ROUNDF 1 #define HAVE_SCALBN 1 +#define HAVE_SCALBNF 1 #define HAVE_SIN 1 #define HAVE_SINF 1 #define HAVE_SQRT 1 #define HAVE_SQRTF 1 #define HAVE_TAN 1 #define HAVE_TANF 1 +#define HAVE_TRUNC 1 +#define HAVE_TRUNCF 1 #define HAVE_SIGACTION 1 #define HAVE_SETJMP 1 #define HAVE_NANOSLEEP 1 #define HAVE_SYSCONF 1 -#define HAVE_CLOCK_GETTIME 1 +#define HAVE_CLOCK_GETTIME 1 +#ifdef __LP64__ +#define SIZEOF_VOIDP 8 +#else #define SIZEOF_VOIDP 4 +#endif /* Enable various audio drivers */ #define SDL_AUDIO_DRIVER_ANDROID 1 +#define SDL_AUDIO_DRIVER_OPENSLES 1 +#define SDL_AUDIO_DRIVER_AAUDIO 1 #define SDL_AUDIO_DRIVER_DUMMY 1 /* Enable various input drivers */ #define SDL_JOYSTICK_ANDROID 1 -#define SDL_HAPTIC_ANDROID 1 +#define SDL_JOYSTICK_HIDAPI 1 +#define SDL_JOYSTICK_VIRTUAL 1 +#define SDL_HAPTIC_ANDROID 1 + +/* Enable sensor driver */ +#define SDL_SENSOR_ANDROID 1 /* Enable various shared object loading systems */ #define SDL_LOADSO_DLOPEN 1 diff --git a/extlib/SDL2/include/SDL_config_emscripten.h b/extlib/SDL2/include/SDL_config_emscripten.h new file mode 100644 index 00000000..637cdae5 --- /dev/null +++ b/extlib/SDL2/include/SDL_config_emscripten.h @@ -0,0 +1,218 @@ +/* + Simple DirectMedia Layer + Copyright (C) 1997-2024 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. +*/ + +#ifndef _SDL_config_emscripten_h_ +#define _SDL_config_emscripten_h_ + +#include "SDL_platform.h" + +/** + * \file SDL_config_emscripten.h + * + * This is a configuration that can be used to build SDL for Emscripten. + */ + +#ifdef __LP64__ +#define SIZEOF_VOIDP 8 +#else +#define SIZEOF_VOIDP 4 +#endif +#define HAVE_GCC_ATOMICS 1 + +/* Useful headers */ +#define STDC_HEADERS 1 +#define HAVE_ALLOCA_H 1 +#define HAVE_CTYPE_H 1 +#define HAVE_ICONV_H 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_LIMITS_H 1 +#define HAVE_MALLOC_H 1 +#define HAVE_MATH_H 1 +#define HAVE_MEMORY_H 1 +#define HAVE_SIGNAL_H 1 +#define HAVE_STDARG_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_STDIO_H 1 +#define HAVE_STDLIB_H 1 +#define HAVE_STRINGS_H 1 +#define HAVE_STRING_H 1 +#define HAVE_SYS_TYPES_H 1 +#define HAVE_WCHAR_H 1 + +/* C library functions */ +#define HAVE_DLOPEN 1 +#define HAVE_MALLOC 1 +#define HAVE_CALLOC 1 +#define HAVE_REALLOC 1 +#define HAVE_FREE 1 +#define HAVE_ALLOCA 1 +#define HAVE_GETENV 1 +#define HAVE_SETENV 1 +#define HAVE_PUTENV 1 +#define HAVE_UNSETENV 1 +#define HAVE_QSORT 1 +#define HAVE_BSEARCH 1 +#define HAVE_ABS 1 +#define HAVE_BCOPY 1 +#define HAVE_MEMSET 1 +#define HAVE_MEMCPY 1 +#define HAVE_MEMMOVE 1 +#define HAVE_MEMCMP 1 +#define HAVE_WCSLEN 1 +#define HAVE_WCSDUP 1 +#define HAVE_WCSSTR 1 +#define HAVE_WCSCMP 1 +#define HAVE_WCSNCMP 1 +#define HAVE_WCSCASECMP 1 +#define HAVE_WCSNCASECMP 1 +#define HAVE_STRLEN 1 +#define HAVE_STRLCPY 1 +#define HAVE_STRLCAT 1 +#define HAVE_STRCHR 1 +#define HAVE_STRRCHR 1 +#define HAVE_STRSTR 1 +#define HAVE_STRTOK_R 1 +#define HAVE_STRTOL 1 +#define HAVE_STRTOUL 1 +#define HAVE_STRTOLL 1 +#define HAVE_STRTOULL 1 +#define HAVE_STRTOD 1 +#define HAVE_ATOI 1 +#define HAVE_ATOF 1 +#define HAVE_STRCMP 1 +#define HAVE_STRNCMP 1 +#define HAVE_STRCASECMP 1 +#define HAVE_STRNCASECMP 1 +#define HAVE_SSCANF 1 +#define HAVE_VSSCANF 1 +#define HAVE_VSNPRINTF 1 +#define HAVE_M_PI 1 +#define HAVE_ACOS 1 +#define HAVE_ACOSF 1 +#define HAVE_ASIN 1 +#define HAVE_ASINF 1 +#define HAVE_ATAN 1 +#define HAVE_ATANF 1 +#define HAVE_ATAN2 1 +#define HAVE_ATAN2F 1 +#define HAVE_CEIL 1 +#define HAVE_CEILF 1 +#define HAVE_COPYSIGN 1 +#define HAVE_COPYSIGNF 1 +#define HAVE_COS 1 +#define HAVE_COSF 1 +#define HAVE_EXP 1 +#define HAVE_EXPF 1 +#define HAVE_FABS 1 +#define HAVE_FABSF 1 +#define HAVE_FLOOR 1 +#define HAVE_FLOORF 1 +#define HAVE_FMOD 1 +#define HAVE_FMODF 1 +#define HAVE_LOG 1 +#define HAVE_LOGF 1 +#define HAVE_LOG10 1 +#define HAVE_LOG10F 1 +#define HAVE_LROUND 1 +#define HAVE_LROUNDF 1 +#define HAVE_POW 1 +#define HAVE_POWF 1 +#define HAVE_ROUND 1 +#define HAVE_ROUNDF 1 +#define HAVE_SCALBN 1 +#define HAVE_SCALBNF 1 +#define HAVE_SIN 1 +#define HAVE_SINF 1 +#define HAVE_SQRT 1 +#define HAVE_SQRTF 1 +#define HAVE_TAN 1 +#define HAVE_TANF 1 +#define HAVE_TRUNC 1 +#define HAVE_TRUNCF 1 +#define HAVE_FSEEKO 1 +#define HAVE_FSEEKO64 1 +#define HAVE_SIGACTION 1 +#define HAVE_SA_SIGACTION 1 +#define HAVE_SETJMP 1 +#define HAVE_NANOSLEEP 1 +#define HAVE_SYSCONF 1 +#define HAVE_CLOCK_GETTIME 1 +/* #undef HAVE_GETPAGESIZE */ +#define HAVE_MPROTECT 1 +#define HAVE_ICONV 1 + +/* SDL internal assertion support */ +/* #undef SDL_DEFAULT_ASSERT_LEVEL */ + +#define SDL_CPUINFO_DISABLED 1 +#define SDL_HAPTIC_DISABLED 1 +#define SDL_HIDAPI_DISABLED 1 +#ifndef __EMSCRIPTEN_PTHREADS__ +#define SDL_THREADS_DISABLED 1 +#endif + +/* Enable various audio drivers */ +#define SDL_AUDIO_DRIVER_DISK 1 +#define SDL_AUDIO_DRIVER_DUMMY 1 +#define SDL_AUDIO_DRIVER_EMSCRIPTEN 1 + +/* Enable various input drivers */ +#define SDL_JOYSTICK_EMSCRIPTEN 1 + +/* Enable various sensor drivers */ +#define SDL_SENSOR_DUMMY 1 + +/* Enable various shared object loading systems */ +#define SDL_LOADSO_DLOPEN 1 + +/* Enable various threading systems */ +#ifdef __EMSCRIPTEN_PTHREADS__ +#define SDL_THREAD_PTHREAD 1 +#define SDL_THREAD_PTHREAD_RECURSIVE_MUTEX 1 +#endif + +/* Enable various timer systems */ +#define SDL_TIMER_UNIX 1 + +/* Enable various video drivers */ +#define SDL_VIDEO_DRIVER_EMSCRIPTEN 1 + +#define SDL_VIDEO_RENDER_OGL_ES2 1 + +/* Enable OpenGL support */ +/* #undef SDL_VIDEO_OPENGL */ +/* #undef SDL_VIDEO_OPENGL_ES */ +#define SDL_VIDEO_OPENGL_ES2 1 +/* #undef SDL_VIDEO_OPENGL_BGL */ +/* #undef SDL_VIDEO_OPENGL_CGL */ +/* #undef SDL_VIDEO_OPENGL_GLX */ +/* #undef SDL_VIDEO_OPENGL_WGL */ +#define SDL_VIDEO_OPENGL_EGL 1 +/* #undef SDL_VIDEO_OPENGL_OSMESA */ +/* #undef SDL_VIDEO_OPENGL_OSMESA_DYNAMIC */ + +/* Enable system power support */ +#define SDL_POWER_EMSCRIPTEN 1 + +/* Enable system filesystem support */ +#define SDL_FILESYSTEM_EMSCRIPTEN 1 + +#endif /* _SDL_config_emscripten_h_ */ diff --git a/extlib/SDL2/include/SDL_config_iphoneos.h b/extlib/SDL2/include/SDL_config_iphoneos.h index deea0304..2743901f 100644 --- a/extlib/SDL2/include/SDL_config_iphoneos.h +++ b/extlib/SDL2/include/SDL_config_iphoneos.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2017 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -33,18 +33,22 @@ #define HAVE_GCC_ATOMICS 1 -#define HAVE_ALLOCA_H 1 -#define HAVE_SYS_TYPES_H 1 -#define HAVE_STDIO_H 1 #define STDC_HEADERS 1 -#define HAVE_STRING_H 1 -#define HAVE_INTTYPES_H 1 -#define HAVE_STDINT_H 1 +#define HAVE_ALLOCA_H 1 #define HAVE_CTYPE_H 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_LIMITS_H 1 #define HAVE_MATH_H 1 #define HAVE_SIGNAL_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_STDIO_H 1 +#define HAVE_STRING_H 1 +#define HAVE_SYS_TYPES_H 1 +/* The libunwind functions are only available on x86 */ +/* #undef HAVE_LIBUNWIND_H */ /* C library functions */ +#define HAVE_DLOPEN 1 #define HAVE_MALLOC 1 #define HAVE_CALLOC 1 #define HAVE_REALLOC 1 @@ -56,6 +60,7 @@ #define HAVE_SETENV 1 #define HAVE_UNSETENV 1 #define HAVE_QSORT 1 +#define HAVE_BSEARCH 1 #define HAVE_ABS 1 #define HAVE_BCOPY 1 #define HAVE_MEMSET 1 @@ -65,10 +70,10 @@ #define HAVE_STRLEN 1 #define HAVE_STRLCPY 1 #define HAVE_STRLCAT 1 -#define HAVE_STRDUP 1 #define HAVE_STRCHR 1 #define HAVE_STRRCHR 1 #define HAVE_STRSTR 1 +#define HAVE_STRTOK_R 1 #define HAVE_STRTOL 1 #define HAVE_STRTOUL 1 #define HAVE_STRTOLL 1 @@ -80,33 +85,58 @@ #define HAVE_STRNCMP 1 #define HAVE_STRCASECMP 1 #define HAVE_STRNCASECMP 1 +#define HAVE_STRCASESTR 1 #define HAVE_VSSCANF 1 #define HAVE_VSNPRINTF 1 #define HAVE_M_PI 1 +#define HAVE_ACOS 1 +#define HAVE_ACOSF 1 +#define HAVE_ASIN 1 +#define HAVE_ASINF 1 #define HAVE_ATAN 1 +#define HAVE_ATANF 1 #define HAVE_ATAN2 1 -#define HAVE_ACOS 1 -#define HAVE_ASIN 1 +#define HAVE_ATAN2F 1 #define HAVE_CEIL 1 +#define HAVE_CEILF 1 #define HAVE_COPYSIGN 1 +#define HAVE_COPYSIGNF 1 #define HAVE_COS 1 #define HAVE_COSF 1 +#define HAVE_EXP 1 +#define HAVE_EXPF 1 #define HAVE_FABS 1 +#define HAVE_FABSF 1 #define HAVE_FLOOR 1 +#define HAVE_FLOORF 1 +#define HAVE_FMOD 1 +#define HAVE_FMODF 1 #define HAVE_LOG 1 +#define HAVE_LOGF 1 +#define HAVE_LOG10 1 +#define HAVE_LOG10F 1 +#define HAVE_LROUND 1 +#define HAVE_LROUNDF 1 #define HAVE_POW 1 +#define HAVE_POWF 1 +#define HAVE_ROUND 1 +#define HAVE_ROUNDF 1 #define HAVE_SCALBN 1 +#define HAVE_SCALBNF 1 #define HAVE_SIN 1 #define HAVE_SINF 1 #define HAVE_SQRT 1 #define HAVE_SQRTF 1 #define HAVE_TAN 1 #define HAVE_TANF 1 +#define HAVE_TRUNC 1 +#define HAVE_TRUNCF 1 #define HAVE_SIGACTION 1 #define HAVE_SETJMP 1 #define HAVE_NANOSLEEP 1 #define HAVE_SYSCONF 1 #define HAVE_SYSCTLBYNAME 1 +#define HAVE_O_CLOEXEC 1 /* enable iPhone version of Core Audio driver */ #define SDL_AUDIO_DRIVER_COREAUDIO 1 @@ -116,8 +146,18 @@ /* Enable the stub haptic driver (src/haptic/dummy/\*.c) */ #define SDL_HAPTIC_DUMMY 1 -/* Enable MFi joystick support */ +/* Enable joystick support */ +/* Only enable HIDAPI support if you want to support Steam Controllers on iOS and tvOS */ +/*#define SDL_JOYSTICK_HIDAPI 1*/ #define SDL_JOYSTICK_MFI 1 +#define SDL_JOYSTICK_VIRTUAL 1 + +#ifdef __TVOS__ +#define SDL_SENSOR_DUMMY 1 +#else +/* Enable the CoreMotion sensor driver */ +#define SDL_SENSOR_COREMOTION 1 +#endif /* Enable Unix style SO loading */ #define SDL_LOADSO_DLOPEN 1 @@ -133,17 +173,33 @@ #define SDL_VIDEO_DRIVER_UIKIT 1 #define SDL_VIDEO_DRIVER_DUMMY 1 -/* enable OpenGL ES */ +/* Enable OpenGL ES */ +#if !TARGET_OS_MACCATALYST #define SDL_VIDEO_OPENGL_ES2 1 #define SDL_VIDEO_OPENGL_ES 1 #define SDL_VIDEO_RENDER_OGL_ES 1 #define SDL_VIDEO_RENDER_OGL_ES2 1 +#endif -/* Enable Vulkan support */ -#if !TARGET_OS_SIMULATOR && !TARGET_CPU_ARM // Only 64-bit devices have Metal -#define SDL_VIDEO_VULKAN 1 +/* Metal supported on 64-bit devices running iOS 8.0 and tvOS 9.0 and newer + Also supported in simulator from iOS 13.0 and tvOS 13.0 + */ +#if (TARGET_OS_SIMULATOR && ((__IPHONE_OS_VERSION_MIN_REQUIRED >= 130000) || (__TV_OS_VERSION_MIN_REQUIRED >= 130000))) || (!TARGET_CPU_ARM && ((__IPHONE_OS_VERSION_MIN_REQUIRED >= 80000) || (__TV_OS_VERSION_MIN_REQUIRED >= 90000))) +#define SDL_PLATFORM_SUPPORTS_METAL 1 #else -#define SDL_VIDEO_VULKAN 0 +#define SDL_PLATFORM_SUPPORTS_METAL 0 +#endif + +#if SDL_PLATFORM_SUPPORTS_METAL +#define SDL_VIDEO_RENDER_METAL 1 +#endif + +#if SDL_PLATFORM_SUPPORTS_METAL +#define SDL_VIDEO_VULKAN 1 +#endif + +#if SDL_PLATFORM_SUPPORTS_METAL +#define SDL_VIDEO_METAL 1 #endif /* Enable system power support */ @@ -155,11 +211,6 @@ /* enable iOS extended launch screen */ #define SDL_IPHONE_LAUNCHSCREEN 1 -/* Set max recognized G-force from accelerometer - See src/joystick/uikit/SDL_sysjoystick.m for notes on why this is needed - */ -#define SDL_IPHONE_MAX_GFORCE 5.0 - /* enable filesystem support */ #define SDL_FILESYSTEM_COCOA 1 diff --git a/extlib/SDL2/include/SDL_config_macosx.h b/extlib/SDL2/include/SDL_config_macosx.h index 9b098995..2db760a9 100644 --- a/extlib/SDL2/include/SDL_config_macosx.h +++ b/extlib/SDL2/include/SDL_config_macosx.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2017 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -37,18 +37,22 @@ #endif /* Useful headers */ -#define HAVE_ALLOCA_H 1 -#define HAVE_SYS_TYPES_H 1 -#define HAVE_STDIO_H 1 #define STDC_HEADERS 1 -#define HAVE_STRING_H 1 -#define HAVE_INTTYPES_H 1 -#define HAVE_STDINT_H 1 +#define HAVE_ALLOCA_H 1 #define HAVE_CTYPE_H 1 +#define HAVE_FLOAT_H 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_LIMITS_H 1 #define HAVE_MATH_H 1 #define HAVE_SIGNAL_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_STDIO_H 1 +#define HAVE_STRING_H 1 +#define HAVE_SYS_TYPES_H 1 +#define HAVE_LIBUNWIND_H 1 /* C library functions */ +#define HAVE_DLOPEN 1 #define HAVE_MALLOC 1 #define HAVE_CALLOC 1 #define HAVE_REALLOC 1 @@ -59,6 +63,7 @@ #define HAVE_PUTENV 1 #define HAVE_UNSETENV 1 #define HAVE_QSORT 1 +#define HAVE_BSEARCH 1 #define HAVE_ABS 1 #define HAVE_BCOPY 1 #define HAVE_MEMSET 1 @@ -68,10 +73,10 @@ #define HAVE_STRLEN 1 #define HAVE_STRLCPY 1 #define HAVE_STRLCAT 1 -#define HAVE_STRDUP 1 #define HAVE_STRCHR 1 #define HAVE_STRRCHR 1 #define HAVE_STRSTR 1 +#define HAVE_STRTOK_R 1 #define HAVE_STRTOL 1 #define HAVE_STRTOUL 1 #define HAVE_STRTOLL 1 @@ -83,32 +88,69 @@ #define HAVE_STRNCMP 1 #define HAVE_STRCASECMP 1 #define HAVE_STRNCASECMP 1 +#define HAVE_STRCASESTR 1 #define HAVE_VSSCANF 1 #define HAVE_VSNPRINTF 1 +#define HAVE_M_PI 1 +#define HAVE_ACOS 1 +#define HAVE_ACOSF 1 +#define HAVE_ASIN 1 +#define HAVE_ASINF 1 +#define HAVE_ATAN 1 +#define HAVE_ATANF 1 +#define HAVE_ATAN2 1 +#define HAVE_ATAN2F 1 #define HAVE_CEIL 1 +#define HAVE_CEILF 1 #define HAVE_COPYSIGN 1 +#define HAVE_COPYSIGNF 1 #define HAVE_COS 1 #define HAVE_COSF 1 +#define HAVE_EXP 1 +#define HAVE_EXPF 1 #define HAVE_FABS 1 +#define HAVE_FABSF 1 #define HAVE_FLOOR 1 +#define HAVE_FLOORF 1 +#define HAVE_FMOD 1 +#define HAVE_FMODF 1 #define HAVE_LOG 1 +#define HAVE_LOGF 1 +#define HAVE_LOG10 1 +#define HAVE_LOG10F 1 +#define HAVE_LROUND 1 +#define HAVE_LROUNDF 1 #define HAVE_POW 1 +#define HAVE_POWF 1 +#define HAVE_ROUND 1 +#define HAVE_ROUNDF 1 #define HAVE_SCALBN 1 +#define HAVE_SCALBNF 1 #define HAVE_SIN 1 #define HAVE_SINF 1 #define HAVE_SQRT 1 #define HAVE_SQRTF 1 #define HAVE_TAN 1 #define HAVE_TANF 1 +#define HAVE_TRUNC 1 +#define HAVE_TRUNCF 1 #define HAVE_SIGACTION 1 #define HAVE_SETJMP 1 #define HAVE_NANOSLEEP 1 #define HAVE_SYSCONF 1 #define HAVE_SYSCTLBYNAME 1 -#define HAVE_ATAN 1 -#define HAVE_ATAN2 1 -#define HAVE_ACOS 1 -#define HAVE_ASIN 1 + +#if defined(__has_include) && (defined(__i386__) || defined(__x86_64)) +# if __has_include() +# define HAVE_IMMINTRIN_H 1 +# endif +#endif + +#if (MAC_OS_X_VERSION_MAX_ALLOWED >= 1070) +#define HAVE_O_CLOEXEC 1 +#endif + +#define HAVE_GCC_ATOMICS 1 /* Enable various audio drivers */ #define SDL_AUDIO_DRIVER_COREAUDIO 1 @@ -116,9 +158,19 @@ #define SDL_AUDIO_DRIVER_DUMMY 1 /* Enable various input drivers */ +#define SDL_JOYSTICK_HIDAPI 1 #define SDL_JOYSTICK_IOKIT 1 +#define SDL_JOYSTICK_VIRTUAL 1 #define SDL_HAPTIC_IOKIT 1 +/* The MFI controller support requires ARC Objective C runtime */ +#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1080 && !defined(__i386__) +#define SDL_JOYSTICK_MFI 1 +#endif + +/* Enable the dummy sensor driver */ +#define SDL_SENSOR_DUMMY 1 + /* Enable various shared object loading systems */ #define SDL_LOADSO_DLOPEN 1 @@ -133,19 +185,15 @@ #define SDL_VIDEO_DRIVER_COCOA 1 #define SDL_VIDEO_DRIVER_DUMMY 1 #undef SDL_VIDEO_DRIVER_X11 -#define SDL_VIDEO_DRIVER_X11_DYNAMIC "/usr/X11R6/lib/libX11.6.dylib" -#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT "/usr/X11R6/lib/libXext.6.dylib" -#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XINERAMA "/usr/X11R6/lib/libXinerama.1.dylib" -#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XINPUT2 "/usr/X11R6/lib/libXi.6.dylib" -#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR "/usr/X11R6/lib/libXrandr.2.dylib" -#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XSS "/usr/X11R6/lib/libXss.1.dylib" -#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XVIDMODE "/usr/X11R6/lib/libXxf86vm.1.dylib" +#define SDL_VIDEO_DRIVER_X11_DYNAMIC "/opt/X11/lib/libX11.6.dylib" +#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT "/opt/X11/lib/libXext.6.dylib" +#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XINPUT2 "/opt/X11/lib/libXi.6.dylib" +#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR "/opt/X11/lib/libXrandr.2.dylib" +#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XSS "/opt/X11/lib/libXss.1.dylib" #define SDL_VIDEO_DRIVER_X11_XDBE 1 -#define SDL_VIDEO_DRIVER_X11_XINERAMA 1 #define SDL_VIDEO_DRIVER_X11_XRANDR 1 #define SDL_VIDEO_DRIVER_X11_XSCRNSAVER 1 #define SDL_VIDEO_DRIVER_X11_XSHAPE 1 -#define SDL_VIDEO_DRIVER_X11_XVIDMODE 1 #define SDL_VIDEO_DRIVER_X11_HAS_XKBKEYCODETOKEYSYM 1 #ifdef MAC_OS_X_VERSION_10_8 @@ -156,17 +204,41 @@ */ #define SDL_VIDEO_DRIVER_X11_XINPUT2 1 #define SDL_VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS 1 -#define SDL_VIDEO_DRIVER_X11_CONST_PARAM_XEXTADDDISPLAY 1 #endif #ifndef SDL_VIDEO_RENDER_OGL #define SDL_VIDEO_RENDER_OGL 1 #endif +#ifndef SDL_VIDEO_RENDER_OGL_ES2 +#define SDL_VIDEO_RENDER_OGL_ES2 1 +#endif + +/* Metal only supported on 64-bit architectures with 10.11+ */ +#if TARGET_RT_64_BIT && (MAC_OS_X_VERSION_MAX_ALLOWED >= 101100) +#define SDL_PLATFORM_SUPPORTS_METAL 1 +#else +#define SDL_PLATFORM_SUPPORTS_METAL 0 +#endif + +#ifndef SDL_VIDEO_RENDER_METAL +#if SDL_PLATFORM_SUPPORTS_METAL +#define SDL_VIDEO_RENDER_METAL 1 +#else +#define SDL_VIDEO_RENDER_METAL 0 +#endif +#endif + /* Enable OpenGL support */ #ifndef SDL_VIDEO_OPENGL #define SDL_VIDEO_OPENGL 1 #endif +#ifndef SDL_VIDEO_OPENGL_ES2 +#define SDL_VIDEO_OPENGL_ES2 1 +#endif +#ifndef SDL_VIDEO_OPENGL_EGL +#define SDL_VIDEO_OPENGL_EGL 1 +#endif #ifndef SDL_VIDEO_OPENGL_CGL #define SDL_VIDEO_OPENGL_CGL 1 #endif @@ -174,12 +246,21 @@ #define SDL_VIDEO_OPENGL_GLX 1 #endif -/* Enable Vulkan support */ -/* Metal/MoltenVK/Vulkan only supported on 64-bit architectures with 10.11+ */ -#if TARGET_CPU_X86_64 && (MAC_OS_X_VERSION_MAX_ALLOWED >= 101100) +/* Enable Vulkan and Metal support */ +#ifndef SDL_VIDEO_VULKAN +#if SDL_PLATFORM_SUPPORTS_METAL #define SDL_VIDEO_VULKAN 1 #else -#define SDL_VIDEO_VULKAN 0 +#define SDL_VIDEO_VULKAN 0 +#endif +#endif + +#ifndef SDL_VIDEO_METAL +#if SDL_PLATFORM_SUPPORTS_METAL +#define SDL_VIDEO_METAL 1 +#else +#define SDL_VIDEO_METAL 0 +#endif #endif /* Enable system power support */ @@ -189,7 +270,6 @@ #define SDL_FILESYSTEM_COCOA 1 /* Enable assembly routines */ -#define SDL_ASSEMBLY_ROUTINES 1 #ifdef __ppc__ #define SDL_ALTIVEC_BLITTERS 1 #endif diff --git a/extlib/SDL2/include/SDL_config_macosx.h.orig b/extlib/SDL2/include/SDL_config_macosx.h.orig deleted file mode 100644 index f03f1ae3..00000000 --- a/extlib/SDL2/include/SDL_config_macosx.h.orig +++ /dev/null @@ -1,197 +0,0 @@ -/* - Simple DirectMedia Layer - Copyright (C) 1997-2017 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. -*/ - -#ifndef SDL_config_macosx_h_ -#define SDL_config_macosx_h_ -#define SDL_config_h_ - -#include "SDL_platform.h" - -/* This gets us MAC_OS_X_VERSION_MIN_REQUIRED... */ -#include - -/* This is a set of defines to configure the SDL features */ - -#ifdef __LP64__ - #define SIZEOF_VOIDP 8 -#else - #define SIZEOF_VOIDP 4 -#endif - -/* Useful headers */ -#define HAVE_ALLOCA_H 1 -#define HAVE_SYS_TYPES_H 1 -#define HAVE_STDIO_H 1 -#define STDC_HEADERS 1 -#define HAVE_STRING_H 1 -#define HAVE_INTTYPES_H 1 -#define HAVE_STDINT_H 1 -#define HAVE_CTYPE_H 1 -#define HAVE_MATH_H 1 -#define HAVE_SIGNAL_H 1 - -/* C library functions */ -#define HAVE_MALLOC 1 -#define HAVE_CALLOC 1 -#define HAVE_REALLOC 1 -#define HAVE_FREE 1 -#define HAVE_ALLOCA 1 -#define HAVE_GETENV 1 -#define HAVE_SETENV 1 -#define HAVE_PUTENV 1 -#define HAVE_UNSETENV 1 -#define HAVE_QSORT 1 -#define HAVE_ABS 1 -#define HAVE_BCOPY 1 -#define HAVE_MEMSET 1 -#define HAVE_MEMCPY 1 -#define HAVE_MEMMOVE 1 -#define HAVE_MEMCMP 1 -#define HAVE_STRLEN 1 -#define HAVE_STRLCPY 1 -#define HAVE_STRLCAT 1 -#define HAVE_STRDUP 1 -#define HAVE_STRCHR 1 -#define HAVE_STRRCHR 1 -#define HAVE_STRSTR 1 -#define HAVE_STRTOL 1 -#define HAVE_STRTOUL 1 -#define HAVE_STRTOLL 1 -#define HAVE_STRTOULL 1 -#define HAVE_STRTOD 1 -#define HAVE_ATOI 1 -#define HAVE_ATOF 1 -#define HAVE_STRCMP 1 -#define HAVE_STRNCMP 1 -#define HAVE_STRCASECMP 1 -#define HAVE_STRNCASECMP 1 -#define HAVE_VSSCANF 1 -#define HAVE_VSNPRINTF 1 -#define HAVE_CEIL 1 -#define HAVE_COPYSIGN 1 -#define HAVE_COS 1 -#define HAVE_COSF 1 -#define HAVE_FABS 1 -#define HAVE_FLOOR 1 -#define HAVE_LOG 1 -#define HAVE_POW 1 -#define HAVE_SCALBN 1 -#define HAVE_SIN 1 -#define HAVE_SINF 1 -#define HAVE_SQRT 1 -#define HAVE_SQRTF 1 -#define HAVE_TAN 1 -#define HAVE_TANF 1 -#define HAVE_SIGACTION 1 -#define HAVE_SETJMP 1 -#define HAVE_NANOSLEEP 1 -#define HAVE_SYSCONF 1 -#define HAVE_SYSCTLBYNAME 1 -#define HAVE_ATAN 1 -#define HAVE_ATAN2 1 -#define HAVE_ACOS 1 -#define HAVE_ASIN 1 - -/* Enable various audio drivers */ -#define SDL_AUDIO_DRIVER_COREAUDIO 1 -#define SDL_AUDIO_DRIVER_DISK 1 -#define SDL_AUDIO_DRIVER_DUMMY 1 - -/* Enable various input drivers */ -#define SDL_JOYSTICK_IOKIT 1 -#define SDL_HAPTIC_IOKIT 1 - -/* Enable various shared object loading systems */ -#define SDL_LOADSO_DLOPEN 1 - -/* Enable various threading systems */ -#define SDL_THREAD_PTHREAD 1 -#define SDL_THREAD_PTHREAD_RECURSIVE_MUTEX 1 - -/* Enable various timer systems */ -#define SDL_TIMER_UNIX 1 - -/* Enable various video drivers */ -#define SDL_VIDEO_DRIVER_COCOA 1 -#define SDL_VIDEO_DRIVER_DUMMY 1 -#undef SDL_VIDEO_DRIVER_X11 -#define SDL_VIDEO_DRIVER_X11_DYNAMIC "/usr/X11R6/lib/libX11.6.dylib" -#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XEXT "/usr/X11R6/lib/libXext.6.dylib" -#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XINERAMA "/usr/X11R6/lib/libXinerama.1.dylib" -#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XINPUT2 "/usr/X11R6/lib/libXi.6.dylib" -#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XRANDR "/usr/X11R6/lib/libXrandr.2.dylib" -#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XSS "/usr/X11R6/lib/libXss.1.dylib" -#define SDL_VIDEO_DRIVER_X11_DYNAMIC_XVIDMODE "/usr/X11R6/lib/libXxf86vm.1.dylib" -#define SDL_VIDEO_DRIVER_X11_XDBE 1 -#define SDL_VIDEO_DRIVER_X11_XINERAMA 1 -#define SDL_VIDEO_DRIVER_X11_XRANDR 1 -#define SDL_VIDEO_DRIVER_X11_XSCRNSAVER 1 -#define SDL_VIDEO_DRIVER_X11_XSHAPE 1 -#define SDL_VIDEO_DRIVER_X11_XVIDMODE 1 -#define SDL_VIDEO_DRIVER_X11_HAS_XKBKEYCODETOKEYSYM 1 - -#ifdef MAC_OS_X_VERSION_10_8 -/* - * No matter the versions targeted, this is the 10.8 or later SDK, so you have - * to use the external Xquartz, which is a more modern Xlib. Previous SDKs - * used an older Xlib. - */ -#define SDL_VIDEO_DRIVER_X11_XINPUT2 1 -#define SDL_VIDEO_DRIVER_X11_SUPPORTS_GENERIC_EVENTS 1 -#define SDL_VIDEO_DRIVER_X11_CONST_PARAM_XEXTADDDISPLAY 1 -#endif - -#ifndef SDL_VIDEO_RENDER_OGL -#define SDL_VIDEO_RENDER_OGL 1 -#endif - -/* Enable OpenGL support */ -#ifndef SDL_VIDEO_OPENGL -#define SDL_VIDEO_OPENGL 1 -#endif -#ifndef SDL_VIDEO_OPENGL_CGL -#define SDL_VIDEO_OPENGL_CGL 1 -#endif -#ifndef SDL_VIDEO_OPENGL_GLX -#define SDL_VIDEO_OPENGL_GLX 1 -#endif - -/* Enable Vulkan support */ -/* Metal/MoltenVK/Vulkan only supported on 64-bit architectures and 10.11+ */ -#if TARGET_CPU_X86_64 -#define SDL_VIDEO_VULKAN 1 -#else -#define SDL_VIDEO_VULKAN 0 -#endif - -/* Enable system power support */ -#define SDL_POWER_MACOSX 1 - -/* enable filesystem support */ -#define SDL_FILESYSTEM_COCOA 1 - -/* Enable assembly routines */ -#define SDL_ASSEMBLY_ROUTINES 1 -#ifdef __ppc__ -#define SDL_ALTIVEC_BLITTERS 1 -#endif - -#endif /* SDL_config_macosx_h_ */ diff --git a/extlib/SDL2/include/SDL_config_minimal.h b/extlib/SDL2/include/SDL_config_minimal.h index 31127006..ceedda2d 100644 --- a/extlib/SDL2/include/SDL_config_minimal.h +++ b/extlib/SDL2/include/SDL_config_minimal.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2017 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -34,22 +34,29 @@ #define HAVE_STDARG_H 1 #define HAVE_STDDEF_H 1 +#if !defined(HAVE_STDINT_H) && !defined(_STDINT_H_) /* Most everything except Visual Studio 2008 and earlier has stdint.h now */ #if defined(_MSC_VER) && (_MSC_VER < 1600) -/* Here are some reasonable defaults */ -typedef unsigned int size_t; -typedef signed char int8_t; -typedef unsigned char uint8_t; -typedef signed short int16_t; -typedef unsigned short uint16_t; -typedef signed int int32_t; -typedef unsigned int uint32_t; -typedef signed long long int64_t; -typedef unsigned long long uint64_t; -typedef unsigned long uintptr_t; +typedef signed __int8 int8_t; +typedef unsigned __int8 uint8_t; +typedef signed __int16 int16_t; +typedef unsigned __int16 uint16_t; +typedef signed __int32 int32_t; +typedef unsigned __int32 uint32_t; +typedef signed __int64 int64_t; +typedef unsigned __int64 uint64_t; +#ifndef _UINTPTR_T_DEFINED +#ifdef _WIN64 +typedef unsigned __int64 uintptr_t; +#else +typedef unsigned int uintptr_t; +#endif +#define _UINTPTR_T_DEFINED +#endif #else #define HAVE_STDINT_H 1 #endif /* Visual Studio 2008 */ +#endif /* !_STDINT_H_ && !HAVE_STDINT_H */ #ifdef __GNUC__ #define HAVE_GCC_SYNC_LOCK_TEST_AND_SET 1 @@ -64,6 +71,12 @@ typedef unsigned long uintptr_t; /* Enable the stub haptic driver (src/haptic/dummy/\*.c) */ #define SDL_HAPTIC_DISABLED 1 +/* Enable the stub HIDAPI */ +#define SDL_HIDAPI_DISABLED 1 + +/* Enable the stub sensor driver (src/sensor/dummy/\*.c) */ +#define SDL_SENSOR_DISABLED 1 + /* Enable the stub shared object loader (src/loadso/dummy/\*.c) */ #define SDL_LOADSO_DISABLED 1 diff --git a/extlib/SDL2/include/SDL_config_ngage.h b/extlib/SDL2/include/SDL_config_ngage.h new file mode 100644 index 00000000..61c26c2c --- /dev/null +++ b/extlib/SDL2/include/SDL_config_ngage.h @@ -0,0 +1,89 @@ +/* + Simple DirectMedia Layer + Copyright (C) 1997-2024 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. +*/ + +#ifndef SDL_config_ngage_h_ +#define SDL_config_ngage_h_ +#define SDL_config_h_ + +#include "SDL_platform.h" + +typedef signed char int8_t; +typedef unsigned char uint8_t; +typedef signed short int16_t; +typedef unsigned short uint16_t; +typedef signed int int32_t; +typedef unsigned int uint32_t; +typedef signed long long int64_t; +typedef unsigned long long uint64_t; +typedef unsigned long uintptr_t; + +#define HAVE_STDARG_H 1 +#define HAVE_STDDEF_H 1 +#define HAVE_STDIO_H 1 +#define HAVE_STDLIB_H 1 +#define HAVE_MATH_H 1 +#define HAVE_CEIL 1 +#define HAVE_COPYSIGN 1 +#define HAVE_COS 1 +#define HAVE_EXP 1 +#define HAVE_FABS 1 +#define HAVE_FLOOR 1 +#define HAVE_LOG 1 +#define HAVE_LOG10 1 +#define HAVE_SCALBN 1 +#define HAVE_SIN 1 +#define HAVE_SQRT 1 +#define HAVE_TAN 1 +#define HAVE_MALLOC 1 +#define SDL_MAIN_NEEDED 1 +#define LACKS_SYS_MMAN_H 1 + +/* Enable the N-Gage thread support (src/thread/ngage/\*.c) */ +#define SDL_THREAD_NGAGE 1 + +/* Enable the N-Gage timer support (src/timer/ngage/\*.c) */ +#define SDL_TIMER_NGAGE 1 + +/* Enable the N-Gage video driver (src/video/ngage/\*.c) */ +#define SDL_VIDEO_DRIVER_NGAGE 1 + +/* Enable the dummy audio driver (src/audio/dummy/\*.c) */ +#define SDL_AUDIO_DRIVER_DUMMY 1 + +/* Enable the stub joystick driver (src/joystick/dummy/\*.c) */ +#define SDL_JOYSTICK_DISABLED 1 + +/* Enable the stub haptic driver (src/haptic/dummy/\*.c) */ +#define SDL_HAPTIC_DISABLED 1 + +/* Enable the stub HIDAPI */ +#define SDL_HIDAPI_DISABLED 1 + +/* Enable the stub sensor driver (src/sensor/dummy/\*.c) */ +#define SDL_SENSOR_DISABLED 1 + +/* Enable the stub shared object loader (src/loadso/dummy/\*.c) */ +#define SDL_LOADSO_DISABLED 1 + +/* Enable the dummy filesystem driver (src/filesystem/dummy/\*.c) */ +#define SDL_FILESYSTEM_DUMMY 1 + +#endif /* SDL_config_ngage_h_ */ diff --git a/extlib/SDL2/include/SDL_config_os2.h b/extlib/SDL2/include/SDL_config_os2.h new file mode 100644 index 00000000..b2b061d7 --- /dev/null +++ b/extlib/SDL2/include/SDL_config_os2.h @@ -0,0 +1,204 @@ +/* + Simple DirectMedia Layer + Copyright (C) 1997-2024 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. +*/ + +#ifndef SDL_config_os2_h_ +#define SDL_config_os2_h_ +#define SDL_config_h_ + +#include "SDL_platform.h" + +#define SIZEOF_VOIDP 4 + +#define SDL_AUDIO_DRIVER_DUMMY 1 +#define SDL_AUDIO_DRIVER_DISK 1 +#define SDL_AUDIO_DRIVER_OS2 1 + +#define SDL_POWER_DISABLED 1 +#define SDL_HAPTIC_DISABLED 1 + +#define SDL_SENSOR_DUMMY 1 +#define SDL_VIDEO_DRIVER_DUMMY 1 +#define SDL_VIDEO_DRIVER_OS2 1 +#define SDL_JOYSTICK_OS2 1 +#ifndef HAVE_LIBUSB_H /* see Makefile */ +#define SDL_HIDAPI_DISABLED 1 +/*#undef SDL_JOYSTICK_HIDAPI */ +#else +#define SDL_JOYSTICK_HIDAPI 1 +#define HAVE_LIBUSB 1 +/* dynamically loaded libusb-1.0 dll: */ +#define SDL_LIBUSB_DYNAMIC "usb100.dll" +#endif +#define SDL_JOYSTICK_VIRTUAL 1 + +/* Enable OpenGL support */ +/* #undef SDL_VIDEO_OPENGL */ + +#define SDL_THREAD_OS2 1 +#define SDL_LOADSO_OS2 1 +#define SDL_TIMER_OS2 1 +#define SDL_FILESYSTEM_OS2 1 + +/* use libsamplerate for audio rate conversion. */ +/*#define HAVE_LIBSAMPLERATE_H 1 */ + +/* Enable dynamic libsamplerate support */ +#define SDL_LIBSAMPLERATE_DYNAMIC "SAMPRATE.DLL" + +#define HAVE_LIBC 1 + +#define HAVE_STDARG_H 1 +#define HAVE_STDDEF_H 1 +#define HAVE_STDINT_H 1 + +#define HAVE_SYS_TYPES_H 1 +#define HAVE_STDIO_H 1 +#define STDC_HEADERS 1 +#define HAVE_STDLIB_H 1 +#define HAVE_MALLOC_H 1 +#define HAVE_MEMORY_H 1 +#define HAVE_STRING_H 1 +#define HAVE_STRINGS_H 1 +#define HAVE_WCHAR_H 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_LIMITS_H 1 +#define HAVE_CTYPE_H 1 +#define HAVE_MATH_H 1 +#define HAVE_FLOAT_H 1 +#define HAVE_SIGNAL_H 1 + +#if 0 /* see Makefile */ +#define HAVE_ICONV 1 +#define HAVE_ICONV_H 1 +#endif + +/* #undef HAVE_DLOPEN */ +#define HAVE_MALLOC 1 +#define HAVE_CALLOC 1 +#define HAVE_REALLOC 1 +#define HAVE_FREE 1 +#if defined(__WATCOMC__) +#define HAVE__FSEEKI64 1 +#define HAVE__FTELLI64 1 +#endif +#define HAVE_ALLOCA 1 +#define HAVE_GETENV 1 +#define HAVE_SETENV 1 +#define HAVE_PUTENV 1 +/* OpenWatcom requires specific calling conventions for qsort and bsearch */ +#ifndef __WATCOMC__ +#define HAVE_QSORT 1 +#define HAVE_BSEARCH 1 +#endif +#define HAVE_ABS 1 +#define HAVE_BCOPY 1 +#define HAVE_MEMSET 1 +#define HAVE_MEMCPY 1 +#define HAVE_MEMMOVE 1 +#define HAVE_MEMCMP 1 +#define HAVE_WCSCMP 1 +#define HAVE__WCSICMP 1 +#define HAVE__WCSNICMP 1 +#define HAVE_WCSLEN 1 +#define HAVE_WCSLCPY 1 +#define HAVE_WCSLCAT 1 +/* #undef HAVE_WCSDUP */ +#define HAVE__WCSDUP 1 +#define HAVE_WCSSTR 1 +#define HAVE_WCSCMP 1 +#define HAVE_WCSNCMP 1 +#define HAVE_STRLEN 1 +#define HAVE_STRLCPY 1 +#define HAVE_STRLCAT 1 +#define HAVE__STRREV 1 +#define HAVE__STRUPR 1 +#define HAVE__STRLWR 1 +/* #undef HAVE_INDEX */ +/* #undef HAVE_RINDEX */ +#define HAVE_STRCHR 1 +#define HAVE_STRRCHR 1 +#define HAVE_STRSTR 1 +/* #undef HAVE_STRTOK_R */ +#define HAVE_ITOA 1 +#define HAVE__LTOA 1 +#define HAVE__ULTOA 1 +#define HAVE_STRTOL 1 +#define HAVE_STRTOUL 1 +#define HAVE__I64TOA 1 +#define HAVE__UI64TOA 1 +#define HAVE_STRTOLL 1 +#define HAVE_STRTOULL 1 +#define HAVE_STRTOD 1 +#define HAVE_ATOI 1 +#define HAVE_ATOF 1 +#define HAVE_STRCMP 1 +#define HAVE_STRNCMP 1 +#define HAVE_STRICMP 1 +#define HAVE_STRCASECMP 1 +#define HAVE_STRNCASECMP 1 +#define HAVE_SSCANF 1 +#define HAVE_VSSCANF 1 +#define HAVE_SNPRINTF 1 +#define HAVE_VSNPRINTF 1 +#define HAVE_SETJMP 1 +#define HAVE_ACOS 1 +/* #undef HAVE_ACOSF */ +#define HAVE_ASIN 1 +/* #undef HAVE_ASINF */ +#define HAVE_ATAN 1 +#define HAVE_ATAN2 1 +/* #undef HAVE_ATAN2F */ +#define HAVE_CEIL 1 +/* #undef HAVE_CEILF */ +/* #undef HAVE_COPYSIGN */ +/* #undef HAVE_COPYSIGNF */ +#define HAVE_COS 1 +/* #undef HAVE_COSF */ +#define HAVE_EXP 1 +/* #undef HAVE_EXPF */ +#define HAVE_FABS 1 +/* #undef HAVE_FABSF */ +#define HAVE_FLOOR 1 +/* #undef HAVE_FLOORF */ +#define HAVE_FMOD 1 +/* #undef HAVE_FMODF */ +#define HAVE_LOG 1 +/* #undef HAVE_LOGF */ +#define HAVE_LOG10 1 +/* #undef HAVE_LOG10F */ +#define HAVE_POW 1 +/* #undef HAVE_POWF */ +#define HAVE_SIN 1 +/* #undef HAVE_SINF */ +/* #undef HAVE_SCALBN */ +/* #undef HAVE_SCALBNF */ +#define HAVE_SQRT 1 +/* #undef HAVE_SQRTF */ +#define HAVE_TAN 1 +/* #undef HAVE_TANF */ +/* #undef HAVE_TRUNC */ +/* #undef HAVE_TRUNCF */ +/* #undef HAVE_LROUND */ +/* #undef HAVE_LROUNDF */ +/* #undef HAVE_ROUND */ +/* #undef HAVE_ROUNDF */ + +#endif /* SDL_config_os2_h_ */ diff --git a/extlib/SDL2/include/SDL_config_pandora.h b/extlib/SDL2/include/SDL_config_pandora.h index ea62fe59..27b858df 100644 --- a/extlib/SDL2/include/SDL_config_pandora.h +++ b/extlib/SDL2/include/SDL_config_pandora.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2017 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -36,22 +36,25 @@ #define SDL_BYTEORDER 1234 -#define HAVE_ALLOCA_H 1 -#define HAVE_SYS_TYPES_H 1 -#define HAVE_STDIO_H 1 #define STDC_HEADERS 1 -#define HAVE_STDLIB_H 1 -#define HAVE_STDARG_H 1 -#define HAVE_MALLOC_H 1 -#define HAVE_MEMORY_H 1 -#define HAVE_STRING_H 1 -#define HAVE_STRINGS_H 1 -#define HAVE_INTTYPES_H 1 -#define HAVE_STDINT_H 1 +#define HAVE_ALLOCA_H 1 #define HAVE_CTYPE_H 1 -#define HAVE_MATH_H 1 #define HAVE_ICONV_H 1 +#define HAVE_INTTYPES_H 1 +#define HAVE_LIMITS_H 1 +#define HAVE_MALLOC_H 1 +#define HAVE_MATH_H 1 +#define HAVE_MEMORY_H 1 #define HAVE_SIGNAL_H 1 +#define HAVE_STDARG_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_STDIO_H 1 +#define HAVE_STDLIB_H 1 +#define HAVE_STRINGS_H 1 +#define HAVE_STRING_H 1 +#define HAVE_SYS_TYPES_H 1 + +#define HAVE_DLOPEN 1 #define HAVE_MALLOC 1 #define HAVE_CALLOC 1 #define HAVE_REALLOC 1 @@ -62,13 +65,13 @@ #define HAVE_PUTENV 1 #define HAVE_UNSETENV 1 #define HAVE_QSORT 1 +#define HAVE_BSEARCH 1 #define HAVE_ABS 1 #define HAVE_BCOPY 1 #define HAVE_MEMSET 1 #define HAVE_MEMCPY 1 #define HAVE_MEMMOVE 1 #define HAVE_STRLEN 1 -#define HAVE_STRDUP 1 #define HAVE_STRCHR 1 #define HAVE_STRRCHR 1 #define HAVE_STRSTR 1 @@ -89,9 +92,15 @@ #define HAVE_COPYSIGN 1 #define HAVE_COS 1 #define HAVE_COSF 1 +#define HAVE_EXP 1 #define HAVE_FABS 1 #define HAVE_FLOOR 1 #define HAVE_LOG 1 +#define HAVE_LOG10 1 +#define HAVE_LROUND 1 +#define HAVE_LROUNDF 1 +#define HAVE_ROUND 1 +#define HAVE_ROUNDF 1 #define HAVE_SCALBN 1 #define HAVE_SIN 1 #define HAVE_SINF 1 @@ -99,6 +108,8 @@ #define HAVE_SQRTF 1 #define HAVE_TAN 1 #define HAVE_TANF 1 +#define HAVE_TRUNC 1 +#define HAVE_TRUNCF 1 #define HAVE_SIGACTION 1 #define HAVE_SETJMP 1 #define HAVE_NANOSLEEP 1 @@ -107,10 +118,12 @@ #define SDL_AUDIO_DRIVER_OSS 1 #define SDL_INPUT_LINUXEV 1 -#define SDL_INPUT_TSLIB 1 #define SDL_JOYSTICK_LINUX 1 +#define SDL_JOYSTICK_VIRTUAL 1 #define SDL_HAPTIC_LINUX 1 +#define SDL_SENSOR_DUMMY 1 + #define SDL_LOADSO_DLOPEN 1 #define SDL_THREAD_PTHREAD 1 diff --git a/extlib/SDL2/include/SDL_config_psp.h b/extlib/SDL2/include/SDL_config_psp.h deleted file mode 100644 index 28efb4c5..00000000 --- a/extlib/SDL2/include/SDL_config_psp.h +++ /dev/null @@ -1,144 +0,0 @@ -/* - Simple DirectMedia Layer - Copyright (C) 1997-2017 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. -*/ - -#ifndef SDL_config_psp_h_ -#define SDL_config_psp_h_ -#define SDL_config_h_ - -#include "SDL_platform.h" - - - -#ifdef __GNUC__ -#define HAVE_GCC_SYNC_LOCK_TEST_AND_SET 1 -#endif - -#define HAVE_GCC_ATOMICS 1 - -#define HAVE_ALLOCA_H 1 -#define HAVE_SYS_TYPES_H 1 -#define HAVE_STDIO_H 1 -#define STDC_HEADERS 1 -#define HAVE_STRING_H 1 -#define HAVE_INTTYPES_H 1 -#define HAVE_STDINT_H 1 -#define HAVE_CTYPE_H 1 -#define HAVE_MATH_H 1 -#define HAVE_SIGNAL_H 1 - -/* C library functions */ -#define HAVE_MALLOC 1 -#define HAVE_CALLOC 1 -#define HAVE_REALLOC 1 -#define HAVE_FREE 1 -#define HAVE_ALLOCA 1 -#define HAVE_GETENV 1 -#define HAVE_SETENV 1 -#define HAVE_PUTENV 1 -#define HAVE_SETENV 1 -#define HAVE_UNSETENV 1 -#define HAVE_QSORT 1 -#define HAVE_ABS 1 -#define HAVE_BCOPY 1 -#define HAVE_MEMSET 1 -#define HAVE_MEMCPY 1 -#define HAVE_MEMMOVE 1 -#define HAVE_MEMCMP 1 -#define HAVE_STRLEN 1 -#define HAVE_STRLCPY 1 -#define HAVE_STRLCAT 1 -#define HAVE_STRDUP 1 -#define HAVE_STRCHR 1 -#define HAVE_STRRCHR 1 -#define HAVE_STRSTR 1 -#define HAVE_STRTOL 1 -#define HAVE_STRTOUL 1 -#define HAVE_STRTOLL 1 -#define HAVE_STRTOULL 1 -#define HAVE_STRTOD 1 -#define HAVE_ATOI 1 -#define HAVE_ATOF 1 -#define HAVE_STRCMP 1 -#define HAVE_STRNCMP 1 -#define HAVE_STRCASECMP 1 -#define HAVE_STRNCASECMP 1 -#define HAVE_VSSCANF 1 -#define HAVE_VSNPRINTF 1 -#define HAVE_M_PI 1 -#define HAVE_ATAN 1 -#define HAVE_ATAN2 1 -#define HAVE_ACOS 1 -#define HAVE_ASIN 1 -#define HAVE_CEIL 1 -#define HAVE_COPYSIGN 1 -#define HAVE_COS 1 -#define HAVE_COSF 1 -#define HAVE_FABS 1 -#define HAVE_FLOOR 1 -#define HAVE_LOG 1 -#define HAVE_POW 1 -#define HAVE_SCALBN 1 -#define HAVE_SIN 1 -#define HAVE_SINF 1 -#define HAVE_SQRT 1 -#define HAVE_SQRTF 1 -#define HAVE_TAN 1 -#define HAVE_TANF 1 -#define HAVE_SETJMP 1 -#define HAVE_NANOSLEEP 1 -/* #define HAVE_SYSCONF 1 */ -/* #define HAVE_SIGACTION 1 */ - - -/* PSP isn't that sophisticated */ -#define LACKS_SYS_MMAN_H 1 - -/* Enable the stub thread support (src/thread/psp/\*.c) */ -#define SDL_THREAD_PSP 1 - -/* Enable the stub timer support (src/timer/psp/\*.c) */ -#define SDL_TIMERS_PSP 1 - -/* Enable the stub joystick driver (src/joystick/psp/\*.c) */ -#define SDL_JOYSTICK_PSP 1 - -/* Enable the stub audio driver (src/audio/psp/\*.c) */ -#define SDL_AUDIO_DRIVER_PSP 1 - -/* PSP video dirver */ -#define SDL_VIDEO_DRIVER_PSP 1 - -/* PSP render dirver */ -#define SDL_VIDEO_RENDER_PSP 1 - -#define SDL_POWER_PSP 1 - -/* !!! FIXME: what does PSP do for filesystem stuff? */ -#define SDL_FILESYSTEM_DUMMY 1 - -/* PSP doesn't have haptic device (src/haptic/dummy/\*.c) */ -#define SDL_HAPTIC_DISABLED 1 - -/* PSP can't load shared object (src/loadso/dummy/\*.c) */ -#define SDL_LOADSO_DISABLED 1 - - -#endif /* SDL_config_psp_h_ */ diff --git a/extlib/SDL2/include/SDL_config_windows.h b/extlib/SDL2/include/SDL_config_windows.h index 2456c843..aae52ebc 100644 --- a/extlib/SDL2/include/SDL_config_windows.h +++ b/extlib/SDL2/include/SDL_config_windows.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2017 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -25,12 +25,36 @@ #include "SDL_platform.h" +/* winsdkver.h defines _WIN32_MAXVER for SDK version detection. It is present since at least the Windows 7 SDK, + * but out of caution we'll only use it if the compiler supports __has_include() to confirm its presence. + * If your compiler doesn't support __has_include() but you have winsdkver.h, define HAVE_WINSDKVER_H. */ +#if !defined(HAVE_WINSDKVER_H) && defined(__has_include) +#if __has_include() +#define HAVE_WINSDKVER_H 1 +#endif +#endif + +#ifdef HAVE_WINSDKVER_H +#include +#endif + +/* sdkddkver.h defines more specific SDK version numbers. This is needed because older versions of the + * Windows 10 SDK have broken declarations for the C API for DirectX 12. */ +#if !defined(HAVE_SDKDDKVER_H) && defined(__has_include) +#if __has_include() +#define HAVE_SDKDDKVER_H 1 +#endif +#endif + +#ifdef HAVE_SDKDDKVER_H +#include +#endif + /* This is a set of defines to configure the SDL features */ -#if !defined(_STDINT_H_) && (!defined(HAVE_STDINT_H) || !_HAVE_STDINT_H) -#if defined(__GNUC__) || defined(__DMC__) || defined(__WATCOMC__) -#define HAVE_STDINT_H 1 -#elif defined(_MSC_VER) +#if !defined(HAVE_STDINT_H) && !defined(_STDINT_H_) +/* Most everything except Visual Studio 2008 and earlier has stdint.h now */ +#if defined(_MSC_VER) && (_MSC_VER < 1600) typedef signed __int8 int8_t; typedef unsigned __int8 uint8_t; typedef signed __int16 int16_t; @@ -47,28 +71,9 @@ typedef unsigned int uintptr_t; #endif #define _UINTPTR_T_DEFINED #endif -/* Older Visual C++ headers don't have the Win64-compatible typedefs... */ -#if ((_MSC_VER <= 1200) && (!defined(DWORD_PTR))) -#define DWORD_PTR DWORD -#endif -#if ((_MSC_VER <= 1200) && (!defined(LONG_PTR))) -#define LONG_PTR LONG -#endif -#else /* !__GNUC__ && !_MSC_VER */ -typedef signed char int8_t; -typedef unsigned char uint8_t; -typedef signed short int16_t; -typedef unsigned short uint16_t; -typedef signed int int32_t; -typedef unsigned int uint32_t; -typedef signed long long int64_t; -typedef unsigned long long uint64_t; -#ifndef _SIZE_T_DEFINED_ -#define _SIZE_T_DEFINED_ -typedef unsigned int size_t; -#endif -typedef unsigned int uintptr_t; -#endif /* __GNUC__ || _MSC_VER */ +#else +#define HAVE_STDINT_H 1 +#endif /* Visual Studio 2008 */ #endif /* !_STDINT_H_ && !HAVE_STDINT_H */ #ifdef _WIN64 @@ -77,21 +82,55 @@ typedef unsigned int uintptr_t; # define SIZEOF_VOIDP 4 #endif +#ifdef __clang__ +# define HAVE_GCC_ATOMICS 1 +#endif + #define HAVE_DDRAW_H 1 #define HAVE_DINPUT_H 1 #define HAVE_DSOUND_H 1 +#ifndef __WATCOMC__ #define HAVE_DXGI_H 1 #define HAVE_XINPUT_H 1 +#if defined(_WIN32_MAXVER) && _WIN32_MAXVER >= 0x0A00 /* Windows 10 SDK */ +#define HAVE_WINDOWS_GAMING_INPUT_H 1 +#endif +#if defined(_WIN32_MAXVER) && _WIN32_MAXVER >= 0x0602 /* Windows 8 SDK */ +#define HAVE_D3D11_H 1 +#define HAVE_ROAPI_H 1 +#endif +#if defined(__has_include) +#if __has_include() && __has_include() +#define HAVE_D3D12_H 1 +#endif +#endif +#if defined(_WIN32_MAXVER) && _WIN32_MAXVER >= 0x0603 /* Windows 8.1 SDK */ +#define HAVE_SHELLSCALINGAPI_H 1 +#endif +#define HAVE_MMDEVICEAPI_H 1 +#define HAVE_AUDIOCLIENT_H 1 +#define HAVE_TPCSHRD_H 1 +#define HAVE_SENSORSAPI_H 1 +#endif +#if (defined(_M_IX86) || defined(_M_X64) || defined(_M_AMD64)) && (defined(_MSC_VER) && _MSC_VER >= 1600) +#define HAVE_IMMINTRIN_H 1 +#elif defined(__has_include) && (defined(__i386__) || defined(__x86_64)) +# if __has_include() +# define HAVE_IMMINTRIN_H 1 +# endif +#endif /* This is disabled by default to avoid C runtime dependencies and manifest requirements */ #ifdef HAVE_LIBC /* Useful headers */ -#define HAVE_STDIO_H 1 #define STDC_HEADERS 1 -#define HAVE_STRING_H 1 #define HAVE_CTYPE_H 1 +#define HAVE_FLOAT_H 1 +#define HAVE_LIMITS_H 1 #define HAVE_MATH_H 1 #define HAVE_SIGNAL_H 1 +#define HAVE_STDIO_H 1 +#define HAVE_STRING_H 1 /* C library functions */ #define HAVE_MALLOC 1 @@ -99,7 +138,11 @@ typedef unsigned int uintptr_t; #define HAVE_REALLOC 1 #define HAVE_FREE 1 #define HAVE_ALLOCA 1 +/* OpenWatcom requires specific calling conventions for qsort and bsearch */ +#ifndef __WATCOMC__ #define HAVE_QSORT 1 +#define HAVE_BSEARCH 1 +#endif #define HAVE_ABS 1 #define HAVE_MEMSET 1 #define HAVE_MEMCPY 1 @@ -107,13 +150,16 @@ typedef unsigned int uintptr_t; #define HAVE_MEMCMP 1 #define HAVE_STRLEN 1 #define HAVE__STRREV 1 -#define HAVE__STRUPR 1 -#define HAVE__STRLWR 1 +/* These functions have security warnings, so we won't use them */ +/* #undef HAVE__STRUPR */ +/* #undef HAVE__STRLWR */ #define HAVE_STRCHR 1 #define HAVE_STRRCHR 1 #define HAVE_STRSTR 1 -#define HAVE__LTOA 1 -#define HAVE__ULTOA 1 +/* #undef HAVE_STRTOK_R */ +/* These functions have security warnings, so we won't use them */ +/* #undef HAVE__LTOA */ +/* #undef HAVE__ULTOA */ #define HAVE_STRTOL 1 #define HAVE_STRTOUL 1 #define HAVE_STRTOD 1 @@ -123,30 +169,75 @@ typedef unsigned int uintptr_t; #define HAVE_STRNCMP 1 #define HAVE__STRICMP 1 #define HAVE__STRNICMP 1 -#define HAVE_ATAN 1 -#define HAVE_ATAN2 1 -#define HAVE_ACOS 1 -#define HAVE_ASIN 1 -#define HAVE_CEIL 1 -#define HAVE_COS 1 -#define HAVE_COSF 1 -#define HAVE_FABS 1 -#define HAVE_FLOOR 1 -#define HAVE_LOG 1 -#define HAVE_POW 1 -#define HAVE_SIN 1 -#define HAVE_SINF 1 -#define HAVE_SQRT 1 -#define HAVE_SQRTF 1 -#define HAVE_TAN 1 -#define HAVE_TANF 1 +#define HAVE__WCSICMP 1 +#define HAVE__WCSNICMP 1 +#define HAVE__WCSDUP 1 +#define HAVE_ACOS 1 +#define HAVE_ASIN 1 +#define HAVE_ATAN 1 +#define HAVE_ATAN2 1 +#define HAVE_CEIL 1 +#define HAVE_COS 1 +#define HAVE_EXP 1 +#define HAVE_FABS 1 +#define HAVE_FLOOR 1 +#define HAVE_FMOD 1 +#define HAVE_LOG 1 +#define HAVE_LOG10 1 +#define HAVE_POW 1 +#define HAVE_SIN 1 +#define HAVE_SQRT 1 +#define HAVE_TAN 1 +#ifndef __WATCOMC__ +#define HAVE_ACOSF 1 +#define HAVE_ASINF 1 +#define HAVE_ATANF 1 +#define HAVE_ATAN2F 1 +#define HAVE_CEILF 1 +#define HAVE__COPYSIGN 1 +#define HAVE_COSF 1 +#define HAVE_EXPF 1 +#define HAVE_FABSF 1 +#define HAVE_FLOORF 1 +#define HAVE_FMODF 1 +#define HAVE_LOGF 1 +#define HAVE_LOG10F 1 +#define HAVE_POWF 1 +#define HAVE_SINF 1 +#define HAVE_SQRTF 1 +#define HAVE_TANF 1 +#endif +#if defined(_MSC_VER) +/* These functions were added with the VC++ 2013 C runtime library */ #if _MSC_VER >= 1800 #define HAVE_STRTOLL 1 +#define HAVE_STRTOULL 1 #define HAVE_VSSCANF 1 -#define HAVE_COPYSIGN 1 +#define HAVE_LROUND 1 +#define HAVE_LROUNDF 1 +#define HAVE_ROUND 1 +#define HAVE_ROUNDF 1 #define HAVE_SCALBN 1 +#define HAVE_SCALBNF 1 +#define HAVE_TRUNC 1 +#define HAVE_TRUNCF 1 +#endif +/* This function is available with at least the VC++ 2008 C runtime library */ +#if _MSC_VER >= 1400 +#define HAVE__FSEEKI64 1 #endif -#if !defined(_MSC_VER) || defined(_USE_MATH_DEFINES) +#ifdef _USE_MATH_DEFINES +#define HAVE_M_PI 1 +#endif +#elif defined(__WATCOMC__) +#define HAVE__FSEEKI64 1 +#define HAVE_STRTOLL 1 +#define HAVE_STRTOULL 1 +#define HAVE_VSSCANF 1 +#define HAVE_ROUND 1 +#define HAVE_SCALBN 1 +#define HAVE_TRUNC 1 +#else #define HAVE_M_PI 1 #endif #else @@ -155,23 +246,40 @@ typedef unsigned int uintptr_t; #endif /* Enable various audio drivers */ +#if defined(HAVE_MMDEVICEAPI_H) && defined(HAVE_AUDIOCLIENT_H) #define SDL_AUDIO_DRIVER_WASAPI 1 +#endif #define SDL_AUDIO_DRIVER_DSOUND 1 -#define SDL_AUDIO_DRIVER_XAUDIO2 0 #define SDL_AUDIO_DRIVER_WINMM 1 #define SDL_AUDIO_DRIVER_DISK 1 #define SDL_AUDIO_DRIVER_DUMMY 1 /* Enable various input drivers */ #define SDL_JOYSTICK_DINPUT 1 +#define SDL_JOYSTICK_HIDAPI 1 +#ifndef __WINRT__ +#define SDL_JOYSTICK_RAWINPUT 1 +#endif +#define SDL_JOYSTICK_VIRTUAL 1 +#ifdef HAVE_WINDOWS_GAMING_INPUT_H +#define SDL_JOYSTICK_WGI 1 +#endif #define SDL_JOYSTICK_XINPUT 1 #define SDL_HAPTIC_DINPUT 1 #define SDL_HAPTIC_XINPUT 1 +/* Enable the sensor driver */ +#ifdef HAVE_SENSORSAPI_H +#define SDL_SENSOR_WINDOWS 1 +#else +#define SDL_SENSOR_DUMMY 1 +#endif + /* Enable various shared object loading systems */ #define SDL_LOADSO_WINDOWS 1 /* Enable various threading systems */ +#define SDL_THREAD_GENERIC_COND_SUFFIX 1 #define SDL_THREAD_WINDOWS 1 /* Enable various timer systems */ @@ -184,8 +292,11 @@ typedef unsigned int uintptr_t; #ifndef SDL_VIDEO_RENDER_D3D #define SDL_VIDEO_RENDER_D3D 1 #endif -#ifndef SDL_VIDEO_RENDER_D3D11 -#define SDL_VIDEO_RENDER_D3D11 0 +#if !defined(SDL_VIDEO_RENDER_D3D11) && defined(HAVE_D3D11_H) +#define SDL_VIDEO_RENDER_D3D11 1 +#endif +#if !defined(SDL_VIDEO_RENDER_D3D12) && defined(HAVE_D3D12_H) +#define SDL_VIDEO_RENDER_D3D12 1 #endif /* Enable OpenGL support */ @@ -217,9 +328,6 @@ typedef unsigned int uintptr_t; /* Enable filesystem support */ #define SDL_FILESYSTEM_WINDOWS 1 -/* Enable assembly routines (Win64 doesn't have inline asm) */ -#ifndef _WIN64 -#define SDL_ASSEMBLY_ROUTINES 1 -#endif - #endif /* SDL_config_windows_h_ */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/extlib/SDL2/include/SDL_config_wingdk.h b/extlib/SDL2/include/SDL_config_wingdk.h new file mode 100644 index 00000000..c2a63b5b --- /dev/null +++ b/extlib/SDL2/include/SDL_config_wingdk.h @@ -0,0 +1,253 @@ +/* + Simple DirectMedia Layer + Copyright (C) 1997-2024 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. +*/ + +#ifndef SDL_config_wingdk_h_ +#define SDL_config_wingdk_h_ +#define SDL_config_h_ + +#include "SDL_platform.h" + +/* Windows GDK does not need Windows SDK version checks because it requires + * a recent version of the Windows 10 SDK. */ + +/* GDK only supports 64-bit */ +# define SIZEOF_VOIDP 8 + +#ifdef __clang__ +# define HAVE_GCC_ATOMICS 1 +#endif + +#define HAVE_DDRAW_H 1 +#define HAVE_DINPUT_H 1 +#define HAVE_DSOUND_H 1 +/* No SDK version checks needed for these because the SDK has to be new. */ +#define HAVE_DXGI_H 1 +#define HAVE_XINPUT_H 1 +#define HAVE_WINDOWS_GAMING_INPUT_H 1 +#define HAVE_D3D11_H 1 +#define HAVE_ROAPI_H 1 +#define HAVE_D3D12_H 1 +#define HAVE_SHELLSCALINGAPI_H 1 +#define HAVE_MMDEVICEAPI_H 1 +#define HAVE_AUDIOCLIENT_H 1 +#define HAVE_TPCSHRD_H 1 +#define HAVE_SENSORSAPI_H 1 +#if (defined(_M_IX86) || defined(_M_X64) || defined(_M_AMD64)) && (defined(_MSC_VER) && _MSC_VER >= 1600) +#define HAVE_IMMINTRIN_H 1 +#elif defined(__has_include) && (defined(__i386__) || defined(__x86_64)) +# if __has_include() +# define HAVE_IMMINTRIN_H 1 +# endif +#endif + +/* This is disabled by default to avoid C runtime dependencies and manifest requirements */ +#ifdef HAVE_LIBC +/* Useful headers */ +#define STDC_HEADERS 1 +#define HAVE_CTYPE_H 1 +#define HAVE_FLOAT_H 1 +#define HAVE_LIMITS_H 1 +#define HAVE_MATH_H 1 +#define HAVE_SIGNAL_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_STDIO_H 1 +#define HAVE_STRING_H 1 + +/* C library functions */ +#define HAVE_MALLOC 1 +#define HAVE_CALLOC 1 +#define HAVE_REALLOC 1 +#define HAVE_FREE 1 +#define HAVE_ALLOCA 1 +#define HAVE_QSORT 1 +#define HAVE_BSEARCH 1 +#define HAVE_ABS 1 +#define HAVE_MEMSET 1 +#define HAVE_MEMCPY 1 +#define HAVE_MEMMOVE 1 +#define HAVE_MEMCMP 1 +#define HAVE_STRLEN 1 +#define HAVE__STRREV 1 +/* These functions have security warnings, so we won't use them */ +/* #undef HAVE__STRUPR */ +/* #undef HAVE__STRLWR */ +#define HAVE_STRCHR 1 +#define HAVE_STRRCHR 1 +#define HAVE_STRSTR 1 +/* #undef HAVE_STRTOK_R */ +/* These functions have security warnings, so we won't use them */ +/* #undef HAVE__LTOA */ +/* #undef HAVE__ULTOA */ +#define HAVE_STRTOL 1 +#define HAVE_STRTOUL 1 +#define HAVE_STRTOD 1 +#define HAVE_ATOI 1 +#define HAVE_ATOF 1 +#define HAVE_STRCMP 1 +#define HAVE_STRNCMP 1 +#define HAVE__STRICMP 1 +#define HAVE__STRNICMP 1 +#define HAVE__WCSICMP 1 +#define HAVE__WCSNICMP 1 +#define HAVE__WCSDUP 1 +#define HAVE_ACOS 1 +#define HAVE_ASIN 1 +#define HAVE_ATAN 1 +#define HAVE_ATAN2 1 +#define HAVE_CEIL 1 +#define HAVE_COS 1 +#define HAVE_EXP 1 +#define HAVE_FABS 1 +#define HAVE_FLOOR 1 +#define HAVE_FMOD 1 +#define HAVE_LOG 1 +#define HAVE_LOG10 1 +#define HAVE_POW 1 +#define HAVE_SIN 1 +#define HAVE_SQRT 1 +#define HAVE_TAN 1 +#define HAVE_ACOSF 1 +#define HAVE_ASINF 1 +#define HAVE_ATANF 1 +#define HAVE_ATAN2F 1 +#define HAVE_CEILF 1 +#define HAVE__COPYSIGN 1 +#define HAVE_COSF 1 +#define HAVE_EXPF 1 +#define HAVE_FABSF 1 +#define HAVE_FLOORF 1 +#define HAVE_FMODF 1 +#define HAVE_LOGF 1 +#define HAVE_LOG10F 1 +#define HAVE_POWF 1 +#define HAVE_SINF 1 +#define HAVE_SQRTF 1 +#define HAVE_TANF 1 +#if defined(_MSC_VER) +/* These functions were added with the VC++ 2013 C runtime library */ +#define HAVE_STRTOLL 1 +#define HAVE_STRTOULL 1 +#define HAVE_VSSCANF 1 +#define HAVE_LROUND 1 +#define HAVE_LROUNDF 1 +#define HAVE_ROUND 1 +#define HAVE_ROUNDF 1 +#define HAVE_SCALBN 1 +#define HAVE_SCALBNF 1 +#define HAVE_TRUNC 1 +#define HAVE_TRUNCF 1 +#define HAVE__FSEEKI64 1 +#ifdef _USE_MATH_DEFINES +#define HAVE_M_PI 1 +#endif +#else +#define HAVE_M_PI 1 +#endif +#else +#define HAVE_STDARG_H 1 +#define HAVE_STDDEF_H 1 +#define HAVE_STDINT_H 1 +#endif + +/* Enable various audio drivers */ +#if defined(HAVE_MMDEVICEAPI_H) && defined(HAVE_AUDIOCLIENT_H) +#define SDL_AUDIO_DRIVER_WASAPI 1 +#endif +#define SDL_AUDIO_DRIVER_DSOUND 1 +#define SDL_AUDIO_DRIVER_WINMM 1 +#define SDL_AUDIO_DRIVER_DISK 1 +#define SDL_AUDIO_DRIVER_DUMMY 1 + +/* Enable various input drivers */ +#define SDL_JOYSTICK_DINPUT 1 +#define SDL_JOYSTICK_HIDAPI 1 +#define SDL_JOYSTICK_RAWINPUT 1 +#define SDL_JOYSTICK_VIRTUAL 1 +#ifdef HAVE_WINDOWS_GAMING_INPUT_H +#define SDL_JOYSTICK_WGI 1 +#endif +#define SDL_JOYSTICK_XINPUT 1 +#define SDL_HAPTIC_DINPUT 1 +#define SDL_HAPTIC_XINPUT 1 + +/* Enable the sensor driver */ +#ifdef HAVE_SENSORSAPI_H +#define SDL_SENSOR_WINDOWS 1 +#else +#define SDL_SENSOR_DUMMY 1 +#endif + +/* Enable various shared object loading systems */ +#define SDL_LOADSO_WINDOWS 1 + +/* Enable various threading systems */ +#define SDL_THREAD_GENERIC_COND_SUFFIX 1 +#define SDL_THREAD_WINDOWS 1 + +/* Enable various timer systems */ +#define SDL_TIMER_WINDOWS 1 + +/* Enable various video drivers */ +#define SDL_VIDEO_DRIVER_DUMMY 1 +#define SDL_VIDEO_DRIVER_WINDOWS 1 + +#ifndef SDL_VIDEO_RENDER_D3D +#define SDL_VIDEO_RENDER_D3D 1 +#endif +#if !defined(SDL_VIDEO_RENDER_D3D11) && defined(HAVE_D3D11_H) +#define SDL_VIDEO_RENDER_D3D11 1 +#endif +#if !defined(SDL_VIDEO_RENDER_D3D12) && defined(HAVE_D3D12_H) +#define SDL_VIDEO_RENDER_D3D12 1 +#endif + +/* Enable OpenGL support */ +#ifndef SDL_VIDEO_OPENGL +#define SDL_VIDEO_OPENGL 1 +#endif +#ifndef SDL_VIDEO_OPENGL_WGL +#define SDL_VIDEO_OPENGL_WGL 1 +#endif +#ifndef SDL_VIDEO_RENDER_OGL +#define SDL_VIDEO_RENDER_OGL 1 +#endif +#ifndef SDL_VIDEO_RENDER_OGL_ES2 +#define SDL_VIDEO_RENDER_OGL_ES2 1 +#endif +#ifndef SDL_VIDEO_OPENGL_ES2 +#define SDL_VIDEO_OPENGL_ES2 1 +#endif +#ifndef SDL_VIDEO_OPENGL_EGL +#define SDL_VIDEO_OPENGL_EGL 1 +#endif + +/* Enable Vulkan support */ +#define SDL_VIDEO_VULKAN 1 + +/* Enable system power support */ +#define SDL_POWER_WINDOWS 1 + +/* Enable filesystem support */ +#define SDL_FILESYSTEM_WINDOWS 1 + +#endif /* SDL_config_wingdk_h_ */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/extlib/SDL2/include/SDL_config_winrt.h b/extlib/SDL2/include/SDL_config_winrt.h index 24f9e17f..3a114564 100644 --- a/extlib/SDL2/include/SDL_config_winrt.h +++ b/extlib/SDL2/include/SDL_config_winrt.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2017 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -42,69 +42,36 @@ /* This is a set of defines to configure the SDL features */ -#if !defined(_STDINT_H_) && (!defined(HAVE_STDINT_H) || !_HAVE_STDINT_H) -#if defined(__GNUC__) || defined(__DMC__) || defined(__WATCOMC__) -#define HAVE_STDINT_H 1 -#elif defined(_MSC_VER) -typedef signed __int8 int8_t; -typedef unsigned __int8 uint8_t; -typedef signed __int16 int16_t; -typedef unsigned __int16 uint16_t; -typedef signed __int32 int32_t; -typedef unsigned __int32 uint32_t; -typedef signed __int64 int64_t; -typedef unsigned __int64 uint64_t; -#ifndef _UINTPTR_T_DEFINED -#ifdef _WIN64 -typedef unsigned __int64 uintptr_t; -#else -typedef unsigned int uintptr_t; -#endif -#define _UINTPTR_T_DEFINED -#endif -/* Older Visual C++ headers don't have the Win64-compatible typedefs... */ -#if ((_MSC_VER <= 1200) && (!defined(DWORD_PTR))) -#define DWORD_PTR DWORD -#endif -#if ((_MSC_VER <= 1200) && (!defined(LONG_PTR))) -#define LONG_PTR LONG -#endif -#else /* !__GNUC__ && !_MSC_VER */ -typedef signed char int8_t; -typedef unsigned char uint8_t; -typedef signed short int16_t; -typedef unsigned short uint16_t; -typedef signed int int32_t; -typedef unsigned int uint32_t; -typedef signed long long int64_t; -typedef unsigned long long uint64_t; -#ifndef _SIZE_T_DEFINED_ -#define _SIZE_T_DEFINED_ -typedef unsigned int size_t; -#endif -typedef unsigned int uintptr_t; -#endif /* __GNUC__ || _MSC_VER */ -#endif /* !_STDINT_H_ && !HAVE_STDINT_H */ - #ifdef _WIN64 # define SIZEOF_VOIDP 8 #else # define SIZEOF_VOIDP 4 #endif +#ifdef __clang__ +# define HAVE_GCC_ATOMICS 1 +#endif + /* Useful headers */ #define HAVE_DXGI_H 1 -#if WINAPI_FAMILY != WINAPI_FAMILY_PHONE_APP +#if !SDL_WINAPI_FAMILY_PHONE #define HAVE_XINPUT_H 1 #endif + +#define HAVE_MMDEVICEAPI_H 1 +#define HAVE_AUDIOCLIENT_H 1 +#define HAVE_TPCSHRD_H 1 + #define HAVE_LIBC 1 -#define HAVE_STDIO_H 1 #define STDC_HEADERS 1 -#define HAVE_STRING_H 1 #define HAVE_CTYPE_H 1 -#define HAVE_MATH_H 1 #define HAVE_FLOAT_H 1 +#define HAVE_LIMITS_H 1 +#define HAVE_MATH_H 1 #define HAVE_SIGNAL_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_STDIO_H 1 +#define HAVE_STRING_H 1 /* C library functions */ #define HAVE_MALLOC 1 @@ -113,6 +80,7 @@ typedef unsigned int uintptr_t; #define HAVE_FREE 1 #define HAVE_ALLOCA 1 #define HAVE_QSORT 1 +#define HAVE_BSEARCH 1 #define HAVE_ABS 1 #define HAVE_MEMSET 1 #define HAVE_MEMCPY 1 @@ -121,16 +89,13 @@ typedef unsigned int uintptr_t; #define HAVE_STRLEN 1 #define HAVE__STRREV 1 #define HAVE__STRUPR 1 -//#define HAVE__STRLWR 1 // TODO, WinRT: consider using _strlwr_s instead #define HAVE_STRCHR 1 #define HAVE_STRRCHR 1 #define HAVE_STRSTR 1 -//#define HAVE_ITOA 1 // TODO, WinRT: consider using _itoa_s instead -//#define HAVE__LTOA 1 // TODO, WinRT: consider using _ltoa_s instead -//#define HAVE__ULTOA 1 // TODO, WinRT: consider using _ultoa_s instead #define HAVE_STRTOL 1 #define HAVE_STRTOUL 1 -//#define HAVE_STRTOLL 1 +/* #undef HAVE_STRTOLL */ +/* #undef HAVE_STRTOULL */ #define HAVE_STRTOD 1 #define HAVE_ATOI 1 #define HAVE_ATOF 1 @@ -139,47 +104,89 @@ typedef unsigned int uintptr_t; #define HAVE__STRICMP 1 #define HAVE__STRNICMP 1 #define HAVE_VSNPRINTF 1 -//#define HAVE_SSCANF 1 // TODO, WinRT: consider using sscanf_s instead +/* TODO, WinRT: consider using ??_s versions of the following */ +/* #undef HAVE__STRLWR */ +/* #undef HAVE_ITOA */ +/* #undef HAVE__LTOA */ +/* #undef HAVE__ULTOA */ +/* #undef HAVE_SSCANF */ #define HAVE_M_PI 1 -#define HAVE_ATAN 1 -#define HAVE_ATAN2 1 -#define HAVE_CEIL 1 +#define HAVE_ACOS 1 +#define HAVE_ACOSF 1 +#define HAVE_ASIN 1 +#define HAVE_ASINF 1 +#define HAVE_ATAN 1 +#define HAVE_ATANF 1 +#define HAVE_ATAN2 1 +#define HAVE_ATAN2F 1 +#define HAVE_CEIL 1 +#define HAVE_CEILF 1 #define HAVE__COPYSIGN 1 -#define HAVE_COS 1 -#define HAVE_COSF 1 -#define HAVE_FABS 1 -#define HAVE_FLOOR 1 -#define HAVE_LOG 1 -#define HAVE_POW 1 -//#define HAVE_SCALBN 1 +#define HAVE_COS 1 +#define HAVE_COSF 1 +#define HAVE_EXP 1 +#define HAVE_EXPF 1 +#define HAVE_FABS 1 +#define HAVE_FABSF 1 +#define HAVE_FLOOR 1 +#define HAVE_FLOORF 1 +#define HAVE_FMOD 1 +#define HAVE_FMODF 1 +#define HAVE_LOG 1 +#define HAVE_LOGF 1 +#define HAVE_LOG10 1 +#define HAVE_LOG10F 1 +#define HAVE_LROUND 1 +#define HAVE_LROUNDF 1 +#define HAVE_POW 1 +#define HAVE_POWF 1 +#define HAVE_ROUND 1 +#define HAVE_ROUNDF 1 #define HAVE__SCALB 1 -#define HAVE_SIN 1 -#define HAVE_SINF 1 -#define HAVE_SQRT 1 -#define HAVE_SQRTF 1 -#define HAVE_TAN 1 -#define HAVE_TANF 1 +#define HAVE_SIN 1 +#define HAVE_SINF 1 +#define HAVE_SQRT 1 +#define HAVE_SQRTF 1 +#define HAVE_TAN 1 +#define HAVE_TANF 1 +#define HAVE_TRUNC 1 +#define HAVE_TRUNCF 1 #define HAVE__FSEEKI64 1 +#define HAVE_ROAPI_H 1 + /* Enable various audio drivers */ -#define SDL_AUDIO_DRIVER_XAUDIO2 1 -#define SDL_AUDIO_DRIVER_DISK 1 -#define SDL_AUDIO_DRIVER_DUMMY 1 +#define SDL_AUDIO_DRIVER_WASAPI 1 +#define SDL_AUDIO_DRIVER_DISK 1 +#define SDL_AUDIO_DRIVER_DUMMY 1 /* Enable various input drivers */ -#if WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP +#if SDL_WINAPI_FAMILY_PHONE #define SDL_JOYSTICK_DISABLED 1 -#define SDL_HAPTIC_DISABLED 1 +#define SDL_HAPTIC_DISABLED 1 +#else +#define SDL_JOYSTICK_VIRTUAL 1 +#if (NTDDI_VERSION >= NTDDI_WIN10) +#define SDL_JOYSTICK_WGI 1 +#define SDL_HAPTIC_DISABLED 1 #else #define SDL_JOYSTICK_XINPUT 1 #define SDL_HAPTIC_XINPUT 1 +#endif /* WIN10 */ #endif +/* WinRT doesn't have HIDAPI available */ +#define SDL_HIDAPI_DISABLED 1 + +/* Enable the dummy sensor driver */ +#define SDL_SENSOR_DUMMY 1 + /* Enable various shared object loading systems */ -#define SDL_LOADSO_WINDOWS 1 +#define SDL_LOADSO_WINDOWS 1 /* Enable various threading systems */ #if (NTDDI_VERSION >= NTDDI_WINBLUE) +#define SDL_THREAD_GENERIC_COND_SUFFIX 1 #define SDL_THREAD_WINDOWS 1 #else /* WinRT on Windows 8.0 and Windows Phone 8.0 don't support CreateThread() */ @@ -187,10 +194,10 @@ typedef unsigned int uintptr_t; #endif /* Enable various timer systems */ -#define SDL_TIMER_WINDOWS 1 +#define SDL_TIMER_WINDOWS 1 /* Enable various video drivers */ -#define SDL_VIDEO_DRIVER_WINRT 1 +#define SDL_VIDEO_DRIVER_WINRT 1 #define SDL_VIDEO_DRIVER_DUMMY 1 /* Enable OpenGL ES 2.0 (via a modified ANGLE library) */ @@ -200,16 +207,14 @@ typedef unsigned int uintptr_t; /* Enable appropriate renderer(s) */ #define SDL_VIDEO_RENDER_D3D11 1 -#if SDL_VIDEO_OPENGL_ES2 +/* Disable D3D12 as it's not implemented for WinRT */ +/* #undef SDL_VIDEO_RENDER_D3D12 */ + +#ifdef SDL_VIDEO_OPENGL_ES2 #define SDL_VIDEO_RENDER_OGL_ES2 1 #endif /* Enable system power support */ #define SDL_POWER_WINRT 1 -/* Enable assembly routines (Win64 doesn't have inline asm) */ -#ifndef _WIN64 -#define SDL_ASSEMBLY_ROUTINES 1 -#endif - #endif /* SDL_config_winrt_h_ */ diff --git a/extlib/SDL2/include/SDL_config_wiz.h b/extlib/SDL2/include/SDL_config_wiz.h deleted file mode 100644 index 5bb845a0..00000000 --- a/extlib/SDL2/include/SDL_config_wiz.h +++ /dev/null @@ -1,121 +0,0 @@ -/* - Simple DirectMedia Layer - Copyright (C) 1997-2017 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. -*/ - -#ifndef SDL_config_wiz_h_ -#define SDL_config_wiz_h_ -#define SDL_config_h_ - -/* This is a set of defines to configure the SDL features */ - -/* General platform specific identifiers */ -#include "SDL_platform.h" - -#define SDL_BYTEORDER 1234 - -#define HAVE_ALLOCA_H 1 -#define HAVE_SYS_TYPES_H 1 -#define HAVE_STDIO_H 1 -#define STDC_HEADERS 1 -#define HAVE_STDLIB_H 1 -#define HAVE_STDARG_H 1 -#define HAVE_MALLOC_H 1 -#define HAVE_MEMORY_H 1 -#define HAVE_STRING_H 1 -#define HAVE_STRINGS_H 1 -#define HAVE_INTTYPES_H 1 -#define HAVE_STDINT_H 1 -#define HAVE_CTYPE_H 1 -#define HAVE_MATH_H 1 -#define HAVE_ICONV_H 1 -#define HAVE_SIGNAL_H 1 -#define HAVE_MALLOC 1 -#define HAVE_CALLOC 1 -#define HAVE_REALLOC 1 -#define HAVE_FREE 1 -#define HAVE_ALLOCA 1 -#define HAVE_GETENV 1 -#define HAVE_SETENV 1 -#define HAVE_PUTENV 1 -#define HAVE_UNSETENV 1 -#define HAVE_QSORT 1 -#define HAVE_ABS 1 -#define HAVE_BCOPY 1 -#define HAVE_MEMSET 1 -#define HAVE_MEMCPY 1 -#define HAVE_MEMMOVE 1 -#define HAVE_STRLEN 1 -#define HAVE_STRDUP 1 -#define HAVE_STRCHR 1 -#define HAVE_STRRCHR 1 -#define HAVE_STRSTR 1 -#define HAVE_STRTOL 1 -#define HAVE_STRTOUL 1 -#define HAVE_STRTOLL 1 -#define HAVE_STRTOULL 1 -#define HAVE_ATOI 1 -#define HAVE_ATOF 1 -#define HAVE_STRCMP 1 -#define HAVE_STRNCMP 1 -#define HAVE_STRCASECMP 1 -#define HAVE_STRNCASECMP 1 -#define HAVE_VSSCANF 1 -#define HAVE_VSNPRINTF 1 -#define HAVE_M_PI 1 -#define HAVE_CEIL 1 -#define HAVE_COPYSIGN 1 -#define HAVE_COS 1 -#define HAVE_COSF 1 -#define HAVE_FABS 1 -#define HAVE_FLOOR 1 -#define HAVE_LOG 1 -#define HAVE_SCALBN 1 -#define HAVE_SIN 1 -#define HAVE_SINF 1 -#define HAVE_SQRT 1 -#define HAVE_SQRTF 1 -#define HAVE_TAN 1 -#define HAVE_TANF 1 -#define HAVE_SIGACTION 1 -#define HAVE_SETJMP 1 -#define HAVE_NANOSLEEP 1 -#define HAVE_POW 1 - -#define SDL_AUDIO_DRIVER_DUMMY 1 -#define SDL_AUDIO_DRIVER_OSS 1 - -#define SDL_INPUT_LINUXEV 1 -#define SDL_INPUT_TSLIB 1 -#define SDL_JOYSTICK_LINUX 1 -#define SDL_HAPTIC_LINUX 1 - -#define SDL_LOADSO_DLOPEN 1 - -#define SDL_THREAD_PTHREAD 1 -#define SDL_THREAD_PTHREAD_RECURSIVE_MUTEX_NP 1 - -#define SDL_TIMER_UNIX 1 - -#define SDL_VIDEO_DRIVER_DUMMY 1 -#define SDL_VIDEO_DRIVER_PANDORA 1 -#define SDL_VIDEO_RENDER_OGL_ES 1 -#define SDL_VIDEO_OPENGL_ES 1 - -#endif /* SDL_config_wiz_h_ */ diff --git a/extlib/SDL2/include/SDL_config_xbox.h b/extlib/SDL2/include/SDL_config_xbox.h new file mode 100644 index 00000000..a2ea8cba --- /dev/null +++ b/extlib/SDL2/include/SDL_config_xbox.h @@ -0,0 +1,240 @@ +/* + Simple DirectMedia Layer + Copyright (C) 1997-2024 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. +*/ + +#ifndef SDL_config_wingdk_h_ +#define SDL_config_wingdk_h_ +#define SDL_config_h_ + +#include "SDL_platform.h" + +/* Windows GDK does not need Windows SDK version checks because it requires + * a recent version of the Windows 10 SDK. */ + +/* GDK only supports 64-bit */ +# define SIZEOF_VOIDP 8 + +#ifdef __clang__ +# define HAVE_GCC_ATOMICS 1 +#endif + +/*#define HAVE_DDRAW_H 1*/ +/*#define HAVE_DINPUT_H 1*/ +/*#define HAVE_DSOUND_H 1*/ +/* No SDK version checks needed for these because the SDK has to be new. */ +/* #define HAVE_DXGI_H 1 */ +#define HAVE_XINPUT_H 1 +/*#define HAVE_WINDOWS_GAMING_INPUT_H 1*/ +/*#define HAVE_D3D11_H 1*/ +/*#define HAVE_ROAPI_H 1*/ +#define HAVE_D3D12_H 1 +/*#define HAVE_SHELLSCALINGAPI_H 1*/ +#define HAVE_MMDEVICEAPI_H 1 +#define HAVE_AUDIOCLIENT_H 1 +/*#define HAVE_TPCSHRD_H 1*/ +/*#define HAVE_SENSORSAPI_H 1*/ +#if (defined(_M_IX86) || defined(_M_X64) || defined(_M_AMD64)) && (defined(_MSC_VER) && _MSC_VER >= 1600) +#define HAVE_IMMINTRIN_H 1 +#elif defined(__has_include) && (defined(__i386__) || defined(__x86_64)) +# if __has_include() +# define HAVE_IMMINTRIN_H 1 +# endif +#endif + +/* This is disabled by default to avoid C runtime dependencies and manifest requirements */ +#ifdef HAVE_LIBC +/* Useful headers */ +#define STDC_HEADERS 1 +#define HAVE_CTYPE_H 1 +#define HAVE_FLOAT_H 1 +#define HAVE_LIMITS_H 1 +#define HAVE_MATH_H 1 +#define HAVE_SIGNAL_H 1 +#define HAVE_STDINT_H 1 +#define HAVE_STDIO_H 1 +#define HAVE_STRING_H 1 + +/* C library functions */ +#define HAVE_MALLOC 1 +#define HAVE_CALLOC 1 +#define HAVE_REALLOC 1 +#define HAVE_FREE 1 +#define HAVE_ALLOCA 1 +#define HAVE_QSORT 1 +#define HAVE_BSEARCH 1 +#define HAVE_ABS 1 +#define HAVE_MEMSET 1 +#define HAVE_MEMCPY 1 +#define HAVE_MEMMOVE 1 +#define HAVE_MEMCMP 1 +#define HAVE_STRLEN 1 +#define HAVE__STRREV 1 +/* These functions have security warnings, so we won't use them */ +/* #undef HAVE__STRUPR */ +/* #undef HAVE__STRLWR */ +#define HAVE_STRCHR 1 +#define HAVE_STRRCHR 1 +#define HAVE_STRSTR 1 +/* #undef HAVE_STRTOK_R */ +/* These functions have security warnings, so we won't use them */ +/* #undef HAVE__LTOA */ +/* #undef HAVE__ULTOA */ +#define HAVE_STRTOL 1 +#define HAVE_STRTOUL 1 +#define HAVE_STRTOD 1 +#define HAVE_ATOI 1 +#define HAVE_ATOF 1 +#define HAVE_STRCMP 1 +#define HAVE_STRNCMP 1 +#define HAVE__STRICMP 1 +#define HAVE__STRNICMP 1 +#define HAVE__WCSICMP 1 +#define HAVE__WCSNICMP 1 +#define HAVE__WCSDUP 1 +#define HAVE_ACOS 1 +#define HAVE_ASIN 1 +#define HAVE_ATAN 1 +#define HAVE_ATAN2 1 +#define HAVE_CEIL 1 +#define HAVE_COS 1 +#define HAVE_EXP 1 +#define HAVE_FABS 1 +#define HAVE_FLOOR 1 +#define HAVE_FMOD 1 +#define HAVE_LOG 1 +#define HAVE_LOG10 1 +#define HAVE_POW 1 +#define HAVE_SIN 1 +#define HAVE_SQRT 1 +#define HAVE_TAN 1 +#define HAVE_ACOSF 1 +#define HAVE_ASINF 1 +#define HAVE_ATANF 1 +#define HAVE_ATAN2F 1 +#define HAVE_CEILF 1 +#define HAVE__COPYSIGN 1 +#define HAVE_COSF 1 +#define HAVE_EXPF 1 +#define HAVE_FABSF 1 +#define HAVE_FLOORF 1 +#define HAVE_FMODF 1 +#define HAVE_LOGF 1 +#define HAVE_LOG10F 1 +#define HAVE_POWF 1 +#define HAVE_SINF 1 +#define HAVE_SQRTF 1 +#define HAVE_TANF 1 +#if defined(_MSC_VER) +/* These functions were added with the VC++ 2013 C runtime library */ +#define HAVE_STRTOLL 1 +#define HAVE_STRTOULL 1 +#define HAVE_VSSCANF 1 +#define HAVE_LROUND 1 +#define HAVE_LROUNDF 1 +#define HAVE_ROUND 1 +#define HAVE_ROUNDF 1 +#define HAVE_SCALBN 1 +#define HAVE_SCALBNF 1 +#define HAVE_TRUNC 1 +#define HAVE_TRUNCF 1 +#define HAVE__FSEEKI64 1 +#ifdef _USE_MATH_DEFINES +#define HAVE_M_PI 1 +#endif +#else +#define HAVE_M_PI 1 +#endif +#else +#define HAVE_STDARG_H 1 +#define HAVE_STDDEF_H 1 +#define HAVE_STDINT_H 1 +#endif + +/* Enable various audio drivers */ +#if defined(HAVE_MMDEVICEAPI_H) && defined(HAVE_AUDIOCLIENT_H) +#define SDL_AUDIO_DRIVER_WASAPI 1 +#endif +/*#define SDL_AUDIO_DRIVER_DSOUND 1*/ +/*#define SDL_AUDIO_DRIVER_WINMM 1*/ +#define SDL_AUDIO_DRIVER_DISK 1 +#define SDL_AUDIO_DRIVER_DUMMY 1 + +/* Enable various input drivers */ +/*#define SDL_JOYSTICK_DINPUT 1*/ +/*#define SDL_JOYSTICK_HIDAPI 1*/ +/*#define SDL_JOYSTICK_RAWINPUT 1*/ +#define SDL_JOYSTICK_VIRTUAL 1 +#ifdef HAVE_WINDOWS_GAMING_INPUT_H +#define SDL_JOYSTICK_WGI 1 +#endif +#define SDL_JOYSTICK_XINPUT 1 +/*#define SDL_HAPTIC_DINPUT 1*/ +#define SDL_HAPTIC_XINPUT 1 + +/* Enable the sensor driver */ +#ifdef HAVE_SENSORSAPI_H +#define SDL_SENSOR_WINDOWS 1 +#else +#define SDL_SENSOR_DUMMY 1 +#endif + +/* Enable various shared object loading systems */ +#define SDL_LOADSO_WINDOWS 1 + +/* Enable various threading systems */ +#define SDL_THREAD_GENERIC_COND_SUFFIX 1 +#define SDL_THREAD_WINDOWS 1 + +/* Enable various timer systems */ +#define SDL_TIMER_WINDOWS 1 + +/* Enable various video drivers */ +#define SDL_VIDEO_DRIVER_DUMMY 1 +#define SDL_VIDEO_DRIVER_WINDOWS 1 + +#if !defined(SDL_VIDEO_RENDER_D3D12) && defined(HAVE_D3D12_H) +#define SDL_VIDEO_RENDER_D3D12 1 +#endif + +/* Enable OpenGL support */ +#ifndef SDL_VIDEO_OPENGL +#define SDL_VIDEO_OPENGL 1 +#endif +#ifndef SDL_VIDEO_OPENGL_WGL +#define SDL_VIDEO_OPENGL_WGL 1 +#endif +#ifndef SDL_VIDEO_RENDER_OGL +#define SDL_VIDEO_RENDER_OGL 1 +#endif + +/* Enable system power support */ +/*#define SDL_POWER_WINDOWS 1*/ +#define SDL_POWER_HARDWIRED 1 + +/* Enable filesystem support */ +/* #define SDL_FILESYSTEM_WINDOWS 1*/ +#define SDL_FILESYSTEM_XBOX 1 + +/* Disable IME as not supported yet (TODO: Xbox IME?) */ +#define SDL_DISABLE_WINDOWS_IME 1 + +#endif /* SDL_config_wingdk_h_ */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/extlib/SDL2/include/SDL_copying.h b/extlib/SDL2/include/SDL_copying.h index 8f60af6b..da908931 100644 --- a/extlib/SDL2/include/SDL_copying.h +++ b/extlib/SDL2/include/SDL_copying.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2017 Sam Lantinga + Copyright (C) 1997-2024 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 diff --git a/extlib/SDL2/include/SDL_cpuinfo.h b/extlib/SDL2/include/SDL_cpuinfo.h index 43a8ac50..2a9dd380 100644 --- a/extlib/SDL2/include/SDL_cpuinfo.h +++ b/extlib/SDL2/include/SDL_cpuinfo.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -90,6 +90,7 @@ _m_prefetch(void *__P) # include # include # define __ARM_NEON 1 /* Set __ARM_NEON so that it can be used elsewhere, at compile time */ +# define __ARM_ARCH 8 # endif # endif #endif diff --git a/extlib/SDL2/include/SDL_egl.h b/extlib/SDL2/include/SDL_egl.h index f90e27b2..a4276e68 100644 --- a/extlib/SDL2/include/SDL_egl.h +++ b/extlib/SDL2/include/SDL_egl.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -192,6 +192,20 @@ typedef int64_t khronos_int64_t; typedef uint64_t khronos_uint64_t; #define KHRONOS_SUPPORT_INT64 1 #define KHRONOS_SUPPORT_FLOAT 1 +/* + * To support platform where unsigned long cannot be used interchangeably with + * inptr_t (e.g. CHERI-extended ISAs), we can use the stdint.h intptr_t. + * Ideally, we could just use (u)intptr_t everywhere, but this could result in + * ABI breakage if khronos_uintptr_t is changed from unsigned long to + * unsigned long long or similar (this results in different C++ name mangling). + * To avoid changes for existing platforms, we restrict usage of intptr_t to + * platforms where the size of a pointer is larger than the size of long. + */ +#if defined(__SIZEOF_LONG__) && defined(__SIZEOF_POINTER__) +#if __SIZEOF_POINTER__ > __SIZEOF_LONG__ +#define KHRONOS_USE_INTPTR_T +#endif +#endif #elif defined(__VMS ) || defined(__sgi) @@ -274,14 +288,21 @@ typedef unsigned short int khronos_uint16_t; * pointers are 64 bits, but 'long' is still 32 bits. Win64 appears * to be the only LLP64 architecture in current use. */ -#ifdef _WIN64 +#ifdef KHRONOS_USE_INTPTR_T +typedef intptr_t khronos_intptr_t; +typedef uintptr_t khronos_uintptr_t; +#elif defined(_WIN64) typedef signed long long int khronos_intptr_t; typedef unsigned long long int khronos_uintptr_t; -typedef signed long long int khronos_ssize_t; -typedef unsigned long long int khronos_usize_t; #else typedef signed long int khronos_intptr_t; typedef unsigned long int khronos_uintptr_t; +#endif + +#if defined(_WIN64) +typedef signed long long int khronos_ssize_t; +typedef unsigned long long int khronos_usize_t; +#else typedef signed long int khronos_ssize_t; typedef unsigned long int khronos_usize_t; #endif @@ -516,7 +537,7 @@ extern "C" { ** used to make the header, and the header can be found at ** http://www.khronos.org/registry/egl ** -** Khronos $Git commit SHA1: b35e89ca9a $ on $Git commit date: 2021-09-01 09:34:00 +0530 $ +** Khronos $Git commit SHA1: 6fb1daea15 $ on $Git commit date: 2022-05-25 09:41:13 -0600 $ */ /*#include */ @@ -525,7 +546,7 @@ extern "C" { #define EGL_EGL_PROTOTYPES 1 #endif -/* Generated on date 20210901 */ +/* Generated on date 20220525 */ /* Generated C header for: * API: egl @@ -860,12 +881,12 @@ extern "C" { ** used to make the header, and the header can be found at ** http://www.khronos.org/registry/egl ** -** Khronos $Git commit SHA1: b35e89ca9a $ on $Git commit date: 2021-09-01 09:34:00 +0530 $ +** Khronos $Git commit SHA1: 6fb1daea15 $ on $Git commit date: 2022-05-25 09:41:13 -0600 $ */ /*#include */ -#define EGL_EGLEXT_VERSION 20210901 +#define EGL_EGLEXT_VERSION 20220525 /* Generated C header for: * API: egl @@ -1569,6 +1590,10 @@ EGLAPI EGLBoolean EGLAPIENTRY eglQueryDeviceBinaryEXT (EGLDeviceEXT device, EGLi #define EGL_RENDERER_EXT 0x335F #endif /* EGL_EXT_device_query_name */ +#ifndef EGL_EXT_explicit_device +#define EGL_EXT_explicit_device 1 +#endif /* EGL_EXT_explicit_device */ + #ifndef EGL_EXT_gl_colorspace_bt2020_linear #define EGL_EXT_gl_colorspace_bt2020_linear 1 #define EGL_GL_COLORSPACE_BT2020_LINEAR_EXT 0x333F @@ -1794,6 +1819,31 @@ EGLAPI EGLBoolean EGLAPIENTRY eglStreamConsumerOutputEXT (EGLDisplay dpy, EGLStr #define EGL_METADATA_SCALING_EXT 50000 #endif /* EGL_EXT_surface_SMPTE2086_metadata */ +#ifndef EGL_EXT_surface_compression +#define EGL_EXT_surface_compression 1 +#define EGL_SURFACE_COMPRESSION_EXT 0x34B0 +#define EGL_SURFACE_COMPRESSION_PLANE1_EXT 0x328E +#define EGL_SURFACE_COMPRESSION_PLANE2_EXT 0x328F +#define EGL_SURFACE_COMPRESSION_FIXED_RATE_NONE_EXT 0x34B1 +#define EGL_SURFACE_COMPRESSION_FIXED_RATE_DEFAULT_EXT 0x34B2 +#define EGL_SURFACE_COMPRESSION_FIXED_RATE_1BPC_EXT 0x34B4 +#define EGL_SURFACE_COMPRESSION_FIXED_RATE_2BPC_EXT 0x34B5 +#define EGL_SURFACE_COMPRESSION_FIXED_RATE_3BPC_EXT 0x34B6 +#define EGL_SURFACE_COMPRESSION_FIXED_RATE_4BPC_EXT 0x34B7 +#define EGL_SURFACE_COMPRESSION_FIXED_RATE_5BPC_EXT 0x34B8 +#define EGL_SURFACE_COMPRESSION_FIXED_RATE_6BPC_EXT 0x34B9 +#define EGL_SURFACE_COMPRESSION_FIXED_RATE_7BPC_EXT 0x34BA +#define EGL_SURFACE_COMPRESSION_FIXED_RATE_8BPC_EXT 0x34BB +#define EGL_SURFACE_COMPRESSION_FIXED_RATE_9BPC_EXT 0x34BC +#define EGL_SURFACE_COMPRESSION_FIXED_RATE_10BPC_EXT 0x34BD +#define EGL_SURFACE_COMPRESSION_FIXED_RATE_11BPC_EXT 0x34BE +#define EGL_SURFACE_COMPRESSION_FIXED_RATE_12BPC_EXT 0x34BF +typedef EGLBoolean (EGLAPIENTRYP PFNEGLQUERYSUPPORTEDCOMPRESSIONRATESEXTPROC) (EGLDisplay dpy, EGLConfig config, const EGLAttrib *attrib_list, EGLint *rates, EGLint rate_size, EGLint *num_rates); +#ifdef EGL_EGLEXT_PROTOTYPES +EGLAPI EGLBoolean EGLAPIENTRY eglQuerySupportedCompressionRatesEXT (EGLDisplay dpy, EGLConfig config, const EGLAttrib *attrib_list, EGLint *rates, EGLint rate_size, EGLint *num_rates); +#endif +#endif /* EGL_EXT_surface_compression */ + #ifndef EGL_EXT_swap_buffers_with_damage #define EGL_EXT_swap_buffers_with_damage 1 typedef EGLBoolean (EGLAPIENTRYP PFNEGLSWAPBUFFERSWITHDAMAGEEXTPROC) (EGLDisplay dpy, EGLSurface surface, const EGLint *rects, EGLint n_rects); @@ -2028,12 +2078,12 @@ EGLAPI EGLBoolean EGLAPIENTRY eglPostSubBufferNV (EGLDisplay dpy, EGLSurface sur #define EGL_STREAM_IMAGE_ADD_NV 0x3374 #define EGL_STREAM_IMAGE_REMOVE_NV 0x3375 #define EGL_STREAM_IMAGE_AVAILABLE_NV 0x3376 -typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMIMAGECONSUMERCONNECTNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLint num_modifiers, EGLuint64KHR *modifiers, EGLAttrib *attrib_list); +typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMIMAGECONSUMERCONNECTNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLint num_modifiers, const EGLuint64KHR *modifiers, const EGLAttrib *attrib_list); typedef EGLint (EGLAPIENTRYP PFNEGLQUERYSTREAMCONSUMEREVENTNVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLTime timeout, EGLenum *event, EGLAttrib *aux); typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMACQUIREIMAGENVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLImage *pImage, EGLSync sync); typedef EGLBoolean (EGLAPIENTRYP PFNEGLSTREAMRELEASEIMAGENVPROC) (EGLDisplay dpy, EGLStreamKHR stream, EGLImage image, EGLSync sync); #ifdef EGL_EGLEXT_PROTOTYPES -EGLAPI EGLBoolean EGLAPIENTRY eglStreamImageConsumerConnectNV (EGLDisplay dpy, EGLStreamKHR stream, EGLint num_modifiers, EGLuint64KHR *modifiers, EGLAttrib *attrib_list); +EGLAPI EGLBoolean EGLAPIENTRY eglStreamImageConsumerConnectNV (EGLDisplay dpy, EGLStreamKHR stream, EGLint num_modifiers, const EGLuint64KHR *modifiers, const EGLAttrib *attrib_list); EGLAPI EGLint EGLAPIENTRY eglQueryStreamConsumerEventNV (EGLDisplay dpy, EGLStreamKHR stream, EGLTime timeout, EGLenum *event, EGLAttrib *aux); EGLAPI EGLBoolean EGLAPIENTRY eglStreamAcquireImageNV (EGLDisplay dpy, EGLStreamKHR stream, EGLImage *pImage, EGLSync sync); EGLAPI EGLBoolean EGLAPIENTRY eglStreamReleaseImageNV (EGLDisplay dpy, EGLStreamKHR stream, EGLImage image, EGLSync sync); diff --git a/extlib/SDL2/include/SDL_endian.h b/extlib/SDL2/include/SDL_endian.h index c3f84317..591ccac4 100644 --- a/extlib/SDL2/include/SDL_endian.h +++ b/extlib/SDL2/include/SDL_endian.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -140,7 +140,7 @@ extern "C" { #if HAS_BUILTIN_BSWAP16 #define SDL_Swap16(x) __builtin_bswap16(x) -#elif defined(_MSC_VER) && (_MSC_VER >= 1400) +#elif (defined(_MSC_VER) && (_MSC_VER >= 1400)) && !defined(__ICL) #pragma intrinsic(_byteswap_ushort) #define SDL_Swap16(x) _byteswap_ushort(x) #elif defined(__i386__) && !HAS_BROKEN_BSWAP @@ -189,7 +189,7 @@ SDL_Swap16(Uint16 x) #if HAS_BUILTIN_BSWAP32 #define SDL_Swap32(x) __builtin_bswap32(x) -#elif defined(_MSC_VER) && (_MSC_VER >= 1400) +#elif (defined(_MSC_VER) && (_MSC_VER >= 1400)) && !defined(__ICL) #pragma intrinsic(_byteswap_ulong) #define SDL_Swap32(x) _byteswap_ulong(x) #elif defined(__i386__) && !HAS_BROKEN_BSWAP @@ -241,7 +241,7 @@ SDL_Swap32(Uint32 x) #if HAS_BUILTIN_BSWAP64 #define SDL_Swap64(x) __builtin_bswap64(x) -#elif defined(_MSC_VER) && (_MSC_VER >= 1400) +#elif (defined(_MSC_VER) && (_MSC_VER >= 1400)) && !defined(__ICL) #pragma intrinsic(_byteswap_uint64) #define SDL_Swap64(x) _byteswap_uint64(x) #elif defined(__i386__) && !HAS_BROKEN_BSWAP diff --git a/extlib/SDL2/include/SDL_error.h b/extlib/SDL2/include/SDL_error.h index 5c961e42..2df6463a 100644 --- a/extlib/SDL2/include/SDL_error.h +++ b/extlib/SDL2/include/SDL_error.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 diff --git a/extlib/SDL2/include/SDL_events.h b/extlib/SDL2/include/SDL_events.h index c0fc9bb1..eccbba25 100644 --- a/extlib/SDL2/include/SDL_events.h +++ b/extlib/SDL2/include/SDL_events.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -131,6 +131,8 @@ typedef enum SDL_CONTROLLERTOUCHPADMOTION, /**< Game controller touchpad finger was moved */ SDL_CONTROLLERTOUCHPADUP, /**< Game controller touchpad finger was lifted */ SDL_CONTROLLERSENSORUPDATE, /**< Game controller sensor was updated */ + SDL_CONTROLLERUPDATECOMPLETE_RESERVED_FOR_SDL3, + SDL_CONTROLLERSTEAMHANDLEUPDATED, /**< Game controller Steam handle has changed */ /* Touch events */ SDL_FINGERDOWN = 0x700, @@ -143,7 +145,7 @@ typedef enum SDL_MULTIGESTURE, /* Clipboard events */ - SDL_CLIPBOARDUPDATE = 0x900, /**< The clipboard changed */ + SDL_CLIPBOARDUPDATE = 0x900, /**< The clipboard or primary selection changed */ /* Drag and drop events */ SDL_DROPFILE = 0x1000, /**< The system requests a file open */ @@ -318,6 +320,8 @@ typedef struct SDL_MouseWheelEvent Uint32 direction; /**< Set to one of the SDL_MOUSEWHEEL_* defines. When FLIPPED the values in X and Y will be opposite. Multiply by -1 to change them back */ float preciseX; /**< The amount scrolled horizontally, positive to the right and negative to the left, with float precision (added in 2.0.18) */ float preciseY; /**< The amount scrolled vertically, positive away from the user and negative toward the user, with float precision (added in 2.0.18) */ + Sint32 mouseX; /**< X coordinate, relative to window (added in 2.26.0) */ + Sint32 mouseY; /**< Y coordinate, relative to window (added in 2.26.0) */ } SDL_MouseWheelEvent; /** @@ -444,7 +448,7 @@ typedef struct SDL_ControllerButtonEvent */ typedef struct SDL_ControllerDeviceEvent { - Uint32 type; /**< ::SDL_CONTROLLERDEVICEADDED, ::SDL_CONTROLLERDEVICEREMOVED, or ::SDL_CONTROLLERDEVICEREMAPPED */ + Uint32 type; /**< ::SDL_CONTROLLERDEVICEADDED, ::SDL_CONTROLLERDEVICEREMOVED, ::SDL_CONTROLLERDEVICEREMAPPED, or ::SDL_CONTROLLERSTEAMHANDLEUPDATED */ Uint32 timestamp; /**< In milliseconds, populated using SDL_GetTicks() */ Sint32 which; /**< The joystick device index for the ADDED event, instance id for the REMOVED or REMAPPED event */ } SDL_ControllerDeviceEvent; @@ -474,6 +478,7 @@ typedef struct SDL_ControllerSensorEvent SDL_JoystickID which; /**< The joystick instance id */ Sint32 sensor; /**< The type of the sensor, one of the values of ::SDL_SensorType */ float data[3]; /**< Up to 3 values from the sensor, as defined in SDL_sensor.h */ + Uint64 timestamp_us; /**< The timestamp of the sensor reading in microseconds, if the hardware provides this information. */ } SDL_ControllerSensorEvent; /** @@ -565,6 +570,7 @@ typedef struct SDL_SensorEvent Uint32 timestamp; /**< In milliseconds, populated using SDL_GetTicks() */ Sint32 which; /**< The instance ID of the sensor */ float data[6]; /**< Up to 6 values from the sensor - additional values can be queried using SDL_SensorGetData() */ + Uint64 timestamp_us; /**< The timestamp of the sensor reading in microseconds, if the hardware provides this information. */ } SDL_SensorEvent; /** @@ -576,15 +582,6 @@ typedef struct SDL_QuitEvent Uint32 timestamp; /**< In milliseconds, populated using SDL_GetTicks() */ } SDL_QuitEvent; -/** - * \brief OS Specific event - */ -typedef struct SDL_OSEvent -{ - Uint32 type; /**< ::SDL_QUIT */ - Uint32 timestamp; /**< In milliseconds, populated using SDL_GetTicks() */ -} SDL_OSEvent; - /** * \brief A user-defined event type (event.user.*) */ diff --git a/extlib/SDL2/include/SDL_filesystem.h b/extlib/SDL2/include/SDL_filesystem.h index a7606bde..07498898 100644 --- a/extlib/SDL2/include/SDL_filesystem.h +++ b/extlib/SDL2/include/SDL_filesystem.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -60,7 +60,11 @@ extern "C" { * - `parent`: the containing directory of the bundle. For example: * `/Applications/SDLApp/` * - * The returned path is guaranteed to end with a path separator ('\' on + * **Nintendo 3DS Specific Functionality**: This function returns "romfs" + * directory of the application as it is uncommon to store resources outside + * the executable. As such it is not a writable directory. + * + * The returned path is guaranteed to end with a path separator ('\\' on * Windows, '/' on most other platforms). * * The pointer returned is owned by the caller. Please call SDL_free() on the @@ -116,7 +120,7 @@ extern DECLSPEC char *SDLCALL SDL_GetBasePath(void); * - ...only use letters, numbers, and spaces. Avoid punctuation like "Game * Name 2: Bad Guy's Revenge!" ... "Game Name 2" is sufficient. * - * The returned path is guaranteed to end with a path separator ('\' on + * The returned path is guaranteed to end with a path separator ('\\' on * Windows, '/' on most other platforms). * * The pointer returned is owned by the caller. Please call SDL_free() on the diff --git a/extlib/SDL2/include/SDL_gamecontroller.h b/extlib/SDL2/include/SDL_gamecontroller.h index ace1c163..281fa356 100644 --- a/extlib/SDL2/include/SDL_gamecontroller.h +++ b/extlib/SDL2/include/SDL_gamecontroller.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -73,7 +73,8 @@ typedef enum SDL_CONTROLLER_TYPE_NVIDIA_SHIELD, SDL_CONTROLLER_TYPE_NINTENDO_SWITCH_JOYCON_LEFT, SDL_CONTROLLER_TYPE_NINTENDO_SWITCH_JOYCON_RIGHT, - SDL_CONTROLLER_TYPE_NINTENDO_SWITCH_JOYCON_PAIR + SDL_CONTROLLER_TYPE_NINTENDO_SWITCH_JOYCON_PAIR, + SDL_CONTROLLER_TYPE_MAX } SDL_GameControllerType; typedef enum @@ -523,6 +524,20 @@ extern DECLSPEC Uint16 SDLCALL SDL_GameControllerGetFirmwareVersion(SDL_GameCont */ extern DECLSPEC const char * SDLCALL SDL_GameControllerGetSerial(SDL_GameController *gamecontroller); +/** + * Get the Steam Input handle of an opened controller, if available. + * + * Returns an InputHandle_t for the controller that can be used with Steam Input API: + * https://partner.steamgames.com/doc/api/ISteamInput + * + * \param gamecontroller the game controller object to query. + * \returns the gamepad handle, or 0 if unavailable. + * + * \since This function is available since SDL 2.30.0. + */ +extern DECLSPEC Uint64 SDLCALL SDL_GameControllerGetSteamHandle(SDL_GameController *gamecontroller); + + /** * Check if a controller has been opened and is currently connected. * @@ -598,7 +613,9 @@ extern DECLSPEC void SDLCALL SDL_GameControllerUpdate(void); * and are centered within ~8000 of zero, though advanced UI will allow users to set * or autodetect the dead zone, which varies between controllers. * - * Trigger axis values range from 0 to SDL_JOYSTICK_AXIS_MAX. + * Trigger axis values range from 0 (released) to SDL_JOYSTICK_AXIS_MAX + * (fully pressed) when reported by SDL_GameControllerGetAxis(). Note that this is not the + * same range that will be reported by the lower-level SDL_GetJoystickAxis(). */ typedef enum { @@ -687,8 +704,13 @@ SDL_GameControllerHasAxis(SDL_GameController *gamecontroller, SDL_GameController * * The axis indices start at index 0. * - * The state is a value ranging from -32768 to 32767. Triggers, however, range - * from 0 to 32767 (they never return a negative value). + * For thumbsticks, the state is a value ranging from -32768 (up/left) + * to 32767 (down/right). + * + * Triggers range from 0 when released to 32767 when fully pressed, and + * never return a negative value. Note that this differs from the value + * reported by the lower-level SDL_GetJoystickAxis(), which normally uses + * the full range. * * \param gamecontroller a game controller * \param axis an axis index (one of the SDL_GameControllerAxis values) @@ -724,10 +746,10 @@ typedef enum SDL_CONTROLLER_BUTTON_DPAD_LEFT, SDL_CONTROLLER_BUTTON_DPAD_RIGHT, SDL_CONTROLLER_BUTTON_MISC1, /* Xbox Series X share button, PS5 microphone button, Nintendo Switch Pro capture button, Amazon Luna microphone button */ - SDL_CONTROLLER_BUTTON_PADDLE1, /* Xbox Elite paddle P1 */ - SDL_CONTROLLER_BUTTON_PADDLE2, /* Xbox Elite paddle P3 */ - SDL_CONTROLLER_BUTTON_PADDLE3, /* Xbox Elite paddle P2 */ - SDL_CONTROLLER_BUTTON_PADDLE4, /* Xbox Elite paddle P4 */ + SDL_CONTROLLER_BUTTON_PADDLE1, /* Xbox Elite paddle P1 (upper left, facing the back) */ + SDL_CONTROLLER_BUTTON_PADDLE2, /* Xbox Elite paddle P3 (upper right, facing the back) */ + SDL_CONTROLLER_BUTTON_PADDLE3, /* Xbox Elite paddle P2 (lower left, facing the back) */ + SDL_CONTROLLER_BUTTON_PADDLE4, /* Xbox Elite paddle P4 (lower right, facing the back) */ SDL_CONTROLLER_BUTTON_TOUCHPAD, /* PS4/PS5 touchpad button */ SDL_CONTROLLER_BUTTON_MAX } SDL_GameControllerButton; @@ -754,7 +776,7 @@ extern DECLSPEC SDL_GameControllerButton SDLCALL SDL_GameControllerGetButtonFrom * The caller should not SDL_free() the returned string. * * \param button an enum value for a given SDL_GameControllerButton - * \returns a string for the given button, or NULL if an invalid axis is + * \returns a string for the given button, or NULL if an invalid button is * specified. The string returned is of the format used by * SDL_GameController mapping strings. * @@ -895,6 +917,25 @@ extern DECLSPEC float SDLCALL SDL_GameControllerGetSensorDataRate(SDL_GameContro */ extern DECLSPEC int SDLCALL SDL_GameControllerGetSensorData(SDL_GameController *gamecontroller, SDL_SensorType type, float *data, int num_values); +/** + * Get the current state of a game controller sensor with the timestamp of the + * last update. + * + * The number of values and interpretation of the data is sensor dependent. + * See SDL_sensor.h for the details for each type of sensor. + * + * \param gamecontroller The controller to query + * \param type The type of sensor to query + * \param timestamp A pointer filled with the timestamp in microseconds of the + * current sensor reading if available, or 0 if not + * \param data A pointer filled with the current sensor state + * \param num_values The number of values to write to data + * \return 0 or -1 if an error occurred. + * + * \since This function is available since SDL 2.26.0. + */ +extern DECLSPEC int SDLCALL SDL_GameControllerGetSensorDataWithTimestamp(SDL_GameController *gamecontroller, SDL_SensorType type, Uint64 *timestamp, float *data, int num_values); + /** * Start a rumble effect on a game controller. * diff --git a/extlib/SDL2/include/SDL_gesture.h b/extlib/SDL2/include/SDL_gesture.h index e2caea2a..4fffa5f3 100644 --- a/extlib/SDL2/include/SDL_gesture.h +++ b/extlib/SDL2/include/SDL_gesture.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 diff --git a/extlib/SDL2/include/SDL_guid.h b/extlib/SDL2/include/SDL_guid.h index b971636a..7daa5f1f 100644 --- a/extlib/SDL2/include/SDL_guid.h +++ b/extlib/SDL2/include/SDL_guid.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 diff --git a/extlib/SDL2/include/SDL_haptic.h b/extlib/SDL2/include/SDL_haptic.h index f240ae92..c9ed847d 100644 --- a/extlib/SDL2/include/SDL_haptic.h +++ b/extlib/SDL2/include/SDL_haptic.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 diff --git a/extlib/SDL2/include/SDL_hidapi.h b/extlib/SDL2/include/SDL_hidapi.h index 354af5c5..b9d8ffac 100644 --- a/extlib/SDL2/include/SDL_hidapi.h +++ b/extlib/SDL2/include/SDL_hidapi.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 diff --git a/extlib/SDL2/include/SDL_hints.h b/extlib/SDL2/include/SDL_hints.h index e7cddba0..8c38d86e 100644 --- a/extlib/SDL2/include/SDL_hints.h +++ b/extlib/SDL2/include/SDL_hints.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -92,7 +92,7 @@ extern "C" { * By default this hint is not set and the APK expansion files are not searched. */ #define SDL_HINT_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION "SDL_ANDROID_APK_EXPANSION_MAIN_FILE_VERSION" - + /** * \brief Android APK expansion patch file version. Should be a string number like "1", "2" etc. * @@ -132,13 +132,13 @@ extern "C" { * \brief A variable to control whether we trap the Android back button to handle it manually. * This is necessary for the right mouse button to work on some Android devices, or * to be able to trap the back button for use in your code reliably. If set to true, - * the back button will show up as an SDL_KEYDOWN / SDL_KEYUP pair with a keycode of + * the back button will show up as an SDL_KEYDOWN / SDL_KEYUP pair with a keycode of * SDL_SCANCODE_AC_BACK. * * The variable can be set to the following values: * "0" - Back button will be handled as usual for system. (default) * "1" - Back button will be trapped, allowing you to handle the key press - * manually. (This will also let right mouse click work on systems + * manually. (This will also let right mouse click work on systems * where the right mouse button functions as back.) * * The value of this hint is used at runtime, so it can be changed at any time. @@ -147,7 +147,7 @@ extern "C" { /** * \brief Specify an application name. - * + * * This hint lets you specify the application name sent to the OS when * required. For example, this will often appear in volume control applets for * audio streams, and in lists of applications which are inhibiting the @@ -278,10 +278,7 @@ extern "C" { * If this hint isn't specified to a valid setting, or libsamplerate isn't * available, SDL will use the default, internal resampling algorithm. * - * Note that this is currently only applicable to resampling audio that is - * being written to a device for playback or audio being read from a device - * for capture. SDL_AudioCVT always uses the default resampler (although this - * might change for SDL 2.1). + * As of SDL 2.26, SDL_ConvertAudio() respects this hint when libsamplerate is available. * * This hint is currently only checked at audio subsystem initialization. * @@ -380,6 +377,17 @@ extern "C" { */ #define SDL_HINT_EMSCRIPTEN_KEYBOARD_ELEMENT "SDL_EMSCRIPTEN_KEYBOARD_ELEMENT" +/** + * \brief A variable that controls whether the on-screen keyboard should be shown when text input is active + * + * The variable can be set to the following values: + * "0" - Do not show the on-screen keyboard + * "1" - Show the on-screen keyboard + * + * The default value is "1". This hint must be set before text input is activated. + */ +#define SDL_HINT_ENABLE_SCREEN_KEYBOARD "SDL_ENABLE_SCREEN_KEYBOARD" + /** * \brief A variable that controls whether Steam Controllers should be exposed using the SDL joystick and game controller APIs * @@ -510,7 +518,7 @@ extern "C" { /** * \brief If set, game controller face buttons report their values according to their labels instead of their positional layout. - * + * * For example, on Nintendo Switch controllers, normally you'd get: * * (Y) @@ -542,6 +550,14 @@ extern "C" { */ #define SDL_HINT_GRAB_KEYBOARD "SDL_GRAB_KEYBOARD" +/** + * \brief A variable containing a list of devices to ignore in SDL_hid_enumerate() + * + * For example, to ignore the Shanwan DS3 controller and any Valve controller, you might + * have the string "0x2563/0x0523,0x28de/0x0000" + */ +#define SDL_HINT_HIDAPI_IGNORE_DEVICES "SDL_HIDAPI_IGNORE_DEVICES" + /** * \brief A variable controlling whether the idle timer is disabled on iOS. * @@ -564,9 +580,9 @@ extern "C" { * * The variable can be set to the following values: * "0" - SDL_TEXTEDITING events are sent, and it is the application's - * responsibility to render the text from these events and + * responsibility to render the text from these events and * differentiate it somehow from committed text. (default) - * "1" - If supported by the IME then SDL_TEXTEDITING events are not sent, + * "1" - If supported by the IME then SDL_TEXTEDITING events are not sent, * and text that is being composed will be rendered in its own UI. */ #define SDL_HINT_IME_INTERNAL_EDITING "SDL_IME_INTERNAL_EDITING" @@ -615,6 +631,110 @@ extern "C" { */ #define SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS "SDL_JOYSTICK_ALLOW_BACKGROUND_EVENTS" +/** + * A variable containing a list of arcade stick style controllers. + * + * The format of the string is a comma separated list of USB VID/PID pairs + * in hexadecimal form, e.g. + * + * 0xAAAA/0xBBBB,0xCCCC/0xDDDD + * + * The variable can also take the form of @file, in which case the named + * file will be loaded and interpreted as the value of the variable. + */ +#define SDL_HINT_JOYSTICK_ARCADESTICK_DEVICES "SDL_JOYSTICK_ARCADESTICK_DEVICES" + +/** + * A variable containing a list of devices that are not arcade stick style controllers. This will override SDL_HINT_JOYSTICK_ARCADESTICK_DEVICES and the built in device list. + * + * The format of the string is a comma separated list of USB VID/PID pairs + * in hexadecimal form, e.g. + * + * 0xAAAA/0xBBBB,0xCCCC/0xDDDD + * + * The variable can also take the form of @file, in which case the named + * file will be loaded and interpreted as the value of the variable. + */ +#define SDL_HINT_JOYSTICK_ARCADESTICK_DEVICES_EXCLUDED "SDL_JOYSTICK_ARCADESTICK_DEVICES_EXCLUDED" + +/** + * A variable containing a list of devices that should not be considerd joysticks. + * + * The format of the string is a comma separated list of USB VID/PID pairs + * in hexadecimal form, e.g. + * + * 0xAAAA/0xBBBB,0xCCCC/0xDDDD + * + * The variable can also take the form of @file, in which case the named + * file will be loaded and interpreted as the value of the variable. + */ +#define SDL_HINT_JOYSTICK_BLACKLIST_DEVICES "SDL_JOYSTICK_BLACKLIST_DEVICES" + +/** + * A variable containing a list of devices that should be considered joysticks. This will override SDL_HINT_JOYSTICK_BLACKLIST_DEVICES and the built in device list. + * + * The format of the string is a comma separated list of USB VID/PID pairs + * in hexadecimal form, e.g. + * + * 0xAAAA/0xBBBB,0xCCCC/0xDDDD + * + * The variable can also take the form of @file, in which case the named + * file will be loaded and interpreted as the value of the variable. + */ +#define SDL_HINT_JOYSTICK_BLACKLIST_DEVICES_EXCLUDED "SDL_JOYSTICK_BLACKLIST_DEVICES_EXCLUDED" + +/** + * A variable containing a list of flightstick style controllers. + * + * The format of the string is a comma separated list of USB VID/PID pairs + * in hexadecimal form, e.g. + * + * 0xAAAA/0xBBBB,0xCCCC/0xDDDD + * + * The variable can also take the form of @file, in which case the named + * file will be loaded and interpreted as the value of the variable. + */ +#define SDL_HINT_JOYSTICK_FLIGHTSTICK_DEVICES "SDL_JOYSTICK_FLIGHTSTICK_DEVICES" + +/** + * A variable containing a list of devices that are not flightstick style controllers. This will override SDL_HINT_JOYSTICK_FLIGHTSTICK_DEVICES and the built in device list. + * + * The format of the string is a comma separated list of USB VID/PID pairs + * in hexadecimal form, e.g. + * + * 0xAAAA/0xBBBB,0xCCCC/0xDDDD + * + * The variable can also take the form of @file, in which case the named + * file will be loaded and interpreted as the value of the variable. + */ +#define SDL_HINT_JOYSTICK_FLIGHTSTICK_DEVICES_EXCLUDED "SDL_JOYSTICK_FLIGHTSTICK_DEVICES_EXCLUDED" + +/** + * A variable containing a list of devices known to have a GameCube form factor. + * + * The format of the string is a comma separated list of USB VID/PID pairs + * in hexadecimal form, e.g. + * + * 0xAAAA/0xBBBB,0xCCCC/0xDDDD + * + * The variable can also take the form of @file, in which case the named + * file will be loaded and interpreted as the value of the variable. + */ +#define SDL_HINT_JOYSTICK_GAMECUBE_DEVICES "SDL_JOYSTICK_GAMECUBE_DEVICES" + +/** + * A variable containing a list of devices known not to have a GameCube form factor. This will override SDL_HINT_JOYSTICK_GAMECUBE_DEVICES and the built in device list. + * + * The format of the string is a comma separated list of USB VID/PID pairs + * in hexadecimal form, e.g. + * + * 0xAAAA/0xBBBB,0xCCCC/0xDDDD + * + * The variable can also take the form of @file, in which case the named + * file will be loaded and interpreted as the value of the variable. + */ +#define SDL_HINT_JOYSTICK_GAMECUBE_DEVICES_EXCLUDED "SDL_JOYSTICK_GAMECUBE_DEVICES_EXCLUDED" + /** * \brief A variable controlling whether the HIDAPI joystick drivers should be used. * @@ -672,6 +792,17 @@ extern "C" { */ #define SDL_HINT_JOYSTICK_HIDAPI_COMBINE_JOY_CONS "SDL_JOYSTICK_HIDAPI_COMBINE_JOY_CONS" +/** + * \brief A variable controlling whether Nintendo Switch Joy-Con controllers will be in vertical mode when using the HIDAPI driver + * + * This variable can be set to the following values: + * "0" - Left and right Joy-Con controllers will not be in vertical mode (the default) + * "1" - Left and right Joy-Con controllers will be in vertical mode + * + * This hint must be set before calling SDL_Init(SDL_INIT_GAMECONTROLLER) + */ +#define SDL_HINT_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS "SDL_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS" + /** * \brief A variable controlling whether the HIDAPI driver for Amazon Luna controllers connected via Bluetooth should be used. * @@ -705,6 +836,20 @@ extern "C" { */ #define SDL_HINT_JOYSTICK_HIDAPI_SHIELD "SDL_JOYSTICK_HIDAPI_SHIELD" +/** + * \brief A variable controlling whether the HIDAPI driver for PS3 controllers should be used. + * + * This variable can be set to the following values: + * "0" - HIDAPI driver is not used + * "1" - HIDAPI driver is used + * + * The default is the value of SDL_HINT_JOYSTICK_HIDAPI on macOS, and "0" on other platforms. + * + * It is not possible to use this driver on Windows, due to limitations in the default drivers + * installed. See https://github.com/ViGEm/DsHidMini for an alternative driver on Windows. + */ +#define SDL_HINT_JOYSTICK_HIDAPI_PS3 "SDL_JOYSTICK_HIDAPI_PS3" + /** * \brief A variable controlling whether the HIDAPI driver for PS4 controllers should be used. * @@ -787,7 +932,7 @@ extern "C" { #define SDL_HINT_JOYSTICK_HIDAPI_STADIA "SDL_JOYSTICK_HIDAPI_STADIA" /** - * \brief A variable controlling whether the HIDAPI driver for Steam Controllers should be used. + * \brief A variable controlling whether the HIDAPI driver for Bluetooth Steam Controllers should be used. * * This variable can be set to the following values: * "0" - HIDAPI driver is not used @@ -798,6 +943,17 @@ extern "C" { */ #define SDL_HINT_JOYSTICK_HIDAPI_STEAM "SDL_JOYSTICK_HIDAPI_STEAM" +/** + * \brief A variable controlling whether the HIDAPI driver for the Steam Deck builtin controller should be used. + * + * This variable can be set to the following values: + * "0" - HIDAPI driver is not used + * "1" - HIDAPI driver is used + * + * The default is the value of SDL_HINT_JOYSTICK_HIDAPI + */ +#define SDL_HINT_JOYSTICK_HIDAPI_STEAMDECK "SDL_JOYSTICK_HIDAPI_STEAMDECK" + /** * \brief A variable controlling whether the HIDAPI driver for Nintendo Switch controllers should be used. * @@ -840,6 +996,26 @@ extern "C" { */ #define SDL_HINT_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED "SDL_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED" +/** + * \brief A variable controlling whether the HIDAPI driver for Nintendo Wii and Wii U controllers should be used. + * + * This variable can be set to the following values: + * "0" - HIDAPI driver is not used + * "1" - HIDAPI driver is used + * + * This driver doesn't work with the dolphinbar, so the default is SDL_FALSE for now. + */ +#define SDL_HINT_JOYSTICK_HIDAPI_WII "SDL_JOYSTICK_HIDAPI_WII" + +/** + * \brief A variable controlling whether the player LEDs should be lit to indicate which player is associated with a Wii controller. + * + * This variable can be set to the following values: + * "0" - player LEDs are not enabled + * "1" - player LEDs are enabled (the default) + */ +#define SDL_HINT_JOYSTICK_HIDAPI_WII_PLAYER_LED "SDL_JOYSTICK_HIDAPI_WII_PLAYER_LED" + /** * \brief A variable controlling whether the HIDAPI driver for XBox controllers should be used. * @@ -851,6 +1027,77 @@ extern "C" { */ #define SDL_HINT_JOYSTICK_HIDAPI_XBOX "SDL_JOYSTICK_HIDAPI_XBOX" +/** + * \brief A variable controlling whether the HIDAPI driver for XBox 360 controllers should be used. + * + * This variable can be set to the following values: + * "0" - HIDAPI driver is not used + * "1" - HIDAPI driver is used + * + * The default is the value of SDL_HINT_JOYSTICK_HIDAPI_XBOX + */ +#define SDL_HINT_JOYSTICK_HIDAPI_XBOX_360 "SDL_JOYSTICK_HIDAPI_XBOX_360" + +/** + * \brief A variable controlling whether the player LEDs should be lit to indicate which player is associated with an Xbox 360 controller. + * + * This variable can be set to the following values: + * "0" - player LEDs are not enabled + * "1" - player LEDs are enabled (the default) + */ +#define SDL_HINT_JOYSTICK_HIDAPI_XBOX_360_PLAYER_LED "SDL_JOYSTICK_HIDAPI_XBOX_360_PLAYER_LED" + +/** + * \brief A variable controlling whether the HIDAPI driver for XBox 360 wireless controllers should be used. + * + * This variable can be set to the following values: + * "0" - HIDAPI driver is not used + * "1" - HIDAPI driver is used + * + * The default is the value of SDL_HINT_JOYSTICK_HIDAPI_XBOX_360 + */ +#define SDL_HINT_JOYSTICK_HIDAPI_XBOX_360_WIRELESS "SDL_JOYSTICK_HIDAPI_XBOX_360_WIRELESS" + +/** + * \brief A variable controlling whether the HIDAPI driver for XBox One controllers should be used. + * + * This variable can be set to the following values: + * "0" - HIDAPI driver is not used + * "1" - HIDAPI driver is used + * + * The default is the value of SDL_HINT_JOYSTICK_HIDAPI_XBOX + */ +#define SDL_HINT_JOYSTICK_HIDAPI_XBOX_ONE "SDL_JOYSTICK_HIDAPI_XBOX_ONE" + +/** + * \brief A variable controlling whether the Home button LED should be turned on when an Xbox One controller is opened + * + * This variable can be set to the following values: + * "0" - home button LED is turned off + * "1" - home button LED is turned on + * + * By default the Home button LED state is not changed. This hint can also be set to a floating point value between 0.0 and 1.0 which controls the brightness of the Home button LED. The default brightness is 0.4. + */ +#define SDL_HINT_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED "SDL_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED" + +/** + * A variable controlling whether IOKit should be used for controller handling. + * + * This variable can be set to the following values: + * "0" - IOKit is not used + * "1" - IOKit is used (the default) + */ +#define SDL_HINT_JOYSTICK_IOKIT "SDL_JOYSTICK_IOKIT" + +/** + * A variable controlling whether GCController should be used for controller handling. + * + * This variable can be set to the following values: + * "0" - GCController is not used + * "1" - GCController is used (the default) + */ +#define SDL_HINT_JOYSTICK_MFI "SDL_JOYSTICK_MFI" + /** * \brief A variable controlling whether the RAWINPUT joystick drivers should be used for better handling XInput-capable devices. * @@ -893,6 +1140,80 @@ extern "C" { */ #define SDL_HINT_JOYSTICK_THREAD "SDL_JOYSTICK_THREAD" +/** + * A variable containing a list of throttle style controllers. + * + * The format of the string is a comma separated list of USB VID/PID pairs + * in hexadecimal form, e.g. + * + * 0xAAAA/0xBBBB,0xCCCC/0xDDDD + * + * The variable can also take the form of @file, in which case the named + * file will be loaded and interpreted as the value of the variable. + */ +#define SDL_HINT_JOYSTICK_THROTTLE_DEVICES "SDL_JOYSTICK_THROTTLE_DEVICES" + +/** + * A variable containing a list of devices that are not throttle style controllers. This will override SDL_HINT_JOYSTICK_THROTTLE_DEVICES and the built in device list. + * + * The format of the string is a comma separated list of USB VID/PID pairs + * in hexadecimal form, e.g. + * + * 0xAAAA/0xBBBB,0xCCCC/0xDDDD + * + * The variable can also take the form of @file, in which case the named + * file will be loaded and interpreted as the value of the variable. + */ +#define SDL_HINT_JOYSTICK_THROTTLE_DEVICES_EXCLUDED "SDL_JOYSTICK_THROTTLE_DEVICES_EXCLUDED" + +/** + * \brief A variable controlling whether Windows.Gaming.Input should be used for controller handling. + * + * This variable can be set to the following values: + * "0" - WGI is not used + * "1" - WGI is used (the default) + */ +#define SDL_HINT_JOYSTICK_WGI "SDL_JOYSTICK_WGI" + +/** + * A variable containing a list of wheel style controllers. + * + * The format of the string is a comma separated list of USB VID/PID pairs + * in hexadecimal form, e.g. + * + * 0xAAAA/0xBBBB,0xCCCC/0xDDDD + * + * The variable can also take the form of @file, in which case the named + * file will be loaded and interpreted as the value of the variable. + */ +#define SDL_HINT_JOYSTICK_WHEEL_DEVICES "SDL_JOYSTICK_WHEEL_DEVICES" + +/** + * A variable containing a list of devices that are not wheel style controllers. This will override SDL_HINT_JOYSTICK_WHEEL_DEVICES and the built in device list. + * + * The format of the string is a comma separated list of USB VID/PID pairs + * in hexadecimal form, e.g. + * + * 0xAAAA/0xBBBB,0xCCCC/0xDDDD + * + * The variable can also take the form of @file, in which case the named + * file will be loaded and interpreted as the value of the variable. + */ +#define SDL_HINT_JOYSTICK_WHEEL_DEVICES_EXCLUDED "SDL_JOYSTICK_WHEEL_DEVICES_EXCLUDED" + +/** + * A variable containing a list of devices known to have all axes centered at zero. + * + * The format of the string is a comma separated list of USB VID/PID pairs + * in hexadecimal form, e.g. + * + * 0xAAAA/0xBBBB,0xCCCC/0xDDDD + * + * The variable can also take the form of @file, in which case the named + * file will be loaded and interpreted as the value of the variable. + */ +#define SDL_HINT_JOYSTICK_ZERO_CENTERED_DEVICES "SDL_JOYSTICK_ZERO_CENTERED_DEVICES" + /** * \brief Determines whether SDL enforces that DRM master is required in order * to initialize the KMSDRM video backend. @@ -961,6 +1282,22 @@ extern "C" { */ #define SDL_HINT_LINUX_JOYSTICK_DEADZONES "SDL_LINUX_JOYSTICK_DEADZONES" +/** + * \brief A variable controlling the default SDL log levels. + * + * This variable is a comma separated set of category=level tokens that define the default logging levels for SDL applications. + * + * The category can be a numeric category, one of "app", "error", "assert", "system", "audio", "video", "render", "input", "test", or `*` for any unspecified category. + * + * The level can be a numeric level, one of "verbose", "debug", "info", "warn", "error", "critical", or "quiet" to disable that category. + * + * You can omit the category if you want to set the logging level for all categories. + * + * If this hint isn't set, the default log levels are equivalent to: + * "app=info,assert=warn,test=verbose,*=error" + */ +#define SDL_HINT_LOGGING "SDL_LOGGING" + /** * \brief When set don't force the SDL app to become a foreground process * @@ -1064,6 +1401,17 @@ extern "C" { */ #define SDL_HINT_MOUSE_RELATIVE_SPEED_SCALE "SDL_MOUSE_RELATIVE_SPEED_SCALE" +/** + * \brief A variable controlling whether the system mouse acceleration curve is used for relative mouse motion. + * + * This variable can be set to the following values: + * "0" - Relative mouse motion will be unscaled (the default) + * "1" - Relative mouse motion will be scaled using the system mouse acceleration curve. + * + * If SDL_HINT_MOUSE_RELATIVE_SPEED_SCALE is set, that will override the system speed scale. + */ +#define SDL_HINT_MOUSE_RELATIVE_SYSTEM_SCALE "SDL_MOUSE_RELATIVE_SYSTEM_SCALE" + /** * \brief A variable controlling whether a motion event should be generated for mouse warping in relative mode. * @@ -1076,7 +1424,19 @@ extern "C" { #define SDL_HINT_MOUSE_RELATIVE_WARP_MOTION "SDL_MOUSE_RELATIVE_WARP_MOTION" /** - * \brief A variable controlling whether mouse events should generate synthetic touch events + * \brief A variable controlling whether the hardware cursor stays visible when relative mode is active. + * + * This variable can be set to the following values: + * "0" - The cursor will be hidden while relative mode is active (default) + * "1" - The cursor will remain visible while relative mode is active + * + * Note that for systems without raw hardware inputs, relative mode is implemented using warping, so the hardware cursor will visibly warp between frames if this is enabled on those systems. + */ +#define SDL_HINT_MOUSE_RELATIVE_CURSOR_VISIBLE "SDL_MOUSE_RELATIVE_CURSOR_VISIBLE" + +/** + * A variable controlling whether mouse events should generate synthetic touch + * events * * This variable can be set to the following values: * "0" - Mouse events will not generate touch events (default for desktop platforms) @@ -1162,7 +1522,7 @@ extern "C" { * When polling for events, SDL_PumpEvents is used to gather new events from devices. * If a device keeps producing new events between calls to SDL_PumpEvents, a poll loop will * become stuck until the new events stop. - * This is most noticable when moving a high frequency mouse. + * This is most noticeable when moving a high frequency mouse. * * By default, poll sentinels are enabled. */ @@ -1196,6 +1556,8 @@ extern "C" { * * This variable can be one of the following values: * "primary" (default), "portrait", "landscape", "inverted-portrait", "inverted-landscape" + * + * Since SDL 2.0.22 this variable accepts a comma-separated list of values above. */ #define SDL_HINT_QTWAYLAND_CONTENT_ORIENTATION "SDL_QTWAYLAND_CONTENT_ORIENTATION" @@ -1338,6 +1700,54 @@ extern "C" { */ #define SDL_HINT_RENDER_VSYNC "SDL_RENDER_VSYNC" +/** + * \brief A variable controlling whether the Metal render driver select low power device over default one + * + * This variable can be set to the following values: + * "0" - Use the prefered OS device + * "1" - Select a low power one + * + * By default the prefered OS device is used. + */ +#define SDL_HINT_RENDER_METAL_PREFER_LOW_POWER_DEVICE "SDL_RENDER_METAL_PREFER_LOW_POWER_DEVICE" + +/** + * A variable containing a list of ROG gamepad capable mice. + * + * The format of the string is a comma separated list of USB VID/PID pairs + * in hexadecimal form, e.g. + * + * 0xAAAA/0xBBBB,0xCCCC/0xDDDD + * + * The variable can also take the form of @file, in which case the named + * file will be loaded and interpreted as the value of the variable. + */ +#define SDL_HINT_ROG_GAMEPAD_MICE "SDL_ROG_GAMEPAD_MICE" + +/** + * A variable containing a list of devices that are not ROG gamepad capable mice. This will override SDL_HINT_ROG_GAMEPAD_MICE and the built in device list. + * + * The format of the string is a comma separated list of USB VID/PID pairs + * in hexadecimal form, e.g. + * + * 0xAAAA/0xBBBB,0xCCCC/0xDDDD + * + * The variable can also take the form of @file, in which case the named + * file will be loaded and interpreted as the value of the variable. + */ +#define SDL_HINT_ROG_GAMEPAD_MICE_EXCLUDED "SDL_ROG_GAMEPAD_MICE_EXCLUDED" + +/** + * \brief A variable controlling if VSYNC is automatically disable if doesn't reach the enough FPS + * + * This variable can be set to the following values: + * "0" - It will be using VSYNC as defined in the main flag. Default + * "1" - If VSYNC was previously enabled, then it will disable VSYNC if doesn't reach enough speed + * + * By default SDL does not enable the automatic VSYNC + */ +#define SDL_HINT_PS2_DYNAMIC_VSYNC "SDL_PS2_DYNAMIC_VSYNC" + /** * \brief A variable to control whether the return key on the soft keyboard * should hide the soft keyboard on Android and iOS. @@ -1370,7 +1780,7 @@ extern "C" { * disabled. You should use a string that describes what your program is doing * (and, therefore, why the screensaver is disabled). For example, "Playing a * game" or "Watching a video". - * + * * Setting this to "" or leaving it unset will have SDL use a reasonable * default: "Playing a game" or something similar. * @@ -1384,13 +1794,13 @@ extern "C" { * On some platforms, like Linux, a realtime priority thread may be subject to restrictions * that require special handling by the application. This hint exists to let SDL know that * the app is prepared to handle said restrictions. - * + * * On Linux, SDL will apply the following configuration to any thread that becomes realtime: * * The SCHED_RESET_ON_FORK bit will be set on the scheduling policy, * * An RLIMIT_RTTIME budget will be configured to the rtkit specified limit. * * Exceeding this limit will result in the kernel sending SIGKILL to the app, * * Refer to the man pages for more information. - * + * * This variable can be set to the following values: * "0" - default platform specific behaviour * "1" - Force SDL_THREAD_PRIORITY_TIME_CRITICAL to a realtime scheduling policy @@ -1478,7 +1888,7 @@ extern "C" { #define SDL_HINT_TV_REMOTE_AS_JOYSTICK "SDL_TV_REMOTE_AS_JOYSTICK" /** - * \brief A variable controlling whether the screensaver is enabled. + * \brief A variable controlling whether the screensaver is enabled. * * This variable can be set to the following values: * "0" - Disable screensaver @@ -1491,7 +1901,7 @@ extern "C" { /** * \brief Tell the video driver that we only want a double buffer. * - * By default, most lowlevel 2D APIs will use a triple buffer scheme that + * By default, most lowlevel 2D APIs will use a triple buffer scheme that * wastes no CPU time on waiting for vsync after issuing a flip, but * introduces a frame of latency. On the other hand, using a double buffer * scheme instead is recommended for cases where low latency is an important @@ -1502,6 +1912,7 @@ extern "C" { * Since it's driver-specific, it's only supported where possible and * implemented. Currently supported the following drivers: * + * - Wayland (wayland) * - KMSDRM (kmsdrm) * - Raspberry Pi (raspberrypi) */ @@ -1603,11 +2014,28 @@ extern "C" { */ #define SDL_HINT_VIDEO_WAYLAND_MODE_EMULATION "SDL_VIDEO_WAYLAND_MODE_EMULATION" +/** + * \brief Enable or disable mouse pointer warp emulation, needed by some older games. + * + * When this hint is set, any SDL will emulate mouse warps using relative mouse mode. + * This is required for some older games (such as Source engine games), which warp the + * mouse to the centre of the screen rather than using relative mouse motion. Note that + * relative mouse mode may have different mouse acceleration behaviour than pointer warps. + * + * This variable can be set to the following values: + * "0" - All mouse warps fail, as mouse warping is not available under wayland. + * "1" - Some mouse warps will be emulated by forcing relative mouse mode. + * + * If not set, this is automatically enabled unless an application uses relative mouse + * mode directly. + */ +#define SDL_HINT_VIDEO_WAYLAND_EMULATE_MOUSE_WARP "SDL_VIDEO_WAYLAND_EMULATE_MOUSE_WARP" + /** * \brief A variable that is the address of another SDL_Window* (as a hex string formatted with "%p"). -* +* * If this hint is set before SDL_CreateWindowFrom() and the SDL_Window* it is set to has -* SDL_WINDOW_OPENGL set (and running on WGL only, currently), then two things will occur on the newly +* SDL_WINDOW_OPENGL set (and running on WGL only, currently), then two things will occur on the newly * created SDL_Window: * * 1. Its pixel format will be set to the same pixel format as this SDL_Window. This is @@ -1673,13 +2101,13 @@ extern "C" { /** * \brief A variable controlling whether the X11 _NET_WM_BYPASS_COMPOSITOR hint should be used. - * + * * This variable can be set to the following values: * "0" - Disable _NET_WM_BYPASS_COMPOSITOR * "1" - Enable _NET_WM_BYPASS_COMPOSITOR - * + * * By default SDL will use _NET_WM_BYPASS_COMPOSITOR - * + * */ #define SDL_HINT_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR "SDL_VIDEO_X11_NET_WM_BYPASS_COMPOSITOR" @@ -1813,7 +2241,29 @@ extern "C" { #define SDL_HINT_WINDOWS_DISABLE_THREAD_NAMING "SDL_WINDOWS_DISABLE_THREAD_NAMING" /** - * \brief A variable controlling whether the windows message loop is processed by SDL + * \brief Controls whether menus can be opened with their keyboard shortcut (Alt+mnemonic). + * + * If the mnemonics are enabled, then menus can be opened by pressing the Alt + * key and the corresponding mnemonic (for example, Alt+F opens the File menu). + * However, in case an invalid mnemonic is pressed, Windows makes an audible + * beep to convey that nothing happened. This is true even if the window has + * no menu at all! + * + * Because most SDL applications don't have menus, and some want to use the Alt + * key for other purposes, SDL disables mnemonics (and the beeping) by default. + * + * Note: This also affects keyboard events: with mnemonics enabled, when a + * menu is opened from the keyboard, you will not receive a KEYUP event for + * the mnemonic key, and *might* not receive one for Alt. + * + * This variable can be set to the following values: + * "0" - Alt+mnemonic does nothing, no beeping. (default) + * "1" - Alt+mnemonic opens menus, invalid mnemonics produce a beep. + */ +#define SDL_HINT_WINDOWS_ENABLE_MENU_MNEMONICS "SDL_WINDOWS_ENABLE_MENU_MNEMONICS" + +/** + * \brief A variable controlling whether the windows message loop is processed by SDL * * This variable can be set to the following values: * "0" - The window message loop is not run @@ -1854,7 +2304,7 @@ extern "C" { #define SDL_HINT_WINDOWS_FORCE_SEMAPHORE_KERNEL "SDL_WINDOWS_FORCE_SEMAPHORE_KERNEL" /** - * \brief A variable to specify custom icon resource id from RC file on Windows platform + * \brief A variable to specify custom icon resource id from RC file on Windows platform */ #define SDL_HINT_WINDOWS_INTRESOURCE_ICON "SDL_WINDOWS_INTRESOURCE_ICON" #define SDL_HINT_WINDOWS_INTRESOURCE_ICON_SMALL "SDL_WINDOWS_INTRESOURCE_ICON_SMALL" @@ -1893,16 +2343,16 @@ extern "C" { * * This hint must be set before initializing the video subsystem. * - * The main purpose of declaring DPI awareness is to disable OS bitmap scaling of SDL windows on monitors with + * The main purpose of declaring DPI awareness is to disable OS bitmap scaling of SDL windows on monitors with * a DPI scale factor. - * + * * This hint is equivalent to requesting DPI awareness via external means (e.g. calling SetProcessDpiAwarenessContext) * and does not cause SDL to use a virtualized coordinate system, so it will generally give you 1 SDL coordinate = 1 pixel * even on high-DPI displays. - * + * * For more information, see: * https://docs.microsoft.com/en-us/windows/win32/hidpi/high-dpi-desktop-application-development-on-windows - * + * * This variable can be set to the following values: * "" - Do not change the DPI awareness (default). * "unaware" - Declare the process as DPI unaware. (Windows 8.1 and later). @@ -1920,16 +2370,16 @@ extern "C" { /** * \brief Uses DPI-scaled points as the SDL coordinate system on Windows. - * + * * This changes the SDL coordinate system units to be DPI-scaled points, rather than pixels everywhere. * This means windows will be appropriately sized, even when created on high-DPI displays with scaling. - * + * * e.g. requesting a 640x480 window from SDL, on a display with 125% scaling in Windows display settings, * will create a window with an 800x600 client area (in pixels). * * Setting this to "1" implicitly requests process DPI awareness (setting SDL_WINDOWS_DPI_AWARENESS is unnecessary), * and forces SDL_WINDOW_ALLOW_HIGHDPI on all windows. - * + * * This variable can be set to the following values: * "0" - SDL coordinates equal Windows coordinates. No automatic window resizing when dragging * between monitors with different scale factors (unless this is performed by @@ -1940,7 +2390,7 @@ extern "C" { #define SDL_HINT_WINDOWS_DPI_SCALING "SDL_WINDOWS_DPI_SCALING" /** - * \brief A variable controlling whether the window frame and title bar are interactive when the cursor is hidden + * \brief A variable controlling whether the window frame and title bar are interactive when the cursor is hidden * * This variable can be set to the following values: * "0" - The window frame is not interactive when the cursor is hidden (no move, resize, etc) @@ -1951,7 +2401,7 @@ extern "C" { #define SDL_HINT_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN "SDL_WINDOW_FRAME_USABLE_WHILE_CURSOR_HIDDEN" /** -* \brief A variable controlling whether the window is activated when the SDL_ShowWindow function is called +* \brief A variable controlling whether the window is activated when the SDL_ShowWindow function is called * * This variable can be set to the following values: * "0" - The window is activated when the SDL_ShowWindow function is called @@ -2245,6 +2695,22 @@ extern "C" { */ #define SDL_HINT_TRACKPAD_IS_TOUCH_ONLY "SDL_TRACKPAD_IS_TOUCH_ONLY" +/** + * Cause SDL to call dbus_shutdown() on quit. + * + * This is useful as a debug tool to validate memory leaks, but shouldn't ever + * be set in production applications, as other libraries used by the application + * might use dbus under the hood and this cause cause crashes if they continue + * after SDL_Quit(). + * + * This variable can be set to the following values: + * "0" - SDL will not call dbus_shutdown() on quit (default) + * "1" - SDL will call dbus_shutdown() on quit + * + * This hint is available since SDL 2.30.0. + */ +#define SDL_HINT_SHUTDOWN_DBUS_ON_QUIT "SDL_SHUTDOWN_DBUS_ON_QUIT" + /** * \brief An enumeration of hint priorities @@ -2314,6 +2780,21 @@ extern DECLSPEC SDL_bool SDLCALL SDL_SetHint(const char *name, */ extern DECLSPEC SDL_bool SDLCALL SDL_ResetHint(const char *name); +/** + * Reset all hints to the default values. + * + * This will reset all hints to the value of the associated environment + * variable, or NULL if the environment isn't set. Callbacks will be called + * normally with this change. + * + * \since This function is available since SDL 2.26.0. + * + * \sa SDL_GetHint + * \sa SDL_SetHint + * \sa SDL_ResetHint + */ +extern DECLSPEC void SDLCALL SDL_ResetHints(void); + /** * Get the value of a hint. * @@ -2387,9 +2868,16 @@ extern DECLSPEC void SDLCALL SDL_DelHintCallback(const char *name, /** * Clear all hints. * - * This function is automatically called during SDL_Quit(). + * This function is automatically called during SDL_Quit(), and deletes all + * callbacks without calling them and frees all memory associated with hints. + * If you're calling this from application code you probably want to call + * SDL_ResetHints() instead. + * + * This function will be removed from the API the next time we rev the ABI. * * \since This function is available since SDL 2.0.0. + * + * \sa SDL_ResetHints */ extern DECLSPEC void SDLCALL SDL_ClearHints(void); diff --git a/extlib/SDL2/include/SDL_joystick.h b/extlib/SDL2/include/SDL_joystick.h index 1a7c66ee..7a3faf84 100644 --- a/extlib/SDL2/include/SDL_joystick.h +++ b/extlib/SDL2/include/SDL_joystick.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -44,6 +44,7 @@ #include "SDL_stdinc.h" #include "SDL_error.h" #include "SDL_guid.h" +#include "SDL_mutex.h" #include "begin_code.h" /* Set up for C function definitions, even when using C++ */ @@ -66,6 +67,9 @@ extern "C" { /** * The joystick structure used to identify an SDL joystick */ +#ifdef SDL_THREAD_SAFETY_ANALYSIS +extern SDL_mutex *SDL_joystick_lock; +#endif struct _SDL_Joystick; typedef struct _SDL_Joystick SDL_Joystick; @@ -124,9 +128,14 @@ typedef enum * the API functions that take a joystick index will be valid, and joystick * and game controller events will not be delivered. * + * As of SDL 2.26.0, you can take the joystick lock around reinitializing the + * joystick subsystem, to prevent other threads from seeing joysticks in an + * uninitialized state. However, all open joysticks will be closed and SDL + * functions called with them will fail. + * * \since This function is available since SDL 2.0.7. */ -extern DECLSPEC void SDLCALL SDL_LockJoysticks(void); +extern DECLSPEC void SDLCALL SDL_LockJoysticks(void) SDL_ACQUIRE(SDL_joystick_lock); /** @@ -141,7 +150,7 @@ extern DECLSPEC void SDLCALL SDL_LockJoysticks(void); * * \since This function is available since SDL 2.0.7. */ -extern DECLSPEC void SDLCALL SDL_UnlockJoysticks(void); +extern DECLSPEC void SDLCALL SDL_UnlockJoysticks(void) SDL_RELEASE(SDL_joystick_lock); /** * Count the number of joysticks attached to the system. @@ -279,13 +288,12 @@ extern DECLSPEC SDL_JoystickType SDLCALL SDL_JoystickGetDeviceType(int device_in /** * Get the instance ID of a joystick. * - * This can be called before any joysticks are opened. If the index is out of - * range, this function will return -1. + * This can be called before any joysticks are opened. * * \param device_index the index of the joystick to query (the N'th joystick * on the system * \returns the instance id of the selected joystick. If called on an invalid - * index, this function returns zero + * index, this function returns -1. * * \since This function is available since SDL 2.0.6. */ @@ -425,6 +433,10 @@ extern DECLSPEC SDL_bool SDLCALL SDL_JoystickIsVirtual(int device_index); * the following: SDL_PollEvent, SDL_PumpEvents, SDL_WaitEventTimeout, * SDL_WaitEvent. * + * Note that when sending trigger axes, you should scale the value to the full + * range of Sint16. For example, a trigger at rest would have the value of + * `SDL_JOYSTICK_AXIS_MIN`. + * * \param joystick the virtual joystick on which to set state. * \param axis the specific axis on the virtual joystick to set. * \param value the new value for the specified axis. @@ -643,6 +655,25 @@ extern DECLSPEC void SDLCALL SDL_JoystickGetGUIDString(SDL_JoystickGUID guid, ch */ extern DECLSPEC SDL_JoystickGUID SDLCALL SDL_JoystickGetGUIDFromString(const char *pchGUID); +/** + * Get the device information encoded in a SDL_JoystickGUID structure + * + * \param guid the SDL_JoystickGUID you wish to get info about + * \param vendor A pointer filled in with the device VID, or 0 if not + * available + * \param product A pointer filled in with the device PID, or 0 if not + * available + * \param version A pointer filled in with the device version, or 0 if not + * available + * \param crc16 A pointer filled in with a CRC used to distinguish different + * products with the same VID/PID, or 0 if not available + * + * \since This function is available since SDL 2.26.0. + * + * \sa SDL_JoystickGetDeviceGUID + */ +extern DECLSPEC void SDLCALL SDL_GetJoystickGUIDInfo(SDL_JoystickGUID guid, Uint16 *vendor, Uint16 *product, Uint16 *version, Uint16 *crc16); + /** * Get the status of a specified joystick. * @@ -759,12 +790,17 @@ extern DECLSPEC void SDLCALL SDL_JoystickUpdate(void); * **WARNING**: Calling this function may delete all events currently in SDL's * event queue. * - * \param state can be one of `SDL_QUERY`, `SDL_IGNORE`, or `SDL_ENABLE` - * \returns 1 if enabled, 0 if disabled, or a negative error code on failure; - * call SDL_GetError() for more information. + * While `param` is meant to be one of `SDL_QUERY`, `SDL_IGNORE`, or + * `SDL_ENABLE`, this function accepts any value, with any non-zero value that + * isn't `SDL_QUERY` being treated as `SDL_ENABLE`. + * + * If SDL was built with events disabled (extremely uncommon!), this will + * do nothing and always return `SDL_IGNORE`. * - * If `state` is `SDL_QUERY` then the current state is returned, - * otherwise the new processing state is returned. + * \param state can be one of `SDL_QUERY`, `SDL_IGNORE`, or `SDL_ENABLE` + * \returns If `state` is `SDL_QUERY` then the current state is returned, + * otherwise `state` is returned (even if it was not one of the + * allowed values). * * \since This function is available since SDL 2.0.0. * diff --git a/extlib/SDL2/include/SDL_keyboard.h b/extlib/SDL2/include/SDL_keyboard.h index e7663fb3..03c7b5a3 100644 --- a/extlib/SDL2/include/SDL_keyboard.h +++ b/extlib/SDL2/include/SDL_keyboard.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -298,8 +298,10 @@ extern DECLSPEC void SDLCALL SDL_ClearComposition(void); extern DECLSPEC SDL_bool SDLCALL SDL_IsTextInputShown(void); /** - * Set the rectangle used to type Unicode text inputs. - * + * Set the rectangle used to type Unicode text inputs. Native input methods + * will place a window with word suggestions near it, without covering the + * text being inputted. + * * To start text input in a given location, this function is intended to be * called before SDL_StartTextInput, although some platforms support moving * the rectangle even while text input (and a composition) is active. diff --git a/extlib/SDL2/include/SDL_keycode.h b/extlib/SDL2/include/SDL_keycode.h index 65420f29..57a71bd7 100644 --- a/extlib/SDL2/include/SDL_keycode.h +++ b/extlib/SDL2/include/SDL_keycode.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -40,7 +40,7 @@ * an SDLK_* constant for those keys that do not generate characters. * * A special exception is the number keys at the top of the keyboard which - * always map to SDLK_0...SDLK_9, regardless of layout. + * map to SDLK_0...SDLK_9 on AZERTY layouts. */ typedef Sint32 SDL_Keycode; diff --git a/extlib/SDL2/include/SDL_loadso.h b/extlib/SDL2/include/SDL_loadso.h index 61857c81..4edc22e9 100644 --- a/extlib/SDL2/include/SDL_loadso.h +++ b/extlib/SDL2/include/SDL_loadso.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 diff --git a/extlib/SDL2/include/SDL_locale.h b/extlib/SDL2/include/SDL_locale.h index 75157799..0b6118f0 100644 --- a/extlib/SDL2/include/SDL_locale.h +++ b/extlib/SDL2/include/SDL_locale.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 diff --git a/extlib/SDL2/include/SDL_log.h b/extlib/SDL2/include/SDL_log.h index 1d8b20b6..bd030c6d 100644 --- a/extlib/SDL2/include/SDL_log.h +++ b/extlib/SDL2/include/SDL_log.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -59,7 +59,7 @@ extern "C" { * By default the application category is enabled at the INFO level, * the assert category is enabled at the WARN level, test is enabled * at the VERBOSE level and all other categories are enabled at the - * CRITICAL level. + * ERROR level. */ typedef enum { @@ -352,7 +352,7 @@ extern DECLSPEC void SDLCALL SDL_LogMessage(int category, */ extern DECLSPEC void SDLCALL SDL_LogMessageV(int category, SDL_LogPriority priority, - const char *fmt, va_list ap); + SDL_PRINTF_FORMAT_STRING const char *fmt, va_list ap) SDL_PRINTF_VARARG_FUNCV(3); /** * The prototype for the log output callback function. diff --git a/extlib/SDL2/include/SDL_main.h b/extlib/SDL2/include/SDL_main.h index 8b267082..a66c84b4 100644 --- a/extlib/SDL2/include/SDL_main.h +++ b/extlib/SDL2/include/SDL_main.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -108,6 +108,15 @@ void reset_IOP(); \ void reset_IOP() {} +#elif defined(__3DS__) +/* + On N3DS, SDL provides a main function that sets up the screens + and storage. + + If you provide this yourself, you may define SDL_MAIN_HANDLED +*/ +#define SDL_MAIN_AVAILABLE + #endif #endif /* SDL_MAIN_HANDLED */ @@ -254,6 +263,13 @@ extern DECLSPEC int SDLCALL SDL_UIKitRunApp(int argc, char *argv[], SDL_main_fun */ extern DECLSPEC int SDLCALL SDL_GDKRunApp(SDL_main_func mainFunction, void *reserved); +/** + * Callback from the application to let the suspend continue. + * + * \since This function is available since SDL 2.28.0. + */ +extern DECLSPEC void SDLCALL SDL_GDKSuspendComplete(void); + #endif /* __GDK__ */ #ifdef __cplusplus diff --git a/extlib/SDL2/include/SDL_messagebox.h b/extlib/SDL2/include/SDL_messagebox.h index d763534d..5ace6f2d 100644 --- a/extlib/SDL2/include/SDL_messagebox.h +++ b/extlib/SDL2/include/SDL_messagebox.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 diff --git a/extlib/SDL2/include/SDL_metal.h b/extlib/SDL2/include/SDL_metal.h index eb308287..50f7b2ae 100644 --- a/extlib/SDL2/include/SDL_metal.h +++ b/extlib/SDL2/include/SDL_metal.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -82,7 +82,7 @@ extern DECLSPEC void SDLCALL SDL_Metal_DestroyView(SDL_MetalView view); * * \since This function is available since SDL 2.0.14. * - * \sa SDL_MetalCreateView + * \sa SDL_Metal_CreateView */ extern DECLSPEC void *SDLCALL SDL_Metal_GetLayer(SDL_MetalView view); diff --git a/extlib/SDL2/include/SDL_misc.h b/extlib/SDL2/include/SDL_misc.h index 261b6b87..113ba7a1 100644 --- a/extlib/SDL2/include/SDL_misc.h +++ b/extlib/SDL2/include/SDL_misc.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 diff --git a/extlib/SDL2/include/SDL_mouse.h b/extlib/SDL2/include/SDL_mouse.h index b318c703..687ff122 100644 --- a/extlib/SDL2/include/SDL_mouse.h +++ b/extlib/SDL2/include/SDL_mouse.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -198,13 +198,9 @@ extern DECLSPEC int SDLCALL SDL_WarpMouseGlobal(int x, int y); /** * Set relative mouse mode. * - * While the mouse is in relative mode, the cursor is hidden, and the driver - * will try to report continuous motion in the current window. Only relative - * motion events will be delivered, the mouse position will not change. - * - * Note that this function will not be able to provide continuous relative - * motion when used over Microsoft Remote Desktop, instead motion is limited - * to the bounds of the screen. + * While the mouse is in relative mode, the cursor is hidden, the mouse + * position is constrained to the window, and SDL will report continuous + * relative mouse motion even if the mouse is at the edge of the window. * * This function will flush any pending mouse motion. * @@ -389,6 +385,9 @@ extern DECLSPEC SDL_Cursor *SDLCALL SDL_GetCursor(void); /** * Get the default cursor. * + * You do not have to call SDL_FreeCursor() on the return value, but it is + * safe to do so. + * * \returns the default cursor on success or NULL on failure. * * \since This function is available since SDL 2.0.0. diff --git a/extlib/SDL2/include/SDL_mutex.h b/extlib/SDL2/include/SDL_mutex.h index 173468f6..eaa21f29 100644 --- a/extlib/SDL2/include/SDL_mutex.h +++ b/extlib/SDL2/include/SDL_mutex.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -31,6 +31,80 @@ #include "SDL_stdinc.h" #include "SDL_error.h" +/******************************************************************************/ +/* Enable thread safety attributes only with clang. + * The attributes can be safely erased when compiling with other compilers. + */ +#if defined(SDL_THREAD_SAFETY_ANALYSIS) && \ + defined(__clang__) && (!defined(SWIG)) +#define SDL_THREAD_ANNOTATION_ATTRIBUTE__(x) __attribute__((x)) +#else +#define SDL_THREAD_ANNOTATION_ATTRIBUTE__(x) /* no-op */ +#endif + +#define SDL_CAPABILITY(x) \ + SDL_THREAD_ANNOTATION_ATTRIBUTE__(capability(x)) + +#define SDL_SCOPED_CAPABILITY \ + SDL_THREAD_ANNOTATION_ATTRIBUTE__(scoped_lockable) + +#define SDL_GUARDED_BY(x) \ + SDL_THREAD_ANNOTATION_ATTRIBUTE__(guarded_by(x)) + +#define SDL_PT_GUARDED_BY(x) \ + SDL_THREAD_ANNOTATION_ATTRIBUTE__(pt_guarded_by(x)) + +#define SDL_ACQUIRED_BEFORE(x) \ + SDL_THREAD_ANNOTATION_ATTRIBUTE__(acquired_before(x)) + +#define SDL_ACQUIRED_AFTER(x) \ + SDL_THREAD_ANNOTATION_ATTRIBUTE__(acquired_after(x)) + +#define SDL_REQUIRES(x) \ + SDL_THREAD_ANNOTATION_ATTRIBUTE__(requires_capability(x)) + +#define SDL_REQUIRES_SHARED(x) \ + SDL_THREAD_ANNOTATION_ATTRIBUTE__(requires_shared_capability(x)) + +#define SDL_ACQUIRE(x) \ + SDL_THREAD_ANNOTATION_ATTRIBUTE__(acquire_capability(x)) + +#define SDL_ACQUIRE_SHARED(x) \ + SDL_THREAD_ANNOTATION_ATTRIBUTE__(acquire_shared_capability(x)) + +#define SDL_RELEASE(x) \ + SDL_THREAD_ANNOTATION_ATTRIBUTE__(release_capability(x)) + +#define SDL_RELEASE_SHARED(x) \ + SDL_THREAD_ANNOTATION_ATTRIBUTE__(release_shared_capability(x)) + +#define SDL_RELEASE_GENERIC(x) \ + SDL_THREAD_ANNOTATION_ATTRIBUTE__(release_generic_capability(x)) + +#define SDL_TRY_ACQUIRE(x, y) \ + SDL_THREAD_ANNOTATION_ATTRIBUTE__(try_acquire_capability(x, y)) + +#define SDL_TRY_ACQUIRE_SHARED(x, y) \ + SDL_THREAD_ANNOTATION_ATTRIBUTE__(try_acquire_shared_capability(x, y)) + +#define SDL_EXCLUDES(x) \ + SDL_THREAD_ANNOTATION_ATTRIBUTE__(locks_excluded(x)) + +#define SDL_ASSERT_CAPABILITY(x) \ + SDL_THREAD_ANNOTATION_ATTRIBUTE__(assert_capability(x)) + +#define SDL_ASSERT_SHARED_CAPABILITY(x) \ + SDL_THREAD_ANNOTATION_ATTRIBUTE__(assert_shared_capability(x)) + +#define SDL_RETURN_CAPABILITY(x) \ + SDL_THREAD_ANNOTATION_ATTRIBUTE__(lock_returned(x)) + +#define SDL_NO_THREAD_SAFETY_ANALYSIS \ + SDL_THREAD_ANNOTATION_ATTRIBUTE__(no_thread_safety_analysis) + +/******************************************************************************/ + + #include "begin_code.h" /* Set up for C function definitions, even when using C++ */ #ifdef __cplusplus @@ -96,7 +170,7 @@ extern DECLSPEC SDL_mutex *SDLCALL SDL_CreateMutex(void); * * \since This function is available since SDL 2.0.0. */ -extern DECLSPEC int SDLCALL SDL_LockMutex(SDL_mutex * mutex); +extern DECLSPEC int SDLCALL SDL_LockMutex(SDL_mutex * mutex) SDL_ACQUIRE(mutex); #define SDL_mutexP(m) SDL_LockMutex(m) /** @@ -119,7 +193,7 @@ extern DECLSPEC int SDLCALL SDL_LockMutex(SDL_mutex * mutex); * \sa SDL_LockMutex * \sa SDL_UnlockMutex */ -extern DECLSPEC int SDLCALL SDL_TryLockMutex(SDL_mutex * mutex); +extern DECLSPEC int SDLCALL SDL_TryLockMutex(SDL_mutex * mutex) SDL_TRY_ACQUIRE(0, mutex); /** * Unlock the mutex. @@ -138,7 +212,7 @@ extern DECLSPEC int SDLCALL SDL_TryLockMutex(SDL_mutex * mutex); * * \since This function is available since SDL 2.0.0. */ -extern DECLSPEC int SDLCALL SDL_UnlockMutex(SDL_mutex * mutex); +extern DECLSPEC int SDLCALL SDL_UnlockMutex(SDL_mutex * mutex) SDL_RELEASE(mutex); #define SDL_mutexV(m) SDL_UnlockMutex(m) /** @@ -276,7 +350,7 @@ extern DECLSPEC int SDLCALL SDL_SemTryWait(SDL_sem * sem); * successful it will atomically decrement the semaphore value. * * \param sem the semaphore to wait on - * \param ms the length of the timeout, in milliseconds + * \param timeout the length of the timeout, in milliseconds * \returns 0 if the wait succeeds, `SDL_MUTEX_TIMEDOUT` if the wait does not * succeed in the allotted time, or a negative error code on failure; * call SDL_GetError() for more information. @@ -290,7 +364,7 @@ extern DECLSPEC int SDLCALL SDL_SemTryWait(SDL_sem * sem); * \sa SDL_SemValue * \sa SDL_SemWait */ -extern DECLSPEC int SDLCALL SDL_SemWaitTimeout(SDL_sem * sem, Uint32 ms); +extern DECLSPEC int SDLCALL SDL_SemWaitTimeout(SDL_sem *sem, Uint32 timeout); /** * Atomically increment a semaphore's value and wake waiting threads. diff --git a/extlib/SDL2/include/SDL_name.h b/extlib/SDL2/include/SDL_name.h index 6ff35b46..71e93545 100644 --- a/extlib/SDL2/include/SDL_name.h +++ b/extlib/SDL2/include/SDL_name.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 diff --git a/extlib/SDL2/include/SDL_opengl.h b/extlib/SDL2/include/SDL_opengl.h index 9aed5035..2bb38c5c 100644 --- a/extlib/SDL2/include/SDL_opengl.h +++ b/extlib/SDL2/include/SDL_opengl.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -2107,57 +2107,6 @@ typedef void (APIENTRYP PFNGLMULTITEXCOORD4SVARBPROC) (GLenum target, const GLsh -/* - * ???. GL_MESA_packed_depth_stencil - * XXX obsolete - */ -#ifndef GL_MESA_packed_depth_stencil -#define GL_MESA_packed_depth_stencil 1 - -#define GL_DEPTH_STENCIL_MESA 0x8750 -#define GL_UNSIGNED_INT_24_8_MESA 0x8751 -#define GL_UNSIGNED_INT_8_24_REV_MESA 0x8752 -#define GL_UNSIGNED_SHORT_15_1_MESA 0x8753 -#define GL_UNSIGNED_SHORT_1_15_REV_MESA 0x8754 - -#endif /* GL_MESA_packed_depth_stencil */ - - -#ifndef GL_ATI_blend_equation_separate -#define GL_ATI_blend_equation_separate 1 - -#define GL_ALPHA_BLEND_EQUATION_ATI 0x883D - -GLAPI void GLAPIENTRY glBlendEquationSeparateATI( GLenum modeRGB, GLenum modeA ); -typedef void (APIENTRYP PFNGLBLENDEQUATIONSEPARATEATIPROC) (GLenum modeRGB, GLenum modeA); - -#endif /* GL_ATI_blend_equation_separate */ - - -/* GL_OES_EGL_image */ -#ifndef GL_OES_EGL_image -typedef void* GLeglImageOES; -#endif - -#ifndef GL_OES_EGL_image -#define GL_OES_EGL_image 1 -#ifdef GL_GLEXT_PROTOTYPES -GLAPI void APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image); -GLAPI void APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image); -#endif -typedef void (APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image); -typedef void (APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image); -#endif - - -/** - ** NOTE!!!!! If you add new functions to this file, or update - ** glext.h be sure to regenerate the gl_mangle.h file. See comments - ** in that file for details. - **/ - - - /********************************************************************** * Begin system-specific stuff */ diff --git a/extlib/SDL2/include/SDL_opengl_glext.h b/extlib/SDL2/include/SDL_opengl_glext.h index 6a402b15..ff6ad12c 100644 --- a/extlib/SDL2/include/SDL_opengl_glext.h +++ b/extlib/SDL2/include/SDL_opengl_glext.h @@ -1,12 +1,49 @@ -#ifndef __glext_h_ +/* SDL modified the include guard to be compatible with Mesa and Apple include guards: + * - Mesa uses: __gl_glext_h_ + * - Apple uses: __glext_h_ */ +#if !defined(__glext_h_) && !defined(__gl_glext_h_) #define __glext_h_ 1 +#define __gl_glext_h_ 1 #ifdef __cplusplus extern "C" { #endif /* -** Copyright (c) 2013-2014 The Khronos Group Inc. +** Copyright 2013-2020 The Khronos Group Inc. +** SPDX-License-Identifier: MIT +** +** This header is generated from the Khronos OpenGL / OpenGL ES XML +** API Registry. The current version of the Registry, generator scripts +** used to make the header, and the header can be found at +** https://github.com/KhronosGroup/OpenGL-Registry +*/ + +#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) +#ifndef WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN 1 +#endif +#include +#endif + +#ifndef APIENTRY +#define APIENTRY +#endif +#ifndef APIENTRYP +#define APIENTRYP APIENTRY * +#endif +#ifndef GLAPI +#define GLAPI extern +#endif + +#define GL_GLEXT_VERSION 20220530 + +/*#include */ +#ifndef __khrplatform_h_ +#define __khrplatform_h_ + +/* +** Copyright (c) 2008-2018 The Khronos Group Inc. ** ** Permission is hereby granted, free of charge, to any person obtaining a ** copy of this software and/or associated documentation files (the @@ -27,36 +64,292 @@ extern "C" { ** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE ** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS. */ -/* -** This header is generated from the Khronos OpenGL / OpenGL ES XML -** API Registry. The current version of the Registry, generator scripts -** used to make the header, and the header can be found at -** http://www.opengl.org/registry/ -** -** Khronos $Revision: 26745 $ on $Date: 2014-05-21 03:12:26 -0700 (Wed, 21 May 2014) $ -*/ -#if defined(_WIN32) && !defined(APIENTRY) && !defined(__CYGWIN__) && !defined(__SCITECH_SNAP__) -#ifndef WIN32_LEAN_AND_MEAN -#define WIN32_LEAN_AND_MEAN 1 +/* Khronos platform-specific types and definitions. + * + * The master copy of khrplatform.h is maintained in the Khronos EGL + * Registry repository at https://github.com/KhronosGroup/EGL-Registry + * The last semantic modification to khrplatform.h was at commit ID: + * 67a3e0864c2d75ea5287b9f3d2eb74a745936692 + * + * Adopters may modify this file to suit their platform. Adopters are + * encouraged to submit platform specific modifications to the Khronos + * group so that they can be included in future versions of this file. + * Please submit changes by filing pull requests or issues on + * the EGL Registry repository linked above. + * + * + * See the Implementer's Guidelines for information about where this file + * should be located on your system and for more details of its use: + * http://www.khronos.org/registry/implementers_guide.pdf + * + * This file should be included as + * #include + * by Khronos client API header files that use its types and defines. + * + * The types in khrplatform.h should only be used to define API-specific types. + * + * Types defined in khrplatform.h: + * khronos_int8_t signed 8 bit + * khronos_uint8_t unsigned 8 bit + * khronos_int16_t signed 16 bit + * khronos_uint16_t unsigned 16 bit + * khronos_int32_t signed 32 bit + * khronos_uint32_t unsigned 32 bit + * khronos_int64_t signed 64 bit + * khronos_uint64_t unsigned 64 bit + * khronos_intptr_t signed same number of bits as a pointer + * khronos_uintptr_t unsigned same number of bits as a pointer + * khronos_ssize_t signed size + * khronos_usize_t unsigned size + * khronos_float_t signed 32 bit floating point + * khronos_time_ns_t unsigned 64 bit time in nanoseconds + * khronos_utime_nanoseconds_t unsigned time interval or absolute time in + * nanoseconds + * khronos_stime_nanoseconds_t signed time interval in nanoseconds + * khronos_boolean_enum_t enumerated boolean type. This should + * only be used as a base type when a client API's boolean type is + * an enum. Client APIs which use an integer or other type for + * booleans cannot use this as the base type for their boolean. + * + * Tokens defined in khrplatform.h: + * + * KHRONOS_FALSE, KHRONOS_TRUE Enumerated boolean false/true values. + * + * KHRONOS_SUPPORT_INT64 is 1 if 64 bit integers are supported; otherwise 0. + * KHRONOS_SUPPORT_FLOAT is 1 if floats are supported; otherwise 0. + * + * Calling convention macros defined in this file: + * KHRONOS_APICALL + * KHRONOS_APIENTRY + * KHRONOS_APIATTRIBUTES + * + * These may be used in function prototypes as: + * + * KHRONOS_APICALL void KHRONOS_APIENTRY funcname( + * int arg1, + * int arg2) KHRONOS_APIATTRIBUTES; + */ + +#if defined(__SCITECH_SNAP__) && !defined(KHRONOS_STATIC) +# define KHRONOS_STATIC 1 #endif -#ifndef NOMINMAX /* don't define min() and max(). */ -#define NOMINMAX + +/*------------------------------------------------------------------------- + * Definition of KHRONOS_APICALL + *------------------------------------------------------------------------- + * This precedes the return type of the function in the function prototype. + */ +#if defined(KHRONOS_STATIC) + /* If the preprocessor constant KHRONOS_STATIC is defined, make the + * header compatible with static linking. */ +# define KHRONOS_APICALL +#elif defined(_WIN32) +# define KHRONOS_APICALL __declspec(dllimport) +#elif defined (__SYMBIAN32__) +# define KHRONOS_APICALL IMPORT_C +#elif defined(__ANDROID__) +# define KHRONOS_APICALL __attribute__((visibility("default"))) +#else +# define KHRONOS_APICALL #endif -#include + +/*------------------------------------------------------------------------- + * Definition of KHRONOS_APIENTRY + *------------------------------------------------------------------------- + * This follows the return type of the function and precedes the function + * name in the function prototype. + */ +#if defined(_WIN32) && !defined(_WIN32_WCE) && !defined(__SCITECH_SNAP__) + /* Win32 but not WinCE */ +# define KHRONOS_APIENTRY __stdcall +#else +# define KHRONOS_APIENTRY #endif -#ifndef APIENTRY -#define APIENTRY +/*------------------------------------------------------------------------- + * Definition of KHRONOS_APIATTRIBUTES + *------------------------------------------------------------------------- + * This follows the closing parenthesis of the function prototype arguments. + */ +#if defined (__ARMCC_2__) +#define KHRONOS_APIATTRIBUTES __softfp +#else +#define KHRONOS_APIATTRIBUTES #endif -#ifndef APIENTRYP -#define APIENTRYP APIENTRY * + +/*------------------------------------------------------------------------- + * basic type definitions + *-----------------------------------------------------------------------*/ +#if (defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L) || defined(__GNUC__) || defined(__SCO__) || defined(__USLC__) + + +/* + * Using + */ +#include +typedef int32_t khronos_int32_t; +typedef uint32_t khronos_uint32_t; +typedef int64_t khronos_int64_t; +typedef uint64_t khronos_uint64_t; +#define KHRONOS_SUPPORT_INT64 1 +#define KHRONOS_SUPPORT_FLOAT 1 +/* + * To support platform where unsigned long cannot be used interchangeably with + * inptr_t (e.g. CHERI-extended ISAs), we can use the stdint.h intptr_t. + * Ideally, we could just use (u)intptr_t everywhere, but this could result in + * ABI breakage if khronos_uintptr_t is changed from unsigned long to + * unsigned long long or similar (this results in different C++ name mangling). + * To avoid changes for existing platforms, we restrict usage of intptr_t to + * platforms where the size of a pointer is larger than the size of long. + */ +#if defined(__SIZEOF_LONG__) && defined(__SIZEOF_POINTER__) +#if __SIZEOF_POINTER__ > __SIZEOF_LONG__ +#define KHRONOS_USE_INTPTR_T #endif -#ifndef GLAPI -#define GLAPI extern #endif -#define GL_GLEXT_VERSION 20140521 +#elif defined(__VMS ) || defined(__sgi) + +/* + * Using + */ +#include +typedef int32_t khronos_int32_t; +typedef uint32_t khronos_uint32_t; +typedef int64_t khronos_int64_t; +typedef uint64_t khronos_uint64_t; +#define KHRONOS_SUPPORT_INT64 1 +#define KHRONOS_SUPPORT_FLOAT 1 + +#elif defined(_WIN32) && !defined(__SCITECH_SNAP__) + +/* + * Win32 + */ +typedef __int32 khronos_int32_t; +typedef unsigned __int32 khronos_uint32_t; +typedef __int64 khronos_int64_t; +typedef unsigned __int64 khronos_uint64_t; +#define KHRONOS_SUPPORT_INT64 1 +#define KHRONOS_SUPPORT_FLOAT 1 + +#elif defined(__sun__) || defined(__digital__) + +/* + * Sun or Digital + */ +typedef int khronos_int32_t; +typedef unsigned int khronos_uint32_t; +#if defined(__arch64__) || defined(_LP64) +typedef long int khronos_int64_t; +typedef unsigned long int khronos_uint64_t; +#else +typedef long long int khronos_int64_t; +typedef unsigned long long int khronos_uint64_t; +#endif /* __arch64__ */ +#define KHRONOS_SUPPORT_INT64 1 +#define KHRONOS_SUPPORT_FLOAT 1 + +#elif 0 + +/* + * Hypothetical platform with no float or int64 support + */ +typedef int khronos_int32_t; +typedef unsigned int khronos_uint32_t; +#define KHRONOS_SUPPORT_INT64 0 +#define KHRONOS_SUPPORT_FLOAT 0 + +#else + +/* + * Generic fallback + */ +#include +typedef int32_t khronos_int32_t; +typedef uint32_t khronos_uint32_t; +typedef int64_t khronos_int64_t; +typedef uint64_t khronos_uint64_t; +#define KHRONOS_SUPPORT_INT64 1 +#define KHRONOS_SUPPORT_FLOAT 1 + +#endif + + +/* + * Types that are (so far) the same on all platforms + */ +typedef signed char khronos_int8_t; +typedef unsigned char khronos_uint8_t; +typedef signed short int khronos_int16_t; +typedef unsigned short int khronos_uint16_t; + +/* + * Types that differ between LLP64 and LP64 architectures - in LLP64, + * pointers are 64 bits, but 'long' is still 32 bits. Win64 appears + * to be the only LLP64 architecture in current use. + */ +#ifdef KHRONOS_USE_INTPTR_T +typedef intptr_t khronos_intptr_t; +typedef uintptr_t khronos_uintptr_t; +#elif defined(_WIN64) +typedef signed long long int khronos_intptr_t; +typedef unsigned long long int khronos_uintptr_t; +#else +typedef signed long int khronos_intptr_t; +typedef unsigned long int khronos_uintptr_t; +#endif + +#if defined(_WIN64) +typedef signed long long int khronos_ssize_t; +typedef unsigned long long int khronos_usize_t; +#else +typedef signed long int khronos_ssize_t; +typedef unsigned long int khronos_usize_t; +#endif + +#if KHRONOS_SUPPORT_FLOAT +/* + * Float type + */ +typedef float khronos_float_t; +#endif + +#if KHRONOS_SUPPORT_INT64 +/* Time types + * + * These types can be used to represent a time interval in nanoseconds or + * an absolute Unadjusted System Time. Unadjusted System Time is the number + * of nanoseconds since some arbitrary system event (e.g. since the last + * time the system booted). The Unadjusted System Time is an unsigned + * 64 bit value that wraps back to 0 every 584 years. Time intervals + * may be either signed or unsigned. + */ +typedef khronos_uint64_t khronos_utime_nanoseconds_t; +typedef khronos_int64_t khronos_stime_nanoseconds_t; +#endif + +/* + * Dummy value used to pad enum types to 32 bits. + */ +#ifndef KHRONOS_MAX_ENUM +#define KHRONOS_MAX_ENUM 0x7FFFFFFF +#endif + +/* + * Enumerated boolean type + * + * Values other than zero should be considered to be true. Therefore + * comparisons should not be made against KHRONOS_TRUE. + */ +typedef enum { + KHRONOS_FALSE = 0, + KHRONOS_TRUE = 1, + KHRONOS_BOOLEAN_ENUM_FORCE_SIZE = KHRONOS_MAX_ENUM +} khronos_boolean_enum_t; + +#endif /* __khrplatform_h_ */ /* Generated C header for: * API: gl @@ -358,15 +651,17 @@ GLAPI void APIENTRY glMultTransposeMatrixd (const GLdouble *m); #define GL_TEXTURE_FILTER_CONTROL 0x8500 #define GL_DEPTH_TEXTURE_MODE 0x884B #define GL_COMPARE_R_TO_TEXTURE 0x884E -#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 typedef void (APIENTRYP PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount); typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSPROC) (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount); @@ -467,14 +762,8 @@ GLAPI void APIENTRY glBlendEquation (GLenum mode); #ifndef GL_VERSION_1_5 #define GL_VERSION_1_5 1 -#include -#ifdef __MACOSX__ -typedef long GLsizeiptr; -typedef long GLintptr; -#else -typedef ptrdiff_t GLsizeiptr; -typedef ptrdiff_t GLintptr; -#endif +typedef khronos_ssize_t GLsizeiptr; +typedef khronos_intptr_t GLintptr; #define GL_BUFFER_SIZE 0x8764 #define GL_BUFFER_USAGE 0x8765 #define GL_QUERY_COUNTER_BITS 0x8864 @@ -887,7 +1176,7 @@ GLAPI void APIENTRY glUniformMatrix4x3fv (GLint location, GLsizei count, GLboole #ifndef GL_VERSION_3_0 #define GL_VERSION_3_0 1 -typedef unsigned short GLhalf; +typedef khronos_uint16_t GLhalf; #define GL_COMPARE_REF_TO_TEXTURE 0x884E #define GL_CLIP_DISTANCE0 0x3000 #define GL_CLIP_DISTANCE1 0x3001 @@ -1049,6 +1338,22 @@ typedef unsigned short GLhalf; #define GL_COLOR_ATTACHMENT13 0x8CED #define GL_COLOR_ATTACHMENT14 0x8CEE #define GL_COLOR_ATTACHMENT15 0x8CEF +#define GL_COLOR_ATTACHMENT16 0x8CF0 +#define GL_COLOR_ATTACHMENT17 0x8CF1 +#define GL_COLOR_ATTACHMENT18 0x8CF2 +#define GL_COLOR_ATTACHMENT19 0x8CF3 +#define GL_COLOR_ATTACHMENT20 0x8CF4 +#define GL_COLOR_ATTACHMENT21 0x8CF5 +#define GL_COLOR_ATTACHMENT22 0x8CF6 +#define GL_COLOR_ATTACHMENT23 0x8CF7 +#define GL_COLOR_ATTACHMENT24 0x8CF8 +#define GL_COLOR_ATTACHMENT25 0x8CF9 +#define GL_COLOR_ATTACHMENT26 0x8CFA +#define GL_COLOR_ATTACHMENT27 0x8CFB +#define GL_COLOR_ATTACHMENT28 0x8CFC +#define GL_COLOR_ATTACHMENT29 0x8CFD +#define GL_COLOR_ATTACHMENT30 0x8CFE +#define GL_COLOR_ATTACHMENT31 0x8CFF #define GL_DEPTH_ATTACHMENT 0x8D00 #define GL_STENCIL_ATTACHMENT 0x8D20 #define GL_FRAMEBUFFER 0x8D40 @@ -1316,11 +1621,13 @@ GLAPI GLboolean APIENTRY glIsVertexArray (GLuint array); #define GL_UNIFORM_BUFFER_START 0x8A29 #define GL_UNIFORM_BUFFER_SIZE 0x8A2A #define GL_MAX_VERTEX_UNIFORM_BLOCKS 0x8A2B +#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS 0x8A2C #define GL_MAX_FRAGMENT_UNIFORM_BLOCKS 0x8A2D #define GL_MAX_COMBINED_UNIFORM_BLOCKS 0x8A2E #define GL_MAX_UNIFORM_BUFFER_BINDINGS 0x8A2F #define GL_MAX_UNIFORM_BLOCK_SIZE 0x8A30 #define GL_MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS 0x8A31 +#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS 0x8A32 #define GL_MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS 0x8A33 #define GL_UNIFORM_BUFFER_OFFSET_ALIGNMENT 0x8A34 #define GL_ACTIVE_UNIFORM_BLOCK_MAX_NAME_LENGTH 0x8A35 @@ -1339,6 +1646,7 @@ GLAPI GLboolean APIENTRY glIsVertexArray (GLuint array); #define GL_UNIFORM_BLOCK_ACTIVE_UNIFORMS 0x8A42 #define GL_UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES 0x8A43 #define GL_UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER 0x8A44 +#define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER 0x8A45 #define GL_UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER 0x8A46 #define GL_INVALID_INDEX 0xFFFFFFFFu typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDPROC) (GLenum mode, GLint first, GLsizei count, GLsizei instancecount); @@ -1372,45 +1680,8 @@ GLAPI void APIENTRY glUniformBlockBinding (GLuint program, GLuint uniformBlockIn #ifndef GL_VERSION_3_2 #define GL_VERSION_3_2 1 typedef struct __GLsync *GLsync; -#ifndef GLEXT_64_TYPES_DEFINED -/* This code block is duplicated in glxext.h, so must be protected */ -#define GLEXT_64_TYPES_DEFINED -/* Define int32_t, int64_t, and uint64_t types for UST/MSC */ -/* (as used in the GL_EXT_timer_query extension). */ -#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L -#include -#elif defined(__sun__) || defined(__digital__) -#include -#if defined(__STDC__) -#if defined(__arch64__) || defined(_LP64) -typedef long int int64_t; -typedef unsigned long int uint64_t; -#else -typedef long long int int64_t; -typedef unsigned long long int uint64_t; -#endif /* __arch64__ */ -#endif /* __STDC__ */ -#elif defined( __VMS ) || defined(__sgi) -#include -#elif defined(__SCO__) || defined(__USLC__) -#include -#elif defined(__UNIXOS2__) || defined(__SOL64__) -typedef long int int32_t; -typedef long long int int64_t; -typedef unsigned long long int uint64_t; -#elif defined(_WIN32) && defined(__GNUC__) -#include -#elif defined(_WIN32) -typedef __int32 int32_t; -typedef __int64 int64_t; -typedef unsigned __int64 uint64_t; -#else -/* Fallback if nothing above works */ -#include -#endif -#endif -typedef uint64_t GLuint64; -typedef int64_t GLint64; +typedef khronos_uint64_t GLuint64; +typedef khronos_int64_t GLint64; #define GL_CONTEXT_CORE_PROFILE_BIT 0x00000001 #define GL_CONTEXT_COMPATIBILITY_PROFILE_BIT 0x00000002 #define GL_LINES_ADJACENCY 0x000A @@ -1486,7 +1757,7 @@ typedef void (APIENTRYP PFNGLDELETESYNCPROC) (GLsync sync); typedef GLenum (APIENTRYP PFNGLCLIENTWAITSYNCPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout); typedef void (APIENTRYP PFNGLWAITSYNCPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout); typedef void (APIENTRYP PFNGLGETINTEGER64VPROC) (GLenum pname, GLint64 *data); -typedef void (APIENTRYP PFNGLGETSYNCIVPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); +typedef void (APIENTRYP PFNGLGETSYNCIVPROC) (GLsync sync, GLenum pname, GLsizei count, GLsizei *length, GLint *values); typedef void (APIENTRYP PFNGLGETINTEGER64I_VPROC) (GLenum target, GLuint index, GLint64 *data); typedef void (APIENTRYP PFNGLGETBUFFERPARAMETERI64VPROC) (GLenum target, GLenum pname, GLint64 *params); typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level); @@ -1506,7 +1777,7 @@ GLAPI void APIENTRY glDeleteSync (GLsync sync); GLAPI GLenum APIENTRY glClientWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout); GLAPI void APIENTRY glWaitSync (GLsync sync, GLbitfield flags, GLuint64 timeout); GLAPI void APIENTRY glGetInteger64v (GLenum pname, GLint64 *data); -GLAPI void APIENTRY glGetSynciv (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); +GLAPI void APIENTRY glGetSynciv (GLsync sync, GLenum pname, GLsizei count, GLsizei *length, GLint *values); GLAPI void APIENTRY glGetInteger64i_v (GLenum target, GLuint index, GLint64 *data); GLAPI void APIENTRY glGetBufferParameteri64v (GLenum target, GLenum pname, GLint64 *params); GLAPI void APIENTRY glFramebufferTexture (GLenum target, GLenum attachment, GLuint texture, GLint level); @@ -1762,8 +2033,8 @@ typedef void (APIENTRYP PFNGLGETUNIFORMDVPROC) (GLuint program, GLint location, typedef GLint (APIENTRYP PFNGLGETSUBROUTINEUNIFORMLOCATIONPROC) (GLuint program, GLenum shadertype, const GLchar *name); typedef GLuint (APIENTRYP PFNGLGETSUBROUTINEINDEXPROC) (GLuint program, GLenum shadertype, const GLchar *name); typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINEUNIFORMIVPROC) (GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values); -typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name); -typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINENAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name); +typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINEUNIFORMNAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name); +typedef void (APIENTRYP PFNGLGETACTIVESUBROUTINENAMEPROC) (GLuint program, GLenum shadertype, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name); typedef void (APIENTRYP PFNGLUNIFORMSUBROUTINESUIVPROC) (GLenum shadertype, GLsizei count, const GLuint *indices); typedef void (APIENTRYP PFNGLGETUNIFORMSUBROUTINEUIVPROC) (GLenum shadertype, GLint location, GLuint *params); typedef void (APIENTRYP PFNGLGETPROGRAMSTAGEIVPROC) (GLuint program, GLenum shadertype, GLenum pname, GLint *values); @@ -1809,8 +2080,8 @@ GLAPI void APIENTRY glGetUniformdv (GLuint program, GLint location, GLdouble *pa GLAPI GLint APIENTRY glGetSubroutineUniformLocation (GLuint program, GLenum shadertype, const GLchar *name); GLAPI GLuint APIENTRY glGetSubroutineIndex (GLuint program, GLenum shadertype, const GLchar *name); GLAPI void APIENTRY glGetActiveSubroutineUniformiv (GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint *values); -GLAPI void APIENTRY glGetActiveSubroutineUniformName (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name); -GLAPI void APIENTRY glGetActiveSubroutineName (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei *length, GLchar *name); +GLAPI void APIENTRY glGetActiveSubroutineUniformName (GLuint program, GLenum shadertype, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name); +GLAPI void APIENTRY glGetActiveSubroutineName (GLuint program, GLenum shadertype, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name); GLAPI void APIENTRY glUniformSubroutinesuiv (GLenum shadertype, GLsizei count, const GLuint *indices); GLAPI void APIENTRY glGetUniformSubroutineuiv (GLenum shadertype, GLint location, GLuint *params); GLAPI void APIENTRY glGetProgramStageiv (GLuint program, GLenum shadertype, GLenum pname, GLint *values); @@ -1868,7 +2139,7 @@ GLAPI void APIENTRY glGetQueryIndexediv (GLenum target, GLuint index, GLenum pna #define GL_VIEWPORT_INDEX_PROVOKING_VERTEX 0x825F #define GL_UNDEFINED_VERTEX 0x8260 typedef void (APIENTRYP PFNGLRELEASESHADERCOMPILERPROC) (void); -typedef void (APIENTRYP PFNGLSHADERBINARYPROC) (GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length); +typedef void (APIENTRYP PFNGLSHADERBINARYPROC) (GLsizei count, const GLuint *shaders, GLenum binaryFormat, const void *binary, GLsizei length); typedef void (APIENTRYP PFNGLGETSHADERPRECISIONFORMATPROC) (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision); typedef void (APIENTRYP PFNGLDEPTHRANGEFPROC) (GLfloat n, GLfloat f); typedef void (APIENTRYP PFNGLCLEARDEPTHFPROC) (GLfloat d); @@ -1957,7 +2228,7 @@ typedef void (APIENTRYP PFNGLGETFLOATI_VPROC) (GLenum target, GLuint index, GLfl typedef void (APIENTRYP PFNGLGETDOUBLEI_VPROC) (GLenum target, GLuint index, GLdouble *data); #ifdef GL_GLEXT_PROTOTYPES GLAPI void APIENTRY glReleaseShaderCompiler (void); -GLAPI void APIENTRY glShaderBinary (GLsizei count, const GLuint *shaders, GLenum binaryformat, const void *binary, GLsizei length); +GLAPI void APIENTRY glShaderBinary (GLsizei count, const GLuint *shaders, GLenum binaryFormat, const void *binary, GLsizei length); GLAPI void APIENTRY glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision); GLAPI void APIENTRY glDepthRangef (GLfloat n, GLfloat f); GLAPI void APIENTRY glClearDepthf (GLfloat d); @@ -2049,6 +2320,10 @@ GLAPI void APIENTRY glGetDoublei_v (GLenum target, GLuint index, GLdouble *data) #ifndef GL_VERSION_4_2 #define GL_VERSION_4_2 1 +#define GL_COPY_READ_BUFFER_BINDING 0x8F36 +#define GL_COPY_WRITE_BUFFER_BINDING 0x8F37 +#define GL_TRANSFORM_FEEDBACK_ACTIVE 0x8E24 +#define GL_TRANSFORM_FEEDBACK_PAUSED 0x8E23 #define GL_UNPACK_COMPRESSED_BLOCK_WIDTH 0x9127 #define GL_UNPACK_COMPRESSED_BLOCK_HEIGHT 0x9128 #define GL_UNPACK_COMPRESSED_BLOCK_DEPTH 0x9129 @@ -2160,7 +2435,7 @@ GLAPI void APIENTRY glGetDoublei_v (GLenum target, GLuint index, GLdouble *data) typedef void (APIENTRYP PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance); typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance); typedef void (APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance); -typedef void (APIENTRYP PFNGLGETINTERNALFORMATIVPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params); +typedef void (APIENTRYP PFNGLGETINTERNALFORMATIVPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei count, GLint *params); typedef void (APIENTRYP PFNGLGETACTIVEATOMICCOUNTERBUFFERIVPROC) (GLuint program, GLuint bufferIndex, GLenum pname, GLint *params); typedef void (APIENTRYP PFNGLBINDIMAGETEXTUREPROC) (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format); typedef void (APIENTRYP PFNGLMEMORYBARRIERPROC) (GLbitfield barriers); @@ -2173,7 +2448,7 @@ typedef void (APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKSTREAMINSTANCEDPROC) (GLenum m GLAPI void APIENTRY glDrawArraysInstancedBaseInstance (GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance); GLAPI void APIENTRY glDrawElementsInstancedBaseInstance (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance); GLAPI void APIENTRY glDrawElementsInstancedBaseVertexBaseInstance (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance); -GLAPI void APIENTRY glGetInternalformativ (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint *params); +GLAPI void APIENTRY glGetInternalformativ (GLenum target, GLenum internalformat, GLenum pname, GLsizei count, GLint *params); GLAPI void APIENTRY glGetActiveAtomicCounterBufferiv (GLuint program, GLuint bufferIndex, GLenum pname, GLint *params); GLAPI void APIENTRY glBindImageTexture (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format); GLAPI void APIENTRY glMemoryBarrier (GLbitfield barriers); @@ -2220,6 +2495,7 @@ typedef void (APIENTRY *GLDEBUGPROC)(GLenum source,GLenum type,GLuint id,GLenum #define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_COMPUTE_SHADER 0x90ED #define GL_DISPATCH_INDIRECT_BUFFER 0x90EE #define GL_DISPATCH_INDIRECT_BUFFER_BINDING 0x90EF +#define GL_COMPUTE_SHADER_BIT 0x00000020 #define GL_DEBUG_OUTPUT_SYNCHRONOUS 0x8242 #define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH 0x8243 #define GL_DEBUG_CALLBACK_FUNCTION 0x8244 @@ -2453,7 +2729,7 @@ typedef void (APIENTRYP PFNGLDISPATCHCOMPUTEINDIRECTPROC) (GLintptr indirect); typedef void (APIENTRYP PFNGLCOPYIMAGESUBDATAPROC) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth); typedef void (APIENTRYP PFNGLFRAMEBUFFERPARAMETERIPROC) (GLenum target, GLenum pname, GLint param); typedef void (APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params); -typedef void (APIENTRYP PFNGLGETINTERNALFORMATI64VPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64 *params); +typedef void (APIENTRYP PFNGLGETINTERNALFORMATI64VPROC) (GLenum target, GLenum internalformat, GLenum pname, GLsizei count, GLint64 *params); typedef void (APIENTRYP PFNGLINVALIDATETEXSUBIMAGEPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth); typedef void (APIENTRYP PFNGLINVALIDATETEXIMAGEPROC) (GLuint texture, GLint level); typedef void (APIENTRYP PFNGLINVALIDATEBUFFERSUBDATAPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length); @@ -2465,7 +2741,7 @@ typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTPROC) (GLenum mode, GLenum typedef void (APIENTRYP PFNGLGETPROGRAMINTERFACEIVPROC) (GLuint program, GLenum programInterface, GLenum pname, GLint *params); typedef GLuint (APIENTRYP PFNGLGETPROGRAMRESOURCEINDEXPROC) (GLuint program, GLenum programInterface, const GLchar *name); typedef void (APIENTRYP PFNGLGETPROGRAMRESOURCENAMEPROC) (GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name); -typedef void (APIENTRYP PFNGLGETPROGRAMRESOURCEIVPROC) (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params); +typedef void (APIENTRYP PFNGLGETPROGRAMRESOURCEIVPROC) (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei count, GLsizei *length, GLint *params); typedef GLint (APIENTRYP PFNGLGETPROGRAMRESOURCELOCATIONPROC) (GLuint program, GLenum programInterface, const GLchar *name); typedef GLint (APIENTRYP PFNGLGETPROGRAMRESOURCELOCATIONINDEXPROC) (GLuint program, GLenum programInterface, const GLchar *name); typedef void (APIENTRYP PFNGLSHADERSTORAGEBLOCKBINDINGPROC) (GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding); @@ -2497,7 +2773,7 @@ GLAPI void APIENTRY glDispatchComputeIndirect (GLintptr indirect); GLAPI void APIENTRY glCopyImageSubData (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth); GLAPI void APIENTRY glFramebufferParameteri (GLenum target, GLenum pname, GLint param); GLAPI void APIENTRY glGetFramebufferParameteriv (GLenum target, GLenum pname, GLint *params); -GLAPI void APIENTRY glGetInternalformati64v (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64 *params); +GLAPI void APIENTRY glGetInternalformati64v (GLenum target, GLenum internalformat, GLenum pname, GLsizei count, GLint64 *params); GLAPI void APIENTRY glInvalidateTexSubImage (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth); GLAPI void APIENTRY glInvalidateTexImage (GLuint texture, GLint level); GLAPI void APIENTRY glInvalidateBufferSubData (GLuint buffer, GLintptr offset, GLsizeiptr length); @@ -2509,7 +2785,7 @@ GLAPI void APIENTRY glMultiDrawElementsIndirect (GLenum mode, GLenum type, const GLAPI void APIENTRY glGetProgramInterfaceiv (GLuint program, GLenum programInterface, GLenum pname, GLint *params); GLAPI GLuint APIENTRY glGetProgramResourceIndex (GLuint program, GLenum programInterface, const GLchar *name); GLAPI void APIENTRY glGetProgramResourceName (GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei *length, GLchar *name); -GLAPI void APIENTRY glGetProgramResourceiv (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei bufSize, GLsizei *length, GLint *params); +GLAPI void APIENTRY glGetProgramResourceiv (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei count, GLsizei *length, GLint *params); GLAPI GLint APIENTRY glGetProgramResourceLocation (GLuint program, GLenum programInterface, const GLchar *name); GLAPI GLint APIENTRY glGetProgramResourceLocationIndex (GLuint program, GLenum programInterface, const GLchar *name); GLAPI void APIENTRY glShaderStorageBlockBinding (GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding); @@ -2579,10 +2855,345 @@ GLAPI void APIENTRY glBindVertexBuffers (GLuint first, GLsizei count, const GLui #endif #endif /* GL_VERSION_4_4 */ +#ifndef GL_VERSION_4_5 +#define GL_VERSION_4_5 1 +#define GL_CONTEXT_LOST 0x0507 +#define GL_NEGATIVE_ONE_TO_ONE 0x935E +#define GL_ZERO_TO_ONE 0x935F +#define GL_CLIP_ORIGIN 0x935C +#define GL_CLIP_DEPTH_MODE 0x935D +#define GL_QUERY_WAIT_INVERTED 0x8E17 +#define GL_QUERY_NO_WAIT_INVERTED 0x8E18 +#define GL_QUERY_BY_REGION_WAIT_INVERTED 0x8E19 +#define GL_QUERY_BY_REGION_NO_WAIT_INVERTED 0x8E1A +#define GL_MAX_CULL_DISTANCES 0x82F9 +#define GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES 0x82FA +#define GL_TEXTURE_TARGET 0x1006 +#define GL_QUERY_TARGET 0x82EA +#define GL_GUILTY_CONTEXT_RESET 0x8253 +#define GL_INNOCENT_CONTEXT_RESET 0x8254 +#define GL_UNKNOWN_CONTEXT_RESET 0x8255 +#define GL_RESET_NOTIFICATION_STRATEGY 0x8256 +#define GL_LOSE_CONTEXT_ON_RESET 0x8252 +#define GL_NO_RESET_NOTIFICATION 0x8261 +#define GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT 0x00000004 +#define GL_COLOR_TABLE 0x80D0 +#define GL_POST_CONVOLUTION_COLOR_TABLE 0x80D1 +#define GL_POST_COLOR_MATRIX_COLOR_TABLE 0x80D2 +#define GL_PROXY_COLOR_TABLE 0x80D3 +#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4 +#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5 +#define GL_CONVOLUTION_1D 0x8010 +#define GL_CONVOLUTION_2D 0x8011 +#define GL_SEPARABLE_2D 0x8012 +#define GL_HISTOGRAM 0x8024 +#define GL_PROXY_HISTOGRAM 0x8025 +#define GL_MINMAX 0x802E +#define GL_CONTEXT_RELEASE_BEHAVIOR 0x82FB +#define GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH 0x82FC +typedef void (APIENTRYP PFNGLCLIPCONTROLPROC) (GLenum origin, GLenum depth); +typedef void (APIENTRYP PFNGLCREATETRANSFORMFEEDBACKSPROC) (GLsizei n, GLuint *ids); +typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKBUFFERBASEPROC) (GLuint xfb, GLuint index, GLuint buffer); +typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKBUFFERRANGEPROC) (GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); +typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKIVPROC) (GLuint xfb, GLenum pname, GLint *param); +typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKI_VPROC) (GLuint xfb, GLenum pname, GLuint index, GLint *param); +typedef void (APIENTRYP PFNGLGETTRANSFORMFEEDBACKI64_VPROC) (GLuint xfb, GLenum pname, GLuint index, GLint64 *param); +typedef void (APIENTRYP PFNGLCREATEBUFFERSPROC) (GLsizei n, GLuint *buffers); +typedef void (APIENTRYP PFNGLNAMEDBUFFERSTORAGEPROC) (GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags); +typedef void (APIENTRYP PFNGLNAMEDBUFFERDATAPROC) (GLuint buffer, GLsizeiptr size, const void *data, GLenum usage); +typedef void (APIENTRYP PFNGLNAMEDBUFFERSUBDATAPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data); +typedef void (APIENTRYP PFNGLCOPYNAMEDBUFFERSUBDATAPROC) (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); +typedef void (APIENTRYP PFNGLCLEARNAMEDBUFFERDATAPROC) (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data); +typedef void (APIENTRYP PFNGLCLEARNAMEDBUFFERSUBDATAPROC) (GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data); +typedef void *(APIENTRYP PFNGLMAPNAMEDBUFFERPROC) (GLuint buffer, GLenum access); +typedef void *(APIENTRYP PFNGLMAPNAMEDBUFFERRANGEPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access); +typedef GLboolean (APIENTRYP PFNGLUNMAPNAMEDBUFFERPROC) (GLuint buffer); +typedef void (APIENTRYP PFNGLFLUSHMAPPEDNAMEDBUFFERRANGEPROC) (GLuint buffer, GLintptr offset, GLsizeiptr length); +typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERIVPROC) (GLuint buffer, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPARAMETERI64VPROC) (GLuint buffer, GLenum pname, GLint64 *params); +typedef void (APIENTRYP PFNGLGETNAMEDBUFFERPOINTERVPROC) (GLuint buffer, GLenum pname, void **params); +typedef void (APIENTRYP PFNGLGETNAMEDBUFFERSUBDATAPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, void *data); +typedef void (APIENTRYP PFNGLCREATEFRAMEBUFFERSPROC) (GLsizei n, GLuint *framebuffers); +typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERRENDERBUFFERPROC) (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERPARAMETERIPROC) (GLuint framebuffer, GLenum pname, GLint param); +typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTUREPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level); +typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERTEXTURELAYERPROC) (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer); +typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERDRAWBUFFERPROC) (GLuint framebuffer, GLenum buf); +typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERDRAWBUFFERSPROC) (GLuint framebuffer, GLsizei n, const GLenum *bufs); +typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERREADBUFFERPROC) (GLuint framebuffer, GLenum src); +typedef void (APIENTRYP PFNGLINVALIDATENAMEDFRAMEBUFFERDATAPROC) (GLuint framebuffer, GLsizei numAttachments, const GLenum *attachments); +typedef void (APIENTRYP PFNGLINVALIDATENAMEDFRAMEBUFFERSUBDATAPROC) (GLuint framebuffer, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERIVPROC) (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLint *value); +typedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERUIVPROC) (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLuint *value); +typedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERFVPROC) (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat *value); +typedef void (APIENTRYP PFNGLCLEARNAMEDFRAMEBUFFERFIPROC) (GLuint framebuffer, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); +typedef void (APIENTRYP PFNGLBLITNAMEDFRAMEBUFFERPROC) (GLuint readFramebuffer, GLuint drawFramebuffer, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +typedef GLenum (APIENTRYP PFNGLCHECKNAMEDFRAMEBUFFERSTATUSPROC) (GLuint framebuffer, GLenum target); +typedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERPARAMETERIVPROC) (GLuint framebuffer, GLenum pname, GLint *param); +typedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLCREATERENDERBUFFERSPROC) (GLsizei n, GLuint *renderbuffers); +typedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEPROC) (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEPROC) (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLGETNAMEDRENDERBUFFERPARAMETERIVPROC) (GLuint renderbuffer, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLCREATETEXTURESPROC) (GLenum target, GLsizei n, GLuint *textures); +typedef void (APIENTRYP PFNGLTEXTUREBUFFERPROC) (GLuint texture, GLenum internalformat, GLuint buffer); +typedef void (APIENTRYP PFNGLTEXTUREBUFFERRANGEPROC) (GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); +typedef void (APIENTRYP PFNGLTEXTURESTORAGE1DPROC) (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width); +typedef void (APIENTRYP PFNGLTEXTURESTORAGE2DPROC) (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLTEXTURESTORAGE3DPROC) (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); +typedef void (APIENTRYP PFNGLTEXTURESTORAGE2DMULTISAMPLEPROC) (GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); +typedef void (APIENTRYP PFNGLTEXTURESTORAGE3DMULTISAMPLEPROC) (GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); +typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE1DPROC) (GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels); +typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE2DPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); +typedef void (APIENTRYP PFNGLTEXTURESUBIMAGE3DPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE1DPROC) (GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE2DPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data); +typedef void (APIENTRYP PFNGLCOMPRESSEDTEXTURESUBIMAGE3DPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); +typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE1DPROC) (GLuint texture, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); +typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE2DPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLCOPYTEXTURESUBIMAGE3DPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLTEXTUREPARAMETERFPROC) (GLuint texture, GLenum pname, GLfloat param); +typedef void (APIENTRYP PFNGLTEXTUREPARAMETERFVPROC) (GLuint texture, GLenum pname, const GLfloat *param); +typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIPROC) (GLuint texture, GLenum pname, GLint param); +typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIIVPROC) (GLuint texture, GLenum pname, const GLint *params); +typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIUIVPROC) (GLuint texture, GLenum pname, const GLuint *params); +typedef void (APIENTRYP PFNGLTEXTUREPARAMETERIVPROC) (GLuint texture, GLenum pname, const GLint *param); +typedef void (APIENTRYP PFNGLGENERATETEXTUREMIPMAPPROC) (GLuint texture); +typedef void (APIENTRYP PFNGLBINDTEXTUREUNITPROC) (GLuint unit, GLuint texture); +typedef void (APIENTRYP PFNGLGETTEXTUREIMAGEPROC) (GLuint texture, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels); +typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXTUREIMAGEPROC) (GLuint texture, GLint level, GLsizei bufSize, void *pixels); +typedef void (APIENTRYP PFNGLGETTEXTURELEVELPARAMETERFVPROC) (GLuint texture, GLint level, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETTEXTURELEVELPARAMETERIVPROC) (GLuint texture, GLint level, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERFVPROC) (GLuint texture, GLenum pname, GLfloat *params); +typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIIVPROC) (GLuint texture, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIUIVPROC) (GLuint texture, GLenum pname, GLuint *params); +typedef void (APIENTRYP PFNGLGETTEXTUREPARAMETERIVPROC) (GLuint texture, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLCREATEVERTEXARRAYSPROC) (GLsizei n, GLuint *arrays); +typedef void (APIENTRYP PFNGLDISABLEVERTEXARRAYATTRIBPROC) (GLuint vaobj, GLuint index); +typedef void (APIENTRYP PFNGLENABLEVERTEXARRAYATTRIBPROC) (GLuint vaobj, GLuint index); +typedef void (APIENTRYP PFNGLVERTEXARRAYELEMENTBUFFERPROC) (GLuint vaobj, GLuint buffer); +typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXBUFFERPROC) (GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride); +typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXBUFFERSPROC) (GLuint vaobj, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides); +typedef void (APIENTRYP PFNGLVERTEXARRAYATTRIBBINDINGPROC) (GLuint vaobj, GLuint attribindex, GLuint bindingindex); +typedef void (APIENTRYP PFNGLVERTEXARRAYATTRIBFORMATPROC) (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset); +typedef void (APIENTRYP PFNGLVERTEXARRAYATTRIBIFORMATPROC) (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); +typedef void (APIENTRYP PFNGLVERTEXARRAYATTRIBLFORMATPROC) (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); +typedef void (APIENTRYP PFNGLVERTEXARRAYBINDINGDIVISORPROC) (GLuint vaobj, GLuint bindingindex, GLuint divisor); +typedef void (APIENTRYP PFNGLGETVERTEXARRAYIVPROC) (GLuint vaobj, GLenum pname, GLint *param); +typedef void (APIENTRYP PFNGLGETVERTEXARRAYINDEXEDIVPROC) (GLuint vaobj, GLuint index, GLenum pname, GLint *param); +typedef void (APIENTRYP PFNGLGETVERTEXARRAYINDEXED64IVPROC) (GLuint vaobj, GLuint index, GLenum pname, GLint64 *param); +typedef void (APIENTRYP PFNGLCREATESAMPLERSPROC) (GLsizei n, GLuint *samplers); +typedef void (APIENTRYP PFNGLCREATEPROGRAMPIPELINESPROC) (GLsizei n, GLuint *pipelines); +typedef void (APIENTRYP PFNGLCREATEQUERIESPROC) (GLenum target, GLsizei n, GLuint *ids); +typedef void (APIENTRYP PFNGLGETQUERYBUFFEROBJECTI64VPROC) (GLuint id, GLuint buffer, GLenum pname, GLintptr offset); +typedef void (APIENTRYP PFNGLGETQUERYBUFFEROBJECTIVPROC) (GLuint id, GLuint buffer, GLenum pname, GLintptr offset); +typedef void (APIENTRYP PFNGLGETQUERYBUFFEROBJECTUI64VPROC) (GLuint id, GLuint buffer, GLenum pname, GLintptr offset); +typedef void (APIENTRYP PFNGLGETQUERYBUFFEROBJECTUIVPROC) (GLuint id, GLuint buffer, GLenum pname, GLintptr offset); +typedef void (APIENTRYP PFNGLMEMORYBARRIERBYREGIONPROC) (GLbitfield barriers); +typedef void (APIENTRYP PFNGLGETTEXTURESUBIMAGEPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, void *pixels); +typedef void (APIENTRYP PFNGLGETCOMPRESSEDTEXTURESUBIMAGEPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei bufSize, void *pixels); +typedef GLenum (APIENTRYP PFNGLGETGRAPHICSRESETSTATUSPROC) (void); +typedef void (APIENTRYP PFNGLGETNCOMPRESSEDTEXIMAGEPROC) (GLenum target, GLint lod, GLsizei bufSize, void *pixels); +typedef void (APIENTRYP PFNGLGETNTEXIMAGEPROC) (GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels); +typedef void (APIENTRYP PFNGLGETNUNIFORMDVPROC) (GLuint program, GLint location, GLsizei bufSize, GLdouble *params); +typedef void (APIENTRYP PFNGLGETNUNIFORMFVPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat *params); +typedef void (APIENTRYP PFNGLGETNUNIFORMIVPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params); +typedef void (APIENTRYP PFNGLGETNUNIFORMUIVPROC) (GLuint program, GLint location, GLsizei bufSize, GLuint *params); +typedef void (APIENTRYP PFNGLREADNPIXELSPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); +typedef void (APIENTRYP PFNGLGETNMAPDVPROC) (GLenum target, GLenum query, GLsizei bufSize, GLdouble *v); +typedef void (APIENTRYP PFNGLGETNMAPFVPROC) (GLenum target, GLenum query, GLsizei bufSize, GLfloat *v); +typedef void (APIENTRYP PFNGLGETNMAPIVPROC) (GLenum target, GLenum query, GLsizei bufSize, GLint *v); +typedef void (APIENTRYP PFNGLGETNPIXELMAPFVPROC) (GLenum map, GLsizei bufSize, GLfloat *values); +typedef void (APIENTRYP PFNGLGETNPIXELMAPUIVPROC) (GLenum map, GLsizei bufSize, GLuint *values); +typedef void (APIENTRYP PFNGLGETNPIXELMAPUSVPROC) (GLenum map, GLsizei bufSize, GLushort *values); +typedef void (APIENTRYP PFNGLGETNPOLYGONSTIPPLEPROC) (GLsizei bufSize, GLubyte *pattern); +typedef void (APIENTRYP PFNGLGETNCOLORTABLEPROC) (GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *table); +typedef void (APIENTRYP PFNGLGETNCONVOLUTIONFILTERPROC) (GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *image); +typedef void (APIENTRYP PFNGLGETNSEPARABLEFILTERPROC) (GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, void *row, GLsizei columnBufSize, void *column, void *span); +typedef void (APIENTRYP PFNGLGETNHISTOGRAMPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void *values); +typedef void (APIENTRYP PFNGLGETNMINMAXPROC) (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void *values); +typedef void (APIENTRYP PFNGLTEXTUREBARRIERPROC) (void); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glClipControl (GLenum origin, GLenum depth); +GLAPI void APIENTRY glCreateTransformFeedbacks (GLsizei n, GLuint *ids); +GLAPI void APIENTRY glTransformFeedbackBufferBase (GLuint xfb, GLuint index, GLuint buffer); +GLAPI void APIENTRY glTransformFeedbackBufferRange (GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); +GLAPI void APIENTRY glGetTransformFeedbackiv (GLuint xfb, GLenum pname, GLint *param); +GLAPI void APIENTRY glGetTransformFeedbacki_v (GLuint xfb, GLenum pname, GLuint index, GLint *param); +GLAPI void APIENTRY glGetTransformFeedbacki64_v (GLuint xfb, GLenum pname, GLuint index, GLint64 *param); +GLAPI void APIENTRY glCreateBuffers (GLsizei n, GLuint *buffers); +GLAPI void APIENTRY glNamedBufferStorage (GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags); +GLAPI void APIENTRY glNamedBufferData (GLuint buffer, GLsizeiptr size, const void *data, GLenum usage); +GLAPI void APIENTRY glNamedBufferSubData (GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data); +GLAPI void APIENTRY glCopyNamedBufferSubData (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); +GLAPI void APIENTRY glClearNamedBufferData (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data); +GLAPI void APIENTRY glClearNamedBufferSubData (GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data); +GLAPI void *APIENTRY glMapNamedBuffer (GLuint buffer, GLenum access); +GLAPI void *APIENTRY glMapNamedBufferRange (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access); +GLAPI GLboolean APIENTRY glUnmapNamedBuffer (GLuint buffer); +GLAPI void APIENTRY glFlushMappedNamedBufferRange (GLuint buffer, GLintptr offset, GLsizeiptr length); +GLAPI void APIENTRY glGetNamedBufferParameteriv (GLuint buffer, GLenum pname, GLint *params); +GLAPI void APIENTRY glGetNamedBufferParameteri64v (GLuint buffer, GLenum pname, GLint64 *params); +GLAPI void APIENTRY glGetNamedBufferPointerv (GLuint buffer, GLenum pname, void **params); +GLAPI void APIENTRY glGetNamedBufferSubData (GLuint buffer, GLintptr offset, GLsizeiptr size, void *data); +GLAPI void APIENTRY glCreateFramebuffers (GLsizei n, GLuint *framebuffers); +GLAPI void APIENTRY glNamedFramebufferRenderbuffer (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +GLAPI void APIENTRY glNamedFramebufferParameteri (GLuint framebuffer, GLenum pname, GLint param); +GLAPI void APIENTRY glNamedFramebufferTexture (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level); +GLAPI void APIENTRY glNamedFramebufferTextureLayer (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer); +GLAPI void APIENTRY glNamedFramebufferDrawBuffer (GLuint framebuffer, GLenum buf); +GLAPI void APIENTRY glNamedFramebufferDrawBuffers (GLuint framebuffer, GLsizei n, const GLenum *bufs); +GLAPI void APIENTRY glNamedFramebufferReadBuffer (GLuint framebuffer, GLenum src); +GLAPI void APIENTRY glInvalidateNamedFramebufferData (GLuint framebuffer, GLsizei numAttachments, const GLenum *attachments); +GLAPI void APIENTRY glInvalidateNamedFramebufferSubData (GLuint framebuffer, GLsizei numAttachments, const GLenum *attachments, GLint x, GLint y, GLsizei width, GLsizei height); +GLAPI void APIENTRY glClearNamedFramebufferiv (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLint *value); +GLAPI void APIENTRY glClearNamedFramebufferuiv (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLuint *value); +GLAPI void APIENTRY glClearNamedFramebufferfv (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat *value); +GLAPI void APIENTRY glClearNamedFramebufferfi (GLuint framebuffer, GLenum buffer, GLint drawbuffer, GLfloat depth, GLint stencil); +GLAPI void APIENTRY glBlitNamedFramebuffer (GLuint readFramebuffer, GLuint drawFramebuffer, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +GLAPI GLenum APIENTRY glCheckNamedFramebufferStatus (GLuint framebuffer, GLenum target); +GLAPI void APIENTRY glGetNamedFramebufferParameteriv (GLuint framebuffer, GLenum pname, GLint *param); +GLAPI void APIENTRY glGetNamedFramebufferAttachmentParameteriv (GLuint framebuffer, GLenum attachment, GLenum pname, GLint *params); +GLAPI void APIENTRY glCreateRenderbuffers (GLsizei n, GLuint *renderbuffers); +GLAPI void APIENTRY glNamedRenderbufferStorage (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height); +GLAPI void APIENTRY glNamedRenderbufferStorageMultisample (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +GLAPI void APIENTRY glGetNamedRenderbufferParameteriv (GLuint renderbuffer, GLenum pname, GLint *params); +GLAPI void APIENTRY glCreateTextures (GLenum target, GLsizei n, GLuint *textures); +GLAPI void APIENTRY glTextureBuffer (GLuint texture, GLenum internalformat, GLuint buffer); +GLAPI void APIENTRY glTextureBufferRange (GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); +GLAPI void APIENTRY glTextureStorage1D (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width); +GLAPI void APIENTRY glTextureStorage2D (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); +GLAPI void APIENTRY glTextureStorage3D (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); +GLAPI void APIENTRY glTextureStorage2DMultisample (GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations); +GLAPI void APIENTRY glTextureStorage3DMultisample (GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); +GLAPI void APIENTRY glTextureSubImage1D (GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels); +GLAPI void APIENTRY glTextureSubImage2D (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); +GLAPI void APIENTRY glTextureSubImage3D (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); +GLAPI void APIENTRY glCompressedTextureSubImage1D (GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data); +GLAPI void APIENTRY glCompressedTextureSubImage2D (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data); +GLAPI void APIENTRY glCompressedTextureSubImage3D (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); +GLAPI void APIENTRY glCopyTextureSubImage1D (GLuint texture, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width); +GLAPI void APIENTRY glCopyTextureSubImage2D (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +GLAPI void APIENTRY glCopyTextureSubImage3D (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +GLAPI void APIENTRY glTextureParameterf (GLuint texture, GLenum pname, GLfloat param); +GLAPI void APIENTRY glTextureParameterfv (GLuint texture, GLenum pname, const GLfloat *param); +GLAPI void APIENTRY glTextureParameteri (GLuint texture, GLenum pname, GLint param); +GLAPI void APIENTRY glTextureParameterIiv (GLuint texture, GLenum pname, const GLint *params); +GLAPI void APIENTRY glTextureParameterIuiv (GLuint texture, GLenum pname, const GLuint *params); +GLAPI void APIENTRY glTextureParameteriv (GLuint texture, GLenum pname, const GLint *param); +GLAPI void APIENTRY glGenerateTextureMipmap (GLuint texture); +GLAPI void APIENTRY glBindTextureUnit (GLuint unit, GLuint texture); +GLAPI void APIENTRY glGetTextureImage (GLuint texture, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels); +GLAPI void APIENTRY glGetCompressedTextureImage (GLuint texture, GLint level, GLsizei bufSize, void *pixels); +GLAPI void APIENTRY glGetTextureLevelParameterfv (GLuint texture, GLint level, GLenum pname, GLfloat *params); +GLAPI void APIENTRY glGetTextureLevelParameteriv (GLuint texture, GLint level, GLenum pname, GLint *params); +GLAPI void APIENTRY glGetTextureParameterfv (GLuint texture, GLenum pname, GLfloat *params); +GLAPI void APIENTRY glGetTextureParameterIiv (GLuint texture, GLenum pname, GLint *params); +GLAPI void APIENTRY glGetTextureParameterIuiv (GLuint texture, GLenum pname, GLuint *params); +GLAPI void APIENTRY glGetTextureParameteriv (GLuint texture, GLenum pname, GLint *params); +GLAPI void APIENTRY glCreateVertexArrays (GLsizei n, GLuint *arrays); +GLAPI void APIENTRY glDisableVertexArrayAttrib (GLuint vaobj, GLuint index); +GLAPI void APIENTRY glEnableVertexArrayAttrib (GLuint vaobj, GLuint index); +GLAPI void APIENTRY glVertexArrayElementBuffer (GLuint vaobj, GLuint buffer); +GLAPI void APIENTRY glVertexArrayVertexBuffer (GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride); +GLAPI void APIENTRY glVertexArrayVertexBuffers (GLuint vaobj, GLuint first, GLsizei count, const GLuint *buffers, const GLintptr *offsets, const GLsizei *strides); +GLAPI void APIENTRY glVertexArrayAttribBinding (GLuint vaobj, GLuint attribindex, GLuint bindingindex); +GLAPI void APIENTRY glVertexArrayAttribFormat (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset); +GLAPI void APIENTRY glVertexArrayAttribIFormat (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); +GLAPI void APIENTRY glVertexArrayAttribLFormat (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset); +GLAPI void APIENTRY glVertexArrayBindingDivisor (GLuint vaobj, GLuint bindingindex, GLuint divisor); +GLAPI void APIENTRY glGetVertexArrayiv (GLuint vaobj, GLenum pname, GLint *param); +GLAPI void APIENTRY glGetVertexArrayIndexediv (GLuint vaobj, GLuint index, GLenum pname, GLint *param); +GLAPI void APIENTRY glGetVertexArrayIndexed64iv (GLuint vaobj, GLuint index, GLenum pname, GLint64 *param); +GLAPI void APIENTRY glCreateSamplers (GLsizei n, GLuint *samplers); +GLAPI void APIENTRY glCreateProgramPipelines (GLsizei n, GLuint *pipelines); +GLAPI void APIENTRY glCreateQueries (GLenum target, GLsizei n, GLuint *ids); +GLAPI void APIENTRY glGetQueryBufferObjecti64v (GLuint id, GLuint buffer, GLenum pname, GLintptr offset); +GLAPI void APIENTRY glGetQueryBufferObjectiv (GLuint id, GLuint buffer, GLenum pname, GLintptr offset); +GLAPI void APIENTRY glGetQueryBufferObjectui64v (GLuint id, GLuint buffer, GLenum pname, GLintptr offset); +GLAPI void APIENTRY glGetQueryBufferObjectuiv (GLuint id, GLuint buffer, GLenum pname, GLintptr offset); +GLAPI void APIENTRY glMemoryBarrierByRegion (GLbitfield barriers); +GLAPI void APIENTRY glGetTextureSubImage (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, void *pixels); +GLAPI void APIENTRY glGetCompressedTextureSubImage (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei bufSize, void *pixels); +GLAPI GLenum APIENTRY glGetGraphicsResetStatus (void); +GLAPI void APIENTRY glGetnCompressedTexImage (GLenum target, GLint lod, GLsizei bufSize, void *pixels); +GLAPI void APIENTRY glGetnTexImage (GLenum target, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels); +GLAPI void APIENTRY glGetnUniformdv (GLuint program, GLint location, GLsizei bufSize, GLdouble *params); +GLAPI void APIENTRY glGetnUniformfv (GLuint program, GLint location, GLsizei bufSize, GLfloat *params); +GLAPI void APIENTRY glGetnUniformiv (GLuint program, GLint location, GLsizei bufSize, GLint *params); +GLAPI void APIENTRY glGetnUniformuiv (GLuint program, GLint location, GLsizei bufSize, GLuint *params); +GLAPI void APIENTRY glReadnPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); +GLAPI void APIENTRY glGetnMapdv (GLenum target, GLenum query, GLsizei bufSize, GLdouble *v); +GLAPI void APIENTRY glGetnMapfv (GLenum target, GLenum query, GLsizei bufSize, GLfloat *v); +GLAPI void APIENTRY glGetnMapiv (GLenum target, GLenum query, GLsizei bufSize, GLint *v); +GLAPI void APIENTRY glGetnPixelMapfv (GLenum map, GLsizei bufSize, GLfloat *values); +GLAPI void APIENTRY glGetnPixelMapuiv (GLenum map, GLsizei bufSize, GLuint *values); +GLAPI void APIENTRY glGetnPixelMapusv (GLenum map, GLsizei bufSize, GLushort *values); +GLAPI void APIENTRY glGetnPolygonStipple (GLsizei bufSize, GLubyte *pattern); +GLAPI void APIENTRY glGetnColorTable (GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *table); +GLAPI void APIENTRY glGetnConvolutionFilter (GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *image); +GLAPI void APIENTRY glGetnSeparableFilter (GLenum target, GLenum format, GLenum type, GLsizei rowBufSize, void *row, GLsizei columnBufSize, void *column, void *span); +GLAPI void APIENTRY glGetnHistogram (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void *values); +GLAPI void APIENTRY glGetnMinmax (GLenum target, GLboolean reset, GLenum format, GLenum type, GLsizei bufSize, void *values); +GLAPI void APIENTRY glTextureBarrier (void); +#endif +#endif /* GL_VERSION_4_5 */ + +#ifndef GL_VERSION_4_6 +#define GL_VERSION_4_6 1 +#define GL_SHADER_BINARY_FORMAT_SPIR_V 0x9551 +#define GL_SPIR_V_BINARY 0x9552 +#define GL_PARAMETER_BUFFER 0x80EE +#define GL_PARAMETER_BUFFER_BINDING 0x80EF +#define GL_CONTEXT_FLAG_NO_ERROR_BIT 0x00000008 +#define GL_VERTICES_SUBMITTED 0x82EE +#define GL_PRIMITIVES_SUBMITTED 0x82EF +#define GL_VERTEX_SHADER_INVOCATIONS 0x82F0 +#define GL_TESS_CONTROL_SHADER_PATCHES 0x82F1 +#define GL_TESS_EVALUATION_SHADER_INVOCATIONS 0x82F2 +#define GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED 0x82F3 +#define GL_FRAGMENT_SHADER_INVOCATIONS 0x82F4 +#define GL_COMPUTE_SHADER_INVOCATIONS 0x82F5 +#define GL_CLIPPING_INPUT_PRIMITIVES 0x82F6 +#define GL_CLIPPING_OUTPUT_PRIMITIVES 0x82F7 +#define GL_POLYGON_OFFSET_CLAMP 0x8E1B +#define GL_SPIR_V_EXTENSIONS 0x9553 +#define GL_NUM_SPIR_V_EXTENSIONS 0x9554 +#define GL_TEXTURE_MAX_ANISOTROPY 0x84FE +#define GL_MAX_TEXTURE_MAX_ANISOTROPY 0x84FF +#define GL_TRANSFORM_FEEDBACK_OVERFLOW 0x82EC +#define GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW 0x82ED +typedef void (APIENTRYP PFNGLSPECIALIZESHADERPROC) (GLuint shader, const GLchar *pEntryPoint, GLuint numSpecializationConstants, const GLuint *pConstantIndex, const GLuint *pConstantValue); +typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTCOUNTPROC) (GLenum mode, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); +typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTPROC) (GLenum mode, GLenum type, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); +typedef void (APIENTRYP PFNGLPOLYGONOFFSETCLAMPPROC) (GLfloat factor, GLfloat units, GLfloat clamp); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glSpecializeShader (GLuint shader, const GLchar *pEntryPoint, GLuint numSpecializationConstants, const GLuint *pConstantIndex, const GLuint *pConstantValue); +GLAPI void APIENTRY glMultiDrawArraysIndirectCount (GLenum mode, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); +GLAPI void APIENTRY glMultiDrawElementsIndirectCount (GLenum mode, GLenum type, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); +GLAPI void APIENTRY glPolygonOffsetClamp (GLfloat factor, GLfloat units, GLfloat clamp); +#endif +#endif /* GL_VERSION_4_6 */ + #ifndef GL_ARB_ES2_compatibility #define GL_ARB_ES2_compatibility 1 #endif /* GL_ARB_ES2_compatibility */ +#ifndef GL_ARB_ES3_1_compatibility +#define GL_ARB_ES3_1_compatibility 1 +#endif /* GL_ARB_ES3_1_compatibility */ + +#ifndef GL_ARB_ES3_2_compatibility +#define GL_ARB_ES3_2_compatibility 1 +#define GL_PRIMITIVE_BOUNDING_BOX_ARB 0x92BE +#define GL_MULTISAMPLE_LINE_WIDTH_RANGE_ARB 0x9381 +#define GL_MULTISAMPLE_LINE_WIDTH_GRANULARITY_ARB 0x9382 +typedef void (APIENTRYP PFNGLPRIMITIVEBOUNDINGBOXARBPROC) (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glPrimitiveBoundingBoxARB (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW); +#endif +#endif /* GL_ARB_ES3_2_compatibility */ + #ifndef GL_ARB_ES3_compatibility #define GL_ARB_ES3_compatibility 1 #endif /* GL_ARB_ES3_compatibility */ @@ -2597,7 +3208,7 @@ GLAPI void APIENTRY glBindVertexBuffers (GLuint first, GLsizei count, const GLui #ifndef GL_ARB_bindless_texture #define GL_ARB_bindless_texture 1 -typedef uint64_t GLuint64EXT; +typedef khronos_uint64_t GLuint64EXT; #define GL_UNSIGNED_INT64_ARB 0x140F typedef GLuint64 (APIENTRYP PFNGLGETTEXTUREHANDLEARBPROC) (GLuint texture); typedef GLuint64 (APIENTRYP PFNGLGETTEXTURESAMPLERHANDLEARBPROC) (GLuint texture, GLuint sampler); @@ -2663,6 +3274,10 @@ GLAPI GLsync APIENTRY glCreateSyncFromCLeventARB (struct _cl_context *context, s #define GL_ARB_clear_texture 1 #endif /* GL_ARB_clear_texture */ +#ifndef GL_ARB_clip_control +#define GL_ARB_clip_control 1 +#endif /* GL_ARB_clip_control */ + #ifndef GL_ARB_color_buffer_float #define GL_ARB_color_buffer_float 1 #define GL_RGBA_FLOAT_MODE_ARB 0x8820 @@ -2686,7 +3301,6 @@ GLAPI void APIENTRY glClampColorARB (GLenum target, GLenum clamp); #ifndef GL_ARB_compute_shader #define GL_ARB_compute_shader 1 -#define GL_COMPUTE_SHADER_BIT 0x00000020 #endif /* GL_ARB_compute_shader */ #ifndef GL_ARB_compute_variable_group_size @@ -2701,20 +3315,26 @@ GLAPI void APIENTRY glDispatchComputeGroupSizeARB (GLuint num_groups_x, GLuint n #endif #endif /* GL_ARB_compute_variable_group_size */ +#ifndef GL_ARB_conditional_render_inverted +#define GL_ARB_conditional_render_inverted 1 +#endif /* GL_ARB_conditional_render_inverted */ + #ifndef GL_ARB_conservative_depth #define GL_ARB_conservative_depth 1 #endif /* GL_ARB_conservative_depth */ #ifndef GL_ARB_copy_buffer #define GL_ARB_copy_buffer 1 -#define GL_COPY_READ_BUFFER_BINDING 0x8F36 -#define GL_COPY_WRITE_BUFFER_BINDING 0x8F37 #endif /* GL_ARB_copy_buffer */ #ifndef GL_ARB_copy_image #define GL_ARB_copy_image 1 #endif /* GL_ARB_copy_image */ +#ifndef GL_ARB_cull_distance +#define GL_ARB_cull_distance 1 +#endif /* GL_ARB_cull_distance */ + #ifndef GL_ARB_debug_output #define GL_ARB_debug_output 1 typedef void (APIENTRY *GLDEBUGPROCARB)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); @@ -2769,6 +3389,14 @@ GLAPI GLuint APIENTRY glGetDebugMessageLogARB (GLuint count, GLsizei bufSize, GL #define GL_DEPTH_TEXTURE_MODE_ARB 0x884B #endif /* GL_ARB_depth_texture */ +#ifndef GL_ARB_derivative_control +#define GL_ARB_derivative_control 1 +#endif /* GL_ARB_derivative_control */ + +#ifndef GL_ARB_direct_state_access +#define GL_ARB_direct_state_access 1 +#endif /* GL_ARB_direct_state_access */ + #ifndef GL_ARB_draw_buffers #define GL_ARB_draw_buffers 1 #define GL_MAX_DRAW_BUFFERS_ARB 0x8824 @@ -2979,6 +3607,10 @@ GLAPI GLboolean APIENTRY glIsProgramARB (GLuint program); #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB 0x8B8B #endif /* GL_ARB_fragment_shader */ +#ifndef GL_ARB_fragment_shader_interlock +#define GL_ARB_fragment_shader_interlock 1 +#endif /* GL_ARB_fragment_shader_interlock */ + #ifndef GL_ARB_framebuffer_no_attachments #define GL_ARB_framebuffer_no_attachments 1 #endif /* GL_ARB_framebuffer_no_attachments */ @@ -2991,11 +3623,6 @@ GLAPI GLboolean APIENTRY glIsProgramARB (GLuint program); #define GL_ARB_framebuffer_sRGB 1 #endif /* GL_ARB_framebuffer_sRGB */ -#ifndef GL_KHR_context_flush_control -#define GL_CONTEXT_RELEASE_BEHAVIOR 0x82FB -#define GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH 0x82FC -#endif /* GL_KHR_context_flush_control */ - #ifndef GL_ARB_geometry_shader4 #define GL_ARB_geometry_shader4 1 #define GL_LINES_ADJACENCY_ARB 0x000A @@ -3032,6 +3659,20 @@ GLAPI void APIENTRY glFramebufferTextureFaceARB (GLenum target, GLenum attachmen #define GL_ARB_get_program_binary 1 #endif /* GL_ARB_get_program_binary */ +#ifndef GL_ARB_get_texture_sub_image +#define GL_ARB_get_texture_sub_image 1 +#endif /* GL_ARB_get_texture_sub_image */ + +#ifndef GL_ARB_gl_spirv +#define GL_ARB_gl_spirv 1 +#define GL_SHADER_BINARY_FORMAT_SPIR_V_ARB 0x9551 +#define GL_SPIR_V_BINARY_ARB 0x9552 +typedef void (APIENTRYP PFNGLSPECIALIZESHADERARBPROC) (GLuint shader, const GLchar *pEntryPoint, GLuint numSpecializationConstants, const GLuint *pConstantIndex, const GLuint *pConstantValue); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glSpecializeShaderARB (GLuint shader, const GLchar *pEntryPoint, GLuint numSpecializationConstants, const GLuint *pConstantIndex, const GLuint *pConstantValue); +#endif +#endif /* GL_ARB_gl_spirv */ + #ifndef GL_ARB_gpu_shader5 #define GL_ARB_gpu_shader5 1 #endif /* GL_ARB_gpu_shader5 */ @@ -3040,9 +3681,94 @@ GLAPI void APIENTRY glFramebufferTextureFaceARB (GLenum target, GLenum attachmen #define GL_ARB_gpu_shader_fp64 1 #endif /* GL_ARB_gpu_shader_fp64 */ +#ifndef GL_ARB_gpu_shader_int64 +#define GL_ARB_gpu_shader_int64 1 +#define GL_INT64_ARB 0x140E +#define GL_INT64_VEC2_ARB 0x8FE9 +#define GL_INT64_VEC3_ARB 0x8FEA +#define GL_INT64_VEC4_ARB 0x8FEB +#define GL_UNSIGNED_INT64_VEC2_ARB 0x8FF5 +#define GL_UNSIGNED_INT64_VEC3_ARB 0x8FF6 +#define GL_UNSIGNED_INT64_VEC4_ARB 0x8FF7 +typedef void (APIENTRYP PFNGLUNIFORM1I64ARBPROC) (GLint location, GLint64 x); +typedef void (APIENTRYP PFNGLUNIFORM2I64ARBPROC) (GLint location, GLint64 x, GLint64 y); +typedef void (APIENTRYP PFNGLUNIFORM3I64ARBPROC) (GLint location, GLint64 x, GLint64 y, GLint64 z); +typedef void (APIENTRYP PFNGLUNIFORM4I64ARBPROC) (GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w); +typedef void (APIENTRYP PFNGLUNIFORM1I64VARBPROC) (GLint location, GLsizei count, const GLint64 *value); +typedef void (APIENTRYP PFNGLUNIFORM2I64VARBPROC) (GLint location, GLsizei count, const GLint64 *value); +typedef void (APIENTRYP PFNGLUNIFORM3I64VARBPROC) (GLint location, GLsizei count, const GLint64 *value); +typedef void (APIENTRYP PFNGLUNIFORM4I64VARBPROC) (GLint location, GLsizei count, const GLint64 *value); +typedef void (APIENTRYP PFNGLUNIFORM1UI64ARBPROC) (GLint location, GLuint64 x); +typedef void (APIENTRYP PFNGLUNIFORM2UI64ARBPROC) (GLint location, GLuint64 x, GLuint64 y); +typedef void (APIENTRYP PFNGLUNIFORM3UI64ARBPROC) (GLint location, GLuint64 x, GLuint64 y, GLuint64 z); +typedef void (APIENTRYP PFNGLUNIFORM4UI64ARBPROC) (GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w); +typedef void (APIENTRYP PFNGLUNIFORM1UI64VARBPROC) (GLint location, GLsizei count, const GLuint64 *value); +typedef void (APIENTRYP PFNGLUNIFORM2UI64VARBPROC) (GLint location, GLsizei count, const GLuint64 *value); +typedef void (APIENTRYP PFNGLUNIFORM3UI64VARBPROC) (GLint location, GLsizei count, const GLuint64 *value); +typedef void (APIENTRYP PFNGLUNIFORM4UI64VARBPROC) (GLint location, GLsizei count, const GLuint64 *value); +typedef void (APIENTRYP PFNGLGETUNIFORMI64VARBPROC) (GLuint program, GLint location, GLint64 *params); +typedef void (APIENTRYP PFNGLGETUNIFORMUI64VARBPROC) (GLuint program, GLint location, GLuint64 *params); +typedef void (APIENTRYP PFNGLGETNUNIFORMI64VARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLint64 *params); +typedef void (APIENTRYP PFNGLGETNUNIFORMUI64VARBPROC) (GLuint program, GLint location, GLsizei bufSize, GLuint64 *params); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1I64ARBPROC) (GLuint program, GLint location, GLint64 x); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2I64ARBPROC) (GLuint program, GLint location, GLint64 x, GLint64 y); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3I64ARBPROC) (GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4I64ARBPROC) (GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1I64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLint64 *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2I64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLint64 *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3I64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLint64 *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4I64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLint64 *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UI64ARBPROC) (GLuint program, GLint location, GLuint64 x); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UI64ARBPROC) (GLuint program, GLint location, GLuint64 x, GLuint64 y); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UI64ARBPROC) (GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UI64ARBPROC) (GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM1UI64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLuint64 *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM2UI64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLuint64 *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM3UI64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLuint64 *value); +typedef void (APIENTRYP PFNGLPROGRAMUNIFORM4UI64VARBPROC) (GLuint program, GLint location, GLsizei count, const GLuint64 *value); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glUniform1i64ARB (GLint location, GLint64 x); +GLAPI void APIENTRY glUniform2i64ARB (GLint location, GLint64 x, GLint64 y); +GLAPI void APIENTRY glUniform3i64ARB (GLint location, GLint64 x, GLint64 y, GLint64 z); +GLAPI void APIENTRY glUniform4i64ARB (GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w); +GLAPI void APIENTRY glUniform1i64vARB (GLint location, GLsizei count, const GLint64 *value); +GLAPI void APIENTRY glUniform2i64vARB (GLint location, GLsizei count, const GLint64 *value); +GLAPI void APIENTRY glUniform3i64vARB (GLint location, GLsizei count, const GLint64 *value); +GLAPI void APIENTRY glUniform4i64vARB (GLint location, GLsizei count, const GLint64 *value); +GLAPI void APIENTRY glUniform1ui64ARB (GLint location, GLuint64 x); +GLAPI void APIENTRY glUniform2ui64ARB (GLint location, GLuint64 x, GLuint64 y); +GLAPI void APIENTRY glUniform3ui64ARB (GLint location, GLuint64 x, GLuint64 y, GLuint64 z); +GLAPI void APIENTRY glUniform4ui64ARB (GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w); +GLAPI void APIENTRY glUniform1ui64vARB (GLint location, GLsizei count, const GLuint64 *value); +GLAPI void APIENTRY glUniform2ui64vARB (GLint location, GLsizei count, const GLuint64 *value); +GLAPI void APIENTRY glUniform3ui64vARB (GLint location, GLsizei count, const GLuint64 *value); +GLAPI void APIENTRY glUniform4ui64vARB (GLint location, GLsizei count, const GLuint64 *value); +GLAPI void APIENTRY glGetUniformi64vARB (GLuint program, GLint location, GLint64 *params); +GLAPI void APIENTRY glGetUniformui64vARB (GLuint program, GLint location, GLuint64 *params); +GLAPI void APIENTRY glGetnUniformi64vARB (GLuint program, GLint location, GLsizei bufSize, GLint64 *params); +GLAPI void APIENTRY glGetnUniformui64vARB (GLuint program, GLint location, GLsizei bufSize, GLuint64 *params); +GLAPI void APIENTRY glProgramUniform1i64ARB (GLuint program, GLint location, GLint64 x); +GLAPI void APIENTRY glProgramUniform2i64ARB (GLuint program, GLint location, GLint64 x, GLint64 y); +GLAPI void APIENTRY glProgramUniform3i64ARB (GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z); +GLAPI void APIENTRY glProgramUniform4i64ARB (GLuint program, GLint location, GLint64 x, GLint64 y, GLint64 z, GLint64 w); +GLAPI void APIENTRY glProgramUniform1i64vARB (GLuint program, GLint location, GLsizei count, const GLint64 *value); +GLAPI void APIENTRY glProgramUniform2i64vARB (GLuint program, GLint location, GLsizei count, const GLint64 *value); +GLAPI void APIENTRY glProgramUniform3i64vARB (GLuint program, GLint location, GLsizei count, const GLint64 *value); +GLAPI void APIENTRY glProgramUniform4i64vARB (GLuint program, GLint location, GLsizei count, const GLint64 *value); +GLAPI void APIENTRY glProgramUniform1ui64ARB (GLuint program, GLint location, GLuint64 x); +GLAPI void APIENTRY glProgramUniform2ui64ARB (GLuint program, GLint location, GLuint64 x, GLuint64 y); +GLAPI void APIENTRY glProgramUniform3ui64ARB (GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z); +GLAPI void APIENTRY glProgramUniform4ui64ARB (GLuint program, GLint location, GLuint64 x, GLuint64 y, GLuint64 z, GLuint64 w); +GLAPI void APIENTRY glProgramUniform1ui64vARB (GLuint program, GLint location, GLsizei count, const GLuint64 *value); +GLAPI void APIENTRY glProgramUniform2ui64vARB (GLuint program, GLint location, GLsizei count, const GLuint64 *value); +GLAPI void APIENTRY glProgramUniform3ui64vARB (GLuint program, GLint location, GLsizei count, const GLuint64 *value); +GLAPI void APIENTRY glProgramUniform4ui64vARB (GLuint program, GLint location, GLsizei count, const GLuint64 *value); +#endif +#endif /* GL_ARB_gpu_shader_int64 */ + #ifndef GL_ARB_half_float_pixel #define GL_ARB_half_float_pixel 1 -typedef unsigned short GLhalfARB; +typedef khronos_uint16_t GLhalfARB; #define GL_HALF_FLOAT_ARB 0x140B #endif /* GL_ARB_half_float_pixel */ @@ -3052,11 +3778,6 @@ typedef unsigned short GLhalfARB; #ifndef GL_ARB_imaging #define GL_ARB_imaging 1 -#define GL_BLEND_COLOR 0x8005 -#define GL_BLEND_EQUATION 0x8009 -#define GL_CONVOLUTION_1D 0x8010 -#define GL_CONVOLUTION_2D 0x8011 -#define GL_SEPARABLE_2D 0x8012 #define GL_CONVOLUTION_BORDER_MODE 0x8013 #define GL_CONVOLUTION_FILTER_SCALE 0x8014 #define GL_CONVOLUTION_FILTER_BIAS 0x8015 @@ -3074,8 +3795,6 @@ typedef unsigned short GLhalfARB; #define GL_POST_CONVOLUTION_GREEN_BIAS 0x8021 #define GL_POST_CONVOLUTION_BLUE_BIAS 0x8022 #define GL_POST_CONVOLUTION_ALPHA_BIAS 0x8023 -#define GL_HISTOGRAM 0x8024 -#define GL_PROXY_HISTOGRAM 0x8025 #define GL_HISTOGRAM_WIDTH 0x8026 #define GL_HISTOGRAM_FORMAT 0x8027 #define GL_HISTOGRAM_RED_SIZE 0x8028 @@ -3084,7 +3803,6 @@ typedef unsigned short GLhalfARB; #define GL_HISTOGRAM_ALPHA_SIZE 0x802B #define GL_HISTOGRAM_LUMINANCE_SIZE 0x802C #define GL_HISTOGRAM_SINK 0x802D -#define GL_MINMAX 0x802E #define GL_MINMAX_FORMAT 0x802F #define GL_MINMAX_SINK 0x8030 #define GL_TABLE_TOO_LARGE 0x8031 @@ -3099,12 +3817,6 @@ typedef unsigned short GLhalfARB; #define GL_POST_COLOR_MATRIX_GREEN_BIAS 0x80B9 #define GL_POST_COLOR_MATRIX_BLUE_BIAS 0x80BA #define GL_POST_COLOR_MATRIX_ALPHA_BIAS 0x80BB -#define GL_COLOR_TABLE 0x80D0 -#define GL_POST_CONVOLUTION_COLOR_TABLE 0x80D1 -#define GL_POST_COLOR_MATRIX_COLOR_TABLE 0x80D2 -#define GL_PROXY_COLOR_TABLE 0x80D3 -#define GL_PROXY_POST_CONVOLUTION_COLOR_TABLE 0x80D4 -#define GL_PROXY_POST_COLOR_MATRIX_COLOR_TABLE 0x80D5 #define GL_COLOR_TABLE_SCALE 0x80D6 #define GL_COLOR_TABLE_BIAS 0x80D7 #define GL_COLOR_TABLE_FORMAT 0x80D8 @@ -3190,11 +3902,11 @@ GLAPI void APIENTRY glResetMinmax (GLenum target); #define GL_ARB_indirect_parameters 1 #define GL_PARAMETER_BUFFER_ARB 0x80EE #define GL_PARAMETER_BUFFER_BINDING_ARB 0x80EF -typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC) (GLenum mode, GLintptr indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); -typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC) (GLenum mode, GLenum type, GLintptr indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); +typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTCOUNTARBPROC) (GLenum mode, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); +typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTCOUNTARBPROC) (GLenum mode, GLenum type, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); #ifdef GL_GLEXT_PROTOTYPES -GLAPI void APIENTRY glMultiDrawArraysIndirectCountARB (GLenum mode, GLintptr indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); -GLAPI void APIENTRY glMultiDrawElementsIndirectCountARB (GLenum mode, GLenum type, GLintptr indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); +GLAPI void APIENTRY glMultiDrawArraysIndirectCountARB (GLenum mode, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); +GLAPI void APIENTRY glMultiDrawElementsIndirectCountARB (GLenum mode, GLenum type, const void *indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); #endif #endif /* GL_ARB_indirect_parameters */ @@ -3214,6 +3926,25 @@ GLAPI void APIENTRY glVertexAttribDivisorARB (GLuint index, GLuint divisor); #ifndef GL_ARB_internalformat_query2 #define GL_ARB_internalformat_query2 1 #define GL_SRGB_DECODE_ARB 0x8299 +#define GL_VIEW_CLASS_EAC_R11 0x9383 +#define GL_VIEW_CLASS_EAC_RG11 0x9384 +#define GL_VIEW_CLASS_ETC2_RGB 0x9385 +#define GL_VIEW_CLASS_ETC2_RGBA 0x9386 +#define GL_VIEW_CLASS_ETC2_EAC_RGBA 0x9387 +#define GL_VIEW_CLASS_ASTC_4x4_RGBA 0x9388 +#define GL_VIEW_CLASS_ASTC_5x4_RGBA 0x9389 +#define GL_VIEW_CLASS_ASTC_5x5_RGBA 0x938A +#define GL_VIEW_CLASS_ASTC_6x5_RGBA 0x938B +#define GL_VIEW_CLASS_ASTC_6x6_RGBA 0x938C +#define GL_VIEW_CLASS_ASTC_8x5_RGBA 0x938D +#define GL_VIEW_CLASS_ASTC_8x6_RGBA 0x938E +#define GL_VIEW_CLASS_ASTC_8x8_RGBA 0x938F +#define GL_VIEW_CLASS_ASTC_10x5_RGBA 0x9390 +#define GL_VIEW_CLASS_ASTC_10x6_RGBA 0x9391 +#define GL_VIEW_CLASS_ASTC_10x8_RGBA 0x9392 +#define GL_VIEW_CLASS_ASTC_10x10_RGBA 0x9393 +#define GL_VIEW_CLASS_ASTC_12x10_RGBA 0x9394 +#define GL_VIEW_CLASS_ASTC_12x12_RGBA 0x9395 #endif /* GL_ARB_internalformat_query2 */ #ifndef GL_ARB_invalidate_subdata @@ -3419,6 +4150,30 @@ GLAPI void APIENTRY glGetQueryObjectuivARB (GLuint id, GLenum pname, GLuint *par #define GL_ARB_occlusion_query2 1 #endif /* GL_ARB_occlusion_query2 */ +#ifndef GL_ARB_parallel_shader_compile +#define GL_ARB_parallel_shader_compile 1 +#define GL_MAX_SHADER_COMPILER_THREADS_ARB 0x91B0 +#define GL_COMPLETION_STATUS_ARB 0x91B1 +typedef void (APIENTRYP PFNGLMAXSHADERCOMPILERTHREADSARBPROC) (GLuint count); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glMaxShaderCompilerThreadsARB (GLuint count); +#endif +#endif /* GL_ARB_parallel_shader_compile */ + +#ifndef GL_ARB_pipeline_statistics_query +#define GL_ARB_pipeline_statistics_query 1 +#define GL_VERTICES_SUBMITTED_ARB 0x82EE +#define GL_PRIMITIVES_SUBMITTED_ARB 0x82EF +#define GL_VERTEX_SHADER_INVOCATIONS_ARB 0x82F0 +#define GL_TESS_CONTROL_SHADER_PATCHES_ARB 0x82F1 +#define GL_TESS_EVALUATION_SHADER_INVOCATIONS_ARB 0x82F2 +#define GL_GEOMETRY_SHADER_PRIMITIVES_EMITTED_ARB 0x82F3 +#define GL_FRAGMENT_SHADER_INVOCATIONS_ARB 0x82F4 +#define GL_COMPUTE_SHADER_INVOCATIONS_ARB 0x82F5 +#define GL_CLIPPING_INPUT_PRIMITIVES_ARB 0x82F6 +#define GL_CLIPPING_OUTPUT_PRIMITIVES_ARB 0x82F7 +#endif /* GL_ARB_pipeline_statistics_query */ + #ifndef GL_ARB_pixel_buffer_object #define GL_ARB_pixel_buffer_object 1 #define GL_PIXEL_PACK_BUFFER_ARB 0x88EB @@ -3447,6 +4202,14 @@ GLAPI void APIENTRY glPointParameterfvARB (GLenum pname, const GLfloat *params); #define GL_COORD_REPLACE_ARB 0x8862 #endif /* GL_ARB_point_sprite */ +#ifndef GL_ARB_polygon_offset_clamp +#define GL_ARB_polygon_offset_clamp 1 +#endif /* GL_ARB_polygon_offset_clamp */ + +#ifndef GL_ARB_post_depth_coverage +#define GL_ARB_post_depth_coverage 1 +#endif /* GL_ARB_post_depth_coverage */ + #ifndef GL_ARB_program_interface_query #define GL_ARB_program_interface_query 1 #endif /* GL_ARB_program_interface_query */ @@ -3520,6 +4283,26 @@ GLAPI void APIENTRY glGetnMinmaxARB (GLenum target, GLboolean reset, GLenum form #define GL_ARB_robustness_isolation 1 #endif /* GL_ARB_robustness_isolation */ +#ifndef GL_ARB_sample_locations +#define GL_ARB_sample_locations 1 +#define GL_SAMPLE_LOCATION_SUBPIXEL_BITS_ARB 0x933D +#define GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_ARB 0x933E +#define GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_ARB 0x933F +#define GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_ARB 0x9340 +#define GL_SAMPLE_LOCATION_ARB 0x8E50 +#define GL_PROGRAMMABLE_SAMPLE_LOCATION_ARB 0x9341 +#define GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_ARB 0x9342 +#define GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_ARB 0x9343 +typedef void (APIENTRYP PFNGLFRAMEBUFFERSAMPLELOCATIONSFVARBPROC) (GLenum target, GLuint start, GLsizei count, const GLfloat *v); +typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVARBPROC) (GLuint framebuffer, GLuint start, GLsizei count, const GLfloat *v); +typedef void (APIENTRYP PFNGLEVALUATEDEPTHVALUESARBPROC) (void); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glFramebufferSampleLocationsfvARB (GLenum target, GLuint start, GLsizei count, const GLfloat *v); +GLAPI void APIENTRY glNamedFramebufferSampleLocationsfvARB (GLuint framebuffer, GLuint start, GLsizei count, const GLfloat *v); +GLAPI void APIENTRY glEvaluateDepthValuesARB (void); +#endif +#endif /* GL_ARB_sample_locations */ + #ifndef GL_ARB_sample_shading #define GL_ARB_sample_shading 1 #define GL_SAMPLE_SHADING_ARB 0x8C36 @@ -3546,14 +4329,26 @@ GLAPI void APIENTRY glMinSampleShadingARB (GLfloat value); #define GL_ARB_separate_shader_objects 1 #endif /* GL_ARB_separate_shader_objects */ +#ifndef GL_ARB_shader_atomic_counter_ops +#define GL_ARB_shader_atomic_counter_ops 1 +#endif /* GL_ARB_shader_atomic_counter_ops */ + #ifndef GL_ARB_shader_atomic_counters #define GL_ARB_shader_atomic_counters 1 #endif /* GL_ARB_shader_atomic_counters */ +#ifndef GL_ARB_shader_ballot +#define GL_ARB_shader_ballot 1 +#endif /* GL_ARB_shader_ballot */ + #ifndef GL_ARB_shader_bit_encoding #define GL_ARB_shader_bit_encoding 1 #endif /* GL_ARB_shader_bit_encoding */ +#ifndef GL_ARB_shader_clock +#define GL_ARB_shader_clock 1 +#endif /* GL_ARB_shader_clock */ + #ifndef GL_ARB_shader_draw_parameters #define GL_ARB_shader_draw_parameters 1 #endif /* GL_ARB_shader_draw_parameters */ @@ -3710,10 +4505,18 @@ GLAPI void APIENTRY glGetShaderSourceARB (GLhandleARB obj, GLsizei maxLength, GL #define GL_ARB_shader_subroutine 1 #endif /* GL_ARB_shader_subroutine */ +#ifndef GL_ARB_shader_texture_image_samples +#define GL_ARB_shader_texture_image_samples 1 +#endif /* GL_ARB_shader_texture_image_samples */ + #ifndef GL_ARB_shader_texture_lod #define GL_ARB_shader_texture_lod 1 #endif /* GL_ARB_shader_texture_lod */ +#ifndef GL_ARB_shader_viewport_layer_array +#define GL_ARB_shader_viewport_layer_array 1 +#endif /* GL_ARB_shader_viewport_layer_array */ + #ifndef GL_ARB_shading_language_100 #define GL_ARB_shading_language_100 1 #define GL_SHADING_LANGUAGE_VERSION_ARB 0x8B8C @@ -3760,11 +4563,25 @@ GLAPI void APIENTRY glGetNamedStringivARB (GLint namelen, const GLchar *name, GL #define GL_TEXTURE_COMPARE_FAIL_VALUE_ARB 0x80BF #endif /* GL_ARB_shadow_ambient */ +#ifndef GL_ARB_sparse_buffer +#define GL_ARB_sparse_buffer 1 +#define GL_SPARSE_STORAGE_BIT_ARB 0x0400 +#define GL_SPARSE_BUFFER_PAGE_SIZE_ARB 0x82F8 +typedef void (APIENTRYP PFNGLBUFFERPAGECOMMITMENTARBPROC) (GLenum target, GLintptr offset, GLsizeiptr size, GLboolean commit); +typedef void (APIENTRYP PFNGLNAMEDBUFFERPAGECOMMITMENTEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, GLboolean commit); +typedef void (APIENTRYP PFNGLNAMEDBUFFERPAGECOMMITMENTARBPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, GLboolean commit); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBufferPageCommitmentARB (GLenum target, GLintptr offset, GLsizeiptr size, GLboolean commit); +GLAPI void APIENTRY glNamedBufferPageCommitmentEXT (GLuint buffer, GLintptr offset, GLsizeiptr size, GLboolean commit); +GLAPI void APIENTRY glNamedBufferPageCommitmentARB (GLuint buffer, GLintptr offset, GLsizeiptr size, GLboolean commit); +#endif +#endif /* GL_ARB_sparse_buffer */ + #ifndef GL_ARB_sparse_texture #define GL_ARB_sparse_texture 1 #define GL_TEXTURE_SPARSE_ARB 0x91A6 #define GL_VIRTUAL_PAGE_SIZE_INDEX_ARB 0x91A7 -#define GL_MIN_SPARSE_LEVEL_ARB 0x919B +#define GL_NUM_SPARSE_LEVELS_ARB 0x91AA #define GL_NUM_VIRTUAL_PAGE_SIZES_ARB 0x91A8 #define GL_VIRTUAL_PAGE_SIZE_X_ARB 0x9195 #define GL_VIRTUAL_PAGE_SIZE_Y_ARB 0x9196 @@ -3773,12 +4590,24 @@ GLAPI void APIENTRY glGetNamedStringivARB (GLint namelen, const GLchar *name, GL #define GL_MAX_SPARSE_3D_TEXTURE_SIZE_ARB 0x9199 #define GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_ARB 0x919A #define GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_ARB 0x91A9 -typedef void (APIENTRYP PFNGLTEXPAGECOMMITMENTARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean resident); +typedef void (APIENTRYP PFNGLTEXPAGECOMMITMENTARBPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit); #ifdef GL_GLEXT_PROTOTYPES -GLAPI void APIENTRY glTexPageCommitmentARB (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean resident); +GLAPI void APIENTRY glTexPageCommitmentARB (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit); #endif #endif /* GL_ARB_sparse_texture */ +#ifndef GL_ARB_sparse_texture2 +#define GL_ARB_sparse_texture2 1 +#endif /* GL_ARB_sparse_texture2 */ + +#ifndef GL_ARB_sparse_texture_clamp +#define GL_ARB_sparse_texture_clamp 1 +#endif /* GL_ARB_sparse_texture_clamp */ + +#ifndef GL_ARB_spirv_extensions +#define GL_ARB_spirv_extensions 1 +#endif /* GL_ARB_spirv_extensions */ + #ifndef GL_ARB_stencil_texturing #define GL_ARB_stencil_texturing 1 #endif /* GL_ARB_stencil_texturing */ @@ -3791,6 +4620,10 @@ GLAPI void APIENTRY glTexPageCommitmentARB (GLenum target, GLint level, GLint xo #define GL_ARB_tessellation_shader 1 #endif /* GL_ARB_tessellation_shader */ +#ifndef GL_ARB_texture_barrier +#define GL_ARB_texture_barrier 1 +#endif /* GL_ARB_texture_barrier */ + #ifndef GL_ARB_texture_border_clamp #define GL_ARB_texture_border_clamp 1 #define GL_CLAMP_TO_BORDER_ARB 0x812D @@ -3927,6 +4760,16 @@ GLAPI void APIENTRY glGetCompressedTexImageARB (GLenum target, GLint level, void #define GL_DOT3_RGBA_ARB 0x86AF #endif /* GL_ARB_texture_env_dot3 */ +#ifndef GL_ARB_texture_filter_anisotropic +#define GL_ARB_texture_filter_anisotropic 1 +#endif /* GL_ARB_texture_filter_anisotropic */ + +#ifndef GL_ARB_texture_filter_minmax +#define GL_ARB_texture_filter_minmax 1 +#define GL_TEXTURE_REDUCTION_MODE_ARB 0x9366 +#define GL_WEIGHTED_AVERAGE_ARB 0x9367 +#endif /* GL_ARB_texture_filter_minmax */ + #ifndef GL_ARB_texture_float #define GL_ARB_texture_float 1 #define GL_TEXTURE_RED_TYPE_ARB 0x8C10 @@ -4025,8 +4868,6 @@ GLAPI void APIENTRY glGetCompressedTexImageARB (GLenum target, GLint level, void #ifndef GL_ARB_transform_feedback2 #define GL_ARB_transform_feedback2 1 -#define GL_TRANSFORM_FEEDBACK_PAUSED 0x8E23 -#define GL_TRANSFORM_FEEDBACK_ACTIVE 0x8E24 #endif /* GL_ARB_transform_feedback2 */ #ifndef GL_ARB_transform_feedback3 @@ -4037,6 +4878,12 @@ GLAPI void APIENTRY glGetCompressedTexImageARB (GLenum target, GLint level, void #define GL_ARB_transform_feedback_instanced 1 #endif /* GL_ARB_transform_feedback_instanced */ +#ifndef GL_ARB_transform_feedback_overflow_query +#define GL_ARB_transform_feedback_overflow_query 1 +#define GL_TRANSFORM_FEEDBACK_OVERFLOW_ARB 0x82EC +#define GL_TRANSFORM_FEEDBACK_STREAM_OVERFLOW_ARB 0x82ED +#endif /* GL_ARB_transform_feedback_overflow_query */ + #ifndef GL_ARB_transpose_matrix #define GL_ARB_transpose_matrix 1 #define GL_TRANSPOSE_MODELVIEW_MATRIX_ARB 0x84E3 @@ -4057,9 +4904,6 @@ GLAPI void APIENTRY glMultTransposeMatrixdARB (const GLdouble *m); #ifndef GL_ARB_uniform_buffer_object #define GL_ARB_uniform_buffer_object 1 -#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS 0x8A2C -#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS 0x8A32 -#define GL_UNIFORM_BLOCK_REFERENCED_BY_GEOMETRY_SHADER 0x8A45 #endif /* GL_ARB_uniform_buffer_object */ #ifndef GL_ARB_vertex_array_bgra @@ -4148,13 +4992,8 @@ GLAPI void APIENTRY glVertexBlendARB (GLint count); #ifndef GL_ARB_vertex_buffer_object #define GL_ARB_vertex_buffer_object 1 -#ifdef __MACOSX__ /* The OS X headers haven't caught up with Khronos yet */ -typedef long GLsizeiptrARB; -typedef long GLintptrARB; -#else -typedef ptrdiff_t GLsizeiptrARB; -typedef ptrdiff_t GLintptrARB; -#endif +typedef khronos_ssize_t GLsizeiptrARB; +typedef khronos_intptr_t GLintptrARB; #define GL_BUFFER_SIZE_ARB 0x8764 #define GL_BUFFER_USAGE_ARB 0x8765 #define GL_ARRAY_BUFFER_ARB 0x8892 @@ -4349,6 +5188,12 @@ GLAPI GLint APIENTRY glGetAttribLocationARB (GLhandleARB programObj, const GLcha #ifndef GL_ARB_viewport_array #define GL_ARB_viewport_array 1 +typedef void (APIENTRYP PFNGLDEPTHRANGEARRAYDVNVPROC) (GLuint first, GLsizei count, const GLdouble *v); +typedef void (APIENTRYP PFNGLDEPTHRANGEINDEXEDDNVPROC) (GLuint index, GLdouble n, GLdouble f); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glDepthRangeArraydvNV (GLuint first, GLsizei count, const GLdouble *v); +GLAPI void APIENTRY glDepthRangeIndexeddNV (GLuint index, GLdouble n, GLdouble f); +#endif #endif /* GL_ARB_viewport_array */ #ifndef GL_ARB_window_pos @@ -4389,10 +5234,82 @@ GLAPI void APIENTRY glWindowPos3svARB (const GLshort *v); #endif #endif /* GL_ARB_window_pos */ +#ifndef GL_KHR_blend_equation_advanced +#define GL_KHR_blend_equation_advanced 1 +#define GL_MULTIPLY_KHR 0x9294 +#define GL_SCREEN_KHR 0x9295 +#define GL_OVERLAY_KHR 0x9296 +#define GL_DARKEN_KHR 0x9297 +#define GL_LIGHTEN_KHR 0x9298 +#define GL_COLORDODGE_KHR 0x9299 +#define GL_COLORBURN_KHR 0x929A +#define GL_HARDLIGHT_KHR 0x929B +#define GL_SOFTLIGHT_KHR 0x929C +#define GL_DIFFERENCE_KHR 0x929E +#define GL_EXCLUSION_KHR 0x92A0 +#define GL_HSL_HUE_KHR 0x92AD +#define GL_HSL_SATURATION_KHR 0x92AE +#define GL_HSL_COLOR_KHR 0x92AF +#define GL_HSL_LUMINOSITY_KHR 0x92B0 +typedef void (APIENTRYP PFNGLBLENDBARRIERKHRPROC) (void); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBlendBarrierKHR (void); +#endif +#endif /* GL_KHR_blend_equation_advanced */ + +#ifndef GL_KHR_blend_equation_advanced_coherent +#define GL_KHR_blend_equation_advanced_coherent 1 +#define GL_BLEND_ADVANCED_COHERENT_KHR 0x9285 +#endif /* GL_KHR_blend_equation_advanced_coherent */ + +#ifndef GL_KHR_context_flush_control +#define GL_KHR_context_flush_control 1 +#endif /* GL_KHR_context_flush_control */ + #ifndef GL_KHR_debug #define GL_KHR_debug 1 #endif /* GL_KHR_debug */ +#ifndef GL_KHR_no_error +#define GL_KHR_no_error 1 +#define GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR 0x00000008 +#endif /* GL_KHR_no_error */ + +#ifndef GL_KHR_parallel_shader_compile +#define GL_KHR_parallel_shader_compile 1 +#define GL_MAX_SHADER_COMPILER_THREADS_KHR 0x91B0 +#define GL_COMPLETION_STATUS_KHR 0x91B1 +typedef void (APIENTRYP PFNGLMAXSHADERCOMPILERTHREADSKHRPROC) (GLuint count); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glMaxShaderCompilerThreadsKHR (GLuint count); +#endif +#endif /* GL_KHR_parallel_shader_compile */ + +#ifndef GL_KHR_robust_buffer_access_behavior +#define GL_KHR_robust_buffer_access_behavior 1 +#endif /* GL_KHR_robust_buffer_access_behavior */ + +#ifndef GL_KHR_robustness +#define GL_KHR_robustness 1 +#define GL_CONTEXT_ROBUST_ACCESS 0x90F3 +#endif /* GL_KHR_robustness */ + +#ifndef GL_KHR_shader_subgroup +#define GL_KHR_shader_subgroup 1 +#define GL_SUBGROUP_SIZE_KHR 0x9532 +#define GL_SUBGROUP_SUPPORTED_STAGES_KHR 0x9533 +#define GL_SUBGROUP_SUPPORTED_FEATURES_KHR 0x9534 +#define GL_SUBGROUP_QUAD_ALL_STAGES_KHR 0x9535 +#define GL_SUBGROUP_FEATURE_BASIC_BIT_KHR 0x00000001 +#define GL_SUBGROUP_FEATURE_VOTE_BIT_KHR 0x00000002 +#define GL_SUBGROUP_FEATURE_ARITHMETIC_BIT_KHR 0x00000004 +#define GL_SUBGROUP_FEATURE_BALLOT_BIT_KHR 0x00000008 +#define GL_SUBGROUP_FEATURE_SHUFFLE_BIT_KHR 0x00000010 +#define GL_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT_KHR 0x00000020 +#define GL_SUBGROUP_FEATURE_CLUSTERED_BIT_KHR 0x00000040 +#define GL_SUBGROUP_FEATURE_QUAD_BIT_KHR 0x00000080 +#endif /* GL_KHR_shader_subgroup */ + #ifndef GL_KHR_texture_compression_astc_hdr #define GL_KHR_texture_compression_astc_hdr 1 #define GL_COMPRESSED_RGBA_ASTC_4x4_KHR 0x93B0 @@ -4429,6 +5346,10 @@ GLAPI void APIENTRY glWindowPos3svARB (const GLshort *v); #define GL_KHR_texture_compression_astc_ldr 1 #endif /* GL_KHR_texture_compression_astc_ldr */ +#ifndef GL_KHR_texture_compression_astc_sliced_3d +#define GL_KHR_texture_compression_astc_sliced_3d 1 +#endif /* GL_KHR_texture_compression_astc_sliced_3d */ + #ifndef GL_OES_byte_coordinates #define GL_OES_byte_coordinates 1 typedef void (APIENTRYP PFNGLMULTITEXCOORD1BOESPROC) (GLenum texture, GLbyte s); @@ -4447,11 +5368,11 @@ typedef void (APIENTRYP PFNGLTEXCOORD3BOESPROC) (GLbyte s, GLbyte t, GLbyte r); typedef void (APIENTRYP PFNGLTEXCOORD3BVOESPROC) (const GLbyte *coords); typedef void (APIENTRYP PFNGLTEXCOORD4BOESPROC) (GLbyte s, GLbyte t, GLbyte r, GLbyte q); typedef void (APIENTRYP PFNGLTEXCOORD4BVOESPROC) (const GLbyte *coords); -typedef void (APIENTRYP PFNGLVERTEX2BOESPROC) (GLbyte x); +typedef void (APIENTRYP PFNGLVERTEX2BOESPROC) (GLbyte x, GLbyte y); typedef void (APIENTRYP PFNGLVERTEX2BVOESPROC) (const GLbyte *coords); -typedef void (APIENTRYP PFNGLVERTEX3BOESPROC) (GLbyte x, GLbyte y); +typedef void (APIENTRYP PFNGLVERTEX3BOESPROC) (GLbyte x, GLbyte y, GLbyte z); typedef void (APIENTRYP PFNGLVERTEX3BVOESPROC) (const GLbyte *coords); -typedef void (APIENTRYP PFNGLVERTEX4BOESPROC) (GLbyte x, GLbyte y, GLbyte z); +typedef void (APIENTRYP PFNGLVERTEX4BOESPROC) (GLbyte x, GLbyte y, GLbyte z, GLbyte w); typedef void (APIENTRYP PFNGLVERTEX4BVOESPROC) (const GLbyte *coords); #ifdef GL_GLEXT_PROTOTYPES GLAPI void APIENTRY glMultiTexCoord1bOES (GLenum texture, GLbyte s); @@ -4470,11 +5391,11 @@ GLAPI void APIENTRY glTexCoord3bOES (GLbyte s, GLbyte t, GLbyte r); GLAPI void APIENTRY glTexCoord3bvOES (const GLbyte *coords); GLAPI void APIENTRY glTexCoord4bOES (GLbyte s, GLbyte t, GLbyte r, GLbyte q); GLAPI void APIENTRY glTexCoord4bvOES (const GLbyte *coords); -GLAPI void APIENTRY glVertex2bOES (GLbyte x); +GLAPI void APIENTRY glVertex2bOES (GLbyte x, GLbyte y); GLAPI void APIENTRY glVertex2bvOES (const GLbyte *coords); -GLAPI void APIENTRY glVertex3bOES (GLbyte x, GLbyte y); +GLAPI void APIENTRY glVertex3bOES (GLbyte x, GLbyte y, GLbyte z); GLAPI void APIENTRY glVertex3bvOES (const GLbyte *coords); -GLAPI void APIENTRY glVertex4bOES (GLbyte x, GLbyte y, GLbyte z); +GLAPI void APIENTRY glVertex4bOES (GLbyte x, GLbyte y, GLbyte z, GLbyte w); GLAPI void APIENTRY glVertex4bvOES (const GLbyte *coords); #endif #endif /* GL_OES_byte_coordinates */ @@ -4495,7 +5416,7 @@ GLAPI void APIENTRY glVertex4bvOES (const GLbyte *coords); #ifndef GL_OES_fixed_point #define GL_OES_fixed_point 1 -typedef GLint GLfixed; +typedef khronos_int32_t GLfixed; #define GL_FIXED_OES 0x140C typedef void (APIENTRYP PFNGLALPHAFUNCXOESPROC) (GLenum func, GLfixed ref); typedef void (APIENTRYP PFNGLCLEARCOLORXOESPROC) (GLfixed red, GLfixed green, GLfixed blue, GLfixed alpha); @@ -4526,7 +5447,6 @@ typedef void (APIENTRYP PFNGLPOINTPARAMETERXVOESPROC) (GLenum pname, const GLfix typedef void (APIENTRYP PFNGLPOINTSIZEXOESPROC) (GLfixed size); typedef void (APIENTRYP PFNGLPOLYGONOFFSETXOESPROC) (GLfixed factor, GLfixed units); typedef void (APIENTRYP PFNGLROTATEXOESPROC) (GLfixed angle, GLfixed x, GLfixed y, GLfixed z); -typedef void (APIENTRYP PFNGLSAMPLECOVERAGEOESPROC) (GLfixed value, GLboolean invert); typedef void (APIENTRYP PFNGLSCALEXOESPROC) (GLfixed x, GLfixed y, GLfixed z); typedef void (APIENTRYP PFNGLTEXENVXOESPROC) (GLenum target, GLenum pname, GLfixed param); typedef void (APIENTRYP PFNGLTEXENVXVOESPROC) (GLenum target, GLenum pname, const GLfixed *params); @@ -4631,7 +5551,6 @@ GLAPI void APIENTRY glPointParameterxvOES (GLenum pname, const GLfixed *params); GLAPI void APIENTRY glPointSizexOES (GLfixed size); GLAPI void APIENTRY glPolygonOffsetxOES (GLfixed factor, GLfixed units); GLAPI void APIENTRY glRotatexOES (GLfixed angle, GLfixed x, GLfixed y, GLfixed z); -GLAPI void APIENTRY glSampleCoverageOES (GLfixed value, GLboolean invert); GLAPI void APIENTRY glScalexOES (GLfixed x, GLfixed y, GLfixed z); GLAPI void APIENTRY glTexEnvxOES (GLenum target, GLenum pname, GLfixed param); GLAPI void APIENTRY glTexEnvxvOES (GLenum target, GLenum pname, const GLfixed *params); @@ -4793,12 +5712,12 @@ typedef void (APIENTRY *GLDEBUGPROCAMD)(GLuint id,GLenum category,GLenum severi typedef void (APIENTRYP PFNGLDEBUGMESSAGEENABLEAMDPROC) (GLenum category, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled); typedef void (APIENTRYP PFNGLDEBUGMESSAGEINSERTAMDPROC) (GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar *buf); typedef void (APIENTRYP PFNGLDEBUGMESSAGECALLBACKAMDPROC) (GLDEBUGPROCAMD callback, void *userParam); -typedef GLuint (APIENTRYP PFNGLGETDEBUGMESSAGELOGAMDPROC) (GLuint count, GLsizei bufsize, GLenum *categories, GLuint *severities, GLuint *ids, GLsizei *lengths, GLchar *message); +typedef GLuint (APIENTRYP PFNGLGETDEBUGMESSAGELOGAMDPROC) (GLuint count, GLsizei bufSize, GLenum *categories, GLuint *severities, GLuint *ids, GLsizei *lengths, GLchar *message); #ifdef GL_GLEXT_PROTOTYPES GLAPI void APIENTRY glDebugMessageEnableAMD (GLenum category, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled); GLAPI void APIENTRY glDebugMessageInsertAMD (GLenum category, GLenum severity, GLuint id, GLsizei length, const GLchar *buf); GLAPI void APIENTRY glDebugMessageCallbackAMD (GLDEBUGPROCAMD callback, void *userParam); -GLAPI GLuint APIENTRY glGetDebugMessageLogAMD (GLuint count, GLsizei bufsize, GLenum *categories, GLuint *severities, GLuint *ids, GLsizei *lengths, GLchar *message); +GLAPI GLuint APIENTRY glGetDebugMessageLogAMD (GLuint count, GLsizei bufSize, GLenum *categories, GLuint *severities, GLuint *ids, GLsizei *lengths, GLchar *message); #endif #endif /* GL_AMD_debug_output */ @@ -4822,13 +5741,68 @@ GLAPI void APIENTRY glBlendEquationSeparateIndexedAMD (GLuint buf, GLenum modeRG #endif #endif /* GL_AMD_draw_buffers_blend */ +#ifndef GL_AMD_framebuffer_multisample_advanced +#define GL_AMD_framebuffer_multisample_advanced 1 +#define GL_RENDERBUFFER_STORAGE_SAMPLES_AMD 0x91B2 +#define GL_MAX_COLOR_FRAMEBUFFER_SAMPLES_AMD 0x91B3 +#define GL_MAX_COLOR_FRAMEBUFFER_STORAGE_SAMPLES_AMD 0x91B4 +#define GL_MAX_DEPTH_STENCIL_FRAMEBUFFER_SAMPLES_AMD 0x91B5 +#define GL_NUM_SUPPORTED_MULTISAMPLE_MODES_AMD 0x91B6 +#define GL_SUPPORTED_MULTISAMPLE_MODES_AMD 0x91B7 +typedef void (APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEADVANCEDAMDPROC) (GLenum target, GLsizei samples, GLsizei storageSamples, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEADVANCEDAMDPROC) (GLuint renderbuffer, GLsizei samples, GLsizei storageSamples, GLenum internalformat, GLsizei width, GLsizei height); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glRenderbufferStorageMultisampleAdvancedAMD (GLenum target, GLsizei samples, GLsizei storageSamples, GLenum internalformat, GLsizei width, GLsizei height); +GLAPI void APIENTRY glNamedRenderbufferStorageMultisampleAdvancedAMD (GLuint renderbuffer, GLsizei samples, GLsizei storageSamples, GLenum internalformat, GLsizei width, GLsizei height); +#endif +#endif /* GL_AMD_framebuffer_multisample_advanced */ + +#ifndef GL_AMD_framebuffer_sample_positions +#define GL_AMD_framebuffer_sample_positions 1 +#define GL_SUBSAMPLE_DISTANCE_AMD 0x883F +#define GL_PIXELS_PER_SAMPLE_PATTERN_X_AMD 0x91AE +#define GL_PIXELS_PER_SAMPLE_PATTERN_Y_AMD 0x91AF +#define GL_ALL_PIXELS_AMD 0xFFFFFFFF +typedef void (APIENTRYP PFNGLFRAMEBUFFERSAMPLEPOSITIONSFVAMDPROC) (GLenum target, GLuint numsamples, GLuint pixelindex, const GLfloat *values); +typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERSAMPLEPOSITIONSFVAMDPROC) (GLuint framebuffer, GLuint numsamples, GLuint pixelindex, const GLfloat *values); +typedef void (APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERFVAMDPROC) (GLenum target, GLenum pname, GLuint numsamples, GLuint pixelindex, GLsizei size, GLfloat *values); +typedef void (APIENTRYP PFNGLGETNAMEDFRAMEBUFFERPARAMETERFVAMDPROC) (GLuint framebuffer, GLenum pname, GLuint numsamples, GLuint pixelindex, GLsizei size, GLfloat *values); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glFramebufferSamplePositionsfvAMD (GLenum target, GLuint numsamples, GLuint pixelindex, const GLfloat *values); +GLAPI void APIENTRY glNamedFramebufferSamplePositionsfvAMD (GLuint framebuffer, GLuint numsamples, GLuint pixelindex, const GLfloat *values); +GLAPI void APIENTRY glGetFramebufferParameterfvAMD (GLenum target, GLenum pname, GLuint numsamples, GLuint pixelindex, GLsizei size, GLfloat *values); +GLAPI void APIENTRY glGetNamedFramebufferParameterfvAMD (GLuint framebuffer, GLenum pname, GLuint numsamples, GLuint pixelindex, GLsizei size, GLfloat *values); +#endif +#endif /* GL_AMD_framebuffer_sample_positions */ + #ifndef GL_AMD_gcn_shader #define GL_AMD_gcn_shader 1 #endif /* GL_AMD_gcn_shader */ +#ifndef GL_AMD_gpu_shader_half_float +#define GL_AMD_gpu_shader_half_float 1 +#define GL_FLOAT16_NV 0x8FF8 +#define GL_FLOAT16_VEC2_NV 0x8FF9 +#define GL_FLOAT16_VEC3_NV 0x8FFA +#define GL_FLOAT16_VEC4_NV 0x8FFB +#define GL_FLOAT16_MAT2_AMD 0x91C5 +#define GL_FLOAT16_MAT3_AMD 0x91C6 +#define GL_FLOAT16_MAT4_AMD 0x91C7 +#define GL_FLOAT16_MAT2x3_AMD 0x91C8 +#define GL_FLOAT16_MAT2x4_AMD 0x91C9 +#define GL_FLOAT16_MAT3x2_AMD 0x91CA +#define GL_FLOAT16_MAT3x4_AMD 0x91CB +#define GL_FLOAT16_MAT4x2_AMD 0x91CC +#define GL_FLOAT16_MAT4x3_AMD 0x91CD +#endif /* GL_AMD_gpu_shader_half_float */ + +#ifndef GL_AMD_gpu_shader_int16 +#define GL_AMD_gpu_shader_int16 1 +#endif /* GL_AMD_gpu_shader_int16 */ + #ifndef GL_AMD_gpu_shader_int64 #define GL_AMD_gpu_shader_int64 1 -typedef int64_t GLint64EXT; +typedef khronos_int64_t GLint64EXT; #define GL_INT64_NV 0x140E #define GL_UNSIGNED_INT64_NV 0x140F #define GL_INT8_NV 0x8FE0 @@ -4853,10 +5827,6 @@ typedef int64_t GLint64EXT; #define GL_UNSIGNED_INT64_VEC2_NV 0x8FF5 #define GL_UNSIGNED_INT64_VEC3_NV 0x8FF6 #define GL_UNSIGNED_INT64_VEC4_NV 0x8FF7 -#define GL_FLOAT16_NV 0x8FF8 -#define GL_FLOAT16_VEC2_NV 0x8FF9 -#define GL_FLOAT16_VEC3_NV 0x8FFA -#define GL_FLOAT16_VEC4_NV 0x8FFB typedef void (APIENTRYP PFNGLUNIFORM1I64NVPROC) (GLint location, GLint64EXT x); typedef void (APIENTRYP PFNGLUNIFORM2I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y); typedef void (APIENTRYP PFNGLUNIFORM3I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z); @@ -5029,7 +5999,6 @@ GLAPI void APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname #ifndef GL_AMD_sample_positions #define GL_AMD_sample_positions 1 -#define GL_SUBSAMPLE_DISTANCE_AMD 0x883F typedef void (APIENTRYP PFNGLSETMULTISAMPLEFVAMDPROC) (GLenum pname, GLuint index, const GLfloat *val); #ifdef GL_GLEXT_PROTOTYPES GLAPI void APIENTRY glSetMultisamplefvAMD (GLenum pname, GLuint index, const GLfloat *val); @@ -5044,6 +6013,22 @@ GLAPI void APIENTRY glSetMultisamplefvAMD (GLenum pname, GLuint index, const GLf #define GL_AMD_shader_atomic_counter_ops 1 #endif /* GL_AMD_shader_atomic_counter_ops */ +#ifndef GL_AMD_shader_ballot +#define GL_AMD_shader_ballot 1 +#endif /* GL_AMD_shader_ballot */ + +#ifndef GL_AMD_shader_explicit_vertex_parameter +#define GL_AMD_shader_explicit_vertex_parameter 1 +#endif /* GL_AMD_shader_explicit_vertex_parameter */ + +#ifndef GL_AMD_shader_gpu_shader_half_float_fetch +#define GL_AMD_shader_gpu_shader_half_float_fetch 1 +#endif /* GL_AMD_shader_gpu_shader_half_float_fetch */ + +#ifndef GL_AMD_shader_image_load_store_lod +#define GL_AMD_shader_image_load_store_lod 1 +#endif /* GL_AMD_shader_image_load_store_lod */ + #ifndef GL_AMD_shader_stencil_export #define GL_AMD_shader_stencil_export 1 #endif /* GL_AMD_shader_stencil_export */ @@ -5083,6 +6068,10 @@ GLAPI void APIENTRY glStencilOpValueAMD (GLenum face, GLuint value); #endif #endif /* GL_AMD_stencil_operation_extended */ +#ifndef GL_AMD_texture_gather_bias_lod +#define GL_AMD_texture_gather_bias_lod 1 +#endif /* GL_AMD_texture_gather_bias_lod */ + #ifndef GL_AMD_texture_texture4 #define GL_AMD_texture_texture4 1 #endif /* GL_AMD_texture_texture4 */ @@ -5783,6 +6772,21 @@ GLAPI void APIENTRY glVertexBlendEnvfATI (GLenum pname, GLfloat param); #define GL_422_REV_AVERAGE_EXT 0x80CF #endif /* GL_EXT_422_pixels */ +#ifndef GL_EXT_EGL_image_storage +#define GL_EXT_EGL_image_storage 1 +typedef void *GLeglImageOES; +typedef void (APIENTRYP PFNGLEGLIMAGETARGETTEXSTORAGEEXTPROC) (GLenum target, GLeglImageOES image, const GLint* attrib_list); +typedef void (APIENTRYP PFNGLEGLIMAGETARGETTEXTURESTORAGEEXTPROC) (GLuint texture, GLeglImageOES image, const GLint* attrib_list); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glEGLImageTargetTexStorageEXT (GLenum target, GLeglImageOES image, const GLint* attrib_list); +GLAPI void APIENTRY glEGLImageTargetTextureStorageEXT (GLuint texture, GLeglImageOES image, const GLint* attrib_list); +#endif +#endif /* GL_EXT_EGL_image_storage */ + +#ifndef GL_EXT_EGL_sync +#define GL_EXT_EGL_sync 1 +#endif /* GL_EXT_EGL_sync */ + #ifndef GL_EXT_abgr #define GL_EXT_abgr 1 #define GL_ABGR_EXT 0x8000 @@ -6345,7 +7349,7 @@ typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBLFORMATEXTPROC) (GLuint vaob typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBBINDINGEXTPROC) (GLuint vaobj, GLuint attribindex, GLuint bindingindex); typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXBINDINGDIVISOREXTPROC) (GLuint vaobj, GLuint bindingindex, GLuint divisor); typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBLOFFSETEXTPROC) (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset); -typedef void (APIENTRYP PFNGLTEXTUREPAGECOMMITMENTEXTPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean resident); +typedef void (APIENTRYP PFNGLTEXTUREPAGECOMMITMENTEXTPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit); typedef void (APIENTRYP PFNGLVERTEXARRAYVERTEXATTRIBDIVISOREXTPROC) (GLuint vaobj, GLuint index, GLuint divisor); #ifdef GL_GLEXT_PROTOTYPES GLAPI void APIENTRY glMatrixLoadfEXT (GLenum mode, const GLfloat *m); @@ -6601,7 +7605,7 @@ GLAPI void APIENTRY glVertexArrayVertexAttribLFormatEXT (GLuint vaobj, GLuint at GLAPI void APIENTRY glVertexArrayVertexAttribBindingEXT (GLuint vaobj, GLuint attribindex, GLuint bindingindex); GLAPI void APIENTRY glVertexArrayVertexBindingDivisorEXT (GLuint vaobj, GLuint bindingindex, GLuint divisor); GLAPI void APIENTRY glVertexArrayVertexAttribLOffsetEXT (GLuint vaobj, GLuint buffer, GLuint index, GLint size, GLenum type, GLsizei stride, GLintptr offset); -GLAPI void APIENTRY glTexturePageCommitmentEXT (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean resident); +GLAPI void APIENTRY glTexturePageCommitmentEXT (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit); GLAPI void APIENTRY glVertexArrayVertexAttribDivisorEXT (GLuint vaobj, GLuint index, GLuint divisor); #endif #endif /* GL_EXT_direct_state_access */ @@ -6634,6 +7638,17 @@ GLAPI void APIENTRY glDrawRangeElementsEXT (GLenum mode, GLuint start, GLuint en #endif #endif /* GL_EXT_draw_range_elements */ +#ifndef GL_EXT_external_buffer +#define GL_EXT_external_buffer 1 +typedef void *GLeglClientBufferEXT; +typedef void (APIENTRYP PFNGLBUFFERSTORAGEEXTERNALEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags); +typedef void (APIENTRYP PFNGLNAMEDBUFFERSTORAGEEXTERNALEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBufferStorageExternalEXT (GLenum target, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags); +GLAPI void APIENTRY glNamedBufferStorageExternalEXT (GLuint buffer, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags); +#endif +#endif /* GL_EXT_external_buffer */ + #ifndef GL_EXT_fog_coord #define GL_EXT_fog_coord 1 #define GL_FOG_COORDINATE_SOURCE_EXT 0x8450 @@ -6824,7 +7839,6 @@ GLAPI void APIENTRY glProgramLocalParameters4fvEXT (GLenum target, GLuint index, #ifndef GL_EXT_gpu_shader4 #define GL_EXT_gpu_shader4 1 -#define GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT 0x88FD #define GL_SAMPLER_1D_ARRAY_EXT 0x8DC0 #define GL_SAMPLER_2D_ARRAY_EXT 0x8DC1 #define GL_SAMPLER_BUFFER_EXT 0x8DC2 @@ -6852,6 +7866,7 @@ GLAPI void APIENTRY glProgramLocalParameters4fvEXT (GLenum target, GLuint index, #define GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT 0x8DD8 #define GL_MIN_PROGRAM_TEXEL_OFFSET_EXT 0x8904 #define GL_MAX_PROGRAM_TEXEL_OFFSET_EXT 0x8905 +#define GL_VERTEX_ATTRIB_ARRAY_INTEGER_EXT 0x88FD typedef void (APIENTRYP PFNGLGETUNIFORMUIVEXTPROC) (GLuint program, GLint location, GLuint *params); typedef void (APIENTRYP PFNGLBINDFRAGDATALOCATIONEXTPROC) (GLuint program, GLuint color, const GLchar *name); typedef GLint (APIENTRYP PFNGLGETFRAGDATALOCATIONEXTPROC) (GLuint program, const GLchar *name); @@ -6863,6 +7878,29 @@ typedef void (APIENTRYP PFNGLUNIFORM1UIVEXTPROC) (GLint location, GLsizei count, typedef void (APIENTRYP PFNGLUNIFORM2UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value); typedef void (APIENTRYP PFNGLUNIFORM3UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value); typedef void (APIENTRYP PFNGLUNIFORM4UIVEXTPROC) (GLint location, GLsizei count, const GLuint *value); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IEXTPROC) (GLuint index, GLint x); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IEXTPROC) (GLuint index, GLint x, GLint y); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IEXTPROC) (GLuint index, GLint x, GLint y, GLint z); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IEXTPROC) (GLuint index, GLint x, GLint y, GLint z, GLint w); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIEXTPROC) (GLuint index, GLuint x); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIEXTPROC) (GLuint index, GLuint x, GLuint y); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIEXTPROC) (GLuint index, GLuint x, GLuint y, GLuint z); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIEXTPROC) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IVEXTPROC) (GLuint index, const GLint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IVEXTPROC) (GLuint index, const GLint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IVEXTPROC) (GLuint index, const GLint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IVEXTPROC) (GLuint index, const GLint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIVEXTPROC) (GLuint index, const GLuint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIVEXTPROC) (GLuint index, const GLuint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIVEXTPROC) (GLuint index, const GLuint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIVEXTPROC) (GLuint index, const GLuint *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4BVEXTPROC) (GLuint index, const GLbyte *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4SVEXTPROC) (GLuint index, const GLshort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UBVEXTPROC) (GLuint index, const GLubyte *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBI4USVEXTPROC) (GLuint index, const GLushort *v); +typedef void (APIENTRYP PFNGLVERTEXATTRIBIPOINTEREXTPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer); +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIIVEXTPROC) (GLuint index, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIUIVEXTPROC) (GLuint index, GLenum pname, GLuint *params); #ifdef GL_GLEXT_PROTOTYPES GLAPI void APIENTRY glGetUniformuivEXT (GLuint program, GLint location, GLuint *params); GLAPI void APIENTRY glBindFragDataLocationEXT (GLuint program, GLuint color, const GLchar *name); @@ -6875,6 +7913,29 @@ GLAPI void APIENTRY glUniform1uivEXT (GLint location, GLsizei count, const GLuin GLAPI void APIENTRY glUniform2uivEXT (GLint location, GLsizei count, const GLuint *value); GLAPI void APIENTRY glUniform3uivEXT (GLint location, GLsizei count, const GLuint *value); GLAPI void APIENTRY glUniform4uivEXT (GLint location, GLsizei count, const GLuint *value); +GLAPI void APIENTRY glVertexAttribI1iEXT (GLuint index, GLint x); +GLAPI void APIENTRY glVertexAttribI2iEXT (GLuint index, GLint x, GLint y); +GLAPI void APIENTRY glVertexAttribI3iEXT (GLuint index, GLint x, GLint y, GLint z); +GLAPI void APIENTRY glVertexAttribI4iEXT (GLuint index, GLint x, GLint y, GLint z, GLint w); +GLAPI void APIENTRY glVertexAttribI1uiEXT (GLuint index, GLuint x); +GLAPI void APIENTRY glVertexAttribI2uiEXT (GLuint index, GLuint x, GLuint y); +GLAPI void APIENTRY glVertexAttribI3uiEXT (GLuint index, GLuint x, GLuint y, GLuint z); +GLAPI void APIENTRY glVertexAttribI4uiEXT (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); +GLAPI void APIENTRY glVertexAttribI1ivEXT (GLuint index, const GLint *v); +GLAPI void APIENTRY glVertexAttribI2ivEXT (GLuint index, const GLint *v); +GLAPI void APIENTRY glVertexAttribI3ivEXT (GLuint index, const GLint *v); +GLAPI void APIENTRY glVertexAttribI4ivEXT (GLuint index, const GLint *v); +GLAPI void APIENTRY glVertexAttribI1uivEXT (GLuint index, const GLuint *v); +GLAPI void APIENTRY glVertexAttribI2uivEXT (GLuint index, const GLuint *v); +GLAPI void APIENTRY glVertexAttribI3uivEXT (GLuint index, const GLuint *v); +GLAPI void APIENTRY glVertexAttribI4uivEXT (GLuint index, const GLuint *v); +GLAPI void APIENTRY glVertexAttribI4bvEXT (GLuint index, const GLbyte *v); +GLAPI void APIENTRY glVertexAttribI4svEXT (GLuint index, const GLshort *v); +GLAPI void APIENTRY glVertexAttribI4ubvEXT (GLuint index, const GLubyte *v); +GLAPI void APIENTRY glVertexAttribI4usvEXT (GLuint index, const GLushort *v); +GLAPI void APIENTRY glVertexAttribIPointerEXT (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer); +GLAPI void APIENTRY glGetVertexAttribIivEXT (GLuint index, GLenum pname, GLint *params); +GLAPI void APIENTRY glGetVertexAttribIuivEXT (GLuint index, GLenum pname, GLuint *params); #endif #endif /* GL_EXT_gpu_shader4 */ @@ -6977,6 +8038,89 @@ GLAPI void APIENTRY glTextureMaterialEXT (GLenum face, GLenum mode); #endif #endif /* GL_EXT_light_texture */ +#ifndef GL_EXT_memory_object +#define GL_EXT_memory_object 1 +#define GL_TEXTURE_TILING_EXT 0x9580 +#define GL_DEDICATED_MEMORY_OBJECT_EXT 0x9581 +#define GL_PROTECTED_MEMORY_OBJECT_EXT 0x959B +#define GL_NUM_TILING_TYPES_EXT 0x9582 +#define GL_TILING_TYPES_EXT 0x9583 +#define GL_OPTIMAL_TILING_EXT 0x9584 +#define GL_LINEAR_TILING_EXT 0x9585 +#define GL_NUM_DEVICE_UUIDS_EXT 0x9596 +#define GL_DEVICE_UUID_EXT 0x9597 +#define GL_DRIVER_UUID_EXT 0x9598 +#define GL_UUID_SIZE_EXT 16 +typedef void (APIENTRYP PFNGLGETUNSIGNEDBYTEVEXTPROC) (GLenum pname, GLubyte *data); +typedef void (APIENTRYP PFNGLGETUNSIGNEDBYTEI_VEXTPROC) (GLenum target, GLuint index, GLubyte *data); +typedef void (APIENTRYP PFNGLDELETEMEMORYOBJECTSEXTPROC) (GLsizei n, const GLuint *memoryObjects); +typedef GLboolean (APIENTRYP PFNGLISMEMORYOBJECTEXTPROC) (GLuint memoryObject); +typedef void (APIENTRYP PFNGLCREATEMEMORYOBJECTSEXTPROC) (GLsizei n, GLuint *memoryObjects); +typedef void (APIENTRYP PFNGLMEMORYOBJECTPARAMETERIVEXTPROC) (GLuint memoryObject, GLenum pname, const GLint *params); +typedef void (APIENTRYP PFNGLGETMEMORYOBJECTPARAMETERIVEXTPROC) (GLuint memoryObject, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLTEXSTORAGEMEM2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset); +typedef void (APIENTRYP PFNGLTEXSTORAGEMEM2DMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset); +typedef void (APIENTRYP PFNGLTEXSTORAGEMEM3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset); +typedef void (APIENTRYP PFNGLTEXSTORAGEMEM3DMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset); +typedef void (APIENTRYP PFNGLBUFFERSTORAGEMEMEXTPROC) (GLenum target, GLsizeiptr size, GLuint memory, GLuint64 offset); +typedef void (APIENTRYP PFNGLTEXTURESTORAGEMEM2DEXTPROC) (GLuint texture, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset); +typedef void (APIENTRYP PFNGLTEXTURESTORAGEMEM2DMULTISAMPLEEXTPROC) (GLuint texture, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset); +typedef void (APIENTRYP PFNGLTEXTURESTORAGEMEM3DEXTPROC) (GLuint texture, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset); +typedef void (APIENTRYP PFNGLTEXTURESTORAGEMEM3DMULTISAMPLEEXTPROC) (GLuint texture, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset); +typedef void (APIENTRYP PFNGLNAMEDBUFFERSTORAGEMEMEXTPROC) (GLuint buffer, GLsizeiptr size, GLuint memory, GLuint64 offset); +typedef void (APIENTRYP PFNGLTEXSTORAGEMEM1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLuint memory, GLuint64 offset); +typedef void (APIENTRYP PFNGLTEXTURESTORAGEMEM1DEXTPROC) (GLuint texture, GLsizei levels, GLenum internalFormat, GLsizei width, GLuint memory, GLuint64 offset); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glGetUnsignedBytevEXT (GLenum pname, GLubyte *data); +GLAPI void APIENTRY glGetUnsignedBytei_vEXT (GLenum target, GLuint index, GLubyte *data); +GLAPI void APIENTRY glDeleteMemoryObjectsEXT (GLsizei n, const GLuint *memoryObjects); +GLAPI GLboolean APIENTRY glIsMemoryObjectEXT (GLuint memoryObject); +GLAPI void APIENTRY glCreateMemoryObjectsEXT (GLsizei n, GLuint *memoryObjects); +GLAPI void APIENTRY glMemoryObjectParameterivEXT (GLuint memoryObject, GLenum pname, const GLint *params); +GLAPI void APIENTRY glGetMemoryObjectParameterivEXT (GLuint memoryObject, GLenum pname, GLint *params); +GLAPI void APIENTRY glTexStorageMem2DEXT (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset); +GLAPI void APIENTRY glTexStorageMem2DMultisampleEXT (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset); +GLAPI void APIENTRY glTexStorageMem3DEXT (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset); +GLAPI void APIENTRY glTexStorageMem3DMultisampleEXT (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset); +GLAPI void APIENTRY glBufferStorageMemEXT (GLenum target, GLsizeiptr size, GLuint memory, GLuint64 offset); +GLAPI void APIENTRY glTextureStorageMem2DEXT (GLuint texture, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset); +GLAPI void APIENTRY glTextureStorageMem2DMultisampleEXT (GLuint texture, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset); +GLAPI void APIENTRY glTextureStorageMem3DEXT (GLuint texture, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset); +GLAPI void APIENTRY glTextureStorageMem3DMultisampleEXT (GLuint texture, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset); +GLAPI void APIENTRY glNamedBufferStorageMemEXT (GLuint buffer, GLsizeiptr size, GLuint memory, GLuint64 offset); +GLAPI void APIENTRY glTexStorageMem1DEXT (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLuint memory, GLuint64 offset); +GLAPI void APIENTRY glTextureStorageMem1DEXT (GLuint texture, GLsizei levels, GLenum internalFormat, GLsizei width, GLuint memory, GLuint64 offset); +#endif +#endif /* GL_EXT_memory_object */ + +#ifndef GL_EXT_memory_object_fd +#define GL_EXT_memory_object_fd 1 +#define GL_HANDLE_TYPE_OPAQUE_FD_EXT 0x9586 +typedef void (APIENTRYP PFNGLIMPORTMEMORYFDEXTPROC) (GLuint memory, GLuint64 size, GLenum handleType, GLint fd); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glImportMemoryFdEXT (GLuint memory, GLuint64 size, GLenum handleType, GLint fd); +#endif +#endif /* GL_EXT_memory_object_fd */ + +#ifndef GL_EXT_memory_object_win32 +#define GL_EXT_memory_object_win32 1 +#define GL_HANDLE_TYPE_OPAQUE_WIN32_EXT 0x9587 +#define GL_HANDLE_TYPE_OPAQUE_WIN32_KMT_EXT 0x9588 +#define GL_DEVICE_LUID_EXT 0x9599 +#define GL_DEVICE_NODE_MASK_EXT 0x959A +#define GL_LUID_SIZE_EXT 8 +#define GL_HANDLE_TYPE_D3D12_TILEPOOL_EXT 0x9589 +#define GL_HANDLE_TYPE_D3D12_RESOURCE_EXT 0x958A +#define GL_HANDLE_TYPE_D3D11_IMAGE_EXT 0x958B +#define GL_HANDLE_TYPE_D3D11_IMAGE_KMT_EXT 0x958C +typedef void (APIENTRYP PFNGLIMPORTMEMORYWIN32HANDLEEXTPROC) (GLuint memory, GLuint64 size, GLenum handleType, void *handle); +typedef void (APIENTRYP PFNGLIMPORTMEMORYWIN32NAMEEXTPROC) (GLuint memory, GLuint64 size, GLenum handleType, const void *name); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glImportMemoryWin32HandleEXT (GLuint memory, GLuint64 size, GLenum handleType, void *handle); +GLAPI void APIENTRY glImportMemoryWin32NameEXT (GLuint memory, GLuint64 size, GLenum handleType, const void *name); +#endif +#endif /* GL_EXT_memory_object_win32 */ + #ifndef GL_EXT_misc_attribute #define GL_EXT_misc_attribute 1 #endif /* GL_EXT_misc_attribute */ @@ -7018,6 +8162,18 @@ GLAPI void APIENTRY glSamplePatternEXT (GLenum pattern); #endif #endif /* GL_EXT_multisample */ +#ifndef GL_EXT_multiview_tessellation_geometry_shader +#define GL_EXT_multiview_tessellation_geometry_shader 1 +#endif /* GL_EXT_multiview_tessellation_geometry_shader */ + +#ifndef GL_EXT_multiview_texture_multisample +#define GL_EXT_multiview_texture_multisample 1 +#endif /* GL_EXT_multiview_texture_multisample */ + +#ifndef GL_EXT_multiview_timer_query +#define GL_EXT_multiview_timer_query 1 +#endif /* GL_EXT_multiview_timer_query */ + #ifndef GL_EXT_packed_depth_stencil #define GL_EXT_packed_depth_stencil 1 #define GL_DEPTH_STENCIL_EXT 0x84F9 @@ -7127,6 +8283,19 @@ GLAPI void APIENTRY glPolygonOffsetEXT (GLfloat factor, GLfloat bias); #endif #endif /* GL_EXT_polygon_offset */ +#ifndef GL_EXT_polygon_offset_clamp +#define GL_EXT_polygon_offset_clamp 1 +#define GL_POLYGON_OFFSET_CLAMP_EXT 0x8E1B +typedef void (APIENTRYP PFNGLPOLYGONOFFSETCLAMPEXTPROC) (GLfloat factor, GLfloat units, GLfloat clamp); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glPolygonOffsetClampEXT (GLfloat factor, GLfloat units, GLfloat clamp); +#endif +#endif /* GL_EXT_polygon_offset_clamp */ + +#ifndef GL_EXT_post_depth_coverage +#define GL_EXT_post_depth_coverage 1 +#endif /* GL_EXT_post_depth_coverage */ + #ifndef GL_EXT_provoking_vertex #define GL_EXT_provoking_vertex 1 #define GL_QUADS_FOLLOW_PROVOKING_VERTEX_CONVENTION_EXT 0x8E4C @@ -7139,6 +8308,20 @@ GLAPI void APIENTRY glProvokingVertexEXT (GLenum mode); #endif #endif /* GL_EXT_provoking_vertex */ +#ifndef GL_EXT_raster_multisample +#define GL_EXT_raster_multisample 1 +#define GL_RASTER_MULTISAMPLE_EXT 0x9327 +#define GL_RASTER_SAMPLES_EXT 0x9328 +#define GL_MAX_RASTER_SAMPLES_EXT 0x9329 +#define GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT 0x932A +#define GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT 0x932B +#define GL_EFFECTIVE_RASTER_SAMPLES_EXT 0x932C +typedef void (APIENTRYP PFNGLRASTERSAMPLESEXTPROC) (GLuint samples, GLboolean fixedsamplelocations); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glRasterSamplesEXT (GLuint samples, GLboolean fixedsamplelocations); +#endif +#endif /* GL_EXT_raster_multisample */ + #ifndef GL_EXT_rescale_normal #define GL_EXT_rescale_normal 1 #define GL_RESCALE_NORMAL_EXT 0x803A @@ -7191,6 +8374,55 @@ GLAPI void APIENTRY glSecondaryColorPointerEXT (GLint size, GLenum type, GLsizei #endif #endif /* GL_EXT_secondary_color */ +#ifndef GL_EXT_semaphore +#define GL_EXT_semaphore 1 +#define GL_LAYOUT_GENERAL_EXT 0x958D +#define GL_LAYOUT_COLOR_ATTACHMENT_EXT 0x958E +#define GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT 0x958F +#define GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT 0x9590 +#define GL_LAYOUT_SHADER_READ_ONLY_EXT 0x9591 +#define GL_LAYOUT_TRANSFER_SRC_EXT 0x9592 +#define GL_LAYOUT_TRANSFER_DST_EXT 0x9593 +#define GL_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT 0x9530 +#define GL_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT 0x9531 +typedef void (APIENTRYP PFNGLGENSEMAPHORESEXTPROC) (GLsizei n, GLuint *semaphores); +typedef void (APIENTRYP PFNGLDELETESEMAPHORESEXTPROC) (GLsizei n, const GLuint *semaphores); +typedef GLboolean (APIENTRYP PFNGLISSEMAPHOREEXTPROC) (GLuint semaphore); +typedef void (APIENTRYP PFNGLSEMAPHOREPARAMETERUI64VEXTPROC) (GLuint semaphore, GLenum pname, const GLuint64 *params); +typedef void (APIENTRYP PFNGLGETSEMAPHOREPARAMETERUI64VEXTPROC) (GLuint semaphore, GLenum pname, GLuint64 *params); +typedef void (APIENTRYP PFNGLWAITSEMAPHOREEXTPROC) (GLuint semaphore, GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *srcLayouts); +typedef void (APIENTRYP PFNGLSIGNALSEMAPHOREEXTPROC) (GLuint semaphore, GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *dstLayouts); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glGenSemaphoresEXT (GLsizei n, GLuint *semaphores); +GLAPI void APIENTRY glDeleteSemaphoresEXT (GLsizei n, const GLuint *semaphores); +GLAPI GLboolean APIENTRY glIsSemaphoreEXT (GLuint semaphore); +GLAPI void APIENTRY glSemaphoreParameterui64vEXT (GLuint semaphore, GLenum pname, const GLuint64 *params); +GLAPI void APIENTRY glGetSemaphoreParameterui64vEXT (GLuint semaphore, GLenum pname, GLuint64 *params); +GLAPI void APIENTRY glWaitSemaphoreEXT (GLuint semaphore, GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *srcLayouts); +GLAPI void APIENTRY glSignalSemaphoreEXT (GLuint semaphore, GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *dstLayouts); +#endif +#endif /* GL_EXT_semaphore */ + +#ifndef GL_EXT_semaphore_fd +#define GL_EXT_semaphore_fd 1 +typedef void (APIENTRYP PFNGLIMPORTSEMAPHOREFDEXTPROC) (GLuint semaphore, GLenum handleType, GLint fd); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glImportSemaphoreFdEXT (GLuint semaphore, GLenum handleType, GLint fd); +#endif +#endif /* GL_EXT_semaphore_fd */ + +#ifndef GL_EXT_semaphore_win32 +#define GL_EXT_semaphore_win32 1 +#define GL_HANDLE_TYPE_D3D12_FENCE_EXT 0x9594 +#define GL_D3D12_FENCE_VALUE_EXT 0x9595 +typedef void (APIENTRYP PFNGLIMPORTSEMAPHOREWIN32HANDLEEXTPROC) (GLuint semaphore, GLenum handleType, void *handle); +typedef void (APIENTRYP PFNGLIMPORTSEMAPHOREWIN32NAMEEXTPROC) (GLuint semaphore, GLenum handleType, const void *name); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glImportSemaphoreWin32HandleEXT (GLuint semaphore, GLenum handleType, void *handle); +GLAPI void APIENTRY glImportSemaphoreWin32NameEXT (GLuint semaphore, GLenum handleType, const void *name); +#endif +#endif /* GL_EXT_semaphore_win32 */ + #ifndef GL_EXT_separate_shader_objects #define GL_EXT_separate_shader_objects 1 #define GL_ACTIVE_PROGRAM_EXT 0x8B8D @@ -7211,6 +8443,19 @@ GLAPI GLuint APIENTRY glCreateShaderProgramEXT (GLenum type, const GLchar *strin #define GL_SEPARATE_SPECULAR_COLOR_EXT 0x81FA #endif /* GL_EXT_separate_specular_color */ +#ifndef GL_EXT_shader_framebuffer_fetch +#define GL_EXT_shader_framebuffer_fetch 1 +#define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT 0x8A52 +#endif /* GL_EXT_shader_framebuffer_fetch */ + +#ifndef GL_EXT_shader_framebuffer_fetch_non_coherent +#define GL_EXT_shader_framebuffer_fetch_non_coherent 1 +typedef void (APIENTRYP PFNGLFRAMEBUFFERFETCHBARRIEREXTPROC) (void); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glFramebufferFetchBarrierEXT (void); +#endif +#endif /* GL_EXT_shader_framebuffer_fetch_non_coherent */ + #ifndef GL_EXT_shader_image_load_formatted #define GL_EXT_shader_image_load_formatted 1 #endif /* GL_EXT_shader_image_load_formatted */ @@ -7284,6 +8529,10 @@ GLAPI void APIENTRY glMemoryBarrierEXT (GLbitfield barriers); #define GL_EXT_shader_integer_mix 1 #endif /* GL_EXT_shader_integer_mix */ +#ifndef GL_EXT_shader_samples_identical +#define GL_EXT_shader_samples_identical 1 +#endif /* GL_EXT_shader_samples_identical */ + #ifndef GL_EXT_shadow_funcs #define GL_EXT_shadow_funcs 1 #endif /* GL_EXT_shadow_funcs */ @@ -7293,6 +8542,10 @@ GLAPI void APIENTRY glMemoryBarrierEXT (GLbitfield barriers); #define GL_SHARED_TEXTURE_PALETTE_EXT 0x81FB #endif /* GL_EXT_shared_texture_palette */ +#ifndef GL_EXT_sparse_texture2 +#define GL_EXT_sparse_texture2 1 +#endif /* GL_EXT_sparse_texture2 */ + #ifndef GL_EXT_stencil_clear_tag #define GL_EXT_stencil_clear_tag 1 #define GL_STENCIL_TAG_BITS_EXT 0x88F2 @@ -7405,6 +8658,10 @@ GLAPI void APIENTRY glTexSubImage3DEXT (GLenum target, GLint level, GLint xoffse #define GL_TEXTURE_BINDING_2D_ARRAY_EXT 0x8C1D #define GL_MAX_ARRAY_TEXTURE_LAYERS_EXT 0x88FF #define GL_COMPARE_REF_DEPTH_TO_TEXTURE_EXT 0x884E +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glFramebufferTextureLayerEXT (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); +#endif #endif /* GL_EXT_texture_array */ #ifndef GL_EXT_texture_buffer_object @@ -7501,6 +8758,12 @@ GLAPI void APIENTRY glTexBufferEXT (GLenum target, GLenum internalformat, GLuint #define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF #endif /* GL_EXT_texture_filter_anisotropic */ +#ifndef GL_EXT_texture_filter_minmax +#define GL_EXT_texture_filter_minmax 1 +#define GL_TEXTURE_REDUCTION_MODE_EXT 0x9366 +#define GL_WEIGHTED_AVERAGE_EXT 0x9367 +#endif /* GL_EXT_texture_filter_minmax */ + #ifndef GL_EXT_texture_integer #define GL_EXT_texture_integer 1 #define GL_RGBA32UI_EXT 0x8D70 @@ -7633,6 +8896,16 @@ GLAPI void APIENTRY glTextureNormalEXT (GLenum mode); #define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8C4F #endif /* GL_EXT_texture_sRGB */ +#ifndef GL_EXT_texture_sRGB_R8 +#define GL_EXT_texture_sRGB_R8 1 +#define GL_SR8_EXT 0x8FBD +#endif /* GL_EXT_texture_sRGB_R8 */ + +#ifndef GL_EXT_texture_sRGB_RG8 +#define GL_EXT_texture_sRGB_RG8 1 +#define GL_SRG8_EXT 0x8FBE +#endif /* GL_EXT_texture_sRGB_RG8 */ + #ifndef GL_EXT_texture_sRGB_decode #define GL_EXT_texture_sRGB_decode 1 #define GL_TEXTURE_SRGB_DECODE_EXT 0x8A48 @@ -7640,6 +8913,10 @@ GLAPI void APIENTRY glTextureNormalEXT (GLenum mode); #define GL_SKIP_DECODE_EXT 0x8A4A #endif /* GL_EXT_texture_sRGB_decode */ +#ifndef GL_EXT_texture_shadow_lod +#define GL_EXT_texture_shadow_lod 1 +#endif /* GL_EXT_texture_shadow_lod */ + #ifndef GL_EXT_texture_shared_exponent #define GL_EXT_texture_shared_exponent 1 #define GL_RGB9_E5_EXT 0x8C3D @@ -7667,6 +8944,36 @@ GLAPI void APIENTRY glTextureNormalEXT (GLenum mode); #define GL_RGBA_SNORM 0x8F93 #endif /* GL_EXT_texture_snorm */ +#ifndef GL_EXT_texture_storage +#define GL_EXT_texture_storage 1 +#define GL_TEXTURE_IMMUTABLE_FORMAT_EXT 0x912F +#define GL_RGBA32F_EXT 0x8814 +#define GL_RGB32F_EXT 0x8815 +#define GL_ALPHA32F_EXT 0x8816 +#define GL_LUMINANCE32F_EXT 0x8818 +#define GL_LUMINANCE_ALPHA32F_EXT 0x8819 +#define GL_RGBA16F_EXT 0x881A +#define GL_RGB16F_EXT 0x881B +#define GL_ALPHA16F_EXT 0x881C +#define GL_LUMINANCE16F_EXT 0x881E +#define GL_LUMINANCE_ALPHA16F_EXT 0x881F +#define GL_BGRA8_EXT 0x93A1 +#define GL_R8_EXT 0x8229 +#define GL_RG8_EXT 0x822B +#define GL_R32F_EXT 0x822E +#define GL_RG32F_EXT 0x8230 +#define GL_R16F_EXT 0x822D +#define GL_RG16F_EXT 0x822F +typedef void (APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); +typedef void (APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); +GLAPI void APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); +GLAPI void APIENTRY glTexStorage3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); +#endif +#endif /* GL_EXT_texture_storage */ + #ifndef GL_EXT_texture_swizzle #define GL_EXT_texture_swizzle 1 #define GL_TEXTURE_SWIZZLE_R_EXT 0x8E42 @@ -8045,6 +9352,30 @@ GLAPI void APIENTRY glVertexWeightPointerEXT (GLint size, GLenum type, GLsizei s #endif #endif /* GL_EXT_vertex_weighting */ +#ifndef GL_EXT_win32_keyed_mutex +#define GL_EXT_win32_keyed_mutex 1 +typedef GLboolean (APIENTRYP PFNGLACQUIREKEYEDMUTEXWIN32EXTPROC) (GLuint memory, GLuint64 key, GLuint timeout); +typedef GLboolean (APIENTRYP PFNGLRELEASEKEYEDMUTEXWIN32EXTPROC) (GLuint memory, GLuint64 key); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI GLboolean APIENTRY glAcquireKeyedMutexWin32EXT (GLuint memory, GLuint64 key, GLuint timeout); +GLAPI GLboolean APIENTRY glReleaseKeyedMutexWin32EXT (GLuint memory, GLuint64 key); +#endif +#endif /* GL_EXT_win32_keyed_mutex */ + +#ifndef GL_EXT_window_rectangles +#define GL_EXT_window_rectangles 1 +#define GL_INCLUSIVE_EXT 0x8F10 +#define GL_EXCLUSIVE_EXT 0x8F11 +#define GL_WINDOW_RECTANGLE_EXT 0x8F12 +#define GL_WINDOW_RECTANGLE_MODE_EXT 0x8F13 +#define GL_MAX_WINDOW_RECTANGLES_EXT 0x8F14 +#define GL_NUM_WINDOW_RECTANGLES_EXT 0x8F15 +typedef void (APIENTRYP PFNGLWINDOWRECTANGLESEXTPROC) (GLenum mode, GLsizei count, const GLint *box); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glWindowRectanglesEXT (GLenum mode, GLsizei count, const GLint *box); +#endif +#endif /* GL_EXT_window_rectangles */ + #ifndef GL_EXT_x11_sync_object #define GL_EXT_x11_sync_object 1 #define GL_SYNC_X11_FENCE_EXT 0x90E1 @@ -8222,10 +9553,28 @@ GLAPI void APIENTRY glBlendFuncSeparateINGR (GLenum sfactorRGB, GLenum dfactorRG #define GL_INTERLACE_READ_INGR 0x8568 #endif /* GL_INGR_interlace_read */ +#ifndef GL_INTEL_blackhole_render +#define GL_INTEL_blackhole_render 1 +#define GL_BLACKHOLE_RENDER_INTEL 0x83FC +#endif /* GL_INTEL_blackhole_render */ + +#ifndef GL_INTEL_conservative_rasterization +#define GL_INTEL_conservative_rasterization 1 +#define GL_CONSERVATIVE_RASTERIZATION_INTEL 0x83FE +#endif /* GL_INTEL_conservative_rasterization */ + #ifndef GL_INTEL_fragment_shader_ordering #define GL_INTEL_fragment_shader_ordering 1 #endif /* GL_INTEL_fragment_shader_ordering */ +#ifndef GL_INTEL_framebuffer_CMAA +#define GL_INTEL_framebuffer_CMAA 1 +typedef void (APIENTRYP PFNGLAPPLYFRAMEBUFFERATTACHMENTCMAAINTELPROC) (void); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glApplyFramebufferAttachmentCMAAINTEL (void); +#endif +#endif /* GL_INTEL_framebuffer_CMAA */ + #ifndef GL_INTEL_map_texture #define GL_INTEL_map_texture 1 #define GL_TEXTURE_MEMORY_LAYOUT_INTEL 0x83FF @@ -8290,7 +9639,7 @@ typedef void (APIENTRYP PFNGLENDPERFQUERYINTELPROC) (GLuint queryHandle); typedef void (APIENTRYP PFNGLGETFIRSTPERFQUERYIDINTELPROC) (GLuint *queryId); typedef void (APIENTRYP PFNGLGETNEXTPERFQUERYIDINTELPROC) (GLuint queryId, GLuint *nextQueryId); typedef void (APIENTRYP PFNGLGETPERFCOUNTERINFOINTELPROC) (GLuint queryId, GLuint counterId, GLuint counterNameLength, GLchar *counterName, GLuint counterDescLength, GLchar *counterDesc, GLuint *counterOffset, GLuint *counterDataSize, GLuint *counterTypeEnum, GLuint *counterDataTypeEnum, GLuint64 *rawCounterMaxValue); -typedef void (APIENTRYP PFNGLGETPERFQUERYDATAINTELPROC) (GLuint queryHandle, GLuint flags, GLsizei dataSize, GLvoid *data, GLuint *bytesWritten); +typedef void (APIENTRYP PFNGLGETPERFQUERYDATAINTELPROC) (GLuint queryHandle, GLuint flags, GLsizei dataSize, void *data, GLuint *bytesWritten); typedef void (APIENTRYP PFNGLGETPERFQUERYIDBYNAMEINTELPROC) (GLchar *queryName, GLuint *queryId); typedef void (APIENTRYP PFNGLGETPERFQUERYINFOINTELPROC) (GLuint queryId, GLuint queryNameLength, GLchar *queryName, GLuint *dataSize, GLuint *noCounters, GLuint *noInstances, GLuint *capsMask); #ifdef GL_GLEXT_PROTOTYPES @@ -8301,7 +9650,7 @@ GLAPI void APIENTRY glEndPerfQueryINTEL (GLuint queryHandle); GLAPI void APIENTRY glGetFirstPerfQueryIdINTEL (GLuint *queryId); GLAPI void APIENTRY glGetNextPerfQueryIdINTEL (GLuint queryId, GLuint *nextQueryId); GLAPI void APIENTRY glGetPerfCounterInfoINTEL (GLuint queryId, GLuint counterId, GLuint counterNameLength, GLchar *counterName, GLuint counterDescLength, GLchar *counterDesc, GLuint *counterOffset, GLuint *counterDataSize, GLuint *counterTypeEnum, GLuint *counterDataTypeEnum, GLuint64 *rawCounterMaxValue); -GLAPI void APIENTRY glGetPerfQueryDataINTEL (GLuint queryHandle, GLuint flags, GLsizei dataSize, GLvoid *data, GLuint *bytesWritten); +GLAPI void APIENTRY glGetPerfQueryDataINTEL (GLuint queryHandle, GLuint flags, GLsizei dataSize, void *data, GLuint *bytesWritten); GLAPI void APIENTRY glGetPerfQueryIdByNameINTEL (GLchar *queryName, GLuint *queryId); GLAPI void APIENTRY glGetPerfQueryInfoINTEL (GLuint queryId, GLuint queryNameLength, GLchar *queryName, GLuint *dataSize, GLuint *noCounters, GLuint *noInstances, GLuint *capsMask); #endif @@ -8317,11 +9666,37 @@ GLAPI void APIENTRY glGetPerfQueryInfoINTEL (GLuint queryId, GLuint queryNameLen #define GL_TEXTURE_2D_STACK_BINDING_MESAX 0x875E #endif /* GL_MESAX_texture_stack */ +#ifndef GL_MESA_framebuffer_flip_x +#define GL_MESA_framebuffer_flip_x 1 +#define GL_FRAMEBUFFER_FLIP_X_MESA 0x8BBC +#endif /* GL_MESA_framebuffer_flip_x */ + +#ifndef GL_MESA_framebuffer_flip_y +#define GL_MESA_framebuffer_flip_y 1 +#define GL_FRAMEBUFFER_FLIP_Y_MESA 0x8BBB +typedef void (APIENTRYP PFNGLFRAMEBUFFERPARAMETERIMESAPROC) (GLenum target, GLenum pname, GLint param); +typedef void (APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERIVMESAPROC) (GLenum target, GLenum pname, GLint *params); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glFramebufferParameteriMESA (GLenum target, GLenum pname, GLint param); +GLAPI void APIENTRY glGetFramebufferParameterivMESA (GLenum target, GLenum pname, GLint *params); +#endif +#endif /* GL_MESA_framebuffer_flip_y */ + +#ifndef GL_MESA_framebuffer_swap_xy +#define GL_MESA_framebuffer_swap_xy 1 +#define GL_FRAMEBUFFER_SWAP_XY_MESA 0x8BBD +#endif /* GL_MESA_framebuffer_swap_xy */ + #ifndef GL_MESA_pack_invert #define GL_MESA_pack_invert 1 #define GL_PACK_INVERT_MESA 0x8758 #endif /* GL_MESA_pack_invert */ +#ifndef GL_MESA_program_binary_formats +#define GL_MESA_program_binary_formats 1 +#define GL_PROGRAM_BINARY_FORMAT_MESA 0x875F +#endif /* GL_MESA_program_binary_formats */ + #ifndef GL_MESA_resize_buffers #define GL_MESA_resize_buffers 1 typedef void (APIENTRYP PFNGLRESIZEBUFFERSMESAPROC) (void); @@ -8330,6 +9705,17 @@ GLAPI void APIENTRY glResizeBuffersMESA (void); #endif #endif /* GL_MESA_resize_buffers */ +#ifndef GL_MESA_shader_integer_functions +#define GL_MESA_shader_integer_functions 1 +#endif /* GL_MESA_shader_integer_functions */ + +#ifndef GL_MESA_tile_raster_order +#define GL_MESA_tile_raster_order 1 +#define GL_TILE_RASTER_ORDER_FIXED_MESA 0x8BB8 +#define GL_TILE_RASTER_ORDER_INCREASING_X_MESA 0x8BB9 +#define GL_TILE_RASTER_ORDER_INCREASING_Y_MESA 0x8BBA +#endif /* GL_MESA_tile_raster_order */ + #ifndef GL_MESA_window_pos #define GL_MESA_window_pos 1 typedef void (APIENTRYP PFNGLWINDOWPOS2DMESAPROC) (GLdouble x, GLdouble y); @@ -8391,6 +9777,10 @@ GLAPI void APIENTRY glWindowPos4svMESA (const GLshort *v); #define GL_YCBCR_MESA 0x8757 #endif /* GL_MESA_ycbcr_texture */ +#ifndef GL_NVX_blend_equation_advanced_multi_draw_buffers +#define GL_NVX_blend_equation_advanced_multi_draw_buffers 1 +#endif /* GL_NVX_blend_equation_advanced_multi_draw_buffers */ + #ifndef GL_NVX_conditional_render #define GL_NVX_conditional_render 1 typedef void (APIENTRYP PFNGLBEGINCONDITIONALRENDERNVXPROC) (GLuint id); @@ -8410,6 +9800,65 @@ GLAPI void APIENTRY glEndConditionalRenderNVX (void); #define GL_GPU_MEMORY_INFO_EVICTED_MEMORY_NVX 0x904B #endif /* GL_NVX_gpu_memory_info */ +#ifndef GL_NVX_gpu_multicast2 +#define GL_NVX_gpu_multicast2 1 +#define GL_UPLOAD_GPU_MASK_NVX 0x954A +typedef void (APIENTRYP PFNGLUPLOADGPUMASKNVXPROC) (GLbitfield mask); +typedef void (APIENTRYP PFNGLMULTICASTVIEWPORTARRAYVNVXPROC) (GLuint gpu, GLuint first, GLsizei count, const GLfloat *v); +typedef void (APIENTRYP PFNGLMULTICASTVIEWPORTPOSITIONWSCALENVXPROC) (GLuint gpu, GLuint index, GLfloat xcoeff, GLfloat ycoeff); +typedef void (APIENTRYP PFNGLMULTICASTSCISSORARRAYVNVXPROC) (GLuint gpu, GLuint first, GLsizei count, const GLint *v); +typedef GLuint (APIENTRYP PFNGLASYNCCOPYBUFFERSUBDATANVXPROC) (GLsizei waitSemaphoreCount, const GLuint *waitSemaphoreArray, const GLuint64 *fenceValueArray, GLuint readGpu, GLbitfield writeGpuMask, GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size, GLsizei signalSemaphoreCount, const GLuint *signalSemaphoreArray, const GLuint64 *signalValueArray); +typedef GLuint (APIENTRYP PFNGLASYNCCOPYIMAGESUBDATANVXPROC) (GLsizei waitSemaphoreCount, const GLuint *waitSemaphoreArray, const GLuint64 *waitValueArray, GLuint srcGpu, GLbitfield dstGpuMask, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth, GLsizei signalSemaphoreCount, const GLuint *signalSemaphoreArray, const GLuint64 *signalValueArray); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glUploadGpuMaskNVX (GLbitfield mask); +GLAPI void APIENTRY glMulticastViewportArrayvNVX (GLuint gpu, GLuint first, GLsizei count, const GLfloat *v); +GLAPI void APIENTRY glMulticastViewportPositionWScaleNVX (GLuint gpu, GLuint index, GLfloat xcoeff, GLfloat ycoeff); +GLAPI void APIENTRY glMulticastScissorArrayvNVX (GLuint gpu, GLuint first, GLsizei count, const GLint *v); +GLAPI GLuint APIENTRY glAsyncCopyBufferSubDataNVX (GLsizei waitSemaphoreCount, const GLuint *waitSemaphoreArray, const GLuint64 *fenceValueArray, GLuint readGpu, GLbitfield writeGpuMask, GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size, GLsizei signalSemaphoreCount, const GLuint *signalSemaphoreArray, const GLuint64 *signalValueArray); +GLAPI GLuint APIENTRY glAsyncCopyImageSubDataNVX (GLsizei waitSemaphoreCount, const GLuint *waitSemaphoreArray, const GLuint64 *waitValueArray, GLuint srcGpu, GLbitfield dstGpuMask, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth, GLsizei signalSemaphoreCount, const GLuint *signalSemaphoreArray, const GLuint64 *signalValueArray); +#endif +#endif /* GL_NVX_gpu_multicast2 */ + +#ifndef GL_NVX_linked_gpu_multicast +#define GL_NVX_linked_gpu_multicast 1 +#define GL_LGPU_SEPARATE_STORAGE_BIT_NVX 0x0800 +#define GL_MAX_LGPU_GPUS_NVX 0x92BA +typedef void (APIENTRYP PFNGLLGPUNAMEDBUFFERSUBDATANVXPROC) (GLbitfield gpuMask, GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data); +typedef void (APIENTRYP PFNGLLGPUCOPYIMAGESUBDATANVXPROC) (GLuint sourceGpu, GLbitfield destinationGpuMask, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srxY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth); +typedef void (APIENTRYP PFNGLLGPUINTERLOCKNVXPROC) (void); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glLGPUNamedBufferSubDataNVX (GLbitfield gpuMask, GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data); +GLAPI void APIENTRY glLGPUCopyImageSubDataNVX (GLuint sourceGpu, GLbitfield destinationGpuMask, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srxY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei width, GLsizei height, GLsizei depth); +GLAPI void APIENTRY glLGPUInterlockNVX (void); +#endif +#endif /* GL_NVX_linked_gpu_multicast */ + +#ifndef GL_NVX_progress_fence +#define GL_NVX_progress_fence 1 +typedef GLuint (APIENTRYP PFNGLCREATEPROGRESSFENCENVXPROC) (void); +typedef void (APIENTRYP PFNGLSIGNALSEMAPHOREUI64NVXPROC) (GLuint signalGpu, GLsizei fenceObjectCount, const GLuint *semaphoreArray, const GLuint64 *fenceValueArray); +typedef void (APIENTRYP PFNGLWAITSEMAPHOREUI64NVXPROC) (GLuint waitGpu, GLsizei fenceObjectCount, const GLuint *semaphoreArray, const GLuint64 *fenceValueArray); +typedef void (APIENTRYP PFNGLCLIENTWAITSEMAPHOREUI64NVXPROC) (GLsizei fenceObjectCount, const GLuint *semaphoreArray, const GLuint64 *fenceValueArray); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI GLuint APIENTRY glCreateProgressFenceNVX (void); +GLAPI void APIENTRY glSignalSemaphoreui64NVX (GLuint signalGpu, GLsizei fenceObjectCount, const GLuint *semaphoreArray, const GLuint64 *fenceValueArray); +GLAPI void APIENTRY glWaitSemaphoreui64NVX (GLuint waitGpu, GLsizei fenceObjectCount, const GLuint *semaphoreArray, const GLuint64 *fenceValueArray); +GLAPI void APIENTRY glClientWaitSemaphoreui64NVX (GLsizei fenceObjectCount, const GLuint *semaphoreArray, const GLuint64 *fenceValueArray); +#endif +#endif /* GL_NVX_progress_fence */ + +#ifndef GL_NV_alpha_to_coverage_dither_control +#define GL_NV_alpha_to_coverage_dither_control 1 +#define GL_ALPHA_TO_COVERAGE_DITHER_DEFAULT_NV 0x934D +#define GL_ALPHA_TO_COVERAGE_DITHER_ENABLE_NV 0x934E +#define GL_ALPHA_TO_COVERAGE_DITHER_DISABLE_NV 0x934F +#define GL_ALPHA_TO_COVERAGE_DITHER_MODE_NV 0x92BF +typedef void (APIENTRYP PFNGLALPHATOCOVERAGEDITHERCONTROLNVPROC) (GLenum mode); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glAlphaToCoverageDitherControlNV (GLenum mode); +#endif +#endif /* GL_NV_alpha_to_coverage_dither_control */ + #ifndef GL_NV_bindless_multi_draw_indirect #define GL_NV_bindless_multi_draw_indirect 1 typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSNVPROC) (GLenum mode, const void *indirect, GLsizei drawCount, GLsizei stride, GLint vertexBufferCount); @@ -8420,6 +9869,16 @@ GLAPI void APIENTRY glMultiDrawElementsIndirectBindlessNV (GLenum mode, GLenum t #endif #endif /* GL_NV_bindless_multi_draw_indirect */ +#ifndef GL_NV_bindless_multi_draw_indirect_count +#define GL_NV_bindless_multi_draw_indirect_count 1 +typedef void (APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTBINDLESSCOUNTNVPROC) (GLenum mode, const void *indirect, GLsizei drawCount, GLsizei maxDrawCount, GLsizei stride, GLint vertexBufferCount); +typedef void (APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTBINDLESSCOUNTNVPROC) (GLenum mode, GLenum type, const void *indirect, GLsizei drawCount, GLsizei maxDrawCount, GLsizei stride, GLint vertexBufferCount); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glMultiDrawArraysIndirectBindlessCountNV (GLenum mode, const void *indirect, GLsizei drawCount, GLsizei maxDrawCount, GLsizei stride, GLint vertexBufferCount); +GLAPI void APIENTRY glMultiDrawElementsIndirectBindlessCountNV (GLenum mode, GLenum type, const void *indirect, GLsizei drawCount, GLsizei maxDrawCount, GLsizei stride, GLint vertexBufferCount); +#endif +#endif /* GL_NV_bindless_multi_draw_indirect_count */ + #ifndef GL_NV_bindless_texture #define GL_NV_bindless_texture 1 typedef GLuint64 (APIENTRYP PFNGLGETTEXTUREHANDLENVPROC) (GLuint texture); @@ -8516,16 +9975,94 @@ GLAPI void APIENTRY glBlendBarrierNV (void); #define GL_BLEND_ADVANCED_COHERENT_NV 0x9285 #endif /* GL_NV_blend_equation_advanced_coherent */ +#ifndef GL_NV_blend_minmax_factor +#define GL_NV_blend_minmax_factor 1 +#endif /* GL_NV_blend_minmax_factor */ + #ifndef GL_NV_blend_square #define GL_NV_blend_square 1 #endif /* GL_NV_blend_square */ +#ifndef GL_NV_clip_space_w_scaling +#define GL_NV_clip_space_w_scaling 1 +#define GL_VIEWPORT_POSITION_W_SCALE_NV 0x937C +#define GL_VIEWPORT_POSITION_W_SCALE_X_COEFF_NV 0x937D +#define GL_VIEWPORT_POSITION_W_SCALE_Y_COEFF_NV 0x937E +typedef void (APIENTRYP PFNGLVIEWPORTPOSITIONWSCALENVPROC) (GLuint index, GLfloat xcoeff, GLfloat ycoeff); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glViewportPositionWScaleNV (GLuint index, GLfloat xcoeff, GLfloat ycoeff); +#endif +#endif /* GL_NV_clip_space_w_scaling */ + +#ifndef GL_NV_command_list +#define GL_NV_command_list 1 +#define GL_TERMINATE_SEQUENCE_COMMAND_NV 0x0000 +#define GL_NOP_COMMAND_NV 0x0001 +#define GL_DRAW_ELEMENTS_COMMAND_NV 0x0002 +#define GL_DRAW_ARRAYS_COMMAND_NV 0x0003 +#define GL_DRAW_ELEMENTS_STRIP_COMMAND_NV 0x0004 +#define GL_DRAW_ARRAYS_STRIP_COMMAND_NV 0x0005 +#define GL_DRAW_ELEMENTS_INSTANCED_COMMAND_NV 0x0006 +#define GL_DRAW_ARRAYS_INSTANCED_COMMAND_NV 0x0007 +#define GL_ELEMENT_ADDRESS_COMMAND_NV 0x0008 +#define GL_ATTRIBUTE_ADDRESS_COMMAND_NV 0x0009 +#define GL_UNIFORM_ADDRESS_COMMAND_NV 0x000A +#define GL_BLEND_COLOR_COMMAND_NV 0x000B +#define GL_STENCIL_REF_COMMAND_NV 0x000C +#define GL_LINE_WIDTH_COMMAND_NV 0x000D +#define GL_POLYGON_OFFSET_COMMAND_NV 0x000E +#define GL_ALPHA_REF_COMMAND_NV 0x000F +#define GL_VIEWPORT_COMMAND_NV 0x0010 +#define GL_SCISSOR_COMMAND_NV 0x0011 +#define GL_FRONT_FACE_COMMAND_NV 0x0012 +typedef void (APIENTRYP PFNGLCREATESTATESNVPROC) (GLsizei n, GLuint *states); +typedef void (APIENTRYP PFNGLDELETESTATESNVPROC) (GLsizei n, const GLuint *states); +typedef GLboolean (APIENTRYP PFNGLISSTATENVPROC) (GLuint state); +typedef void (APIENTRYP PFNGLSTATECAPTURENVPROC) (GLuint state, GLenum mode); +typedef GLuint (APIENTRYP PFNGLGETCOMMANDHEADERNVPROC) (GLenum tokenID, GLuint size); +typedef GLushort (APIENTRYP PFNGLGETSTAGEINDEXNVPROC) (GLenum shadertype); +typedef void (APIENTRYP PFNGLDRAWCOMMANDSNVPROC) (GLenum primitiveMode, GLuint buffer, const GLintptr *indirects, const GLsizei *sizes, GLuint count); +typedef void (APIENTRYP PFNGLDRAWCOMMANDSADDRESSNVPROC) (GLenum primitiveMode, const GLuint64 *indirects, const GLsizei *sizes, GLuint count); +typedef void (APIENTRYP PFNGLDRAWCOMMANDSSTATESNVPROC) (GLuint buffer, const GLintptr *indirects, const GLsizei *sizes, const GLuint *states, const GLuint *fbos, GLuint count); +typedef void (APIENTRYP PFNGLDRAWCOMMANDSSTATESADDRESSNVPROC) (const GLuint64 *indirects, const GLsizei *sizes, const GLuint *states, const GLuint *fbos, GLuint count); +typedef void (APIENTRYP PFNGLCREATECOMMANDLISTSNVPROC) (GLsizei n, GLuint *lists); +typedef void (APIENTRYP PFNGLDELETECOMMANDLISTSNVPROC) (GLsizei n, const GLuint *lists); +typedef GLboolean (APIENTRYP PFNGLISCOMMANDLISTNVPROC) (GLuint list); +typedef void (APIENTRYP PFNGLLISTDRAWCOMMANDSSTATESCLIENTNVPROC) (GLuint list, GLuint segment, const void **indirects, const GLsizei *sizes, const GLuint *states, const GLuint *fbos, GLuint count); +typedef void (APIENTRYP PFNGLCOMMANDLISTSEGMENTSNVPROC) (GLuint list, GLuint segments); +typedef void (APIENTRYP PFNGLCOMPILECOMMANDLISTNVPROC) (GLuint list); +typedef void (APIENTRYP PFNGLCALLCOMMANDLISTNVPROC) (GLuint list); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glCreateStatesNV (GLsizei n, GLuint *states); +GLAPI void APIENTRY glDeleteStatesNV (GLsizei n, const GLuint *states); +GLAPI GLboolean APIENTRY glIsStateNV (GLuint state); +GLAPI void APIENTRY glStateCaptureNV (GLuint state, GLenum mode); +GLAPI GLuint APIENTRY glGetCommandHeaderNV (GLenum tokenID, GLuint size); +GLAPI GLushort APIENTRY glGetStageIndexNV (GLenum shadertype); +GLAPI void APIENTRY glDrawCommandsNV (GLenum primitiveMode, GLuint buffer, const GLintptr *indirects, const GLsizei *sizes, GLuint count); +GLAPI void APIENTRY glDrawCommandsAddressNV (GLenum primitiveMode, const GLuint64 *indirects, const GLsizei *sizes, GLuint count); +GLAPI void APIENTRY glDrawCommandsStatesNV (GLuint buffer, const GLintptr *indirects, const GLsizei *sizes, const GLuint *states, const GLuint *fbos, GLuint count); +GLAPI void APIENTRY glDrawCommandsStatesAddressNV (const GLuint64 *indirects, const GLsizei *sizes, const GLuint *states, const GLuint *fbos, GLuint count); +GLAPI void APIENTRY glCreateCommandListsNV (GLsizei n, GLuint *lists); +GLAPI void APIENTRY glDeleteCommandListsNV (GLsizei n, const GLuint *lists); +GLAPI GLboolean APIENTRY glIsCommandListNV (GLuint list); +GLAPI void APIENTRY glListDrawCommandsStatesClientNV (GLuint list, GLuint segment, const void **indirects, const GLsizei *sizes, const GLuint *states, const GLuint *fbos, GLuint count); +GLAPI void APIENTRY glCommandListSegmentsNV (GLuint list, GLuint segments); +GLAPI void APIENTRY glCompileCommandListNV (GLuint list); +GLAPI void APIENTRY glCallCommandListNV (GLuint list); +#endif +#endif /* GL_NV_command_list */ + #ifndef GL_NV_compute_program5 #define GL_NV_compute_program5 1 #define GL_COMPUTE_PROGRAM_NV 0x90FB #define GL_COMPUTE_PROGRAM_PARAMETER_BUFFER_NV 0x90FC #endif /* GL_NV_compute_program5 */ +#ifndef GL_NV_compute_shader_derivatives +#define GL_NV_compute_shader_derivatives 1 +#endif /* GL_NV_compute_shader_derivatives */ + #ifndef GL_NV_conditional_render #define GL_NV_conditional_render 1 #define GL_QUERY_WAIT_NV 0x8E13 @@ -8540,6 +10077,49 @@ GLAPI void APIENTRY glEndConditionalRenderNV (void); #endif #endif /* GL_NV_conditional_render */ +#ifndef GL_NV_conservative_raster +#define GL_NV_conservative_raster 1 +#define GL_CONSERVATIVE_RASTERIZATION_NV 0x9346 +#define GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV 0x9347 +#define GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV 0x9348 +#define GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV 0x9349 +typedef void (APIENTRYP PFNGLSUBPIXELPRECISIONBIASNVPROC) (GLuint xbits, GLuint ybits); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glSubpixelPrecisionBiasNV (GLuint xbits, GLuint ybits); +#endif +#endif /* GL_NV_conservative_raster */ + +#ifndef GL_NV_conservative_raster_dilate +#define GL_NV_conservative_raster_dilate 1 +#define GL_CONSERVATIVE_RASTER_DILATE_NV 0x9379 +#define GL_CONSERVATIVE_RASTER_DILATE_RANGE_NV 0x937A +#define GL_CONSERVATIVE_RASTER_DILATE_GRANULARITY_NV 0x937B +typedef void (APIENTRYP PFNGLCONSERVATIVERASTERPARAMETERFNVPROC) (GLenum pname, GLfloat value); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glConservativeRasterParameterfNV (GLenum pname, GLfloat value); +#endif +#endif /* GL_NV_conservative_raster_dilate */ + +#ifndef GL_NV_conservative_raster_pre_snap +#define GL_NV_conservative_raster_pre_snap 1 +#define GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_NV 0x9550 +#endif /* GL_NV_conservative_raster_pre_snap */ + +#ifndef GL_NV_conservative_raster_pre_snap_triangles +#define GL_NV_conservative_raster_pre_snap_triangles 1 +#define GL_CONSERVATIVE_RASTER_MODE_NV 0x954D +#define GL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV 0x954E +#define GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV 0x954F +typedef void (APIENTRYP PFNGLCONSERVATIVERASTERPARAMETERINVPROC) (GLenum pname, GLint param); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glConservativeRasterParameteriNV (GLenum pname, GLint param); +#endif +#endif /* GL_NV_conservative_raster_pre_snap_triangles */ + +#ifndef GL_NV_conservative_raster_underestimation +#define GL_NV_conservative_raster_underestimation 1 +#endif /* GL_NV_conservative_raster_underestimation */ + #ifndef GL_NV_copy_depth_to_color #define GL_NV_copy_depth_to_color 1 #define GL_DEPTH_STENCIL_TO_RGBA_NV 0x886E @@ -8589,6 +10169,23 @@ GLAPI void APIENTRY glDrawTextureNV (GLuint texture, GLuint sampler, GLfloat x0, #endif #endif /* GL_NV_draw_texture */ +#ifndef GL_NV_draw_vulkan_image +#define GL_NV_draw_vulkan_image 1 +typedef void (APIENTRY *GLVULKANPROCNV)(void); +typedef void (APIENTRYP PFNGLDRAWVKIMAGENVPROC) (GLuint64 vkImage, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1); +typedef GLVULKANPROCNV (APIENTRYP PFNGLGETVKPROCADDRNVPROC) (const GLchar *name); +typedef void (APIENTRYP PFNGLWAITVKSEMAPHORENVPROC) (GLuint64 vkSemaphore); +typedef void (APIENTRYP PFNGLSIGNALVKSEMAPHORENVPROC) (GLuint64 vkSemaphore); +typedef void (APIENTRYP PFNGLSIGNALVKFENCENVPROC) (GLuint64 vkFence); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glDrawVkImageNV (GLuint64 vkImage, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1); +GLAPI GLVULKANPROCNV APIENTRY glGetVkProcAddrNV (const GLchar *name); +GLAPI void APIENTRY glWaitVkSemaphoreNV (GLuint64 vkSemaphore); +GLAPI void APIENTRY glSignalVkSemaphoreNV (GLuint64 vkSemaphore); +GLAPI void APIENTRY glSignalVkFenceNV (GLuint64 vkFence); +#endif +#endif /* GL_NV_draw_vulkan_image */ + #ifndef GL_NV_evaluators #define GL_NV_evaluators 1 #define GL_EVAL_2D_NV 0x86C0 @@ -8682,6 +10279,11 @@ GLAPI void APIENTRY glSetFenceNV (GLuint fence, GLenum condition); #endif #endif /* GL_NV_fence */ +#ifndef GL_NV_fill_rectangle +#define GL_NV_fill_rectangle 1 +#define GL_FILL_RECTANGLE_NV 0x933C +#endif /* GL_NV_fill_rectangle */ + #ifndef GL_NV_float_buffer #define GL_NV_float_buffer 1 #define GL_FLOAT_R_NV 0x8880 @@ -8708,6 +10310,16 @@ GLAPI void APIENTRY glSetFenceNV (GLuint fence, GLenum condition); #define GL_EYE_PLANE_ABSOLUTE_NV 0x855C #endif /* GL_NV_fog_distance */ +#ifndef GL_NV_fragment_coverage_to_color +#define GL_NV_fragment_coverage_to_color 1 +#define GL_FRAGMENT_COVERAGE_TO_COLOR_NV 0x92DD +#define GL_FRAGMENT_COVERAGE_COLOR_NV 0x92DE +typedef void (APIENTRYP PFNGLFRAGMENTCOVERAGECOLORNVPROC) (GLuint color); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glFragmentCoverageColorNV (GLuint color); +#endif +#endif /* GL_NV_fragment_coverage_to_color */ + #ifndef GL_NV_fragment_program #define GL_NV_fragment_program 1 #define GL_MAX_FRAGMENT_PROGRAM_LOCAL_PARAMETERS_NV 0x8868 @@ -8749,6 +10361,34 @@ GLAPI void APIENTRY glGetProgramNamedParameterdvNV (GLuint id, GLsizei len, cons #define GL_NV_fragment_program_option 1 #endif /* GL_NV_fragment_program_option */ +#ifndef GL_NV_fragment_shader_barycentric +#define GL_NV_fragment_shader_barycentric 1 +#endif /* GL_NV_fragment_shader_barycentric */ + +#ifndef GL_NV_fragment_shader_interlock +#define GL_NV_fragment_shader_interlock 1 +#endif /* GL_NV_fragment_shader_interlock */ + +#ifndef GL_NV_framebuffer_mixed_samples +#define GL_NV_framebuffer_mixed_samples 1 +#define GL_COVERAGE_MODULATION_TABLE_NV 0x9331 +#define GL_COLOR_SAMPLES_NV 0x8E20 +#define GL_DEPTH_SAMPLES_NV 0x932D +#define GL_STENCIL_SAMPLES_NV 0x932E +#define GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV 0x932F +#define GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV 0x9330 +#define GL_COVERAGE_MODULATION_NV 0x9332 +#define GL_COVERAGE_MODULATION_TABLE_SIZE_NV 0x9333 +typedef void (APIENTRYP PFNGLCOVERAGEMODULATIONTABLENVPROC) (GLsizei n, const GLfloat *v); +typedef void (APIENTRYP PFNGLGETCOVERAGEMODULATIONTABLENVPROC) (GLsizei bufSize, GLfloat *v); +typedef void (APIENTRYP PFNGLCOVERAGEMODULATIONNVPROC) (GLenum components); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glCoverageModulationTableNV (GLsizei n, const GLfloat *v); +GLAPI void APIENTRY glGetCoverageModulationTableNV (GLsizei bufSize, GLfloat *v); +GLAPI void APIENTRY glCoverageModulationNV (GLenum components); +#endif +#endif /* GL_NV_framebuffer_mixed_samples */ + #ifndef GL_NV_framebuffer_multisample_coverage #define GL_NV_framebuffer_multisample_coverage 1 #define GL_RENDERBUFFER_COVERAGE_SAMPLES_NV 0x8CAB @@ -8768,12 +10408,10 @@ GLAPI void APIENTRY glRenderbufferStorageMultisampleCoverageNV (GLenum target, G #define GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV 0x8C28 typedef void (APIENTRYP PFNGLPROGRAMVERTEXLIMITNVPROC) (GLenum target, GLint limit); typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level); -typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYEREXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREFACEEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face); #ifdef GL_GLEXT_PROTOTYPES GLAPI void APIENTRY glProgramVertexLimitNV (GLenum target, GLint limit); GLAPI void APIENTRY glFramebufferTextureEXT (GLenum target, GLenum attachment, GLuint texture, GLint level); -GLAPI void APIENTRY glFramebufferTextureLayerEXT (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer); GLAPI void APIENTRY glFramebufferTextureFaceEXT (GLenum target, GLenum attachment, GLuint texture, GLint level, GLenum face); #endif #endif /* GL_NV_geometry_program4 */ @@ -8782,6 +10420,45 @@ GLAPI void APIENTRY glFramebufferTextureFaceEXT (GLenum target, GLenum attachmen #define GL_NV_geometry_shader4 1 #endif /* GL_NV_geometry_shader4 */ +#ifndef GL_NV_geometry_shader_passthrough +#define GL_NV_geometry_shader_passthrough 1 +#endif /* GL_NV_geometry_shader_passthrough */ + +#ifndef GL_NV_gpu_multicast +#define GL_NV_gpu_multicast 1 +#define GL_PER_GPU_STORAGE_BIT_NV 0x0800 +#define GL_MULTICAST_GPUS_NV 0x92BA +#define GL_RENDER_GPU_MASK_NV 0x9558 +#define GL_PER_GPU_STORAGE_NV 0x9548 +#define GL_MULTICAST_PROGRAMMABLE_SAMPLE_LOCATION_NV 0x9549 +typedef void (APIENTRYP PFNGLRENDERGPUMASKNVPROC) (GLbitfield mask); +typedef void (APIENTRYP PFNGLMULTICASTBUFFERSUBDATANVPROC) (GLbitfield gpuMask, GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data); +typedef void (APIENTRYP PFNGLMULTICASTCOPYBUFFERSUBDATANVPROC) (GLuint readGpu, GLbitfield writeGpuMask, GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); +typedef void (APIENTRYP PFNGLMULTICASTCOPYIMAGESUBDATANVPROC) (GLuint srcGpu, GLbitfield dstGpuMask, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth); +typedef void (APIENTRYP PFNGLMULTICASTBLITFRAMEBUFFERNVPROC) (GLuint srcGpu, GLuint dstGpu, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +typedef void (APIENTRYP PFNGLMULTICASTFRAMEBUFFERSAMPLELOCATIONSFVNVPROC) (GLuint gpu, GLuint framebuffer, GLuint start, GLsizei count, const GLfloat *v); +typedef void (APIENTRYP PFNGLMULTICASTBARRIERNVPROC) (void); +typedef void (APIENTRYP PFNGLMULTICASTWAITSYNCNVPROC) (GLuint signalGpu, GLbitfield waitGpuMask); +typedef void (APIENTRYP PFNGLMULTICASTGETQUERYOBJECTIVNVPROC) (GLuint gpu, GLuint id, GLenum pname, GLint *params); +typedef void (APIENTRYP PFNGLMULTICASTGETQUERYOBJECTUIVNVPROC) (GLuint gpu, GLuint id, GLenum pname, GLuint *params); +typedef void (APIENTRYP PFNGLMULTICASTGETQUERYOBJECTI64VNVPROC) (GLuint gpu, GLuint id, GLenum pname, GLint64 *params); +typedef void (APIENTRYP PFNGLMULTICASTGETQUERYOBJECTUI64VNVPROC) (GLuint gpu, GLuint id, GLenum pname, GLuint64 *params); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glRenderGpuMaskNV (GLbitfield mask); +GLAPI void APIENTRY glMulticastBufferSubDataNV (GLbitfield gpuMask, GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data); +GLAPI void APIENTRY glMulticastCopyBufferSubDataNV (GLuint readGpu, GLbitfield writeGpuMask, GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); +GLAPI void APIENTRY glMulticastCopyImageSubDataNV (GLuint srcGpu, GLbitfield dstGpuMask, GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth); +GLAPI void APIENTRY glMulticastBlitFramebufferNV (GLuint srcGpu, GLuint dstGpu, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +GLAPI void APIENTRY glMulticastFramebufferSampleLocationsfvNV (GLuint gpu, GLuint framebuffer, GLuint start, GLsizei count, const GLfloat *v); +GLAPI void APIENTRY glMulticastBarrierNV (void); +GLAPI void APIENTRY glMulticastWaitSyncNV (GLuint signalGpu, GLbitfield waitGpuMask); +GLAPI void APIENTRY glMulticastGetQueryObjectivNV (GLuint gpu, GLuint id, GLenum pname, GLint *params); +GLAPI void APIENTRY glMulticastGetQueryObjectuivNV (GLuint gpu, GLuint id, GLenum pname, GLuint *params); +GLAPI void APIENTRY glMulticastGetQueryObjecti64vNV (GLuint gpu, GLuint id, GLenum pname, GLint64 *params); +GLAPI void APIENTRY glMulticastGetQueryObjectui64vNV (GLuint gpu, GLuint id, GLenum pname, GLuint64 *params); +#endif +#endif /* GL_NV_gpu_multicast */ + #ifndef GL_NV_gpu_program4 #define GL_NV_gpu_program4 1 #define GL_MIN_PROGRAM_TEXEL_OFFSET_NV 0x8904 @@ -8954,15 +10631,130 @@ GLAPI void APIENTRY glVertexAttribs4hvNV (GLuint index, GLsizei n, const GLhalfN #endif #endif /* GL_NV_half_float */ +#ifndef GL_NV_internalformat_sample_query +#define GL_NV_internalformat_sample_query 1 +#define GL_MULTISAMPLES_NV 0x9371 +#define GL_SUPERSAMPLE_SCALE_X_NV 0x9372 +#define GL_SUPERSAMPLE_SCALE_Y_NV 0x9373 +#define GL_CONFORMANT_NV 0x9374 +typedef void (APIENTRYP PFNGLGETINTERNALFORMATSAMPLEIVNVPROC) (GLenum target, GLenum internalformat, GLsizei samples, GLenum pname, GLsizei count, GLint *params); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glGetInternalformatSampleivNV (GLenum target, GLenum internalformat, GLsizei samples, GLenum pname, GLsizei count, GLint *params); +#endif +#endif /* GL_NV_internalformat_sample_query */ + #ifndef GL_NV_light_max_exponent #define GL_NV_light_max_exponent 1 #define GL_MAX_SHININESS_NV 0x8504 #define GL_MAX_SPOT_EXPONENT_NV 0x8505 #endif /* GL_NV_light_max_exponent */ +#ifndef GL_NV_memory_attachment +#define GL_NV_memory_attachment 1 +#define GL_ATTACHED_MEMORY_OBJECT_NV 0x95A4 +#define GL_ATTACHED_MEMORY_OFFSET_NV 0x95A5 +#define GL_MEMORY_ATTACHABLE_ALIGNMENT_NV 0x95A6 +#define GL_MEMORY_ATTACHABLE_SIZE_NV 0x95A7 +#define GL_MEMORY_ATTACHABLE_NV 0x95A8 +#define GL_DETACHED_MEMORY_INCARNATION_NV 0x95A9 +#define GL_DETACHED_TEXTURES_NV 0x95AA +#define GL_DETACHED_BUFFERS_NV 0x95AB +#define GL_MAX_DETACHED_TEXTURES_NV 0x95AC +#define GL_MAX_DETACHED_BUFFERS_NV 0x95AD +typedef void (APIENTRYP PFNGLGETMEMORYOBJECTDETACHEDRESOURCESUIVNVPROC) (GLuint memory, GLenum pname, GLint first, GLsizei count, GLuint *params); +typedef void (APIENTRYP PFNGLRESETMEMORYOBJECTPARAMETERNVPROC) (GLuint memory, GLenum pname); +typedef void (APIENTRYP PFNGLTEXATTACHMEMORYNVPROC) (GLenum target, GLuint memory, GLuint64 offset); +typedef void (APIENTRYP PFNGLBUFFERATTACHMEMORYNVPROC) (GLenum target, GLuint memory, GLuint64 offset); +typedef void (APIENTRYP PFNGLTEXTUREATTACHMEMORYNVPROC) (GLuint texture, GLuint memory, GLuint64 offset); +typedef void (APIENTRYP PFNGLNAMEDBUFFERATTACHMEMORYNVPROC) (GLuint buffer, GLuint memory, GLuint64 offset); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glGetMemoryObjectDetachedResourcesuivNV (GLuint memory, GLenum pname, GLint first, GLsizei count, GLuint *params); +GLAPI void APIENTRY glResetMemoryObjectParameterNV (GLuint memory, GLenum pname); +GLAPI void APIENTRY glTexAttachMemoryNV (GLenum target, GLuint memory, GLuint64 offset); +GLAPI void APIENTRY glBufferAttachMemoryNV (GLenum target, GLuint memory, GLuint64 offset); +GLAPI void APIENTRY glTextureAttachMemoryNV (GLuint texture, GLuint memory, GLuint64 offset); +GLAPI void APIENTRY glNamedBufferAttachMemoryNV (GLuint buffer, GLuint memory, GLuint64 offset); +#endif +#endif /* GL_NV_memory_attachment */ + +#ifndef GL_NV_memory_object_sparse +#define GL_NV_memory_object_sparse 1 +typedef void (APIENTRYP PFNGLBUFFERPAGECOMMITMENTMEMNVPROC) (GLenum target, GLintptr offset, GLsizeiptr size, GLuint memory, GLuint64 memOffset, GLboolean commit); +typedef void (APIENTRYP PFNGLTEXPAGECOMMITMENTMEMNVPROC) (GLenum target, GLint layer, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset, GLboolean commit); +typedef void (APIENTRYP PFNGLNAMEDBUFFERPAGECOMMITMENTMEMNVPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, GLuint memory, GLuint64 memOffset, GLboolean commit); +typedef void (APIENTRYP PFNGLTEXTUREPAGECOMMITMENTMEMNVPROC) (GLuint texture, GLint layer, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset, GLboolean commit); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBufferPageCommitmentMemNV (GLenum target, GLintptr offset, GLsizeiptr size, GLuint memory, GLuint64 memOffset, GLboolean commit); +GLAPI void APIENTRY glTexPageCommitmentMemNV (GLenum target, GLint layer, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset, GLboolean commit); +GLAPI void APIENTRY glNamedBufferPageCommitmentMemNV (GLuint buffer, GLintptr offset, GLsizeiptr size, GLuint memory, GLuint64 memOffset, GLboolean commit); +GLAPI void APIENTRY glTexturePageCommitmentMemNV (GLuint texture, GLint layer, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset, GLboolean commit); +#endif +#endif /* GL_NV_memory_object_sparse */ + +#ifndef GL_NV_mesh_shader +#define GL_NV_mesh_shader 1 +#define GL_MESH_SHADER_NV 0x9559 +#define GL_TASK_SHADER_NV 0x955A +#define GL_MAX_MESH_UNIFORM_BLOCKS_NV 0x8E60 +#define GL_MAX_MESH_TEXTURE_IMAGE_UNITS_NV 0x8E61 +#define GL_MAX_MESH_IMAGE_UNIFORMS_NV 0x8E62 +#define GL_MAX_MESH_UNIFORM_COMPONENTS_NV 0x8E63 +#define GL_MAX_MESH_ATOMIC_COUNTER_BUFFERS_NV 0x8E64 +#define GL_MAX_MESH_ATOMIC_COUNTERS_NV 0x8E65 +#define GL_MAX_MESH_SHADER_STORAGE_BLOCKS_NV 0x8E66 +#define GL_MAX_COMBINED_MESH_UNIFORM_COMPONENTS_NV 0x8E67 +#define GL_MAX_TASK_UNIFORM_BLOCKS_NV 0x8E68 +#define GL_MAX_TASK_TEXTURE_IMAGE_UNITS_NV 0x8E69 +#define GL_MAX_TASK_IMAGE_UNIFORMS_NV 0x8E6A +#define GL_MAX_TASK_UNIFORM_COMPONENTS_NV 0x8E6B +#define GL_MAX_TASK_ATOMIC_COUNTER_BUFFERS_NV 0x8E6C +#define GL_MAX_TASK_ATOMIC_COUNTERS_NV 0x8E6D +#define GL_MAX_TASK_SHADER_STORAGE_BLOCKS_NV 0x8E6E +#define GL_MAX_COMBINED_TASK_UNIFORM_COMPONENTS_NV 0x8E6F +#define GL_MAX_MESH_WORK_GROUP_INVOCATIONS_NV 0x95A2 +#define GL_MAX_TASK_WORK_GROUP_INVOCATIONS_NV 0x95A3 +#define GL_MAX_MESH_TOTAL_MEMORY_SIZE_NV 0x9536 +#define GL_MAX_TASK_TOTAL_MEMORY_SIZE_NV 0x9537 +#define GL_MAX_MESH_OUTPUT_VERTICES_NV 0x9538 +#define GL_MAX_MESH_OUTPUT_PRIMITIVES_NV 0x9539 +#define GL_MAX_TASK_OUTPUT_COUNT_NV 0x953A +#define GL_MAX_DRAW_MESH_TASKS_COUNT_NV 0x953D +#define GL_MAX_MESH_VIEWS_NV 0x9557 +#define GL_MESH_OUTPUT_PER_VERTEX_GRANULARITY_NV 0x92DF +#define GL_MESH_OUTPUT_PER_PRIMITIVE_GRANULARITY_NV 0x9543 +#define GL_MAX_MESH_WORK_GROUP_SIZE_NV 0x953B +#define GL_MAX_TASK_WORK_GROUP_SIZE_NV 0x953C +#define GL_MESH_WORK_GROUP_SIZE_NV 0x953E +#define GL_TASK_WORK_GROUP_SIZE_NV 0x953F +#define GL_MESH_VERTICES_OUT_NV 0x9579 +#define GL_MESH_PRIMITIVES_OUT_NV 0x957A +#define GL_MESH_OUTPUT_TYPE_NV 0x957B +#define GL_UNIFORM_BLOCK_REFERENCED_BY_MESH_SHADER_NV 0x959C +#define GL_UNIFORM_BLOCK_REFERENCED_BY_TASK_SHADER_NV 0x959D +#define GL_REFERENCED_BY_MESH_SHADER_NV 0x95A0 +#define GL_REFERENCED_BY_TASK_SHADER_NV 0x95A1 +#define GL_MESH_SHADER_BIT_NV 0x00000040 +#define GL_TASK_SHADER_BIT_NV 0x00000080 +#define GL_MESH_SUBROUTINE_NV 0x957C +#define GL_TASK_SUBROUTINE_NV 0x957D +#define GL_MESH_SUBROUTINE_UNIFORM_NV 0x957E +#define GL_TASK_SUBROUTINE_UNIFORM_NV 0x957F +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_MESH_SHADER_NV 0x959E +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TASK_SHADER_NV 0x959F +typedef void (APIENTRYP PFNGLDRAWMESHTASKSNVPROC) (GLuint first, GLuint count); +typedef void (APIENTRYP PFNGLDRAWMESHTASKSINDIRECTNVPROC) (GLintptr indirect); +typedef void (APIENTRYP PFNGLMULTIDRAWMESHTASKSINDIRECTNVPROC) (GLintptr indirect, GLsizei drawcount, GLsizei stride); +typedef void (APIENTRYP PFNGLMULTIDRAWMESHTASKSINDIRECTCOUNTNVPROC) (GLintptr indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glDrawMeshTasksNV (GLuint first, GLuint count); +GLAPI void APIENTRY glDrawMeshTasksIndirectNV (GLintptr indirect); +GLAPI void APIENTRY glMultiDrawMeshTasksIndirectNV (GLintptr indirect, GLsizei drawcount, GLsizei stride); +GLAPI void APIENTRY glMultiDrawMeshTasksIndirectCountNV (GLintptr indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); +#endif +#endif /* GL_NV_mesh_shader */ + #ifndef GL_NV_multisample_coverage #define GL_NV_multisample_coverage 1 -#define GL_COLOR_SAMPLES_NV 0x8E20 #endif /* GL_NV_multisample_coverage */ #ifndef GL_NV_multisample_filter_hint @@ -9075,13 +10867,11 @@ GLAPI void APIENTRY glProgramBufferParametersIuivNV (GLenum target, GLuint bindi #define GL_SKIP_MISSING_GLYPH_NV 0x90A9 #define GL_USE_MISSING_GLYPH_NV 0x90AA #define GL_PATH_ERROR_POSITION_NV 0x90AB -#define GL_PATH_FOG_GEN_MODE_NV 0x90AC #define GL_ACCUM_ADJACENT_PAIRS_NV 0x90AD #define GL_ADJACENT_PAIRS_NV 0x90AE #define GL_FIRST_TO_REST_NV 0x90AF #define GL_PATH_GEN_MODE_NV 0x90B0 #define GL_PATH_GEN_COEFF_NV 0x90B1 -#define GL_PATH_GEN_COLOR_FORMAT_NV 0x90B2 #define GL_PATH_GEN_COMPONENTS_NV 0x90B3 #define GL_PATH_STENCIL_FUNC_NV 0x90B7 #define GL_PATH_STENCIL_REF_NV 0x90B8 @@ -9150,8 +10940,44 @@ GLAPI void APIENTRY glProgramBufferParametersIuivNV (GLenum target, GLuint bindi #define GL_FONT_UNDERLINE_POSITION_BIT_NV 0x04000000 #define GL_FONT_UNDERLINE_THICKNESS_BIT_NV 0x08000000 #define GL_FONT_HAS_KERNING_BIT_NV 0x10000000 +#define GL_ROUNDED_RECT_NV 0xE8 +#define GL_RELATIVE_ROUNDED_RECT_NV 0xE9 +#define GL_ROUNDED_RECT2_NV 0xEA +#define GL_RELATIVE_ROUNDED_RECT2_NV 0xEB +#define GL_ROUNDED_RECT4_NV 0xEC +#define GL_RELATIVE_ROUNDED_RECT4_NV 0xED +#define GL_ROUNDED_RECT8_NV 0xEE +#define GL_RELATIVE_ROUNDED_RECT8_NV 0xEF +#define GL_RELATIVE_RECT_NV 0xF7 +#define GL_FONT_GLYPHS_AVAILABLE_NV 0x9368 +#define GL_FONT_TARGET_UNAVAILABLE_NV 0x9369 +#define GL_FONT_UNAVAILABLE_NV 0x936A +#define GL_FONT_UNINTELLIGIBLE_NV 0x936B +#define GL_CONIC_CURVE_TO_NV 0x1A +#define GL_RELATIVE_CONIC_CURVE_TO_NV 0x1B +#define GL_FONT_NUM_GLYPH_INDICES_BIT_NV 0x20000000 +#define GL_STANDARD_FONT_FORMAT_NV 0x936C +#define GL_2_BYTES_NV 0x1407 +#define GL_3_BYTES_NV 0x1408 +#define GL_4_BYTES_NV 0x1409 +#define GL_EYE_LINEAR_NV 0x2400 +#define GL_OBJECT_LINEAR_NV 0x2401 +#define GL_CONSTANT_NV 0x8576 +#define GL_PATH_FOG_GEN_MODE_NV 0x90AC #define GL_PRIMARY_COLOR_NV 0x852C #define GL_SECONDARY_COLOR_NV 0x852D +#define GL_PATH_GEN_COLOR_FORMAT_NV 0x90B2 +#define GL_PATH_PROJECTION_NV 0x1701 +#define GL_PATH_MODELVIEW_NV 0x1700 +#define GL_PATH_MODELVIEW_STACK_DEPTH_NV 0x0BA3 +#define GL_PATH_MODELVIEW_MATRIX_NV 0x0BA6 +#define GL_PATH_MAX_MODELVIEW_STACK_DEPTH_NV 0x0D36 +#define GL_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV 0x84E3 +#define GL_PATH_PROJECTION_STACK_DEPTH_NV 0x0BA4 +#define GL_PATH_PROJECTION_MATRIX_NV 0x0BA7 +#define GL_PATH_MAX_PROJECTION_STACK_DEPTH_NV 0x0D38 +#define GL_PATH_TRANSPOSE_PROJECTION_MATRIX_NV 0x84E4 +#define GL_FRAGMENT_INPUT_NV 0x936D typedef GLuint (APIENTRYP PFNGLGENPATHSNVPROC) (GLsizei range); typedef void (APIENTRYP PFNGLDELETEPATHSNVPROC) (GLuint path, GLsizei range); typedef GLboolean (APIENTRYP PFNGLISPATHNVPROC) (GLuint path); @@ -9178,9 +11004,6 @@ typedef void (APIENTRYP PFNGLSTENCILSTROKEPATHNVPROC) (GLuint path, GLint refere typedef void (APIENTRYP PFNGLSTENCILFILLPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues); typedef void (APIENTRYP PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues); typedef void (APIENTRYP PFNGLPATHCOVERDEPTHFUNCNVPROC) (GLenum func); -typedef void (APIENTRYP PFNGLPATHCOLORGENNVPROC) (GLenum color, GLenum genMode, GLenum colorFormat, const GLfloat *coeffs); -typedef void (APIENTRYP PFNGLPATHTEXGENNVPROC) (GLenum texCoordSet, GLenum genMode, GLint components, const GLfloat *coeffs); -typedef void (APIENTRYP PFNGLPATHFOGGENNVPROC) (GLenum genMode); typedef void (APIENTRYP PFNGLCOVERFILLPATHNVPROC) (GLuint path, GLenum coverMode); typedef void (APIENTRYP PFNGLCOVERSTROKEPATHNVPROC) (GLuint path, GLenum coverMode); typedef void (APIENTRYP PFNGLCOVERFILLPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); @@ -9193,14 +11016,32 @@ typedef void (APIENTRYP PFNGLGETPATHDASHARRAYNVPROC) (GLuint path, GLfloat *dash typedef void (APIENTRYP PFNGLGETPATHMETRICSNVPROC) (GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLsizei stride, GLfloat *metrics); typedef void (APIENTRYP PFNGLGETPATHMETRICRANGENVPROC) (GLbitfield metricQueryMask, GLuint firstPathName, GLsizei numPaths, GLsizei stride, GLfloat *metrics); typedef void (APIENTRYP PFNGLGETPATHSPACINGNVPROC) (GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat *returnedSpacing); -typedef void (APIENTRYP PFNGLGETPATHCOLORGENIVNVPROC) (GLenum color, GLenum pname, GLint *value); -typedef void (APIENTRYP PFNGLGETPATHCOLORGENFVNVPROC) (GLenum color, GLenum pname, GLfloat *value); -typedef void (APIENTRYP PFNGLGETPATHTEXGENIVNVPROC) (GLenum texCoordSet, GLenum pname, GLint *value); -typedef void (APIENTRYP PFNGLGETPATHTEXGENFVNVPROC) (GLenum texCoordSet, GLenum pname, GLfloat *value); typedef GLboolean (APIENTRYP PFNGLISPOINTINFILLPATHNVPROC) (GLuint path, GLuint mask, GLfloat x, GLfloat y); typedef GLboolean (APIENTRYP PFNGLISPOINTINSTROKEPATHNVPROC) (GLuint path, GLfloat x, GLfloat y); typedef GLfloat (APIENTRYP PFNGLGETPATHLENGTHNVPROC) (GLuint path, GLsizei startSegment, GLsizei numSegments); typedef GLboolean (APIENTRYP PFNGLPOINTALONGPATHNVPROC) (GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat *x, GLfloat *y, GLfloat *tangentX, GLfloat *tangentY); +typedef void (APIENTRYP PFNGLMATRIXLOAD3X2FNVPROC) (GLenum matrixMode, const GLfloat *m); +typedef void (APIENTRYP PFNGLMATRIXLOAD3X3FNVPROC) (GLenum matrixMode, const GLfloat *m); +typedef void (APIENTRYP PFNGLMATRIXLOADTRANSPOSE3X3FNVPROC) (GLenum matrixMode, const GLfloat *m); +typedef void (APIENTRYP PFNGLMATRIXMULT3X2FNVPROC) (GLenum matrixMode, const GLfloat *m); +typedef void (APIENTRYP PFNGLMATRIXMULT3X3FNVPROC) (GLenum matrixMode, const GLfloat *m); +typedef void (APIENTRYP PFNGLMATRIXMULTTRANSPOSE3X3FNVPROC) (GLenum matrixMode, const GLfloat *m); +typedef void (APIENTRYP PFNGLSTENCILTHENCOVERFILLPATHNVPROC) (GLuint path, GLenum fillMode, GLuint mask, GLenum coverMode); +typedef void (APIENTRYP PFNGLSTENCILTHENCOVERSTROKEPATHNVPROC) (GLuint path, GLint reference, GLuint mask, GLenum coverMode); +typedef void (APIENTRYP PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); +typedef void (APIENTRYP PFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); +typedef GLenum (APIENTRYP PFNGLPATHGLYPHINDEXRANGENVPROC) (GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint pathParameterTemplate, GLfloat emScale, GLuint *baseAndCount); +typedef GLenum (APIENTRYP PFNGLPATHGLYPHINDEXARRAYNVPROC) (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale); +typedef GLenum (APIENTRYP PFNGLPATHMEMORYGLYPHINDEXARRAYNVPROC) (GLuint firstPathName, GLenum fontTarget, GLsizeiptr fontSize, const void *fontData, GLsizei faceIndex, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale); +typedef void (APIENTRYP PFNGLPROGRAMPATHFRAGMENTINPUTGENNVPROC) (GLuint program, GLint location, GLenum genMode, GLint components, const GLfloat *coeffs); +typedef void (APIENTRYP PFNGLGETPROGRAMRESOURCEFVNVPROC) (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei count, GLsizei *length, GLfloat *params); +typedef void (APIENTRYP PFNGLPATHCOLORGENNVPROC) (GLenum color, GLenum genMode, GLenum colorFormat, const GLfloat *coeffs); +typedef void (APIENTRYP PFNGLPATHTEXGENNVPROC) (GLenum texCoordSet, GLenum genMode, GLint components, const GLfloat *coeffs); +typedef void (APIENTRYP PFNGLPATHFOGGENNVPROC) (GLenum genMode); +typedef void (APIENTRYP PFNGLGETPATHCOLORGENIVNVPROC) (GLenum color, GLenum pname, GLint *value); +typedef void (APIENTRYP PFNGLGETPATHCOLORGENFVNVPROC) (GLenum color, GLenum pname, GLfloat *value); +typedef void (APIENTRYP PFNGLGETPATHTEXGENIVNVPROC) (GLenum texCoordSet, GLenum pname, GLint *value); +typedef void (APIENTRYP PFNGLGETPATHTEXGENFVNVPROC) (GLenum texCoordSet, GLenum pname, GLfloat *value); #ifdef GL_GLEXT_PROTOTYPES GLAPI GLuint APIENTRY glGenPathsNV (GLsizei range); GLAPI void APIENTRY glDeletePathsNV (GLuint path, GLsizei range); @@ -9228,9 +11069,6 @@ GLAPI void APIENTRY glStencilStrokePathNV (GLuint path, GLint reference, GLuint GLAPI void APIENTRY glStencilFillPathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues); GLAPI void APIENTRY glStencilStrokePathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues); GLAPI void APIENTRY glPathCoverDepthFuncNV (GLenum func); -GLAPI void APIENTRY glPathColorGenNV (GLenum color, GLenum genMode, GLenum colorFormat, const GLfloat *coeffs); -GLAPI void APIENTRY glPathTexGenNV (GLenum texCoordSet, GLenum genMode, GLint components, const GLfloat *coeffs); -GLAPI void APIENTRY glPathFogGenNV (GLenum genMode); GLAPI void APIENTRY glCoverFillPathNV (GLuint path, GLenum coverMode); GLAPI void APIENTRY glCoverStrokePathNV (GLuint path, GLenum coverMode); GLAPI void APIENTRY glCoverFillPathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); @@ -9243,17 +11081,40 @@ GLAPI void APIENTRY glGetPathDashArrayNV (GLuint path, GLfloat *dashArray); GLAPI void APIENTRY glGetPathMetricsNV (GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLsizei stride, GLfloat *metrics); GLAPI void APIENTRY glGetPathMetricRangeNV (GLbitfield metricQueryMask, GLuint firstPathName, GLsizei numPaths, GLsizei stride, GLfloat *metrics); GLAPI void APIENTRY glGetPathSpacingNV (GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat *returnedSpacing); -GLAPI void APIENTRY glGetPathColorGenivNV (GLenum color, GLenum pname, GLint *value); -GLAPI void APIENTRY glGetPathColorGenfvNV (GLenum color, GLenum pname, GLfloat *value); -GLAPI void APIENTRY glGetPathTexGenivNV (GLenum texCoordSet, GLenum pname, GLint *value); -GLAPI void APIENTRY glGetPathTexGenfvNV (GLenum texCoordSet, GLenum pname, GLfloat *value); GLAPI GLboolean APIENTRY glIsPointInFillPathNV (GLuint path, GLuint mask, GLfloat x, GLfloat y); GLAPI GLboolean APIENTRY glIsPointInStrokePathNV (GLuint path, GLfloat x, GLfloat y); GLAPI GLfloat APIENTRY glGetPathLengthNV (GLuint path, GLsizei startSegment, GLsizei numSegments); GLAPI GLboolean APIENTRY glPointAlongPathNV (GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat *x, GLfloat *y, GLfloat *tangentX, GLfloat *tangentY); +GLAPI void APIENTRY glMatrixLoad3x2fNV (GLenum matrixMode, const GLfloat *m); +GLAPI void APIENTRY glMatrixLoad3x3fNV (GLenum matrixMode, const GLfloat *m); +GLAPI void APIENTRY glMatrixLoadTranspose3x3fNV (GLenum matrixMode, const GLfloat *m); +GLAPI void APIENTRY glMatrixMult3x2fNV (GLenum matrixMode, const GLfloat *m); +GLAPI void APIENTRY glMatrixMult3x3fNV (GLenum matrixMode, const GLfloat *m); +GLAPI void APIENTRY glMatrixMultTranspose3x3fNV (GLenum matrixMode, const GLfloat *m); +GLAPI void APIENTRY glStencilThenCoverFillPathNV (GLuint path, GLenum fillMode, GLuint mask, GLenum coverMode); +GLAPI void APIENTRY glStencilThenCoverStrokePathNV (GLuint path, GLint reference, GLuint mask, GLenum coverMode); +GLAPI void APIENTRY glStencilThenCoverFillPathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); +GLAPI void APIENTRY glStencilThenCoverStrokePathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); +GLAPI GLenum APIENTRY glPathGlyphIndexRangeNV (GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint pathParameterTemplate, GLfloat emScale, GLuint *baseAndCount); +GLAPI GLenum APIENTRY glPathGlyphIndexArrayNV (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale); +GLAPI GLenum APIENTRY glPathMemoryGlyphIndexArrayNV (GLuint firstPathName, GLenum fontTarget, GLsizeiptr fontSize, const void *fontData, GLsizei faceIndex, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale); +GLAPI void APIENTRY glProgramPathFragmentInputGenNV (GLuint program, GLint location, GLenum genMode, GLint components, const GLfloat *coeffs); +GLAPI void APIENTRY glGetProgramResourcefvNV (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei count, GLsizei *length, GLfloat *params); +GLAPI void APIENTRY glPathColorGenNV (GLenum color, GLenum genMode, GLenum colorFormat, const GLfloat *coeffs); +GLAPI void APIENTRY glPathTexGenNV (GLenum texCoordSet, GLenum genMode, GLint components, const GLfloat *coeffs); +GLAPI void APIENTRY glPathFogGenNV (GLenum genMode); +GLAPI void APIENTRY glGetPathColorGenivNV (GLenum color, GLenum pname, GLint *value); +GLAPI void APIENTRY glGetPathColorGenfvNV (GLenum color, GLenum pname, GLfloat *value); +GLAPI void APIENTRY glGetPathTexGenivNV (GLenum texCoordSet, GLenum pname, GLint *value); +GLAPI void APIENTRY glGetPathTexGenfvNV (GLenum texCoordSet, GLenum pname, GLfloat *value); #endif #endif /* GL_NV_path_rendering */ +#ifndef GL_NV_path_rendering_shared_edge +#define GL_NV_path_rendering_shared_edge 1 +#define GL_SHARED_EDGE_NV 0xC0 +#endif /* GL_NV_path_rendering_shared_edge */ + #ifndef GL_NV_pixel_data_range #define GL_NV_pixel_data_range 1 #define GL_WRITE_PIXEL_DATA_RANGE_NV 0x8878 @@ -9319,6 +11180,38 @@ GLAPI void APIENTRY glPrimitiveRestartIndexNV (GLuint index); #endif #endif /* GL_NV_primitive_restart */ +#ifndef GL_NV_primitive_shading_rate +#define GL_NV_primitive_shading_rate 1 +#define GL_SHADING_RATE_IMAGE_PER_PRIMITIVE_NV 0x95B1 +#define GL_SHADING_RATE_IMAGE_PALETTE_COUNT_NV 0x95B2 +#endif /* GL_NV_primitive_shading_rate */ + +#ifndef GL_NV_query_resource +#define GL_NV_query_resource 1 +#define GL_QUERY_RESOURCE_TYPE_VIDMEM_ALLOC_NV 0x9540 +#define GL_QUERY_RESOURCE_MEMTYPE_VIDMEM_NV 0x9542 +#define GL_QUERY_RESOURCE_SYS_RESERVED_NV 0x9544 +#define GL_QUERY_RESOURCE_TEXTURE_NV 0x9545 +#define GL_QUERY_RESOURCE_RENDERBUFFER_NV 0x9546 +#define GL_QUERY_RESOURCE_BUFFEROBJECT_NV 0x9547 +typedef GLint (APIENTRYP PFNGLQUERYRESOURCENVPROC) (GLenum queryType, GLint tagId, GLuint count, GLint *buffer); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI GLint APIENTRY glQueryResourceNV (GLenum queryType, GLint tagId, GLuint count, GLint *buffer); +#endif +#endif /* GL_NV_query_resource */ + +#ifndef GL_NV_query_resource_tag +#define GL_NV_query_resource_tag 1 +typedef void (APIENTRYP PFNGLGENQUERYRESOURCETAGNVPROC) (GLsizei n, GLint *tagIds); +typedef void (APIENTRYP PFNGLDELETEQUERYRESOURCETAGNVPROC) (GLsizei n, const GLint *tagIds); +typedef void (APIENTRYP PFNGLQUERYRESOURCETAGNVPROC) (GLint tagId, const GLchar *tagString); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glGenQueryResourceTagNV (GLsizei n, GLint *tagIds); +GLAPI void APIENTRY glDeleteQueryResourceTagNV (GLsizei n, const GLint *tagIds); +GLAPI void APIENTRY glQueryResourceTagNV (GLint tagId, const GLchar *tagString); +#endif +#endif /* GL_NV_query_resource_tag */ + #ifndef GL_NV_register_combiners #define GL_NV_register_combiners 1 #define GL_REGISTER_COMBINERS_NV 0x8522 @@ -9411,6 +11304,52 @@ GLAPI void APIENTRY glGetCombinerStageParameterfvNV (GLenum stage, GLenum pname, #endif #endif /* GL_NV_register_combiners2 */ +#ifndef GL_NV_representative_fragment_test +#define GL_NV_representative_fragment_test 1 +#define GL_REPRESENTATIVE_FRAGMENT_TEST_NV 0x937F +#endif /* GL_NV_representative_fragment_test */ + +#ifndef GL_NV_robustness_video_memory_purge +#define GL_NV_robustness_video_memory_purge 1 +#define GL_PURGED_CONTEXT_RESET_NV 0x92BB +#endif /* GL_NV_robustness_video_memory_purge */ + +#ifndef GL_NV_sample_locations +#define GL_NV_sample_locations 1 +#define GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV 0x933D +#define GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV 0x933E +#define GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV 0x933F +#define GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV 0x9340 +#define GL_SAMPLE_LOCATION_NV 0x8E50 +#define GL_PROGRAMMABLE_SAMPLE_LOCATION_NV 0x9341 +#define GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV 0x9342 +#define GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV 0x9343 +typedef void (APIENTRYP PFNGLFRAMEBUFFERSAMPLELOCATIONSFVNVPROC) (GLenum target, GLuint start, GLsizei count, const GLfloat *v); +typedef void (APIENTRYP PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVNVPROC) (GLuint framebuffer, GLuint start, GLsizei count, const GLfloat *v); +typedef void (APIENTRYP PFNGLRESOLVEDEPTHVALUESNVPROC) (void); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glFramebufferSampleLocationsfvNV (GLenum target, GLuint start, GLsizei count, const GLfloat *v); +GLAPI void APIENTRY glNamedFramebufferSampleLocationsfvNV (GLuint framebuffer, GLuint start, GLsizei count, const GLfloat *v); +GLAPI void APIENTRY glResolveDepthValuesNV (void); +#endif +#endif /* GL_NV_sample_locations */ + +#ifndef GL_NV_sample_mask_override_coverage +#define GL_NV_sample_mask_override_coverage 1 +#endif /* GL_NV_sample_mask_override_coverage */ + +#ifndef GL_NV_scissor_exclusive +#define GL_NV_scissor_exclusive 1 +#define GL_SCISSOR_TEST_EXCLUSIVE_NV 0x9555 +#define GL_SCISSOR_BOX_EXCLUSIVE_NV 0x9556 +typedef void (APIENTRYP PFNGLSCISSOREXCLUSIVENVPROC) (GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (APIENTRYP PFNGLSCISSOREXCLUSIVEARRAYVNVPROC) (GLuint first, GLsizei count, const GLint *v); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glScissorExclusiveNV (GLint x, GLint y, GLsizei width, GLsizei height); +GLAPI void APIENTRY glScissorExclusiveArrayvNV (GLuint first, GLsizei count, const GLint *v); +#endif +#endif /* GL_NV_scissor_exclusive */ + #ifndef GL_NV_shader_atomic_counters #define GL_NV_shader_atomic_counters 1 #endif /* GL_NV_shader_atomic_counters */ @@ -9419,6 +11358,18 @@ GLAPI void APIENTRY glGetCombinerStageParameterfvNV (GLenum stage, GLenum pname, #define GL_NV_shader_atomic_float 1 #endif /* GL_NV_shader_atomic_float */ +#ifndef GL_NV_shader_atomic_float64 +#define GL_NV_shader_atomic_float64 1 +#endif /* GL_NV_shader_atomic_float64 */ + +#ifndef GL_NV_shader_atomic_fp16_vector +#define GL_NV_shader_atomic_fp16_vector 1 +#endif /* GL_NV_shader_atomic_fp16_vector */ + +#ifndef GL_NV_shader_atomic_int64 +#define GL_NV_shader_atomic_int64 1 +#endif /* GL_NV_shader_atomic_int64 */ + #ifndef GL_NV_shader_buffer_load #define GL_NV_shader_buffer_load 1 #define GL_BUFFER_GPU_ADDRESS_NV 0x8F1D @@ -9463,6 +11414,15 @@ GLAPI void APIENTRY glProgramUniformui64vNV (GLuint program, GLint location, GLs #define GL_NV_shader_storage_buffer_object 1 #endif /* GL_NV_shader_storage_buffer_object */ +#ifndef GL_NV_shader_subgroup_partitioned +#define GL_NV_shader_subgroup_partitioned 1 +#define GL_SUBGROUP_FEATURE_PARTITIONED_BIT_NV 0x00000100 +#endif /* GL_NV_shader_subgroup_partitioned */ + +#ifndef GL_NV_shader_texture_footprint +#define GL_NV_shader_texture_footprint 1 +#endif /* GL_NV_shader_texture_footprint */ + #ifndef GL_NV_shader_thread_group #define GL_NV_shader_thread_group 1 #define GL_WARP_SIZE_NV 0x9339 @@ -9474,6 +11434,51 @@ GLAPI void APIENTRY glProgramUniformui64vNV (GLuint program, GLint location, GLs #define GL_NV_shader_thread_shuffle 1 #endif /* GL_NV_shader_thread_shuffle */ +#ifndef GL_NV_shading_rate_image +#define GL_NV_shading_rate_image 1 +#define GL_SHADING_RATE_IMAGE_NV 0x9563 +#define GL_SHADING_RATE_NO_INVOCATIONS_NV 0x9564 +#define GL_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV 0x9565 +#define GL_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV 0x9566 +#define GL_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV 0x9567 +#define GL_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV 0x9568 +#define GL_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV 0x9569 +#define GL_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV 0x956A +#define GL_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV 0x956B +#define GL_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV 0x956C +#define GL_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV 0x956D +#define GL_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV 0x956E +#define GL_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV 0x956F +#define GL_SHADING_RATE_IMAGE_BINDING_NV 0x955B +#define GL_SHADING_RATE_IMAGE_TEXEL_WIDTH_NV 0x955C +#define GL_SHADING_RATE_IMAGE_TEXEL_HEIGHT_NV 0x955D +#define GL_SHADING_RATE_IMAGE_PALETTE_SIZE_NV 0x955E +#define GL_MAX_COARSE_FRAGMENT_SAMPLES_NV 0x955F +#define GL_SHADING_RATE_SAMPLE_ORDER_DEFAULT_NV 0x95AE +#define GL_SHADING_RATE_SAMPLE_ORDER_PIXEL_MAJOR_NV 0x95AF +#define GL_SHADING_RATE_SAMPLE_ORDER_SAMPLE_MAJOR_NV 0x95B0 +typedef void (APIENTRYP PFNGLBINDSHADINGRATEIMAGENVPROC) (GLuint texture); +typedef void (APIENTRYP PFNGLGETSHADINGRATEIMAGEPALETTENVPROC) (GLuint viewport, GLuint entry, GLenum *rate); +typedef void (APIENTRYP PFNGLGETSHADINGRATESAMPLELOCATIONIVNVPROC) (GLenum rate, GLuint samples, GLuint index, GLint *location); +typedef void (APIENTRYP PFNGLSHADINGRATEIMAGEBARRIERNVPROC) (GLboolean synchronize); +typedef void (APIENTRYP PFNGLSHADINGRATEIMAGEPALETTENVPROC) (GLuint viewport, GLuint first, GLsizei count, const GLenum *rates); +typedef void (APIENTRYP PFNGLSHADINGRATESAMPLEORDERNVPROC) (GLenum order); +typedef void (APIENTRYP PFNGLSHADINGRATESAMPLEORDERCUSTOMNVPROC) (GLenum rate, GLuint samples, const GLint *locations); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glBindShadingRateImageNV (GLuint texture); +GLAPI void APIENTRY glGetShadingRateImagePaletteNV (GLuint viewport, GLuint entry, GLenum *rate); +GLAPI void APIENTRY glGetShadingRateSampleLocationivNV (GLenum rate, GLuint samples, GLuint index, GLint *location); +GLAPI void APIENTRY glShadingRateImageBarrierNV (GLboolean synchronize); +GLAPI void APIENTRY glShadingRateImagePaletteNV (GLuint viewport, GLuint first, GLsizei count, const GLenum *rates); +GLAPI void APIENTRY glShadingRateSampleOrderNV (GLenum order); +GLAPI void APIENTRY glShadingRateSampleOrderCustomNV (GLenum rate, GLuint samples, const GLint *locations); +#endif +#endif /* GL_NV_shading_rate_image */ + +#ifndef GL_NV_stereo_view_rendering +#define GL_NV_stereo_view_rendering 1 +#endif /* GL_NV_stereo_view_rendering */ + #ifndef GL_NV_tessellation_program5 #define GL_NV_tessellation_program5 1 #define GL_MAX_PROGRAM_PATCH_ATTRIBS_NV 0x86D8 @@ -9550,6 +11555,10 @@ GLAPI void APIENTRY glTextureImage3DMultisampleCoverageNV (GLuint texture, GLenu #define GL_MAX_RECTANGLE_TEXTURE_SIZE_NV 0x84F8 #endif /* GL_NV_texture_rectangle */ +#ifndef GL_NV_texture_rectangle_compressed +#define GL_NV_texture_rectangle_compressed 1 +#endif /* GL_NV_texture_rectangle_compressed */ + #ifndef GL_NV_texture_shader #define GL_NV_texture_shader 1 #define GL_OFFSET_TEXTURE_RECTANGLE_NV 0x864C @@ -9653,6 +11662,23 @@ GLAPI void APIENTRY glTextureImage3DMultisampleCoverageNV (GLuint texture, GLenu #define GL_FORCE_BLUE_TO_ONE_NV 0x8860 #endif /* GL_NV_texture_shader3 */ +#ifndef GL_NV_timeline_semaphore +#define GL_NV_timeline_semaphore 1 +#define GL_TIMELINE_SEMAPHORE_VALUE_NV 0x9595 +#define GL_SEMAPHORE_TYPE_NV 0x95B3 +#define GL_SEMAPHORE_TYPE_BINARY_NV 0x95B4 +#define GL_SEMAPHORE_TYPE_TIMELINE_NV 0x95B5 +#define GL_MAX_TIMELINE_SEMAPHORE_VALUE_DIFFERENCE_NV 0x95B6 +typedef void (APIENTRYP PFNGLCREATESEMAPHORESNVPROC) (GLsizei n, GLuint *semaphores); +typedef void (APIENTRYP PFNGLSEMAPHOREPARAMETERIVNVPROC) (GLuint semaphore, GLenum pname, const GLint *params); +typedef void (APIENTRYP PFNGLGETSEMAPHOREPARAMETERIVNVPROC) (GLuint semaphore, GLenum pname, GLint *params); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glCreateSemaphoresNV (GLsizei n, GLuint *semaphores); +GLAPI void APIENTRY glSemaphoreParameterivNV (GLuint semaphore, GLenum pname, const GLint *params); +GLAPI void APIENTRY glGetSemaphoreParameterivNV (GLuint semaphore, GLenum pname, GLint *params); +#endif +#endif /* GL_NV_timeline_semaphore */ + #ifndef GL_NV_transform_feedback #define GL_NV_transform_feedback 1 #define GL_BACK_PRIMARY_COLOR_NV 0x8C77 @@ -9688,7 +11714,7 @@ GLAPI void APIENTRY glTextureImage3DMultisampleCoverageNV (GLuint texture, GLenu #define GL_SKIP_COMPONENTS1_NV -6 typedef void (APIENTRYP PFNGLBEGINTRANSFORMFEEDBACKNVPROC) (GLenum primitiveMode); typedef void (APIENTRYP PFNGLENDTRANSFORMFEEDBACKNVPROC) (void); -typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC) (GLuint count, const GLint *attribs, GLenum bufferMode); +typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKATTRIBSNVPROC) (GLsizei count, const GLint *attribs, GLenum bufferMode); typedef void (APIENTRYP PFNGLBINDBUFFERRANGENVPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); typedef void (APIENTRYP PFNGLBINDBUFFEROFFSETNVPROC) (GLenum target, GLuint index, GLuint buffer, GLintptr offset); typedef void (APIENTRYP PFNGLBINDBUFFERBASENVPROC) (GLenum target, GLuint index, GLuint buffer); @@ -9701,7 +11727,7 @@ typedef void (APIENTRYP PFNGLTRANSFORMFEEDBACKSTREAMATTRIBSNVPROC) (GLsizei coun #ifdef GL_GLEXT_PROTOTYPES GLAPI void APIENTRY glBeginTransformFeedbackNV (GLenum primitiveMode); GLAPI void APIENTRY glEndTransformFeedbackNV (void); -GLAPI void APIENTRY glTransformFeedbackAttribsNV (GLuint count, const GLint *attribs, GLenum bufferMode); +GLAPI void APIENTRY glTransformFeedbackAttribsNV (GLsizei count, const GLint *attribs, GLenum bufferMode); GLAPI void APIENTRY glBindBufferRangeNV (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size); GLAPI void APIENTRY glBindBufferOffsetNV (GLenum target, GLuint index, GLuint buffer, GLintptr offset); GLAPI void APIENTRY glBindBufferBaseNV (GLenum target, GLuint index, GLuint buffer); @@ -9738,6 +11764,13 @@ GLAPI void APIENTRY glDrawTransformFeedbackNV (GLenum mode, GLuint id); #endif #endif /* GL_NV_transform_feedback2 */ +#ifndef GL_NV_uniform_buffer_unified_memory +#define GL_NV_uniform_buffer_unified_memory 1 +#define GL_UNIFORM_BUFFER_UNIFIED_NV 0x936E +#define GL_UNIFORM_BUFFER_ADDRESS_NV 0x936F +#define GL_UNIFORM_BUFFER_LENGTH_NV 0x9370 +#endif /* GL_NV_uniform_buffer_unified_memory */ + #ifndef GL_NV_vdpau_interop #define GL_NV_vdpau_interop 1 typedef GLintptr GLvdpauSurfaceNV; @@ -9751,7 +11784,7 @@ typedef GLvdpauSurfaceNV (APIENTRYP PFNGLVDPAUREGISTERVIDEOSURFACENVPROC) (const typedef GLvdpauSurfaceNV (APIENTRYP PFNGLVDPAUREGISTEROUTPUTSURFACENVPROC) (const void *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames); typedef GLboolean (APIENTRYP PFNGLVDPAUISSURFACENVPROC) (GLvdpauSurfaceNV surface); typedef void (APIENTRYP PFNGLVDPAUUNREGISTERSURFACENVPROC) (GLvdpauSurfaceNV surface); -typedef void (APIENTRYP PFNGLVDPAUGETSURFACEIVNVPROC) (GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); +typedef void (APIENTRYP PFNGLVDPAUGETSURFACEIVNVPROC) (GLvdpauSurfaceNV surface, GLenum pname, GLsizei count, GLsizei *length, GLint *values); typedef void (APIENTRYP PFNGLVDPAUSURFACEACCESSNVPROC) (GLvdpauSurfaceNV surface, GLenum access); typedef void (APIENTRYP PFNGLVDPAUMAPSURFACESNVPROC) (GLsizei numSurfaces, const GLvdpauSurfaceNV *surfaces); typedef void (APIENTRYP PFNGLVDPAUUNMAPSURFACESNVPROC) (GLsizei numSurface, const GLvdpauSurfaceNV *surfaces); @@ -9762,13 +11795,21 @@ GLAPI GLvdpauSurfaceNV APIENTRY glVDPAURegisterVideoSurfaceNV (const void *vdpSu GLAPI GLvdpauSurfaceNV APIENTRY glVDPAURegisterOutputSurfaceNV (const void *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames); GLAPI GLboolean APIENTRY glVDPAUIsSurfaceNV (GLvdpauSurfaceNV surface); GLAPI void APIENTRY glVDPAUUnregisterSurfaceNV (GLvdpauSurfaceNV surface); -GLAPI void APIENTRY glVDPAUGetSurfaceivNV (GLvdpauSurfaceNV surface, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); +GLAPI void APIENTRY glVDPAUGetSurfaceivNV (GLvdpauSurfaceNV surface, GLenum pname, GLsizei count, GLsizei *length, GLint *values); GLAPI void APIENTRY glVDPAUSurfaceAccessNV (GLvdpauSurfaceNV surface, GLenum access); GLAPI void APIENTRY glVDPAUMapSurfacesNV (GLsizei numSurfaces, const GLvdpauSurfaceNV *surfaces); GLAPI void APIENTRY glVDPAUUnmapSurfacesNV (GLsizei numSurface, const GLvdpauSurfaceNV *surfaces); #endif #endif /* GL_NV_vdpau_interop */ +#ifndef GL_NV_vdpau_interop2 +#define GL_NV_vdpau_interop2 1 +typedef GLvdpauSurfaceNV (APIENTRYP PFNGLVDPAUREGISTERVIDEOSURFACEWITHPICTURESTRUCTURENVPROC) (const void *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames, GLboolean isFrameStructure); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI GLvdpauSurfaceNV APIENTRY glVDPAURegisterVideoSurfaceWithPictureStructureNV (const void *vdpSurface, GLenum target, GLsizei numTextureNames, const GLuint *textureNames, GLboolean isFrameStructure); +#endif +#endif /* GL_NV_vdpau_interop2 */ + #ifndef GL_NV_vertex_array_range #define GL_NV_vertex_array_range 1 #define GL_VERTEX_ARRAY_RANGE_NV 0x851D @@ -10124,54 +12165,6 @@ GLAPI void APIENTRY glVertexAttribs4ubvNV (GLuint index, GLsizei count, const GL #ifndef GL_NV_vertex_program4 #define GL_NV_vertex_program4 1 #define GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV 0x88FD -typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IEXTPROC) (GLuint index, GLint x); -typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IEXTPROC) (GLuint index, GLint x, GLint y); -typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IEXTPROC) (GLuint index, GLint x, GLint y, GLint z); -typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IEXTPROC) (GLuint index, GLint x, GLint y, GLint z, GLint w); -typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIEXTPROC) (GLuint index, GLuint x); -typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIEXTPROC) (GLuint index, GLuint x, GLuint y); -typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIEXTPROC) (GLuint index, GLuint x, GLuint y, GLuint z); -typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIEXTPROC) (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); -typedef void (APIENTRYP PFNGLVERTEXATTRIBI1IVEXTPROC) (GLuint index, const GLint *v); -typedef void (APIENTRYP PFNGLVERTEXATTRIBI2IVEXTPROC) (GLuint index, const GLint *v); -typedef void (APIENTRYP PFNGLVERTEXATTRIBI3IVEXTPROC) (GLuint index, const GLint *v); -typedef void (APIENTRYP PFNGLVERTEXATTRIBI4IVEXTPROC) (GLuint index, const GLint *v); -typedef void (APIENTRYP PFNGLVERTEXATTRIBI1UIVEXTPROC) (GLuint index, const GLuint *v); -typedef void (APIENTRYP PFNGLVERTEXATTRIBI2UIVEXTPROC) (GLuint index, const GLuint *v); -typedef void (APIENTRYP PFNGLVERTEXATTRIBI3UIVEXTPROC) (GLuint index, const GLuint *v); -typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UIVEXTPROC) (GLuint index, const GLuint *v); -typedef void (APIENTRYP PFNGLVERTEXATTRIBI4BVEXTPROC) (GLuint index, const GLbyte *v); -typedef void (APIENTRYP PFNGLVERTEXATTRIBI4SVEXTPROC) (GLuint index, const GLshort *v); -typedef void (APIENTRYP PFNGLVERTEXATTRIBI4UBVEXTPROC) (GLuint index, const GLubyte *v); -typedef void (APIENTRYP PFNGLVERTEXATTRIBI4USVEXTPROC) (GLuint index, const GLushort *v); -typedef void (APIENTRYP PFNGLVERTEXATTRIBIPOINTEREXTPROC) (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer); -typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIIVEXTPROC) (GLuint index, GLenum pname, GLint *params); -typedef void (APIENTRYP PFNGLGETVERTEXATTRIBIUIVEXTPROC) (GLuint index, GLenum pname, GLuint *params); -#ifdef GL_GLEXT_PROTOTYPES -GLAPI void APIENTRY glVertexAttribI1iEXT (GLuint index, GLint x); -GLAPI void APIENTRY glVertexAttribI2iEXT (GLuint index, GLint x, GLint y); -GLAPI void APIENTRY glVertexAttribI3iEXT (GLuint index, GLint x, GLint y, GLint z); -GLAPI void APIENTRY glVertexAttribI4iEXT (GLuint index, GLint x, GLint y, GLint z, GLint w); -GLAPI void APIENTRY glVertexAttribI1uiEXT (GLuint index, GLuint x); -GLAPI void APIENTRY glVertexAttribI2uiEXT (GLuint index, GLuint x, GLuint y); -GLAPI void APIENTRY glVertexAttribI3uiEXT (GLuint index, GLuint x, GLuint y, GLuint z); -GLAPI void APIENTRY glVertexAttribI4uiEXT (GLuint index, GLuint x, GLuint y, GLuint z, GLuint w); -GLAPI void APIENTRY glVertexAttribI1ivEXT (GLuint index, const GLint *v); -GLAPI void APIENTRY glVertexAttribI2ivEXT (GLuint index, const GLint *v); -GLAPI void APIENTRY glVertexAttribI3ivEXT (GLuint index, const GLint *v); -GLAPI void APIENTRY glVertexAttribI4ivEXT (GLuint index, const GLint *v); -GLAPI void APIENTRY glVertexAttribI1uivEXT (GLuint index, const GLuint *v); -GLAPI void APIENTRY glVertexAttribI2uivEXT (GLuint index, const GLuint *v); -GLAPI void APIENTRY glVertexAttribI3uivEXT (GLuint index, const GLuint *v); -GLAPI void APIENTRY glVertexAttribI4uivEXT (GLuint index, const GLuint *v); -GLAPI void APIENTRY glVertexAttribI4bvEXT (GLuint index, const GLbyte *v); -GLAPI void APIENTRY glVertexAttribI4svEXT (GLuint index, const GLshort *v); -GLAPI void APIENTRY glVertexAttribI4ubvEXT (GLuint index, const GLubyte *v); -GLAPI void APIENTRY glVertexAttribI4usvEXT (GLuint index, const GLushort *v); -GLAPI void APIENTRY glVertexAttribIPointerEXT (GLuint index, GLint size, GLenum type, GLsizei stride, const void *pointer); -GLAPI void APIENTRY glGetVertexAttribIivEXT (GLuint index, GLenum pname, GLint *params); -GLAPI void APIENTRY glGetVertexAttribIuivEXT (GLuint index, GLenum pname, GLuint *params); -#endif #endif /* GL_NV_vertex_program4 */ #ifndef GL_NV_video_capture @@ -10233,6 +12226,30 @@ GLAPI void APIENTRY glVideoCaptureStreamParameterdvNV (GLuint video_capture_slot #endif #endif /* GL_NV_video_capture */ +#ifndef GL_NV_viewport_array2 +#define GL_NV_viewport_array2 1 +#endif /* GL_NV_viewport_array2 */ + +#ifndef GL_NV_viewport_swizzle +#define GL_NV_viewport_swizzle 1 +#define GL_VIEWPORT_SWIZZLE_POSITIVE_X_NV 0x9350 +#define GL_VIEWPORT_SWIZZLE_NEGATIVE_X_NV 0x9351 +#define GL_VIEWPORT_SWIZZLE_POSITIVE_Y_NV 0x9352 +#define GL_VIEWPORT_SWIZZLE_NEGATIVE_Y_NV 0x9353 +#define GL_VIEWPORT_SWIZZLE_POSITIVE_Z_NV 0x9354 +#define GL_VIEWPORT_SWIZZLE_NEGATIVE_Z_NV 0x9355 +#define GL_VIEWPORT_SWIZZLE_POSITIVE_W_NV 0x9356 +#define GL_VIEWPORT_SWIZZLE_NEGATIVE_W_NV 0x9357 +#define GL_VIEWPORT_SWIZZLE_X_NV 0x9358 +#define GL_VIEWPORT_SWIZZLE_Y_NV 0x9359 +#define GL_VIEWPORT_SWIZZLE_Z_NV 0x935A +#define GL_VIEWPORT_SWIZZLE_W_NV 0x935B +typedef void (APIENTRYP PFNGLVIEWPORTSWIZZLENVPROC) (GLuint index, GLenum swizzlex, GLenum swizzley, GLenum swizzlez, GLenum swizzlew); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glViewportSwizzleNV (GLuint index, GLenum swizzlex, GLenum swizzley, GLenum swizzlez, GLenum swizzlew); +#endif +#endif /* GL_NV_viewport_swizzle */ + #ifndef GL_OML_interlace #define GL_OML_interlace 1 #define GL_INTERLACE_OML 0x8980 @@ -10255,6 +12272,22 @@ GLAPI void APIENTRY glVideoCaptureStreamParameterdvNV (GLuint video_capture_slot #define GL_FORMAT_SUBSAMPLE_244_244_OML 0x8983 #endif /* GL_OML_subsample */ +#ifndef GL_OVR_multiview +#define GL_OVR_multiview 1 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR 0x9630 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR 0x9632 +#define GL_MAX_VIEWS_OVR 0x9631 +#define GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR 0x9633 +typedef void (APIENTRYP PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews); +#ifdef GL_GLEXT_PROTOTYPES +GLAPI void APIENTRY glFramebufferTextureMultiviewOVR (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews); +#endif +#endif /* GL_OVR_multiview */ + +#ifndef GL_OVR_multiview2 +#define GL_OVR_multiview2 1 +#endif /* GL_OVR_multiview2 */ + #ifndef GL_PGI_misc_hints #define GL_PGI_misc_hints 1 #define GL_PREFER_DOUBLEBUFFER_HINT_PGI 0x1A1F8 @@ -10811,10 +12844,10 @@ GLAPI void APIENTRY glReferencePlaneSGIX (const GLdouble *equation); #ifndef GL_SGIX_resample #define GL_SGIX_resample 1 -#define GL_PACK_RESAMPLE_SGIX 0x842C -#define GL_UNPACK_RESAMPLE_SGIX 0x842D -#define GL_RESAMPLE_REPLICATE_SGIX 0x842E -#define GL_RESAMPLE_ZERO_FILL_SGIX 0x842F +#define GL_PACK_RESAMPLE_SGIX 0x842E +#define GL_UNPACK_RESAMPLE_SGIX 0x842F +#define GL_RESAMPLE_REPLICATE_SGIX 0x8433 +#define GL_RESAMPLE_ZERO_FILL_SGIX 0x8434 #define GL_RESAMPLE_DECIMATE_SGIX 0x8430 #endif /* GL_SGIX_resample */ diff --git a/extlib/SDL2/include/SDL_opengles.h b/extlib/SDL2/include/SDL_opengles.h index 8511b960..7e9a1ab8 100644 --- a/extlib/SDL2/include/SDL_opengles.h +++ b/extlib/SDL2/include/SDL_opengles.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 diff --git a/extlib/SDL2/include/SDL_opengles2.h b/extlib/SDL2/include/SDL_opengles2.h index 172fcb3f..96971344 100644 --- a/extlib/SDL2/include/SDL_opengles2.h +++ b/extlib/SDL2/include/SDL_opengles2.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 diff --git a/extlib/SDL2/include/SDL_opengles2_gl2.h b/extlib/SDL2/include/SDL_opengles2_gl2.h index c62fb0a5..d13622aa 100644 --- a/extlib/SDL2/include/SDL_opengles2_gl2.h +++ b/extlib/SDL2/include/SDL_opengles2_gl2.h @@ -1,56 +1,70 @@ -#ifndef __gl2_h_ -#define __gl2_h_ - -/* $Revision: 20555 $ on $Date:: 2013-02-12 14:32:47 -0800 #$ */ - -/*#include */ +#ifndef __gles2_gl2_h_ +#define __gles2_gl2_h_ 1 #ifdef __cplusplus extern "C" { #endif /* - * This document is licensed under the SGI Free Software B License Version - * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . - */ +** Copyright 2013-2020 The Khronos Group Inc. +** SPDX-License-Identifier: MIT +** +** This header is generated from the Khronos OpenGL / OpenGL ES XML +** API Registry. The current version of the Registry, generator scripts +** used to make the header, and the header can be found at +** https://github.com/KhronosGroup/OpenGL-Registry +*/ -/*------------------------------------------------------------------------- - * Data type definitions - *-----------------------------------------------------------------------*/ +/*#include */ -typedef void GLvoid; -typedef char GLchar; -typedef unsigned int GLenum; -typedef unsigned char GLboolean; -typedef unsigned int GLbitfield; -typedef khronos_int8_t GLbyte; -typedef short GLshort; -typedef int GLint; -typedef int GLsizei; -typedef khronos_uint8_t GLubyte; -typedef unsigned short GLushort; -typedef unsigned int GLuint; -typedef khronos_float_t GLfloat; -typedef khronos_float_t GLclampf; -typedef khronos_int32_t GLfixed; +#ifndef GL_APIENTRYP +#define GL_APIENTRYP GL_APIENTRY* +#endif -/* GL types for handling large vertex buffer objects */ -typedef khronos_intptr_t GLintptr; -typedef khronos_ssize_t GLsizeiptr; +#ifndef GL_GLES_PROTOTYPES +#define GL_GLES_PROTOTYPES 1 +#endif -/* OpenGL ES core versions */ -#define GL_ES_VERSION_2_0 1 +/* Generated on date 20220530 */ -/* ClearBufferMask */ +/* Generated C header for: + * API: gles2 + * Profile: common + * Versions considered: 2\.[0-9] + * Versions emitted: .* + * Default extensions included: None + * Additional extensions included: _nomatch_^ + * Extensions removed: _nomatch_^ + */ + +#ifndef GL_ES_VERSION_2_0 +#define GL_ES_VERSION_2_0 1 +/*#include */ +typedef khronos_int8_t GLbyte; +typedef khronos_float_t GLclampf; +typedef khronos_int32_t GLfixed; +typedef khronos_int16_t GLshort; +typedef khronos_uint16_t GLushort; +typedef void GLvoid; +typedef struct __GLsync *GLsync; +typedef khronos_int64_t GLint64; +typedef khronos_uint64_t GLuint64; +typedef unsigned int GLenum; +typedef unsigned int GLuint; +typedef char GLchar; +typedef khronos_float_t GLfloat; +typedef khronos_ssize_t GLsizeiptr; +typedef khronos_intptr_t GLintptr; +typedef unsigned int GLbitfield; +typedef int GLint; +typedef unsigned char GLboolean; +typedef int GLsizei; +typedef khronos_uint8_t GLubyte; #define GL_DEPTH_BUFFER_BIT 0x00000100 #define GL_STENCIL_BUFFER_BIT 0x00000400 #define GL_COLOR_BUFFER_BIT 0x00004000 - -/* Boolean */ #define GL_FALSE 0 #define GL_TRUE 1 - -/* BeginMode */ #define GL_POINTS 0x0000 #define GL_LINES 0x0001 #define GL_LINE_LOOP 0x0002 @@ -58,18 +72,6 @@ typedef khronos_ssize_t GLsizeiptr; #define GL_TRIANGLES 0x0004 #define GL_TRIANGLE_STRIP 0x0005 #define GL_TRIANGLE_FAN 0x0006 - -/* AlphaFunction (not supported in ES20) */ -/* GL_NEVER */ -/* GL_LESS */ -/* GL_EQUAL */ -/* GL_LEQUAL */ -/* GL_GREATER */ -/* GL_NOTEQUAL */ -/* GL_GEQUAL */ -/* GL_ALWAYS */ - -/* BlendingFactorDest */ #define GL_ZERO 0 #define GL_ONE 1 #define GL_SRC_COLOR 0x0300 @@ -78,29 +80,15 @@ typedef khronos_ssize_t GLsizeiptr; #define GL_ONE_MINUS_SRC_ALPHA 0x0303 #define GL_DST_ALPHA 0x0304 #define GL_ONE_MINUS_DST_ALPHA 0x0305 - -/* BlendingFactorSrc */ -/* GL_ZERO */ -/* GL_ONE */ #define GL_DST_COLOR 0x0306 #define GL_ONE_MINUS_DST_COLOR 0x0307 #define GL_SRC_ALPHA_SATURATE 0x0308 -/* GL_SRC_ALPHA */ -/* GL_ONE_MINUS_SRC_ALPHA */ -/* GL_DST_ALPHA */ -/* GL_ONE_MINUS_DST_ALPHA */ - -/* BlendEquationSeparate */ #define GL_FUNC_ADD 0x8006 #define GL_BLEND_EQUATION 0x8009 -#define GL_BLEND_EQUATION_RGB 0x8009 /* same as BLEND_EQUATION */ +#define GL_BLEND_EQUATION_RGB 0x8009 #define GL_BLEND_EQUATION_ALPHA 0x883D - -/* BlendSubtract */ #define GL_FUNC_SUBTRACT 0x800A #define GL_FUNC_REVERSE_SUBTRACT 0x800B - -/* Separate Blend Functions */ #define GL_BLEND_DST_RGB 0x80C8 #define GL_BLEND_SRC_RGB 0x80C9 #define GL_BLEND_DST_ALPHA 0x80CA @@ -110,38 +98,19 @@ typedef khronos_ssize_t GLsizeiptr; #define GL_CONSTANT_ALPHA 0x8003 #define GL_ONE_MINUS_CONSTANT_ALPHA 0x8004 #define GL_BLEND_COLOR 0x8005 - -/* Buffer Objects */ #define GL_ARRAY_BUFFER 0x8892 #define GL_ELEMENT_ARRAY_BUFFER 0x8893 #define GL_ARRAY_BUFFER_BINDING 0x8894 #define GL_ELEMENT_ARRAY_BUFFER_BINDING 0x8895 - #define GL_STREAM_DRAW 0x88E0 #define GL_STATIC_DRAW 0x88E4 #define GL_DYNAMIC_DRAW 0x88E8 - #define GL_BUFFER_SIZE 0x8764 #define GL_BUFFER_USAGE 0x8765 - #define GL_CURRENT_VERTEX_ATTRIB 0x8626 - -/* CullFaceMode */ #define GL_FRONT 0x0404 #define GL_BACK 0x0405 #define GL_FRONT_AND_BACK 0x0408 - -/* DepthFunction */ -/* GL_NEVER */ -/* GL_LESS */ -/* GL_EQUAL */ -/* GL_LEQUAL */ -/* GL_GREATER */ -/* GL_NOTEQUAL */ -/* GL_GEQUAL */ -/* GL_ALWAYS */ - -/* EnableCap */ #define GL_TEXTURE_2D 0x0DE1 #define GL_CULL_FACE 0x0B44 #define GL_BLEND 0x0BE2 @@ -152,19 +121,13 @@ typedef khronos_ssize_t GLsizeiptr; #define GL_POLYGON_OFFSET_FILL 0x8037 #define GL_SAMPLE_ALPHA_TO_COVERAGE 0x809E #define GL_SAMPLE_COVERAGE 0x80A0 - -/* ErrorCode */ #define GL_NO_ERROR 0 #define GL_INVALID_ENUM 0x0500 #define GL_INVALID_VALUE 0x0501 #define GL_INVALID_OPERATION 0x0502 #define GL_OUT_OF_MEMORY 0x0505 - -/* FrontFaceDirection */ #define GL_CW 0x0900 #define GL_CCW 0x0901 - -/* GetPName */ #define GL_LINE_WIDTH 0x0B21 #define GL_ALIASED_POINT_SIZE_RANGE 0x846D #define GL_ALIASED_LINE_WIDTH_RANGE 0x846E @@ -191,7 +154,6 @@ typedef khronos_ssize_t GLsizeiptr; #define GL_STENCIL_BACK_WRITEMASK 0x8CA5 #define GL_VIEWPORT 0x0BA2 #define GL_SCISSOR_BOX 0x0C10 -/* GL_SCISSOR_TEST */ #define GL_COLOR_CLEAR_VALUE 0x0C22 #define GL_COLOR_WRITEMASK 0x0C23 #define GL_UNPACK_ALIGNMENT 0x0CF5 @@ -206,32 +168,18 @@ typedef khronos_ssize_t GLsizeiptr; #define GL_DEPTH_BITS 0x0D56 #define GL_STENCIL_BITS 0x0D57 #define GL_POLYGON_OFFSET_UNITS 0x2A00 -/* GL_POLYGON_OFFSET_FILL */ #define GL_POLYGON_OFFSET_FACTOR 0x8038 #define GL_TEXTURE_BINDING_2D 0x8069 #define GL_SAMPLE_BUFFERS 0x80A8 #define GL_SAMPLES 0x80A9 #define GL_SAMPLE_COVERAGE_VALUE 0x80AA #define GL_SAMPLE_COVERAGE_INVERT 0x80AB - -/* GetTextureParameter */ -/* GL_TEXTURE_MAG_FILTER */ -/* GL_TEXTURE_MIN_FILTER */ -/* GL_TEXTURE_WRAP_S */ -/* GL_TEXTURE_WRAP_T */ - #define GL_NUM_COMPRESSED_TEXTURE_FORMATS 0x86A2 #define GL_COMPRESSED_TEXTURE_FORMATS 0x86A3 - -/* HintMode */ #define GL_DONT_CARE 0x1100 #define GL_FASTEST 0x1101 #define GL_NICEST 0x1102 - -/* HintTarget */ -#define GL_GENERATE_MIPMAP_HINT 0x8192 - -/* DataType */ +#define GL_GENERATE_MIPMAP_HINT 0x8192 #define GL_BYTE 0x1400 #define GL_UNSIGNED_BYTE 0x1401 #define GL_SHORT 0x1402 @@ -240,44 +188,35 @@ typedef khronos_ssize_t GLsizeiptr; #define GL_UNSIGNED_INT 0x1405 #define GL_FLOAT 0x1406 #define GL_FIXED 0x140C - -/* PixelFormat */ #define GL_DEPTH_COMPONENT 0x1902 #define GL_ALPHA 0x1906 #define GL_RGB 0x1907 #define GL_RGBA 0x1908 #define GL_LUMINANCE 0x1909 #define GL_LUMINANCE_ALPHA 0x190A - -/* PixelType */ -/* GL_UNSIGNED_BYTE */ #define GL_UNSIGNED_SHORT_4_4_4_4 0x8033 #define GL_UNSIGNED_SHORT_5_5_5_1 0x8034 #define GL_UNSIGNED_SHORT_5_6_5 0x8363 - -/* Shaders */ -#define GL_FRAGMENT_SHADER 0x8B30 -#define GL_VERTEX_SHADER 0x8B31 -#define GL_MAX_VERTEX_ATTRIBS 0x8869 -#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB -#define GL_MAX_VARYING_VECTORS 0x8DFC +#define GL_FRAGMENT_SHADER 0x8B30 +#define GL_VERTEX_SHADER 0x8B31 +#define GL_MAX_VERTEX_ATTRIBS 0x8869 +#define GL_MAX_VERTEX_UNIFORM_VECTORS 0x8DFB +#define GL_MAX_VARYING_VECTORS 0x8DFC #define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D -#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C -#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872 -#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD -#define GL_SHADER_TYPE 0x8B4F -#define GL_DELETE_STATUS 0x8B80 -#define GL_LINK_STATUS 0x8B82 -#define GL_VALIDATE_STATUS 0x8B83 -#define GL_ATTACHED_SHADERS 0x8B85 -#define GL_ACTIVE_UNIFORMS 0x8B86 -#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87 -#define GL_ACTIVE_ATTRIBUTES 0x8B89 -#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A -#define GL_SHADING_LANGUAGE_VERSION 0x8B8C -#define GL_CURRENT_PROGRAM 0x8B8D - -/* StencilFunction */ +#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C +#define GL_MAX_TEXTURE_IMAGE_UNITS 0x8872 +#define GL_MAX_FRAGMENT_UNIFORM_VECTORS 0x8DFD +#define GL_SHADER_TYPE 0x8B4F +#define GL_DELETE_STATUS 0x8B80 +#define GL_LINK_STATUS 0x8B82 +#define GL_VALIDATE_STATUS 0x8B83 +#define GL_ATTACHED_SHADERS 0x8B85 +#define GL_ACTIVE_UNIFORMS 0x8B86 +#define GL_ACTIVE_UNIFORM_MAX_LENGTH 0x8B87 +#define GL_ACTIVE_ATTRIBUTES 0x8B89 +#define GL_ACTIVE_ATTRIBUTE_MAX_LENGTH 0x8B8A +#define GL_SHADING_LANGUAGE_VERSION 0x8B8C +#define GL_CURRENT_PROGRAM 0x8B8D #define GL_NEVER 0x0200 #define GL_LESS 0x0201 #define GL_EQUAL 0x0202 @@ -286,9 +225,6 @@ typedef khronos_ssize_t GLsizeiptr; #define GL_NOTEQUAL 0x0205 #define GL_GEQUAL 0x0206 #define GL_ALWAYS 0x0207 - -/* StencilOp */ -/* GL_ZERO */ #define GL_KEEP 0x1E00 #define GL_REPLACE 0x1E01 #define GL_INCR 0x1E02 @@ -296,35 +232,21 @@ typedef khronos_ssize_t GLsizeiptr; #define GL_INVERT 0x150A #define GL_INCR_WRAP 0x8507 #define GL_DECR_WRAP 0x8508 - -/* StringName */ #define GL_VENDOR 0x1F00 #define GL_RENDERER 0x1F01 #define GL_VERSION 0x1F02 #define GL_EXTENSIONS 0x1F03 - -/* TextureMagFilter */ #define GL_NEAREST 0x2600 #define GL_LINEAR 0x2601 - -/* TextureMinFilter */ -/* GL_NEAREST */ -/* GL_LINEAR */ #define GL_NEAREST_MIPMAP_NEAREST 0x2700 #define GL_LINEAR_MIPMAP_NEAREST 0x2701 #define GL_NEAREST_MIPMAP_LINEAR 0x2702 #define GL_LINEAR_MIPMAP_LINEAR 0x2703 - -/* TextureParameterName */ #define GL_TEXTURE_MAG_FILTER 0x2800 #define GL_TEXTURE_MIN_FILTER 0x2801 #define GL_TEXTURE_WRAP_S 0x2802 #define GL_TEXTURE_WRAP_T 0x2803 - -/* TextureTarget */ -/* GL_TEXTURE_2D */ #define GL_TEXTURE 0x1702 - #define GL_TEXTURE_CUBE_MAP 0x8513 #define GL_TEXTURE_BINDING_CUBE_MAP 0x8514 #define GL_TEXTURE_CUBE_MAP_POSITIVE_X 0x8515 @@ -334,8 +256,6 @@ typedef khronos_ssize_t GLsizeiptr; #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z 0x8519 #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z 0x851A #define GL_MAX_CUBE_MAP_TEXTURE_SIZE 0x851C - -/* TextureUnit */ #define GL_TEXTURE0 0x84C0 #define GL_TEXTURE1 0x84C1 #define GL_TEXTURE2 0x84C2 @@ -369,13 +289,9 @@ typedef khronos_ssize_t GLsizeiptr; #define GL_TEXTURE30 0x84DE #define GL_TEXTURE31 0x84DF #define GL_ACTIVE_TEXTURE 0x84E0 - -/* TextureWrapMode */ #define GL_REPEAT 0x2901 #define GL_CLAMP_TO_EDGE 0x812F #define GL_MIRRORED_REPEAT 0x8370 - -/* Uniform Types */ #define GL_FLOAT_VEC2 0x8B50 #define GL_FLOAT_VEC3 0x8B51 #define GL_FLOAT_VEC4 0x8B52 @@ -391,48 +307,34 @@ typedef khronos_ssize_t GLsizeiptr; #define GL_FLOAT_MAT4 0x8B5C #define GL_SAMPLER_2D 0x8B5E #define GL_SAMPLER_CUBE 0x8B60 - -/* Vertex Arrays */ -#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622 -#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623 -#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624 -#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625 -#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A -#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645 +#define GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622 +#define GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623 +#define GL_VERTEX_ATTRIB_ARRAY_STRIDE 0x8624 +#define GL_VERTEX_ATTRIB_ARRAY_TYPE 0x8625 +#define GL_VERTEX_ATTRIB_ARRAY_NORMALIZED 0x886A +#define GL_VERTEX_ATTRIB_ARRAY_POINTER 0x8645 #define GL_VERTEX_ATTRIB_ARRAY_BUFFER_BINDING 0x889F - -/* Read Format */ -#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A +#define GL_IMPLEMENTATION_COLOR_READ_TYPE 0x8B9A #define GL_IMPLEMENTATION_COLOR_READ_FORMAT 0x8B9B - -/* Shader Source */ #define GL_COMPILE_STATUS 0x8B81 #define GL_INFO_LOG_LENGTH 0x8B84 #define GL_SHADER_SOURCE_LENGTH 0x8B88 #define GL_SHADER_COMPILER 0x8DFA - -/* Shader Binary */ #define GL_SHADER_BINARY_FORMATS 0x8DF8 #define GL_NUM_SHADER_BINARY_FORMATS 0x8DF9 - -/* Shader Precision-Specified Types */ #define GL_LOW_FLOAT 0x8DF0 #define GL_MEDIUM_FLOAT 0x8DF1 #define GL_HIGH_FLOAT 0x8DF2 #define GL_LOW_INT 0x8DF3 #define GL_MEDIUM_INT 0x8DF4 #define GL_HIGH_INT 0x8DF5 - -/* Framebuffer Object. */ #define GL_FRAMEBUFFER 0x8D40 #define GL_RENDERBUFFER 0x8D41 - #define GL_RGBA4 0x8056 #define GL_RGB5_A1 0x8057 #define GL_RGB565 0x8D62 #define GL_DEPTH_COMPONENT16 0x81A5 #define GL_STENCIL_INDEX8 0x8D48 - #define GL_RENDERBUFFER_WIDTH 0x8D42 #define GL_RENDERBUFFER_HEIGHT 0x8D43 #define GL_RENDERBUFFER_INTERNAL_FORMAT 0x8D44 @@ -442,180 +344,313 @@ typedef khronos_ssize_t GLsizeiptr; #define GL_RENDERBUFFER_ALPHA_SIZE 0x8D53 #define GL_RENDERBUFFER_DEPTH_SIZE 0x8D54 #define GL_RENDERBUFFER_STENCIL_SIZE 0x8D55 - -#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0 -#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1 -#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2 +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE 0x8CD0 +#define GL_FRAMEBUFFER_ATTACHMENT_OBJECT_NAME 0x8CD1 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL 0x8CD2 #define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE 0x8CD3 - #define GL_COLOR_ATTACHMENT0 0x8CE0 #define GL_DEPTH_ATTACHMENT 0x8D00 #define GL_STENCIL_ATTACHMENT 0x8D20 - #define GL_NONE 0 - -#define GL_FRAMEBUFFER_COMPLETE 0x8CD5 -#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6 +#define GL_FRAMEBUFFER_COMPLETE 0x8CD5 +#define GL_FRAMEBUFFER_INCOMPLETE_ATTACHMENT 0x8CD6 #define GL_FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT 0x8CD7 -#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS 0x8CD9 -#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD - +#define GL_FRAMEBUFFER_INCOMPLETE_DIMENSIONS 0x8CD9 +#define GL_FRAMEBUFFER_UNSUPPORTED 0x8CDD #define GL_FRAMEBUFFER_BINDING 0x8CA6 #define GL_RENDERBUFFER_BINDING 0x8CA7 #define GL_MAX_RENDERBUFFER_SIZE 0x84E8 - #define GL_INVALID_FRAMEBUFFER_OPERATION 0x0506 - -/*------------------------------------------------------------------------- - * GL core functions. - *-----------------------------------------------------------------------*/ - -GL_APICALL void GL_APIENTRY glActiveTexture (GLenum texture); -GL_APICALL void GL_APIENTRY glAttachShader (GLuint program, GLuint shader); -GL_APICALL void GL_APIENTRY glBindAttribLocation (GLuint program, GLuint index, const GLchar* name); -GL_APICALL void GL_APIENTRY glBindBuffer (GLenum target, GLuint buffer); -GL_APICALL void GL_APIENTRY glBindFramebuffer (GLenum target, GLuint framebuffer); -GL_APICALL void GL_APIENTRY glBindRenderbuffer (GLenum target, GLuint renderbuffer); -GL_APICALL void GL_APIENTRY glBindTexture (GLenum target, GLuint texture); -GL_APICALL void GL_APIENTRY glBlendColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); -GL_APICALL void GL_APIENTRY glBlendEquation ( GLenum mode ); -GL_APICALL void GL_APIENTRY glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha); -GL_APICALL void GL_APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor); -GL_APICALL void GL_APIENTRY glBlendFuncSeparate (GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); -GL_APICALL void GL_APIENTRY glBufferData (GLenum target, GLsizeiptr size, const GLvoid* data, GLenum usage); -GL_APICALL void GL_APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const GLvoid* data); -GL_APICALL GLenum GL_APIENTRY glCheckFramebufferStatus (GLenum target); -GL_APICALL void GL_APIENTRY glClear (GLbitfield mask); -GL_APICALL void GL_APIENTRY glClearColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha); -GL_APICALL void GL_APIENTRY glClearDepthf (GLclampf depth); -GL_APICALL void GL_APIENTRY glClearStencil (GLint s); -GL_APICALL void GL_APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); -GL_APICALL void GL_APIENTRY glCompileShader (GLuint shader); -GL_APICALL void GL_APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const GLvoid* data); -GL_APICALL void GL_APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const GLvoid* data); -GL_APICALL void GL_APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); -GL_APICALL void GL_APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); -GL_APICALL GLuint GL_APIENTRY glCreateProgram (void); -GL_APICALL GLuint GL_APIENTRY glCreateShader (GLenum type); -GL_APICALL void GL_APIENTRY glCullFace (GLenum mode); -GL_APICALL void GL_APIENTRY glDeleteBuffers (GLsizei n, const GLuint* buffers); -GL_APICALL void GL_APIENTRY glDeleteFramebuffers (GLsizei n, const GLuint* framebuffers); -GL_APICALL void GL_APIENTRY glDeleteProgram (GLuint program); -GL_APICALL void GL_APIENTRY glDeleteRenderbuffers (GLsizei n, const GLuint* renderbuffers); -GL_APICALL void GL_APIENTRY glDeleteShader (GLuint shader); -GL_APICALL void GL_APIENTRY glDeleteTextures (GLsizei n, const GLuint* textures); -GL_APICALL void GL_APIENTRY glDepthFunc (GLenum func); -GL_APICALL void GL_APIENTRY glDepthMask (GLboolean flag); -GL_APICALL void GL_APIENTRY glDepthRangef (GLclampf zNear, GLclampf zFar); -GL_APICALL void GL_APIENTRY glDetachShader (GLuint program, GLuint shader); -GL_APICALL void GL_APIENTRY glDisable (GLenum cap); -GL_APICALL void GL_APIENTRY glDisableVertexAttribArray (GLuint index); -GL_APICALL void GL_APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count); -GL_APICALL void GL_APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const GLvoid* indices); -GL_APICALL void GL_APIENTRY glEnable (GLenum cap); -GL_APICALL void GL_APIENTRY glEnableVertexAttribArray (GLuint index); -GL_APICALL void GL_APIENTRY glFinish (void); -GL_APICALL void GL_APIENTRY glFlush (void); -GL_APICALL void GL_APIENTRY glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); -GL_APICALL void GL_APIENTRY glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); -GL_APICALL void GL_APIENTRY glFrontFace (GLenum mode); -GL_APICALL void GL_APIENTRY glGenBuffers (GLsizei n, GLuint* buffers); -GL_APICALL void GL_APIENTRY glGenerateMipmap (GLenum target); -GL_APICALL void GL_APIENTRY glGenFramebuffers (GLsizei n, GLuint* framebuffers); -GL_APICALL void GL_APIENTRY glGenRenderbuffers (GLsizei n, GLuint* renderbuffers); -GL_APICALL void GL_APIENTRY glGenTextures (GLsizei n, GLuint* textures); -GL_APICALL void GL_APIENTRY glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name); -GL_APICALL void GL_APIENTRY glGetActiveUniform (GLuint program, GLuint index, GLsizei bufsize, GLsizei* length, GLint* size, GLenum* type, GLchar* name); -GL_APICALL void GL_APIENTRY glGetAttachedShaders (GLuint program, GLsizei maxcount, GLsizei* count, GLuint* shaders); -GL_APICALL GLint GL_APIENTRY glGetAttribLocation (GLuint program, const GLchar* name); -GL_APICALL void GL_APIENTRY glGetBooleanv (GLenum pname, GLboolean* params); -GL_APICALL void GL_APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint* params); -GL_APICALL GLenum GL_APIENTRY glGetError (void); -GL_APICALL void GL_APIENTRY glGetFloatv (GLenum pname, GLfloat* params); -GL_APICALL void GL_APIENTRY glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint* params); -GL_APICALL void GL_APIENTRY glGetIntegerv (GLenum pname, GLint* params); -GL_APICALL void GL_APIENTRY glGetProgramiv (GLuint program, GLenum pname, GLint* params); -GL_APICALL void GL_APIENTRY glGetProgramInfoLog (GLuint program, GLsizei bufsize, GLsizei* length, GLchar* infolog); -GL_APICALL void GL_APIENTRY glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint* params); -GL_APICALL void GL_APIENTRY glGetShaderiv (GLuint shader, GLenum pname, GLint* params); -GL_APICALL void GL_APIENTRY glGetShaderInfoLog (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* infolog); -GL_APICALL void GL_APIENTRY glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint* range, GLint* precision); -GL_APICALL void GL_APIENTRY glGetShaderSource (GLuint shader, GLsizei bufsize, GLsizei* length, GLchar* source); -GL_APICALL const GLubyte* GL_APIENTRY glGetString (GLenum name); -GL_APICALL void GL_APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat* params); -GL_APICALL void GL_APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint* params); -GL_APICALL void GL_APIENTRY glGetUniformfv (GLuint program, GLint location, GLfloat* params); -GL_APICALL void GL_APIENTRY glGetUniformiv (GLuint program, GLint location, GLint* params); -GL_APICALL GLint GL_APIENTRY glGetUniformLocation (GLuint program, const GLchar* name); -GL_APICALL void GL_APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat* params); -GL_APICALL void GL_APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint* params); -GL_APICALL void GL_APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, GLvoid** pointer); -GL_APICALL void GL_APIENTRY glHint (GLenum target, GLenum mode); -GL_APICALL GLboolean GL_APIENTRY glIsBuffer (GLuint buffer); -GL_APICALL GLboolean GL_APIENTRY glIsEnabled (GLenum cap); -GL_APICALL GLboolean GL_APIENTRY glIsFramebuffer (GLuint framebuffer); -GL_APICALL GLboolean GL_APIENTRY glIsProgram (GLuint program); -GL_APICALL GLboolean GL_APIENTRY glIsRenderbuffer (GLuint renderbuffer); -GL_APICALL GLboolean GL_APIENTRY glIsShader (GLuint shader); -GL_APICALL GLboolean GL_APIENTRY glIsTexture (GLuint texture); -GL_APICALL void GL_APIENTRY glLineWidth (GLfloat width); -GL_APICALL void GL_APIENTRY glLinkProgram (GLuint program); -GL_APICALL void GL_APIENTRY glPixelStorei (GLenum pname, GLint param); -GL_APICALL void GL_APIENTRY glPolygonOffset (GLfloat factor, GLfloat units); -GL_APICALL void GL_APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLvoid* pixels); -GL_APICALL void GL_APIENTRY glReleaseShaderCompiler (void); -GL_APICALL void GL_APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); -GL_APICALL void GL_APIENTRY glSampleCoverage (GLclampf value, GLboolean invert); -GL_APICALL void GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height); -GL_APICALL void GL_APIENTRY glShaderBinary (GLsizei n, const GLuint* shaders, GLenum binaryformat, const GLvoid* binary, GLsizei length); -GL_APICALL void GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar* const* string, const GLint* length); -GL_APICALL void GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask); -GL_APICALL void GL_APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask); -GL_APICALL void GL_APIENTRY glStencilMask (GLuint mask); -GL_APICALL void GL_APIENTRY glStencilMaskSeparate (GLenum face, GLuint mask); -GL_APICALL void GL_APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass); -GL_APICALL void GL_APIENTRY glStencilOpSeparate (GLenum face, GLenum fail, GLenum zfail, GLenum zpass); -GL_APICALL void GL_APIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const GLvoid* pixels); -GL_APICALL void GL_APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param); -GL_APICALL void GL_APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat* params); -GL_APICALL void GL_APIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param); -GL_APICALL void GL_APIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint* params); -GL_APICALL void GL_APIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid* pixels); -GL_APICALL void GL_APIENTRY glUniform1f (GLint location, GLfloat x); -GL_APICALL void GL_APIENTRY glUniform1fv (GLint location, GLsizei count, const GLfloat* v); -GL_APICALL void GL_APIENTRY glUniform1i (GLint location, GLint x); -GL_APICALL void GL_APIENTRY glUniform1iv (GLint location, GLsizei count, const GLint* v); -GL_APICALL void GL_APIENTRY glUniform2f (GLint location, GLfloat x, GLfloat y); -GL_APICALL void GL_APIENTRY glUniform2fv (GLint location, GLsizei count, const GLfloat* v); -GL_APICALL void GL_APIENTRY glUniform2i (GLint location, GLint x, GLint y); -GL_APICALL void GL_APIENTRY glUniform2iv (GLint location, GLsizei count, const GLint* v); -GL_APICALL void GL_APIENTRY glUniform3f (GLint location, GLfloat x, GLfloat y, GLfloat z); -GL_APICALL void GL_APIENTRY glUniform3fv (GLint location, GLsizei count, const GLfloat* v); -GL_APICALL void GL_APIENTRY glUniform3i (GLint location, GLint x, GLint y, GLint z); -GL_APICALL void GL_APIENTRY glUniform3iv (GLint location, GLsizei count, const GLint* v); -GL_APICALL void GL_APIENTRY glUniform4f (GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); -GL_APICALL void GL_APIENTRY glUniform4fv (GLint location, GLsizei count, const GLfloat* v); -GL_APICALL void GL_APIENTRY glUniform4i (GLint location, GLint x, GLint y, GLint z, GLint w); -GL_APICALL void GL_APIENTRY glUniform4iv (GLint location, GLsizei count, const GLint* v); -GL_APICALL void GL_APIENTRY glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); -GL_APICALL void GL_APIENTRY glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); -GL_APICALL void GL_APIENTRY glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat* value); -GL_APICALL void GL_APIENTRY glUseProgram (GLuint program); -GL_APICALL void GL_APIENTRY glValidateProgram (GLuint program); -GL_APICALL void GL_APIENTRY glVertexAttrib1f (GLuint indx, GLfloat x); -GL_APICALL void GL_APIENTRY glVertexAttrib1fv (GLuint indx, const GLfloat* values); -GL_APICALL void GL_APIENTRY glVertexAttrib2f (GLuint indx, GLfloat x, GLfloat y); -GL_APICALL void GL_APIENTRY glVertexAttrib2fv (GLuint indx, const GLfloat* values); -GL_APICALL void GL_APIENTRY glVertexAttrib3f (GLuint indx, GLfloat x, GLfloat y, GLfloat z); -GL_APICALL void GL_APIENTRY glVertexAttrib3fv (GLuint indx, const GLfloat* values); -GL_APICALL void GL_APIENTRY glVertexAttrib4f (GLuint indx, GLfloat x, GLfloat y, GLfloat z, GLfloat w); -GL_APICALL void GL_APIENTRY glVertexAttrib4fv (GLuint indx, const GLfloat* values); -GL_APICALL void GL_APIENTRY glVertexAttribPointer (GLuint indx, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const GLvoid* ptr); -GL_APICALL void GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GL_APIENTRYP PFNGLACTIVETEXTUREPROC) (GLenum texture); +typedef void (GL_APIENTRYP PFNGLATTACHSHADERPROC) (GLuint program, GLuint shader); +typedef void (GL_APIENTRYP PFNGLBINDATTRIBLOCATIONPROC) (GLuint program, GLuint index, const GLchar *name); +typedef void (GL_APIENTRYP PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer); +typedef void (GL_APIENTRYP PFNGLBINDFRAMEBUFFERPROC) (GLenum target, GLuint framebuffer); +typedef void (GL_APIENTRYP PFNGLBINDRENDERBUFFERPROC) (GLenum target, GLuint renderbuffer); +typedef void (GL_APIENTRYP PFNGLBINDTEXTUREPROC) (GLenum target, GLuint texture); +typedef void (GL_APIENTRYP PFNGLBLENDCOLORPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); +typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONPROC) (GLenum mode); +typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONSEPARATEPROC) (GLenum modeRGB, GLenum modeAlpha); +typedef void (GL_APIENTRYP PFNGLBLENDFUNCPROC) (GLenum sfactor, GLenum dfactor); +typedef void (GL_APIENTRYP PFNGLBLENDFUNCSEPARATEPROC) (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); +typedef void (GL_APIENTRYP PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size, const void *data, GLenum usage); +typedef void (GL_APIENTRYP PFNGLBUFFERSUBDATAPROC) (GLenum target, GLintptr offset, GLsizeiptr size, const void *data); +typedef GLenum (GL_APIENTRYP PFNGLCHECKFRAMEBUFFERSTATUSPROC) (GLenum target); +typedef void (GL_APIENTRYP PFNGLCLEARPROC) (GLbitfield mask); +typedef void (GL_APIENTRYP PFNGLCLEARCOLORPROC) (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); +typedef void (GL_APIENTRYP PFNGLCLEARDEPTHFPROC) (GLfloat d); +typedef void (GL_APIENTRYP PFNGLCLEARSTENCILPROC) (GLint s); +typedef void (GL_APIENTRYP PFNGLCOLORMASKPROC) (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); +typedef void (GL_APIENTRYP PFNGLCOMPILESHADERPROC) (GLuint shader); +typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data); +typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data); +typedef void (GL_APIENTRYP PFNGLCOPYTEXIMAGE2DPROC) (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); +typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef GLuint (GL_APIENTRYP PFNGLCREATEPROGRAMPROC) (void); +typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROC) (GLenum type); +typedef void (GL_APIENTRYP PFNGLCULLFACEPROC) (GLenum mode); +typedef void (GL_APIENTRYP PFNGLDELETEBUFFERSPROC) (GLsizei n, const GLuint *buffers); +typedef void (GL_APIENTRYP PFNGLDELETEFRAMEBUFFERSPROC) (GLsizei n, const GLuint *framebuffers); +typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPROC) (GLuint program); +typedef void (GL_APIENTRYP PFNGLDELETERENDERBUFFERSPROC) (GLsizei n, const GLuint *renderbuffers); +typedef void (GL_APIENTRYP PFNGLDELETESHADERPROC) (GLuint shader); +typedef void (GL_APIENTRYP PFNGLDELETETEXTURESPROC) (GLsizei n, const GLuint *textures); +typedef void (GL_APIENTRYP PFNGLDEPTHFUNCPROC) (GLenum func); +typedef void (GL_APIENTRYP PFNGLDEPTHMASKPROC) (GLboolean flag); +typedef void (GL_APIENTRYP PFNGLDEPTHRANGEFPROC) (GLfloat n, GLfloat f); +typedef void (GL_APIENTRYP PFNGLDETACHSHADERPROC) (GLuint program, GLuint shader); +typedef void (GL_APIENTRYP PFNGLDISABLEPROC) (GLenum cap); +typedef void (GL_APIENTRYP PFNGLDISABLEVERTEXATTRIBARRAYPROC) (GLuint index); +typedef void (GL_APIENTRYP PFNGLDRAWARRAYSPROC) (GLenum mode, GLint first, GLsizei count); +typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices); +typedef void (GL_APIENTRYP PFNGLENABLEPROC) (GLenum cap); +typedef void (GL_APIENTRYP PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index); +typedef void (GL_APIENTRYP PFNGLFINISHPROC) (void); +typedef void (GL_APIENTRYP PFNGLFLUSHPROC) (void); +typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERRENDERBUFFERPROC) (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +typedef void (GL_APIENTRYP PFNGLFRONTFACEPROC) (GLenum mode); +typedef void (GL_APIENTRYP PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers); +typedef void (GL_APIENTRYP PFNGLGENERATEMIPMAPPROC) (GLenum target); +typedef void (GL_APIENTRYP PFNGLGENFRAMEBUFFERSPROC) (GLsizei n, GLuint *framebuffers); +typedef void (GL_APIENTRYP PFNGLGENRENDERBUFFERSPROC) (GLsizei n, GLuint *renderbuffers); +typedef void (GL_APIENTRYP PFNGLGENTEXTURESPROC) (GLsizei n, GLuint *textures); +typedef void (GL_APIENTRYP PFNGLGETACTIVEATTRIBPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); +typedef void (GL_APIENTRYP PFNGLGETACTIVEUNIFORMPROC) (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); +typedef void (GL_APIENTRYP PFNGLGETATTACHEDSHADERSPROC) (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders); +typedef GLint (GL_APIENTRYP PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar *name); +typedef void (GL_APIENTRYP PFNGLGETBOOLEANVPROC) (GLenum pname, GLboolean *data); +typedef void (GL_APIENTRYP PFNGLGETBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params); +typedef GLenum (GL_APIENTRYP PFNGLGETERRORPROC) (void); +typedef void (GL_APIENTRYP PFNGLGETFLOATVPROC) (GLenum pname, GLfloat *data); +typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERATTACHMENTPARAMETERIVPROC) (GLenum target, GLenum attachment, GLenum pname, GLint *params); +typedef void (GL_APIENTRYP PFNGLGETINTEGERVPROC) (GLenum pname, GLint *data); +typedef void (GL_APIENTRYP PFNGLGETPROGRAMIVPROC) (GLuint program, GLenum pname, GLint *params); +typedef void (GL_APIENTRYP PFNGLGETPROGRAMINFOLOGPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog); +typedef void (GL_APIENTRYP PFNGLGETRENDERBUFFERPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (GL_APIENTRYP PFNGLGETSHADERIVPROC) (GLuint shader, GLenum pname, GLint *params); +typedef void (GL_APIENTRYP PFNGLGETSHADERINFOLOGPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog); +typedef void (GL_APIENTRYP PFNGLGETSHADERPRECISIONFORMATPROC) (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision); +typedef void (GL_APIENTRYP PFNGLGETSHADERSOURCEPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source); +typedef const GLubyte *(GL_APIENTRYP PFNGLGETSTRINGPROC) (GLenum name); +typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERFVPROC) (GLenum target, GLenum pname, GLfloat *params); +typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIVPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (GL_APIENTRYP PFNGLGETUNIFORMFVPROC) (GLuint program, GLint location, GLfloat *params); +typedef void (GL_APIENTRYP PFNGLGETUNIFORMIVPROC) (GLuint program, GLint location, GLint *params); +typedef GLint (GL_APIENTRYP PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar *name); +typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBFVPROC) (GLuint index, GLenum pname, GLfloat *params); +typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBIVPROC) (GLuint index, GLenum pname, GLint *params); +typedef void (GL_APIENTRYP PFNGLGETVERTEXATTRIBPOINTERVPROC) (GLuint index, GLenum pname, void **pointer); +typedef void (GL_APIENTRYP PFNGLHINTPROC) (GLenum target, GLenum mode); +typedef GLboolean (GL_APIENTRYP PFNGLISBUFFERPROC) (GLuint buffer); +typedef GLboolean (GL_APIENTRYP PFNGLISENABLEDPROC) (GLenum cap); +typedef GLboolean (GL_APIENTRYP PFNGLISFRAMEBUFFERPROC) (GLuint framebuffer); +typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPROC) (GLuint program); +typedef GLboolean (GL_APIENTRYP PFNGLISRENDERBUFFERPROC) (GLuint renderbuffer); +typedef GLboolean (GL_APIENTRYP PFNGLISSHADERPROC) (GLuint shader); +typedef GLboolean (GL_APIENTRYP PFNGLISTEXTUREPROC) (GLuint texture); +typedef void (GL_APIENTRYP PFNGLLINEWIDTHPROC) (GLfloat width); +typedef void (GL_APIENTRYP PFNGLLINKPROGRAMPROC) (GLuint program); +typedef void (GL_APIENTRYP PFNGLPIXELSTOREIPROC) (GLenum pname, GLint param); +typedef void (GL_APIENTRYP PFNGLPOLYGONOFFSETPROC) (GLfloat factor, GLfloat units); +typedef void (GL_APIENTRYP PFNGLREADPIXELSPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels); +typedef void (GL_APIENTRYP PFNGLRELEASESHADERCOMPILERPROC) (void); +typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEPROC) (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GL_APIENTRYP PFNGLSAMPLECOVERAGEPROC) (GLfloat value, GLboolean invert); +typedef void (GL_APIENTRYP PFNGLSCISSORPROC) (GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GL_APIENTRYP PFNGLSHADERBINARYPROC) (GLsizei count, const GLuint *shaders, GLenum binaryFormat, const void *binary, GLsizei length); +typedef void (GL_APIENTRYP PFNGLSHADERSOURCEPROC) (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length); +typedef void (GL_APIENTRYP PFNGLSTENCILFUNCPROC) (GLenum func, GLint ref, GLuint mask); +typedef void (GL_APIENTRYP PFNGLSTENCILFUNCSEPARATEPROC) (GLenum face, GLenum func, GLint ref, GLuint mask); +typedef void (GL_APIENTRYP PFNGLSTENCILMASKPROC) (GLuint mask); +typedef void (GL_APIENTRYP PFNGLSTENCILMASKSEPARATEPROC) (GLenum face, GLuint mask); +typedef void (GL_APIENTRYP PFNGLSTENCILOPPROC) (GLenum fail, GLenum zfail, GLenum zpass); +typedef void (GL_APIENTRYP PFNGLSTENCILOPSEPARATEPROC) (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); +typedef void (GL_APIENTRYP PFNGLTEXIMAGE2DPROC) (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels); +typedef void (GL_APIENTRYP PFNGLTEXPARAMETERFPROC) (GLenum target, GLenum pname, GLfloat param); +typedef void (GL_APIENTRYP PFNGLTEXPARAMETERFVPROC) (GLenum target, GLenum pname, const GLfloat *params); +typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIPROC) (GLenum target, GLenum pname, GLint param); +typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIVPROC) (GLenum target, GLenum pname, const GLint *params); +typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE2DPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); +typedef void (GL_APIENTRYP PFNGLUNIFORM1FPROC) (GLint location, GLfloat v0); +typedef void (GL_APIENTRYP PFNGLUNIFORM1FVPROC) (GLint location, GLsizei count, const GLfloat *value); +typedef void (GL_APIENTRYP PFNGLUNIFORM1IPROC) (GLint location, GLint v0); +typedef void (GL_APIENTRYP PFNGLUNIFORM1IVPROC) (GLint location, GLsizei count, const GLint *value); +typedef void (GL_APIENTRYP PFNGLUNIFORM2FPROC) (GLint location, GLfloat v0, GLfloat v1); +typedef void (GL_APIENTRYP PFNGLUNIFORM2FVPROC) (GLint location, GLsizei count, const GLfloat *value); +typedef void (GL_APIENTRYP PFNGLUNIFORM2IPROC) (GLint location, GLint v0, GLint v1); +typedef void (GL_APIENTRYP PFNGLUNIFORM2IVPROC) (GLint location, GLsizei count, const GLint *value); +typedef void (GL_APIENTRYP PFNGLUNIFORM3FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2); +typedef void (GL_APIENTRYP PFNGLUNIFORM3FVPROC) (GLint location, GLsizei count, const GLfloat *value); +typedef void (GL_APIENTRYP PFNGLUNIFORM3IPROC) (GLint location, GLint v0, GLint v1, GLint v2); +typedef void (GL_APIENTRYP PFNGLUNIFORM3IVPROC) (GLint location, GLsizei count, const GLint *value); +typedef void (GL_APIENTRYP PFNGLUNIFORM4FPROC) (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); +typedef void (GL_APIENTRYP PFNGLUNIFORM4FVPROC) (GLint location, GLsizei count, const GLfloat *value); +typedef void (GL_APIENTRYP PFNGLUNIFORM4IPROC) (GLint location, GLint v0, GLint v1, GLint v2, GLint v3); +typedef void (GL_APIENTRYP PFNGLUNIFORM4IVPROC) (GLint location, GLsizei count, const GLint *value); +typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX2FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX3FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX4FVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (GL_APIENTRYP PFNGLUSEPROGRAMPROC) (GLuint program); +typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPROC) (GLuint program); +typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB1FPROC) (GLuint index, GLfloat x); +typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB1FVPROC) (GLuint index, const GLfloat *v); +typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB2FPROC) (GLuint index, GLfloat x, GLfloat y); +typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB2FVPROC) (GLuint index, const GLfloat *v); +typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB3FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z); +typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB3FVPROC) (GLuint index, const GLfloat *v); +typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB4FPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +typedef void (GL_APIENTRYP PFNGLVERTEXATTRIB4FVPROC) (GLuint index, const GLfloat *v); +typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBPOINTERPROC) (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer); +typedef void (GL_APIENTRYP PFNGLVIEWPORTPROC) (GLint x, GLint y, GLsizei width, GLsizei height); +#if GL_GLES_PROTOTYPES +GL_APICALL void GL_APIENTRY glActiveTexture (GLenum texture); +GL_APICALL void GL_APIENTRY glAttachShader (GLuint program, GLuint shader); +GL_APICALL void GL_APIENTRY glBindAttribLocation (GLuint program, GLuint index, const GLchar *name); +GL_APICALL void GL_APIENTRY glBindBuffer (GLenum target, GLuint buffer); +GL_APICALL void GL_APIENTRY glBindFramebuffer (GLenum target, GLuint framebuffer); +GL_APICALL void GL_APIENTRY glBindRenderbuffer (GLenum target, GLuint renderbuffer); +GL_APICALL void GL_APIENTRY glBindTexture (GLenum target, GLuint texture); +GL_APICALL void GL_APIENTRY glBlendColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); +GL_APICALL void GL_APIENTRY glBlendEquation (GLenum mode); +GL_APICALL void GL_APIENTRY glBlendEquationSeparate (GLenum modeRGB, GLenum modeAlpha); +GL_APICALL void GL_APIENTRY glBlendFunc (GLenum sfactor, GLenum dfactor); +GL_APICALL void GL_APIENTRY glBlendFuncSeparate (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha); +GL_APICALL void GL_APIENTRY glBufferData (GLenum target, GLsizeiptr size, const void *data, GLenum usage); +GL_APICALL void GL_APIENTRY glBufferSubData (GLenum target, GLintptr offset, GLsizeiptr size, const void *data); +GL_APICALL GLenum GL_APIENTRY glCheckFramebufferStatus (GLenum target); +GL_APICALL void GL_APIENTRY glClear (GLbitfield mask); +GL_APICALL void GL_APIENTRY glClearColor (GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha); +GL_APICALL void GL_APIENTRY glClearDepthf (GLfloat d); +GL_APICALL void GL_APIENTRY glClearStencil (GLint s); +GL_APICALL void GL_APIENTRY glColorMask (GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha); +GL_APICALL void GL_APIENTRY glCompileShader (GLuint shader); +GL_APICALL void GL_APIENTRY glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data); +GL_APICALL void GL_APIENTRY glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data); +GL_APICALL void GL_APIENTRY glCopyTexImage2D (GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border); +GL_APICALL void GL_APIENTRY glCopyTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height); +GL_APICALL GLuint GL_APIENTRY glCreateProgram (void); +GL_APICALL GLuint GL_APIENTRY glCreateShader (GLenum type); +GL_APICALL void GL_APIENTRY glCullFace (GLenum mode); +GL_APICALL void GL_APIENTRY glDeleteBuffers (GLsizei n, const GLuint *buffers); +GL_APICALL void GL_APIENTRY glDeleteFramebuffers (GLsizei n, const GLuint *framebuffers); +GL_APICALL void GL_APIENTRY glDeleteProgram (GLuint program); +GL_APICALL void GL_APIENTRY glDeleteRenderbuffers (GLsizei n, const GLuint *renderbuffers); +GL_APICALL void GL_APIENTRY glDeleteShader (GLuint shader); +GL_APICALL void GL_APIENTRY glDeleteTextures (GLsizei n, const GLuint *textures); +GL_APICALL void GL_APIENTRY glDepthFunc (GLenum func); +GL_APICALL void GL_APIENTRY glDepthMask (GLboolean flag); +GL_APICALL void GL_APIENTRY glDepthRangef (GLfloat n, GLfloat f); +GL_APICALL void GL_APIENTRY glDetachShader (GLuint program, GLuint shader); +GL_APICALL void GL_APIENTRY glDisable (GLenum cap); +GL_APICALL void GL_APIENTRY glDisableVertexAttribArray (GLuint index); +GL_APICALL void GL_APIENTRY glDrawArrays (GLenum mode, GLint first, GLsizei count); +GL_APICALL void GL_APIENTRY glDrawElements (GLenum mode, GLsizei count, GLenum type, const void *indices); +GL_APICALL void GL_APIENTRY glEnable (GLenum cap); +GL_APICALL void GL_APIENTRY glEnableVertexAttribArray (GLuint index); +GL_APICALL void GL_APIENTRY glFinish (void); +GL_APICALL void GL_APIENTRY glFlush (void); +GL_APICALL void GL_APIENTRY glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer); +GL_APICALL void GL_APIENTRY glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level); +GL_APICALL void GL_APIENTRY glFrontFace (GLenum mode); +GL_APICALL void GL_APIENTRY glGenBuffers (GLsizei n, GLuint *buffers); +GL_APICALL void GL_APIENTRY glGenerateMipmap (GLenum target); +GL_APICALL void GL_APIENTRY glGenFramebuffers (GLsizei n, GLuint *framebuffers); +GL_APICALL void GL_APIENTRY glGenRenderbuffers (GLsizei n, GLuint *renderbuffers); +GL_APICALL void GL_APIENTRY glGenTextures (GLsizei n, GLuint *textures); +GL_APICALL void GL_APIENTRY glGetActiveAttrib (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); +GL_APICALL void GL_APIENTRY glGetActiveUniform (GLuint program, GLuint index, GLsizei bufSize, GLsizei *length, GLint *size, GLenum *type, GLchar *name); +GL_APICALL void GL_APIENTRY glGetAttachedShaders (GLuint program, GLsizei maxCount, GLsizei *count, GLuint *shaders); +GL_APICALL GLint GL_APIENTRY glGetAttribLocation (GLuint program, const GLchar *name); +GL_APICALL void GL_APIENTRY glGetBooleanv (GLenum pname, GLboolean *data); +GL_APICALL void GL_APIENTRY glGetBufferParameteriv (GLenum target, GLenum pname, GLint *params); +GL_APICALL GLenum GL_APIENTRY glGetError (void); +GL_APICALL void GL_APIENTRY glGetFloatv (GLenum pname, GLfloat *data); +GL_APICALL void GL_APIENTRY glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint *params); +GL_APICALL void GL_APIENTRY glGetIntegerv (GLenum pname, GLint *data); +GL_APICALL void GL_APIENTRY glGetProgramiv (GLuint program, GLenum pname, GLint *params); +GL_APICALL void GL_APIENTRY glGetProgramInfoLog (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog); +GL_APICALL void GL_APIENTRY glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint *params); +GL_APICALL void GL_APIENTRY glGetShaderiv (GLuint shader, GLenum pname, GLint *params); +GL_APICALL void GL_APIENTRY glGetShaderInfoLog (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog); +GL_APICALL void GL_APIENTRY glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint *range, GLint *precision); +GL_APICALL void GL_APIENTRY glGetShaderSource (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source); +GL_APICALL const GLubyte *GL_APIENTRY glGetString (GLenum name); +GL_APICALL void GL_APIENTRY glGetTexParameterfv (GLenum target, GLenum pname, GLfloat *params); +GL_APICALL void GL_APIENTRY glGetTexParameteriv (GLenum target, GLenum pname, GLint *params); +GL_APICALL void GL_APIENTRY glGetUniformfv (GLuint program, GLint location, GLfloat *params); +GL_APICALL void GL_APIENTRY glGetUniformiv (GLuint program, GLint location, GLint *params); +GL_APICALL GLint GL_APIENTRY glGetUniformLocation (GLuint program, const GLchar *name); +GL_APICALL void GL_APIENTRY glGetVertexAttribfv (GLuint index, GLenum pname, GLfloat *params); +GL_APICALL void GL_APIENTRY glGetVertexAttribiv (GLuint index, GLenum pname, GLint *params); +GL_APICALL void GL_APIENTRY glGetVertexAttribPointerv (GLuint index, GLenum pname, void **pointer); +GL_APICALL void GL_APIENTRY glHint (GLenum target, GLenum mode); +GL_APICALL GLboolean GL_APIENTRY glIsBuffer (GLuint buffer); +GL_APICALL GLboolean GL_APIENTRY glIsEnabled (GLenum cap); +GL_APICALL GLboolean GL_APIENTRY glIsFramebuffer (GLuint framebuffer); +GL_APICALL GLboolean GL_APIENTRY glIsProgram (GLuint program); +GL_APICALL GLboolean GL_APIENTRY glIsRenderbuffer (GLuint renderbuffer); +GL_APICALL GLboolean GL_APIENTRY glIsShader (GLuint shader); +GL_APICALL GLboolean GL_APIENTRY glIsTexture (GLuint texture); +GL_APICALL void GL_APIENTRY glLineWidth (GLfloat width); +GL_APICALL void GL_APIENTRY glLinkProgram (GLuint program); +GL_APICALL void GL_APIENTRY glPixelStorei (GLenum pname, GLint param); +GL_APICALL void GL_APIENTRY glPolygonOffset (GLfloat factor, GLfloat units); +GL_APICALL void GL_APIENTRY glReadPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels); +GL_APICALL void GL_APIENTRY glReleaseShaderCompiler (void); +GL_APICALL void GL_APIENTRY glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height); +GL_APICALL void GL_APIENTRY glSampleCoverage (GLfloat value, GLboolean invert); +GL_APICALL void GL_APIENTRY glScissor (GLint x, GLint y, GLsizei width, GLsizei height); +GL_APICALL void GL_APIENTRY glShaderBinary (GLsizei count, const GLuint *shaders, GLenum binaryFormat, const void *binary, GLsizei length); +GL_APICALL void GL_APIENTRY glShaderSource (GLuint shader, GLsizei count, const GLchar *const*string, const GLint *length); +GL_APICALL void GL_APIENTRY glStencilFunc (GLenum func, GLint ref, GLuint mask); +GL_APICALL void GL_APIENTRY glStencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask); +GL_APICALL void GL_APIENTRY glStencilMask (GLuint mask); +GL_APICALL void GL_APIENTRY glStencilMaskSeparate (GLenum face, GLuint mask); +GL_APICALL void GL_APIENTRY glStencilOp (GLenum fail, GLenum zfail, GLenum zpass); +GL_APICALL void GL_APIENTRY glStencilOpSeparate (GLenum face, GLenum sfail, GLenum dpfail, GLenum dppass); +GL_APICALL void GL_APIENTRY glTexImage2D (GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels); +GL_APICALL void GL_APIENTRY glTexParameterf (GLenum target, GLenum pname, GLfloat param); +GL_APICALL void GL_APIENTRY glTexParameterfv (GLenum target, GLenum pname, const GLfloat *params); +GL_APICALL void GL_APIENTRY glTexParameteri (GLenum target, GLenum pname, GLint param); +GL_APICALL void GL_APIENTRY glTexParameteriv (GLenum target, GLenum pname, const GLint *params); +GL_APICALL void GL_APIENTRY glTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels); +GL_APICALL void GL_APIENTRY glUniform1f (GLint location, GLfloat v0); +GL_APICALL void GL_APIENTRY glUniform1fv (GLint location, GLsizei count, const GLfloat *value); +GL_APICALL void GL_APIENTRY glUniform1i (GLint location, GLint v0); +GL_APICALL void GL_APIENTRY glUniform1iv (GLint location, GLsizei count, const GLint *value); +GL_APICALL void GL_APIENTRY glUniform2f (GLint location, GLfloat v0, GLfloat v1); +GL_APICALL void GL_APIENTRY glUniform2fv (GLint location, GLsizei count, const GLfloat *value); +GL_APICALL void GL_APIENTRY glUniform2i (GLint location, GLint v0, GLint v1); +GL_APICALL void GL_APIENTRY glUniform2iv (GLint location, GLsizei count, const GLint *value); +GL_APICALL void GL_APIENTRY glUniform3f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2); +GL_APICALL void GL_APIENTRY glUniform3fv (GLint location, GLsizei count, const GLfloat *value); +GL_APICALL void GL_APIENTRY glUniform3i (GLint location, GLint v0, GLint v1, GLint v2); +GL_APICALL void GL_APIENTRY glUniform3iv (GLint location, GLsizei count, const GLint *value); +GL_APICALL void GL_APIENTRY glUniform4f (GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); +GL_APICALL void GL_APIENTRY glUniform4fv (GLint location, GLsizei count, const GLfloat *value); +GL_APICALL void GL_APIENTRY glUniform4i (GLint location, GLint v0, GLint v1, GLint v2, GLint v3); +GL_APICALL void GL_APIENTRY glUniform4iv (GLint location, GLsizei count, const GLint *value); +GL_APICALL void GL_APIENTRY glUniformMatrix2fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GL_APICALL void GL_APIENTRY glUniformMatrix3fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GL_APICALL void GL_APIENTRY glUniformMatrix4fv (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GL_APICALL void GL_APIENTRY glUseProgram (GLuint program); +GL_APICALL void GL_APIENTRY glValidateProgram (GLuint program); +GL_APICALL void GL_APIENTRY glVertexAttrib1f (GLuint index, GLfloat x); +GL_APICALL void GL_APIENTRY glVertexAttrib1fv (GLuint index, const GLfloat *v); +GL_APICALL void GL_APIENTRY glVertexAttrib2f (GLuint index, GLfloat x, GLfloat y); +GL_APICALL void GL_APIENTRY glVertexAttrib2fv (GLuint index, const GLfloat *v); +GL_APICALL void GL_APIENTRY glVertexAttrib3f (GLuint index, GLfloat x, GLfloat y, GLfloat z); +GL_APICALL void GL_APIENTRY glVertexAttrib3fv (GLuint index, const GLfloat *v); +GL_APICALL void GL_APIENTRY glVertexAttrib4f (GLuint index, GLfloat x, GLfloat y, GLfloat z, GLfloat w); +GL_APICALL void GL_APIENTRY glVertexAttrib4fv (GLuint index, const GLfloat *v); +GL_APICALL void GL_APIENTRY glVertexAttribPointer (GLuint index, GLint size, GLenum type, GLboolean normalized, GLsizei stride, const void *pointer); +GL_APICALL void GL_APIENTRY glViewport (GLint x, GLint y, GLsizei width, GLsizei height); +#endif +#endif /* GL_ES_VERSION_2_0 */ #ifdef __cplusplus } #endif -#endif /* __gl2_h_ */ - +#endif diff --git a/extlib/SDL2/include/SDL_opengles2_gl2ext.h b/extlib/SDL2/include/SDL_opengles2_gl2ext.h index e8ca8b13..9448ce09 100644 --- a/extlib/SDL2/include/SDL_opengles2_gl2ext.h +++ b/extlib/SDL2/include/SDL_opengles2_gl2ext.h @@ -1,1395 +1,1013 @@ -#ifndef __gl2ext_h_ -#define __gl2ext_h_ - -/* $Revision: 22801 $ on $Date:: 2013-08-21 03:20:48 -0700 #$ */ +#ifndef __gles2_gl2ext_h_ +#define __gles2_gl2ext_h_ 1 #ifdef __cplusplus extern "C" { #endif /* - * This document is licensed under the SGI Free Software B License Version - * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . - */ +** Copyright 2013-2020 The Khronos Group Inc. +** SPDX-License-Identifier: MIT +** +** This header is generated from the Khronos OpenGL / OpenGL ES XML +** API Registry. The current version of the Registry, generator scripts +** used to make the header, and the header can be found at +** https://github.com/KhronosGroup/OpenGL-Registry +*/ #ifndef GL_APIENTRYP -# define GL_APIENTRYP GL_APIENTRY* +#define GL_APIENTRYP GL_APIENTRY* #endif -/* New types shared by several extensions */ +/* Generated on date 20220530 */ -#ifndef __gl3_h_ -/* These are defined with respect to in the - * Apple extension spec, but they are also used by non-APPLE - * extensions, and in the Khronos header we use the Khronos - * portable types in khrplatform.h, which must be defined. +/* Generated C header for: + * API: gles2 + * Profile: common + * Versions considered: 2\.[0-9] + * Versions emitted: _nomatch_^ + * Default extensions included: gles2 + * Additional extensions included: _nomatch_^ + * Extensions removed: _nomatch_^ */ -typedef khronos_int64_t GLint64; -typedef khronos_uint64_t GLuint64; -typedef struct __GLsync *GLsync; -#endif - - -/*------------------------------------------------------------------------* - * OES extension tokens - *------------------------------------------------------------------------*/ - -/* GL_OES_compressed_ETC1_RGB8_texture */ -#ifndef GL_OES_compressed_ETC1_RGB8_texture -#define GL_ETC1_RGB8_OES 0x8D64 -#endif - -/* GL_OES_compressed_paletted_texture */ -#ifndef GL_OES_compressed_paletted_texture -#define GL_PALETTE4_RGB8_OES 0x8B90 -#define GL_PALETTE4_RGBA8_OES 0x8B91 -#define GL_PALETTE4_R5_G6_B5_OES 0x8B92 -#define GL_PALETTE4_RGBA4_OES 0x8B93 -#define GL_PALETTE4_RGB5_A1_OES 0x8B94 -#define GL_PALETTE8_RGB8_OES 0x8B95 -#define GL_PALETTE8_RGBA8_OES 0x8B96 -#define GL_PALETTE8_R5_G6_B5_OES 0x8B97 -#define GL_PALETTE8_RGBA4_OES 0x8B98 -#define GL_PALETTE8_RGB5_A1_OES 0x8B99 -#endif - -/* GL_OES_depth24 */ -#ifndef GL_OES_depth24 -#define GL_DEPTH_COMPONENT24_OES 0x81A6 -#endif - -/* GL_OES_depth32 */ -#ifndef GL_OES_depth32 -#define GL_DEPTH_COMPONENT32_OES 0x81A7 -#endif - -/* GL_OES_depth_texture */ -/* No new tokens introduced by this extension. */ - -/* GL_OES_EGL_image */ -#ifndef GL_OES_EGL_image -typedef void* GLeglImageOES; -#endif - -/* GL_OES_EGL_image_external */ -#ifndef GL_OES_EGL_image_external -/* GLeglImageOES defined in GL_OES_EGL_image already. */ -#define GL_TEXTURE_EXTERNAL_OES 0x8D65 -#define GL_SAMPLER_EXTERNAL_OES 0x8D66 -#define GL_TEXTURE_BINDING_EXTERNAL_OES 0x8D67 -#define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES 0x8D68 -#endif - -/* GL_OES_element_index_uint */ -#ifndef GL_OES_element_index_uint -#define GL_UNSIGNED_INT 0x1405 -#endif - -/* GL_OES_get_program_binary */ -#ifndef GL_OES_get_program_binary -#define GL_PROGRAM_BINARY_LENGTH_OES 0x8741 -#define GL_NUM_PROGRAM_BINARY_FORMATS_OES 0x87FE -#define GL_PROGRAM_BINARY_FORMATS_OES 0x87FF -#endif - -/* GL_OES_mapbuffer */ -#ifndef GL_OES_mapbuffer -#define GL_WRITE_ONLY_OES 0x88B9 -#define GL_BUFFER_ACCESS_OES 0x88BB -#define GL_BUFFER_MAPPED_OES 0x88BC -#define GL_BUFFER_MAP_POINTER_OES 0x88BD -#endif - -/* GL_OES_packed_depth_stencil */ -#ifndef GL_OES_packed_depth_stencil -#define GL_DEPTH_STENCIL_OES 0x84F9 -#define GL_UNSIGNED_INT_24_8_OES 0x84FA -#define GL_DEPTH24_STENCIL8_OES 0x88F0 -#endif - -/* GL_OES_required_internalformat */ -#ifndef GL_OES_required_internalformat -#define GL_ALPHA8_OES 0x803C -#define GL_DEPTH_COMPONENT16_OES 0x81A5 -/* reuse GL_DEPTH_COMPONENT24_OES */ -/* reuse GL_DEPTH24_STENCIL8_OES */ -/* reuse GL_DEPTH_COMPONENT32_OES */ -#define GL_LUMINANCE4_ALPHA4_OES 0x8043 -#define GL_LUMINANCE8_ALPHA8_OES 0x8045 -#define GL_LUMINANCE8_OES 0x8040 -#define GL_RGBA4_OES 0x8056 -#define GL_RGB5_A1_OES 0x8057 -#define GL_RGB565_OES 0x8D62 -/* reuse GL_RGB8_OES */ -/* reuse GL_RGBA8_OES */ -/* reuse GL_RGB10_EXT */ -/* reuse GL_RGB10_A2_EXT */ -#endif - -/* GL_OES_rgb8_rgba8 */ -#ifndef GL_OES_rgb8_rgba8 -#define GL_RGB8_OES 0x8051 -#define GL_RGBA8_OES 0x8058 -#endif - -/* GL_OES_standard_derivatives */ -#ifndef GL_OES_standard_derivatives -#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES 0x8B8B -#endif - -/* GL_OES_stencil1 */ -#ifndef GL_OES_stencil1 -#define GL_STENCIL_INDEX1_OES 0x8D46 -#endif - -/* GL_OES_stencil4 */ -#ifndef GL_OES_stencil4 -#define GL_STENCIL_INDEX4_OES 0x8D47 -#endif - -#ifndef GL_OES_surfaceless_context -#define GL_FRAMEBUFFER_UNDEFINED_OES 0x8219 -#endif - -/* GL_OES_texture_3D */ -#ifndef GL_OES_texture_3D -#define GL_TEXTURE_WRAP_R_OES 0x8072 -#define GL_TEXTURE_3D_OES 0x806F -#define GL_TEXTURE_BINDING_3D_OES 0x806A -#define GL_MAX_3D_TEXTURE_SIZE_OES 0x8073 -#define GL_SAMPLER_3D_OES 0x8B5F -#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES 0x8CD4 -#endif - -/* GL_OES_texture_float */ -/* No new tokens introduced by this extension. */ -/* GL_OES_texture_float_linear */ -/* No new tokens introduced by this extension. */ - -/* GL_OES_texture_half_float */ -#ifndef GL_OES_texture_half_float -#define GL_HALF_FLOAT_OES 0x8D61 -#endif - -/* GL_OES_texture_half_float_linear */ -/* No new tokens introduced by this extension. */ - -/* GL_OES_texture_npot */ -/* No new tokens introduced by this extension. */ - -/* GL_OES_vertex_array_object */ -#ifndef GL_OES_vertex_array_object -#define GL_VERTEX_ARRAY_BINDING_OES 0x85B5 +#ifndef GL_KHR_blend_equation_advanced +#define GL_KHR_blend_equation_advanced 1 +#define GL_MULTIPLY_KHR 0x9294 +#define GL_SCREEN_KHR 0x9295 +#define GL_OVERLAY_KHR 0x9296 +#define GL_DARKEN_KHR 0x9297 +#define GL_LIGHTEN_KHR 0x9298 +#define GL_COLORDODGE_KHR 0x9299 +#define GL_COLORBURN_KHR 0x929A +#define GL_HARDLIGHT_KHR 0x929B +#define GL_SOFTLIGHT_KHR 0x929C +#define GL_DIFFERENCE_KHR 0x929E +#define GL_EXCLUSION_KHR 0x92A0 +#define GL_HSL_HUE_KHR 0x92AD +#define GL_HSL_SATURATION_KHR 0x92AE +#define GL_HSL_COLOR_KHR 0x92AF +#define GL_HSL_LUMINOSITY_KHR 0x92B0 +typedef void (GL_APIENTRYP PFNGLBLENDBARRIERKHRPROC) (void); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glBlendBarrierKHR (void); #endif +#endif /* GL_KHR_blend_equation_advanced */ -/* GL_OES_vertex_half_float */ -/* GL_HALF_FLOAT_OES defined in GL_OES_texture_half_float already. */ - -/* GL_OES_vertex_type_10_10_10_2 */ -#ifndef GL_OES_vertex_type_10_10_10_2 -#define GL_UNSIGNED_INT_10_10_10_2_OES 0x8DF6 -#define GL_INT_10_10_10_2_OES 0x8DF7 -#endif +#ifndef GL_KHR_blend_equation_advanced_coherent +#define GL_KHR_blend_equation_advanced_coherent 1 +#define GL_BLEND_ADVANCED_COHERENT_KHR 0x9285 +#endif /* GL_KHR_blend_equation_advanced_coherent */ -/*------------------------------------------------------------------------* - * KHR extension tokens - *------------------------------------------------------------------------*/ +#ifndef GL_KHR_context_flush_control +#define GL_KHR_context_flush_control 1 +#define GL_CONTEXT_RELEASE_BEHAVIOR_KHR 0x82FB +#define GL_CONTEXT_RELEASE_BEHAVIOR_FLUSH_KHR 0x82FC +#endif /* GL_KHR_context_flush_control */ #ifndef GL_KHR_debug -typedef void (GL_APIENTRYP GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); -#define GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR 0x8242 -#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR 0x8243 -#define GL_DEBUG_CALLBACK_FUNCTION_KHR 0x8244 -#define GL_DEBUG_CALLBACK_USER_PARAM_KHR 0x8245 -#define GL_DEBUG_SOURCE_API_KHR 0x8246 -#define GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR 0x8247 -#define GL_DEBUG_SOURCE_SHADER_COMPILER_KHR 0x8248 -#define GL_DEBUG_SOURCE_THIRD_PARTY_KHR 0x8249 -#define GL_DEBUG_SOURCE_APPLICATION_KHR 0x824A -#define GL_DEBUG_SOURCE_OTHER_KHR 0x824B -#define GL_DEBUG_TYPE_ERROR_KHR 0x824C -#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR 0x824D -#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR 0x824E -#define GL_DEBUG_TYPE_PORTABILITY_KHR 0x824F -#define GL_DEBUG_TYPE_PERFORMANCE_KHR 0x8250 -#define GL_DEBUG_TYPE_OTHER_KHR 0x8251 -#define GL_DEBUG_TYPE_MARKER_KHR 0x8268 -#define GL_DEBUG_TYPE_PUSH_GROUP_KHR 0x8269 -#define GL_DEBUG_TYPE_POP_GROUP_KHR 0x826A -#define GL_DEBUG_SEVERITY_NOTIFICATION_KHR 0x826B -#define GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR 0x826C -#define GL_DEBUG_GROUP_STACK_DEPTH_KHR 0x826D -#define GL_BUFFER_KHR 0x82E0 -#define GL_SHADER_KHR 0x82E1 -#define GL_PROGRAM_KHR 0x82E2 -#define GL_QUERY_KHR 0x82E3 -/* PROGRAM_PIPELINE only in GL */ -#define GL_SAMPLER_KHR 0x82E6 -/* DISPLAY_LIST only in GL */ -#define GL_MAX_LABEL_LENGTH_KHR 0x82E8 -#define GL_MAX_DEBUG_MESSAGE_LENGTH_KHR 0x9143 -#define GL_MAX_DEBUG_LOGGED_MESSAGES_KHR 0x9144 -#define GL_DEBUG_LOGGED_MESSAGES_KHR 0x9145 -#define GL_DEBUG_SEVERITY_HIGH_KHR 0x9146 -#define GL_DEBUG_SEVERITY_MEDIUM_KHR 0x9147 -#define GL_DEBUG_SEVERITY_LOW_KHR 0x9148 -#define GL_DEBUG_OUTPUT_KHR 0x92E0 -#define GL_CONTEXT_FLAG_DEBUG_BIT_KHR 0x00000002 -#define GL_STACK_OVERFLOW_KHR 0x0503 -#define GL_STACK_UNDERFLOW_KHR 0x0504 -#endif - -#ifndef GL_KHR_texture_compression_astc_ldr -#define GL_COMPRESSED_RGBA_ASTC_4x4_KHR 0x93B0 -#define GL_COMPRESSED_RGBA_ASTC_5x4_KHR 0x93B1 -#define GL_COMPRESSED_RGBA_ASTC_5x5_KHR 0x93B2 -#define GL_COMPRESSED_RGBA_ASTC_6x5_KHR 0x93B3 -#define GL_COMPRESSED_RGBA_ASTC_6x6_KHR 0x93B4 -#define GL_COMPRESSED_RGBA_ASTC_8x5_KHR 0x93B5 -#define GL_COMPRESSED_RGBA_ASTC_8x6_KHR 0x93B6 -#define GL_COMPRESSED_RGBA_ASTC_8x8_KHR 0x93B7 -#define GL_COMPRESSED_RGBA_ASTC_10x5_KHR 0x93B8 -#define GL_COMPRESSED_RGBA_ASTC_10x6_KHR 0x93B9 -#define GL_COMPRESSED_RGBA_ASTC_10x8_KHR 0x93BA -#define GL_COMPRESSED_RGBA_ASTC_10x10_KHR 0x93BB -#define GL_COMPRESSED_RGBA_ASTC_12x10_KHR 0x93BC -#define GL_COMPRESSED_RGBA_ASTC_12x12_KHR 0x93BD -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR 0x93D0 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR 0x93D1 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR 0x93D2 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR 0x93D3 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR 0x93D4 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR 0x93D5 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR 0x93D6 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR 0x93D7 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR 0x93D8 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR 0x93D9 -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR 0x93DA -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR 0x93DB -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR 0x93DC -#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR 0x93DD -#endif - -/*------------------------------------------------------------------------* - * AMD extension tokens - *------------------------------------------------------------------------*/ - -/* GL_AMD_compressed_3DC_texture */ -#ifndef GL_AMD_compressed_3DC_texture -#define GL_3DC_X_AMD 0x87F9 -#define GL_3DC_XY_AMD 0x87FA -#endif - -/* GL_AMD_compressed_ATC_texture */ -#ifndef GL_AMD_compressed_ATC_texture -#define GL_ATC_RGB_AMD 0x8C92 -#define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93 -#define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE -#endif - -/* GL_AMD_performance_monitor */ -#ifndef GL_AMD_performance_monitor -#define GL_COUNTER_TYPE_AMD 0x8BC0 -#define GL_COUNTER_RANGE_AMD 0x8BC1 -#define GL_UNSIGNED_INT64_AMD 0x8BC2 -#define GL_PERCENTAGE_AMD 0x8BC3 -#define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4 -#define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5 -#define GL_PERFMON_RESULT_AMD 0x8BC6 -#endif - -/* GL_AMD_program_binary_Z400 */ -#ifndef GL_AMD_program_binary_Z400 -#define GL_Z400_BINARY_AMD 0x8740 -#endif - -/*------------------------------------------------------------------------* - * ANGLE extension tokens - *------------------------------------------------------------------------*/ - -/* GL_ANGLE_depth_texture */ -#ifndef GL_ANGLE_depth_texture -#define GL_DEPTH_COMPONENT 0x1902 -#define GL_DEPTH_STENCIL_OES 0x84F9 -#define GL_UNSIGNED_SHORT 0x1403 -#define GL_UNSIGNED_INT 0x1405 -#define GL_UNSIGNED_INT_24_8_OES 0x84FA -#define GL_DEPTH_COMPONENT16 0x81A5 -#define GL_DEPTH_COMPONENT32_OES 0x81A7 -#define GL_DEPTH24_STENCIL8_OES 0x88F0 -#endif - -/* GL_ANGLE_framebuffer_blit */ -#ifndef GL_ANGLE_framebuffer_blit -#define GL_READ_FRAMEBUFFER_ANGLE 0x8CA8 -#define GL_DRAW_FRAMEBUFFER_ANGLE 0x8CA9 -#define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE 0x8CA6 -#define GL_READ_FRAMEBUFFER_BINDING_ANGLE 0x8CAA -#endif - -/* GL_ANGLE_framebuffer_multisample */ -#ifndef GL_ANGLE_framebuffer_multisample -#define GL_RENDERBUFFER_SAMPLES_ANGLE 0x8CAB -#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE 0x8D56 -#define GL_MAX_SAMPLES_ANGLE 0x8D57 -#endif - -/* GL_ANGLE_instanced_arrays */ -#ifndef GL_ANGLE_instanced_arrays -#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE 0x88FE -#endif - -/* GL_ANGLE_pack_reverse_row_order */ -#ifndef GL_ANGLE_pack_reverse_row_order -#define GL_PACK_REVERSE_ROW_ORDER_ANGLE 0x93A4 -#endif - -/* GL_ANGLE_program_binary */ -#ifndef GL_ANGLE_program_binary -#define GL_PROGRAM_BINARY_ANGLE 0x93A6 -#endif - -/* GL_ANGLE_texture_compression_dxt3 */ -#ifndef GL_ANGLE_texture_compression_dxt3 -#define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE 0x83F2 -#endif - -/* GL_ANGLE_texture_compression_dxt5 */ -#ifndef GL_ANGLE_texture_compression_dxt5 -#define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE 0x83F3 -#endif - -/* GL_ANGLE_texture_usage */ -#ifndef GL_ANGLE_texture_usage -#define GL_TEXTURE_USAGE_ANGLE 0x93A2 -#define GL_FRAMEBUFFER_ATTACHMENT_ANGLE 0x93A3 -#endif - -/* GL_ANGLE_translated_shader_source */ -#ifndef GL_ANGLE_translated_shader_source -#define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE 0x93A0 -#endif - -/*------------------------------------------------------------------------* - * APPLE extension tokens - *------------------------------------------------------------------------*/ - -/* GL_APPLE_copy_texture_levels */ -/* No new tokens introduced by this extension. */ - -/* GL_APPLE_framebuffer_multisample */ -#ifndef GL_APPLE_framebuffer_multisample -#define GL_RENDERBUFFER_SAMPLES_APPLE 0x8CAB -#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE 0x8D56 -#define GL_MAX_SAMPLES_APPLE 0x8D57 -#define GL_READ_FRAMEBUFFER_APPLE 0x8CA8 -#define GL_DRAW_FRAMEBUFFER_APPLE 0x8CA9 -#define GL_DRAW_FRAMEBUFFER_BINDING_APPLE 0x8CA6 -#define GL_READ_FRAMEBUFFER_BINDING_APPLE 0x8CAA -#endif - -/* GL_APPLE_rgb_422 */ -#ifndef GL_APPLE_rgb_422 -#define GL_RGB_422_APPLE 0x8A1F -#define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA -#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB -#endif - -/* GL_APPLE_sync */ -#ifndef GL_APPLE_sync - -#define GL_SYNC_OBJECT_APPLE 0x8A53 -#define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE 0x9111 -#define GL_OBJECT_TYPE_APPLE 0x9112 -#define GL_SYNC_CONDITION_APPLE 0x9113 -#define GL_SYNC_STATUS_APPLE 0x9114 -#define GL_SYNC_FLAGS_APPLE 0x9115 -#define GL_SYNC_FENCE_APPLE 0x9116 -#define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE 0x9117 -#define GL_UNSIGNALED_APPLE 0x9118 -#define GL_SIGNALED_APPLE 0x9119 -#define GL_ALREADY_SIGNALED_APPLE 0x911A -#define GL_TIMEOUT_EXPIRED_APPLE 0x911B -#define GL_CONDITION_SATISFIED_APPLE 0x911C -#define GL_WAIT_FAILED_APPLE 0x911D -#define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE 0x00000001 -#define GL_TIMEOUT_IGNORED_APPLE 0xFFFFFFFFFFFFFFFFull -#endif - -/* GL_APPLE_texture_format_BGRA8888 */ -#ifndef GL_APPLE_texture_format_BGRA8888 -#define GL_BGRA_EXT 0x80E1 -#endif - -/* GL_APPLE_texture_max_level */ -#ifndef GL_APPLE_texture_max_level -#define GL_TEXTURE_MAX_LEVEL_APPLE 0x813D -#endif - -/*------------------------------------------------------------------------* - * ARM extension tokens - *------------------------------------------------------------------------*/ - -/* GL_ARM_mali_program_binary */ -#ifndef GL_ARM_mali_program_binary -#define GL_MALI_PROGRAM_BINARY_ARM 0x8F61 -#endif - -/* GL_ARM_mali_shader_binary */ -#ifndef GL_ARM_mali_shader_binary -#define GL_MALI_SHADER_BINARY_ARM 0x8F60 -#endif - -/* GL_ARM_rgba8 */ -/* No new tokens introduced by this extension. */ - -/*------------------------------------------------------------------------* - * EXT extension tokens - *------------------------------------------------------------------------*/ - -/* GL_EXT_blend_minmax */ -#ifndef GL_EXT_blend_minmax -#define GL_MIN_EXT 0x8007 -#define GL_MAX_EXT 0x8008 -#endif - -/* GL_EXT_color_buffer_half_float */ -#ifndef GL_EXT_color_buffer_half_float -#define GL_RGBA16F_EXT 0x881A -#define GL_RGB16F_EXT 0x881B -#define GL_RG16F_EXT 0x822F -#define GL_R16F_EXT 0x822D -#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT 0x8211 -#define GL_UNSIGNED_NORMALIZED_EXT 0x8C17 -#endif - -/* GL_EXT_debug_label */ -#ifndef GL_EXT_debug_label -#define GL_PROGRAM_PIPELINE_OBJECT_EXT 0x8A4F -#define GL_PROGRAM_OBJECT_EXT 0x8B40 -#define GL_SHADER_OBJECT_EXT 0x8B48 -#define GL_BUFFER_OBJECT_EXT 0x9151 -#define GL_QUERY_OBJECT_EXT 0x9153 -#define GL_VERTEX_ARRAY_OBJECT_EXT 0x9154 -#endif - -/* GL_EXT_debug_marker */ -/* No new tokens introduced by this extension. */ - -/* GL_EXT_discard_framebuffer */ -#ifndef GL_EXT_discard_framebuffer -#define GL_COLOR_EXT 0x1800 -#define GL_DEPTH_EXT 0x1801 -#define GL_STENCIL_EXT 0x1802 -#endif - -#ifndef GL_EXT_disjoint_timer_query -#define GL_QUERY_COUNTER_BITS_EXT 0x8864 -#define GL_CURRENT_QUERY_EXT 0x8865 -#define GL_QUERY_RESULT_EXT 0x8866 -#define GL_QUERY_RESULT_AVAILABLE_EXT 0x8867 -#define GL_TIME_ELAPSED_EXT 0x88BF -#define GL_TIMESTAMP_EXT 0x8E28 -#define GL_GPU_DISJOINT_EXT 0x8FBB -#endif - -#ifndef GL_EXT_draw_buffers -#define GL_EXT_draw_buffers 1 -#define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF -#define GL_MAX_DRAW_BUFFERS_EXT 0x8824 -#define GL_DRAW_BUFFER0_EXT 0x8825 -#define GL_DRAW_BUFFER1_EXT 0x8826 -#define GL_DRAW_BUFFER2_EXT 0x8827 -#define GL_DRAW_BUFFER3_EXT 0x8828 -#define GL_DRAW_BUFFER4_EXT 0x8829 -#define GL_DRAW_BUFFER5_EXT 0x882A -#define GL_DRAW_BUFFER6_EXT 0x882B -#define GL_DRAW_BUFFER7_EXT 0x882C -#define GL_DRAW_BUFFER8_EXT 0x882D -#define GL_DRAW_BUFFER9_EXT 0x882E -#define GL_DRAW_BUFFER10_EXT 0x882F -#define GL_DRAW_BUFFER11_EXT 0x8830 -#define GL_DRAW_BUFFER12_EXT 0x8831 -#define GL_DRAW_BUFFER13_EXT 0x8832 -#define GL_DRAW_BUFFER14_EXT 0x8833 -#define GL_DRAW_BUFFER15_EXT 0x8834 -#define GL_COLOR_ATTACHMENT0_EXT 0x8CE0 -#define GL_COLOR_ATTACHMENT1_EXT 0x8CE1 -#define GL_COLOR_ATTACHMENT2_EXT 0x8CE2 -#define GL_COLOR_ATTACHMENT3_EXT 0x8CE3 -#define GL_COLOR_ATTACHMENT4_EXT 0x8CE4 -#define GL_COLOR_ATTACHMENT5_EXT 0x8CE5 -#define GL_COLOR_ATTACHMENT6_EXT 0x8CE6 -#define GL_COLOR_ATTACHMENT7_EXT 0x8CE7 -#define GL_COLOR_ATTACHMENT8_EXT 0x8CE8 -#define GL_COLOR_ATTACHMENT9_EXT 0x8CE9 -#define GL_COLOR_ATTACHMENT10_EXT 0x8CEA -#define GL_COLOR_ATTACHMENT11_EXT 0x8CEB -#define GL_COLOR_ATTACHMENT12_EXT 0x8CEC -#define GL_COLOR_ATTACHMENT13_EXT 0x8CED -#define GL_COLOR_ATTACHMENT14_EXT 0x8CEE -#define GL_COLOR_ATTACHMENT15_EXT 0x8CEF -#endif - -/* GL_EXT_map_buffer_range */ -#ifndef GL_EXT_map_buffer_range -#define GL_MAP_READ_BIT_EXT 0x0001 -#define GL_MAP_WRITE_BIT_EXT 0x0002 -#define GL_MAP_INVALIDATE_RANGE_BIT_EXT 0x0004 -#define GL_MAP_INVALIDATE_BUFFER_BIT_EXT 0x0008 -#define GL_MAP_FLUSH_EXPLICIT_BIT_EXT 0x0010 -#define GL_MAP_UNSYNCHRONIZED_BIT_EXT 0x0020 -#endif - -/* GL_EXT_multisampled_render_to_texture */ -#ifndef GL_EXT_multisampled_render_to_texture -#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT 0x8D6C -/* reuse values from GL_EXT_framebuffer_multisample (desktop extension) */ -#define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB -#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56 -#define GL_MAX_SAMPLES_EXT 0x8D57 -#endif - -/* GL_EXT_multiview_draw_buffers */ -#ifndef GL_EXT_multiview_draw_buffers -#define GL_COLOR_ATTACHMENT_EXT 0x90F0 -#define GL_MULTIVIEW_EXT 0x90F1 -#define GL_DRAW_BUFFER_EXT 0x0C01 -#define GL_READ_BUFFER_EXT 0x0C02 -#define GL_MAX_MULTIVIEW_BUFFERS_EXT 0x90F2 -#endif - -/* GL_EXT_multi_draw_arrays */ -/* No new tokens introduced by this extension. */ - -/* GL_EXT_occlusion_query_boolean */ -#ifndef GL_EXT_occlusion_query_boolean -#define GL_ANY_SAMPLES_PASSED_EXT 0x8C2F -#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT 0x8D6A -#define GL_CURRENT_QUERY_EXT 0x8865 -#define GL_QUERY_RESULT_EXT 0x8866 -#define GL_QUERY_RESULT_AVAILABLE_EXT 0x8867 -#endif - -/* GL_EXT_read_format_bgra */ -#ifndef GL_EXT_read_format_bgra -#define GL_BGRA_EXT 0x80E1 -#define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365 -#define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366 -#endif - -/* GL_EXT_robustness */ -#ifndef GL_EXT_robustness -/* reuse GL_NO_ERROR */ -#define GL_GUILTY_CONTEXT_RESET_EXT 0x8253 -#define GL_INNOCENT_CONTEXT_RESET_EXT 0x8254 -#define GL_UNKNOWN_CONTEXT_RESET_EXT 0x8255 -#define GL_CONTEXT_ROBUST_ACCESS_EXT 0x90F3 -#define GL_RESET_NOTIFICATION_STRATEGY_EXT 0x8256 -#define GL_LOSE_CONTEXT_ON_RESET_EXT 0x8252 -#define GL_NO_RESET_NOTIFICATION_EXT 0x8261 -#endif - -/* GL_EXT_separate_shader_objects */ -#ifndef GL_EXT_separate_shader_objects -#define GL_VERTEX_SHADER_BIT_EXT 0x00000001 -#define GL_FRAGMENT_SHADER_BIT_EXT 0x00000002 -#define GL_ALL_SHADER_BITS_EXT 0xFFFFFFFF -#define GL_PROGRAM_SEPARABLE_EXT 0x8258 -#define GL_ACTIVE_PROGRAM_EXT 0x8259 -#define GL_PROGRAM_PIPELINE_BINDING_EXT 0x825A -#endif - -/* GL_EXT_shader_framebuffer_fetch */ -#ifndef GL_EXT_shader_framebuffer_fetch -#define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT 0x8A52 -#endif - -/* GL_EXT_shader_texture_lod */ -/* No new tokens introduced by this extension. */ - -/* GL_EXT_shadow_samplers */ -#ifndef GL_EXT_shadow_samplers -#define GL_TEXTURE_COMPARE_MODE_EXT 0x884C -#define GL_TEXTURE_COMPARE_FUNC_EXT 0x884D -#define GL_COMPARE_REF_TO_TEXTURE_EXT 0x884E -#define GL_SAMPLER_2D_SHADOW_EXT 0x8B62 -#endif - -/* GL_EXT_sRGB */ -#ifndef GL_EXT_sRGB -#define GL_SRGB_EXT 0x8C40 -#define GL_SRGB_ALPHA_EXT 0x8C42 -#define GL_SRGB8_ALPHA8_EXT 0x8C43 -#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT 0x8210 -#endif - -/* GL_EXT_sRGB_write_control */ -#ifndef GL_EXT_sRGB_write_control -#define GL_EXT_sRGB_write_control 1 -#define GL_FRAMEBUFFER_SRGB_EXT 0x8DB9 -#endif - -/* GL_EXT_texture_compression_dxt1 */ -#ifndef GL_EXT_texture_compression_dxt1 -#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0 -#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1 -#endif - -/* GL_EXT_texture_filter_anisotropic */ -#ifndef GL_EXT_texture_filter_anisotropic -#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE -#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF -#endif - -/* GL_EXT_texture_format_BGRA8888 */ -#ifndef GL_EXT_texture_format_BGRA8888 -#define GL_BGRA_EXT 0x80E1 -#endif - -/* GL_EXT_texture_rg */ -#ifndef GL_EXT_texture_rg -#define GL_RED_EXT 0x1903 -#define GL_RG_EXT 0x8227 -#define GL_R8_EXT 0x8229 -#define GL_RG8_EXT 0x822B -#endif - -/* GL_EXT_texture_sRGB_decode */ -#ifndef GL_EXT_texture_sRGB_decode -#define GL_EXT_texture_sRGB_decode 1 -#define GL_TEXTURE_SRGB_DECODE_EXT 0x8A48 -#define GL_DECODE_EXT 0x8A49 -#define GL_SKIP_DECODE_EXT 0x8A4A -#endif - -/* GL_EXT_texture_storage */ -#ifndef GL_EXT_texture_storage -#define GL_TEXTURE_IMMUTABLE_FORMAT_EXT 0x912F -#define GL_ALPHA8_EXT 0x803C -#define GL_LUMINANCE8_EXT 0x8040 -#define GL_LUMINANCE8_ALPHA8_EXT 0x8045 -#define GL_RGBA32F_EXT 0x8814 -#define GL_RGB32F_EXT 0x8815 -#define GL_ALPHA32F_EXT 0x8816 -#define GL_LUMINANCE32F_EXT 0x8818 -#define GL_LUMINANCE_ALPHA32F_EXT 0x8819 -/* reuse GL_RGBA16F_EXT */ -/* reuse GL_RGB16F_EXT */ -#define GL_ALPHA16F_EXT 0x881C -#define GL_LUMINANCE16F_EXT 0x881E -#define GL_LUMINANCE_ALPHA16F_EXT 0x881F -#define GL_RGB10_A2_EXT 0x8059 -#define GL_RGB10_EXT 0x8052 -#define GL_BGRA8_EXT 0x93A1 -#define GL_R8_EXT 0x8229 -#define GL_RG8_EXT 0x822B -#define GL_R32F_EXT 0x822E -#define GL_RG32F_EXT 0x8230 -#define GL_R16F_EXT 0x822D -#define GL_RG16F_EXT 0x822F -#endif - -/* GL_EXT_texture_type_2_10_10_10_REV */ -#ifndef GL_EXT_texture_type_2_10_10_10_REV -#define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368 -#endif - -/* GL_EXT_unpack_subimage */ -#ifndef GL_EXT_unpack_subimage -#define GL_UNPACK_ROW_LENGTH_EXT 0x0CF2 -#define GL_UNPACK_SKIP_ROWS_EXT 0x0CF3 -#define GL_UNPACK_SKIP_PIXELS_EXT 0x0CF4 -#endif - -/*------------------------------------------------------------------------* - * DMP extension tokens - *------------------------------------------------------------------------*/ - -/* GL_DMP_shader_binary */ -#ifndef GL_DMP_shader_binary -#define GL_SHADER_BINARY_DMP 0x9250 -#endif - -/*------------------------------------------------------------------------* - * FJ extension tokens - *------------------------------------------------------------------------*/ - -/* GL_FJ_shader_binary_GCCSO */ -#ifndef GL_FJ_shader_binary_GCCSO -#define GL_GCCSO_SHADER_BINARY_FJ 0x9260 -#endif - -/*------------------------------------------------------------------------* - * IMG extension tokens - *------------------------------------------------------------------------*/ - -/* GL_IMG_program_binary */ -#ifndef GL_IMG_program_binary -#define GL_SGX_PROGRAM_BINARY_IMG 0x9130 -#endif - -/* GL_IMG_read_format */ -#ifndef GL_IMG_read_format -#define GL_BGRA_IMG 0x80E1 -#define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365 -#endif - -/* GL_IMG_shader_binary */ -#ifndef GL_IMG_shader_binary -#define GL_SGX_BINARY_IMG 0x8C0A -#endif - -/* GL_IMG_texture_compression_pvrtc */ -#ifndef GL_IMG_texture_compression_pvrtc -#define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00 -#define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01 -#define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02 -#define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03 -#endif - -/* GL_IMG_texture_compression_pvrtc2 */ -#ifndef GL_IMG_texture_compression_pvrtc2 -#define GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG 0x9137 -#define GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG 0x9138 -#endif - -/* GL_IMG_multisampled_render_to_texture */ -#ifndef GL_IMG_multisampled_render_to_texture -#define GL_RENDERBUFFER_SAMPLES_IMG 0x9133 -#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134 -#define GL_MAX_SAMPLES_IMG 0x9135 -#define GL_TEXTURE_SAMPLES_IMG 0x9136 -#endif - -/*------------------------------------------------------------------------* - * NV extension tokens - *------------------------------------------------------------------------*/ - -/* GL_NV_coverage_sample */ -#ifndef GL_NV_coverage_sample -#define GL_COVERAGE_COMPONENT_NV 0x8ED0 -#define GL_COVERAGE_COMPONENT4_NV 0x8ED1 -#define GL_COVERAGE_ATTACHMENT_NV 0x8ED2 -#define GL_COVERAGE_BUFFERS_NV 0x8ED3 -#define GL_COVERAGE_SAMPLES_NV 0x8ED4 -#define GL_COVERAGE_ALL_FRAGMENTS_NV 0x8ED5 -#define GL_COVERAGE_EDGE_FRAGMENTS_NV 0x8ED6 -#define GL_COVERAGE_AUTOMATIC_NV 0x8ED7 -#define GL_COVERAGE_BUFFER_BIT_NV 0x00008000 -#endif - -/* GL_NV_depth_nonlinear */ -#ifndef GL_NV_depth_nonlinear -#define GL_DEPTH_COMPONENT16_NONLINEAR_NV 0x8E2C -#endif - -/* GL_NV_draw_buffers */ -#ifndef GL_NV_draw_buffers -#define GL_MAX_DRAW_BUFFERS_NV 0x8824 -#define GL_DRAW_BUFFER0_NV 0x8825 -#define GL_DRAW_BUFFER1_NV 0x8826 -#define GL_DRAW_BUFFER2_NV 0x8827 -#define GL_DRAW_BUFFER3_NV 0x8828 -#define GL_DRAW_BUFFER4_NV 0x8829 -#define GL_DRAW_BUFFER5_NV 0x882A -#define GL_DRAW_BUFFER6_NV 0x882B -#define GL_DRAW_BUFFER7_NV 0x882C -#define GL_DRAW_BUFFER8_NV 0x882D -#define GL_DRAW_BUFFER9_NV 0x882E -#define GL_DRAW_BUFFER10_NV 0x882F -#define GL_DRAW_BUFFER11_NV 0x8830 -#define GL_DRAW_BUFFER12_NV 0x8831 -#define GL_DRAW_BUFFER13_NV 0x8832 -#define GL_DRAW_BUFFER14_NV 0x8833 -#define GL_DRAW_BUFFER15_NV 0x8834 -#define GL_COLOR_ATTACHMENT0_NV 0x8CE0 -#define GL_COLOR_ATTACHMENT1_NV 0x8CE1 -#define GL_COLOR_ATTACHMENT2_NV 0x8CE2 -#define GL_COLOR_ATTACHMENT3_NV 0x8CE3 -#define GL_COLOR_ATTACHMENT4_NV 0x8CE4 -#define GL_COLOR_ATTACHMENT5_NV 0x8CE5 -#define GL_COLOR_ATTACHMENT6_NV 0x8CE6 -#define GL_COLOR_ATTACHMENT7_NV 0x8CE7 -#define GL_COLOR_ATTACHMENT8_NV 0x8CE8 -#define GL_COLOR_ATTACHMENT9_NV 0x8CE9 -#define GL_COLOR_ATTACHMENT10_NV 0x8CEA -#define GL_COLOR_ATTACHMENT11_NV 0x8CEB -#define GL_COLOR_ATTACHMENT12_NV 0x8CEC -#define GL_COLOR_ATTACHMENT13_NV 0x8CED -#define GL_COLOR_ATTACHMENT14_NV 0x8CEE -#define GL_COLOR_ATTACHMENT15_NV 0x8CEF -#endif - -/* GL_NV_draw_instanced */ -/* No new tokens introduced by this extension. */ - -/* GL_NV_fbo_color_attachments */ -#ifndef GL_NV_fbo_color_attachments -#define GL_MAX_COLOR_ATTACHMENTS_NV 0x8CDF -/* GL_COLOR_ATTACHMENT{0-15}_NV defined in GL_NV_draw_buffers already. */ -#endif - -/* GL_NV_fence */ -#ifndef GL_NV_fence -#define GL_ALL_COMPLETED_NV 0x84F2 -#define GL_FENCE_STATUS_NV 0x84F3 -#define GL_FENCE_CONDITION_NV 0x84F4 -#endif - -/* GL_NV_framebuffer_blit */ -#ifndef GL_NV_framebuffer_blit -#define GL_READ_FRAMEBUFFER_NV 0x8CA8 -#define GL_DRAW_FRAMEBUFFER_NV 0x8CA9 -#define GL_DRAW_FRAMEBUFFER_BINDING_NV 0x8CA6 -#define GL_READ_FRAMEBUFFER_BINDING_NV 0x8CAA -#endif - -/* GL_NV_framebuffer_multisample */ -#ifndef GL_NV_framebuffer_multisample -#define GL_RENDERBUFFER_SAMPLES_NV 0x8CAB -#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV 0x8D56 -#define GL_MAX_SAMPLES_NV 0x8D57 -#endif - -/* GL_NV_generate_mipmap_sRGB */ -/* No new tokens introduced by this extension. */ - -/* GL_NV_instanced_arrays */ -#ifndef GL_NV_instanced_arrays -#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV 0x88FE -#endif - -/* GL_NV_read_buffer */ -#ifndef GL_NV_read_buffer -#define GL_READ_BUFFER_NV 0x0C02 -#endif - -/* GL_NV_read_buffer_front */ -/* No new tokens introduced by this extension. */ - -/* GL_NV_read_depth */ -/* No new tokens introduced by this extension. */ - -/* GL_NV_read_depth_stencil */ -/* No new tokens introduced by this extension. */ - -/* GL_NV_read_stencil */ -/* No new tokens introduced by this extension. */ - -/* GL_NV_shadow_samplers_array */ -#ifndef GL_NV_shadow_samplers_array -#define GL_SAMPLER_2D_ARRAY_SHADOW_NV 0x8DC4 -#endif - -/* GL_NV_shadow_samplers_cube */ -#ifndef GL_NV_shadow_samplers_cube -#define GL_SAMPLER_CUBE_SHADOW_NV 0x8DC5 -#endif - -/* GL_NV_sRGB_formats */ -#ifndef GL_NV_sRGB_formats -#define GL_SLUMINANCE_NV 0x8C46 -#define GL_SLUMINANCE_ALPHA_NV 0x8C44 -#define GL_SRGB8_NV 0x8C41 -#define GL_SLUMINANCE8_NV 0x8C47 -#define GL_SLUMINANCE8_ALPHA8_NV 0x8C45 -#define GL_COMPRESSED_SRGB_S3TC_DXT1_NV 0x8C4C -#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV 0x8C4D -#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV 0x8C4E -#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV 0x8C4F -#define GL_ETC1_SRGB8_NV 0x88EE -#endif - -/* GL_NV_texture_border_clamp */ -#ifndef GL_NV_texture_border_clamp -#define GL_TEXTURE_BORDER_COLOR_NV 0x1004 -#define GL_CLAMP_TO_BORDER_NV 0x812D +#define GL_KHR_debug 1 +typedef void (GL_APIENTRY *GLDEBUGPROCKHR)(GLenum source,GLenum type,GLuint id,GLenum severity,GLsizei length,const GLchar *message,const void *userParam); +#define GL_SAMPLER 0x82E6 +#define GL_DEBUG_OUTPUT_SYNCHRONOUS_KHR 0x8242 +#define GL_DEBUG_NEXT_LOGGED_MESSAGE_LENGTH_KHR 0x8243 +#define GL_DEBUG_CALLBACK_FUNCTION_KHR 0x8244 +#define GL_DEBUG_CALLBACK_USER_PARAM_KHR 0x8245 +#define GL_DEBUG_SOURCE_API_KHR 0x8246 +#define GL_DEBUG_SOURCE_WINDOW_SYSTEM_KHR 0x8247 +#define GL_DEBUG_SOURCE_SHADER_COMPILER_KHR 0x8248 +#define GL_DEBUG_SOURCE_THIRD_PARTY_KHR 0x8249 +#define GL_DEBUG_SOURCE_APPLICATION_KHR 0x824A +#define GL_DEBUG_SOURCE_OTHER_KHR 0x824B +#define GL_DEBUG_TYPE_ERROR_KHR 0x824C +#define GL_DEBUG_TYPE_DEPRECATED_BEHAVIOR_KHR 0x824D +#define GL_DEBUG_TYPE_UNDEFINED_BEHAVIOR_KHR 0x824E +#define GL_DEBUG_TYPE_PORTABILITY_KHR 0x824F +#define GL_DEBUG_TYPE_PERFORMANCE_KHR 0x8250 +#define GL_DEBUG_TYPE_OTHER_KHR 0x8251 +#define GL_DEBUG_TYPE_MARKER_KHR 0x8268 +#define GL_DEBUG_TYPE_PUSH_GROUP_KHR 0x8269 +#define GL_DEBUG_TYPE_POP_GROUP_KHR 0x826A +#define GL_DEBUG_SEVERITY_NOTIFICATION_KHR 0x826B +#define GL_MAX_DEBUG_GROUP_STACK_DEPTH_KHR 0x826C +#define GL_DEBUG_GROUP_STACK_DEPTH_KHR 0x826D +#define GL_BUFFER_KHR 0x82E0 +#define GL_SHADER_KHR 0x82E1 +#define GL_PROGRAM_KHR 0x82E2 +#define GL_VERTEX_ARRAY_KHR 0x8074 +#define GL_QUERY_KHR 0x82E3 +#define GL_PROGRAM_PIPELINE_KHR 0x82E4 +#define GL_SAMPLER_KHR 0x82E6 +#define GL_MAX_LABEL_LENGTH_KHR 0x82E8 +#define GL_MAX_DEBUG_MESSAGE_LENGTH_KHR 0x9143 +#define GL_MAX_DEBUG_LOGGED_MESSAGES_KHR 0x9144 +#define GL_DEBUG_LOGGED_MESSAGES_KHR 0x9145 +#define GL_DEBUG_SEVERITY_HIGH_KHR 0x9146 +#define GL_DEBUG_SEVERITY_MEDIUM_KHR 0x9147 +#define GL_DEBUG_SEVERITY_LOW_KHR 0x9148 +#define GL_DEBUG_OUTPUT_KHR 0x92E0 +#define GL_CONTEXT_FLAG_DEBUG_BIT_KHR 0x00000002 +#define GL_STACK_OVERFLOW_KHR 0x0503 +#define GL_STACK_UNDERFLOW_KHR 0x0504 +typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECONTROLKHRPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled); +typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGEINSERTKHRPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf); +typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECALLBACKKHRPROC) (GLDEBUGPROCKHR callback, const void *userParam); +typedef GLuint (GL_APIENTRYP PFNGLGETDEBUGMESSAGELOGKHRPROC) (GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog); +typedef void (GL_APIENTRYP PFNGLPUSHDEBUGGROUPKHRPROC) (GLenum source, GLuint id, GLsizei length, const GLchar *message); +typedef void (GL_APIENTRYP PFNGLPOPDEBUGGROUPKHRPROC) (void); +typedef void (GL_APIENTRYP PFNGLOBJECTLABELKHRPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label); +typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELKHRPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label); +typedef void (GL_APIENTRYP PFNGLOBJECTPTRLABELKHRPROC) (const void *ptr, GLsizei length, const GLchar *label); +typedef void (GL_APIENTRYP PFNGLGETOBJECTPTRLABELKHRPROC) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label); +typedef void (GL_APIENTRYP PFNGLGETPOINTERVKHRPROC) (GLenum pname, void **params); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glDebugMessageControlKHR (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled); +GL_APICALL void GL_APIENTRY glDebugMessageInsertKHR (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf); +GL_APICALL void GL_APIENTRY glDebugMessageCallbackKHR (GLDEBUGPROCKHR callback, const void *userParam); +GL_APICALL GLuint GL_APIENTRY glGetDebugMessageLogKHR (GLuint count, GLsizei bufSize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog); +GL_APICALL void GL_APIENTRY glPushDebugGroupKHR (GLenum source, GLuint id, GLsizei length, const GLchar *message); +GL_APICALL void GL_APIENTRY glPopDebugGroupKHR (void); +GL_APICALL void GL_APIENTRY glObjectLabelKHR (GLenum identifier, GLuint name, GLsizei length, const GLchar *label); +GL_APICALL void GL_APIENTRY glGetObjectLabelKHR (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label); +GL_APICALL void GL_APIENTRY glObjectPtrLabelKHR (const void *ptr, GLsizei length, const GLchar *label); +GL_APICALL void GL_APIENTRY glGetObjectPtrLabelKHR (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label); +GL_APICALL void GL_APIENTRY glGetPointervKHR (GLenum pname, void **params); #endif +#endif /* GL_KHR_debug */ -/* GL_NV_texture_compression_s3tc_update */ -/* No new tokens introduced by this extension. */ - -/* GL_NV_texture_npot_2D_mipmap */ -/* No new tokens introduced by this extension. */ +#ifndef GL_KHR_no_error +#define GL_KHR_no_error 1 +#define GL_CONTEXT_FLAG_NO_ERROR_BIT_KHR 0x00000008 +#endif /* GL_KHR_no_error */ -/*------------------------------------------------------------------------* - * QCOM extension tokens - *------------------------------------------------------------------------*/ - -/* GL_QCOM_alpha_test */ -#ifndef GL_QCOM_alpha_test -#define GL_ALPHA_TEST_QCOM 0x0BC0 -#define GL_ALPHA_TEST_FUNC_QCOM 0x0BC1 -#define GL_ALPHA_TEST_REF_QCOM 0x0BC2 -#endif +#ifndef GL_KHR_parallel_shader_compile +#define GL_KHR_parallel_shader_compile 1 +#define GL_MAX_SHADER_COMPILER_THREADS_KHR 0x91B0 +#define GL_COMPLETION_STATUS_KHR 0x91B1 +typedef void (GL_APIENTRYP PFNGLMAXSHADERCOMPILERTHREADSKHRPROC) (GLuint count); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glMaxShaderCompilerThreadsKHR (GLuint count); +#endif +#endif /* GL_KHR_parallel_shader_compile */ + +#ifndef GL_KHR_robust_buffer_access_behavior +#define GL_KHR_robust_buffer_access_behavior 1 +#endif /* GL_KHR_robust_buffer_access_behavior */ + +#ifndef GL_KHR_robustness +#define GL_KHR_robustness 1 +#define GL_CONTEXT_ROBUST_ACCESS_KHR 0x90F3 +#define GL_LOSE_CONTEXT_ON_RESET_KHR 0x8252 +#define GL_GUILTY_CONTEXT_RESET_KHR 0x8253 +#define GL_INNOCENT_CONTEXT_RESET_KHR 0x8254 +#define GL_UNKNOWN_CONTEXT_RESET_KHR 0x8255 +#define GL_RESET_NOTIFICATION_STRATEGY_KHR 0x8256 +#define GL_NO_RESET_NOTIFICATION_KHR 0x8261 +#define GL_CONTEXT_LOST_KHR 0x0507 +typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSKHRPROC) (void); +typedef void (GL_APIENTRYP PFNGLREADNPIXELSKHRPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); +typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVKHRPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat *params); +typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVKHRPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params); +typedef void (GL_APIENTRYP PFNGLGETNUNIFORMUIVKHRPROC) (GLuint program, GLint location, GLsizei bufSize, GLuint *params); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusKHR (void); +GL_APICALL void GL_APIENTRY glReadnPixelsKHR (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); +GL_APICALL void GL_APIENTRY glGetnUniformfvKHR (GLuint program, GLint location, GLsizei bufSize, GLfloat *params); +GL_APICALL void GL_APIENTRY glGetnUniformivKHR (GLuint program, GLint location, GLsizei bufSize, GLint *params); +GL_APICALL void GL_APIENTRY glGetnUniformuivKHR (GLuint program, GLint location, GLsizei bufSize, GLuint *params); +#endif +#endif /* GL_KHR_robustness */ + +#ifndef GL_KHR_shader_subgroup +#define GL_KHR_shader_subgroup 1 +#define GL_SUBGROUP_SIZE_KHR 0x9532 +#define GL_SUBGROUP_SUPPORTED_STAGES_KHR 0x9533 +#define GL_SUBGROUP_SUPPORTED_FEATURES_KHR 0x9534 +#define GL_SUBGROUP_QUAD_ALL_STAGES_KHR 0x9535 +#define GL_SUBGROUP_FEATURE_BASIC_BIT_KHR 0x00000001 +#define GL_SUBGROUP_FEATURE_VOTE_BIT_KHR 0x00000002 +#define GL_SUBGROUP_FEATURE_ARITHMETIC_BIT_KHR 0x00000004 +#define GL_SUBGROUP_FEATURE_BALLOT_BIT_KHR 0x00000008 +#define GL_SUBGROUP_FEATURE_SHUFFLE_BIT_KHR 0x00000010 +#define GL_SUBGROUP_FEATURE_SHUFFLE_RELATIVE_BIT_KHR 0x00000020 +#define GL_SUBGROUP_FEATURE_CLUSTERED_BIT_KHR 0x00000040 +#define GL_SUBGROUP_FEATURE_QUAD_BIT_KHR 0x00000080 +#endif /* GL_KHR_shader_subgroup */ + +#ifndef GL_KHR_texture_compression_astc_hdr +#define GL_KHR_texture_compression_astc_hdr 1 +#define GL_COMPRESSED_RGBA_ASTC_4x4_KHR 0x93B0 +#define GL_COMPRESSED_RGBA_ASTC_5x4_KHR 0x93B1 +#define GL_COMPRESSED_RGBA_ASTC_5x5_KHR 0x93B2 +#define GL_COMPRESSED_RGBA_ASTC_6x5_KHR 0x93B3 +#define GL_COMPRESSED_RGBA_ASTC_6x6_KHR 0x93B4 +#define GL_COMPRESSED_RGBA_ASTC_8x5_KHR 0x93B5 +#define GL_COMPRESSED_RGBA_ASTC_8x6_KHR 0x93B6 +#define GL_COMPRESSED_RGBA_ASTC_8x8_KHR 0x93B7 +#define GL_COMPRESSED_RGBA_ASTC_10x5_KHR 0x93B8 +#define GL_COMPRESSED_RGBA_ASTC_10x6_KHR 0x93B9 +#define GL_COMPRESSED_RGBA_ASTC_10x8_KHR 0x93BA +#define GL_COMPRESSED_RGBA_ASTC_10x10_KHR 0x93BB +#define GL_COMPRESSED_RGBA_ASTC_12x10_KHR 0x93BC +#define GL_COMPRESSED_RGBA_ASTC_12x12_KHR 0x93BD +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4_KHR 0x93D0 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4_KHR 0x93D1 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5_KHR 0x93D2 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5_KHR 0x93D3 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6_KHR 0x93D4 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x5_KHR 0x93D5 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x6_KHR 0x93D6 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_8x8_KHR 0x93D7 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x5_KHR 0x93D8 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x6_KHR 0x93D9 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x8_KHR 0x93DA +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_10x10_KHR 0x93DB +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x10_KHR 0x93DC +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_12x12_KHR 0x93DD +#endif /* GL_KHR_texture_compression_astc_hdr */ -/* GL_QCOM_binning_control */ -#ifndef GL_QCOM_binning_control -#define GL_BINNING_CONTROL_HINT_QCOM 0x8FB0 -#define GL_CPU_OPTIMIZED_QCOM 0x8FB1 -#define GL_GPU_OPTIMIZED_QCOM 0x8FB2 -#define GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM 0x8FB3 -#endif +#ifndef GL_KHR_texture_compression_astc_ldr +#define GL_KHR_texture_compression_astc_ldr 1 +#endif /* GL_KHR_texture_compression_astc_ldr */ -/* GL_QCOM_driver_control */ -/* No new tokens introduced by this extension. */ +#ifndef GL_KHR_texture_compression_astc_sliced_3d +#define GL_KHR_texture_compression_astc_sliced_3d 1 +#endif /* GL_KHR_texture_compression_astc_sliced_3d */ -/* GL_QCOM_extended_get */ -#ifndef GL_QCOM_extended_get -#define GL_TEXTURE_WIDTH_QCOM 0x8BD2 -#define GL_TEXTURE_HEIGHT_QCOM 0x8BD3 -#define GL_TEXTURE_DEPTH_QCOM 0x8BD4 -#define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8BD5 -#define GL_TEXTURE_FORMAT_QCOM 0x8BD6 -#define GL_TEXTURE_TYPE_QCOM 0x8BD7 -#define GL_TEXTURE_IMAGE_VALID_QCOM 0x8BD8 -#define GL_TEXTURE_NUM_LEVELS_QCOM 0x8BD9 -#define GL_TEXTURE_TARGET_QCOM 0x8BDA -#define GL_TEXTURE_OBJECT_VALID_QCOM 0x8BDB -#define GL_STATE_RESTORE 0x8BDC -#endif - -/* GL_QCOM_extended_get2 */ -/* No new tokens introduced by this extension. */ - -/* GL_QCOM_perfmon_global_mode */ -#ifndef GL_QCOM_perfmon_global_mode -#define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0 -#endif - -/* GL_QCOM_writeonly_rendering */ -#ifndef GL_QCOM_writeonly_rendering -#define GL_WRITEONLY_RENDERING_QCOM 0x8823 +#ifndef GL_OES_EGL_image +#define GL_OES_EGL_image 1 +typedef void *GLeglImageOES; +typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image); +typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image); +GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image); #endif +#endif /* GL_OES_EGL_image */ -/* GL_QCOM_tiled_rendering */ -#ifndef GL_QCOM_tiled_rendering -#define GL_COLOR_BUFFER_BIT0_QCOM 0x00000001 -#define GL_COLOR_BUFFER_BIT1_QCOM 0x00000002 -#define GL_COLOR_BUFFER_BIT2_QCOM 0x00000004 -#define GL_COLOR_BUFFER_BIT3_QCOM 0x00000008 -#define GL_COLOR_BUFFER_BIT4_QCOM 0x00000010 -#define GL_COLOR_BUFFER_BIT5_QCOM 0x00000020 -#define GL_COLOR_BUFFER_BIT6_QCOM 0x00000040 -#define GL_COLOR_BUFFER_BIT7_QCOM 0x00000080 -#define GL_DEPTH_BUFFER_BIT0_QCOM 0x00000100 -#define GL_DEPTH_BUFFER_BIT1_QCOM 0x00000200 -#define GL_DEPTH_BUFFER_BIT2_QCOM 0x00000400 -#define GL_DEPTH_BUFFER_BIT3_QCOM 0x00000800 -#define GL_DEPTH_BUFFER_BIT4_QCOM 0x00001000 -#define GL_DEPTH_BUFFER_BIT5_QCOM 0x00002000 -#define GL_DEPTH_BUFFER_BIT6_QCOM 0x00004000 -#define GL_DEPTH_BUFFER_BIT7_QCOM 0x00008000 -#define GL_STENCIL_BUFFER_BIT0_QCOM 0x00010000 -#define GL_STENCIL_BUFFER_BIT1_QCOM 0x00020000 -#define GL_STENCIL_BUFFER_BIT2_QCOM 0x00040000 -#define GL_STENCIL_BUFFER_BIT3_QCOM 0x00080000 -#define GL_STENCIL_BUFFER_BIT4_QCOM 0x00100000 -#define GL_STENCIL_BUFFER_BIT5_QCOM 0x00200000 -#define GL_STENCIL_BUFFER_BIT6_QCOM 0x00400000 -#define GL_STENCIL_BUFFER_BIT7_QCOM 0x00800000 -#define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x01000000 -#define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x02000000 -#define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x04000000 -#define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x08000000 -#define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000 -#define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000 -#define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000 -#define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000 -#endif - -/*------------------------------------------------------------------------* - * VIV extension tokens - *------------------------------------------------------------------------*/ - -/* GL_VIV_shader_binary */ -#ifndef GL_VIV_shader_binary -#define GL_SHADER_BINARY_VIV 0x8FC4 -#endif +#ifndef GL_OES_EGL_image_external +#define GL_OES_EGL_image_external 1 +#define GL_TEXTURE_EXTERNAL_OES 0x8D65 +#define GL_TEXTURE_BINDING_EXTERNAL_OES 0x8D67 +#define GL_REQUIRED_TEXTURE_IMAGE_UNITS_OES 0x8D68 +#define GL_SAMPLER_EXTERNAL_OES 0x8D66 +#endif /* GL_OES_EGL_image_external */ -/*------------------------------------------------------------------------* - * End of extension tokens, start of corresponding extension functions - *------------------------------------------------------------------------*/ +#ifndef GL_OES_EGL_image_external_essl3 +#define GL_OES_EGL_image_external_essl3 1 +#endif /* GL_OES_EGL_image_external_essl3 */ -/*------------------------------------------------------------------------* - * OES extension functions - *------------------------------------------------------------------------*/ +#ifndef GL_OES_compressed_ETC1_RGB8_sub_texture +#define GL_OES_compressed_ETC1_RGB8_sub_texture 1 +#endif /* GL_OES_compressed_ETC1_RGB8_sub_texture */ -/* GL_OES_compressed_ETC1_RGB8_texture */ #ifndef GL_OES_compressed_ETC1_RGB8_texture #define GL_OES_compressed_ETC1_RGB8_texture 1 -#endif +#define GL_ETC1_RGB8_OES 0x8D64 +#endif /* GL_OES_compressed_ETC1_RGB8_texture */ -/* GL_OES_compressed_paletted_texture */ #ifndef GL_OES_compressed_paletted_texture #define GL_OES_compressed_paletted_texture 1 +#define GL_PALETTE4_RGB8_OES 0x8B90 +#define GL_PALETTE4_RGBA8_OES 0x8B91 +#define GL_PALETTE4_R5_G6_B5_OES 0x8B92 +#define GL_PALETTE4_RGBA4_OES 0x8B93 +#define GL_PALETTE4_RGB5_A1_OES 0x8B94 +#define GL_PALETTE8_RGB8_OES 0x8B95 +#define GL_PALETTE8_RGBA8_OES 0x8B96 +#define GL_PALETTE8_R5_G6_B5_OES 0x8B97 +#define GL_PALETTE8_RGBA4_OES 0x8B98 +#define GL_PALETTE8_RGB5_A1_OES 0x8B99 +#endif /* GL_OES_compressed_paletted_texture */ + +#ifndef GL_OES_copy_image +#define GL_OES_copy_image 1 +typedef void (GL_APIENTRYP PFNGLCOPYIMAGESUBDATAOESPROC) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glCopyImageSubDataOES (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth); #endif +#endif /* GL_OES_copy_image */ -/* GL_OES_depth24 */ #ifndef GL_OES_depth24 #define GL_OES_depth24 1 -#endif +#define GL_DEPTH_COMPONENT24_OES 0x81A6 +#endif /* GL_OES_depth24 */ -/* GL_OES_depth32 */ #ifndef GL_OES_depth32 #define GL_OES_depth32 1 -#endif +#define GL_DEPTH_COMPONENT32_OES 0x81A7 +#endif /* GL_OES_depth32 */ -/* GL_OES_depth_texture */ #ifndef GL_OES_depth_texture #define GL_OES_depth_texture 1 -#endif - -/* GL_OES_EGL_image */ -#ifndef GL_OES_EGL_image -#define GL_OES_EGL_image 1 +#endif /* GL_OES_depth_texture */ + +#ifndef GL_OES_draw_buffers_indexed +#define GL_OES_draw_buffers_indexed 1 +#define GL_MIN 0x8007 +#define GL_MAX 0x8008 +typedef void (GL_APIENTRYP PFNGLENABLEIOESPROC) (GLenum target, GLuint index); +typedef void (GL_APIENTRYP PFNGLDISABLEIOESPROC) (GLenum target, GLuint index); +typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONIOESPROC) (GLuint buf, GLenum mode); +typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONSEPARATEIOESPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha); +typedef void (GL_APIENTRYP PFNGLBLENDFUNCIOESPROC) (GLuint buf, GLenum src, GLenum dst); +typedef void (GL_APIENTRYP PFNGLBLENDFUNCSEPARATEIOESPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); +typedef void (GL_APIENTRYP PFNGLCOLORMASKIOESPROC) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a); +typedef GLboolean (GL_APIENTRYP PFNGLISENABLEDIOESPROC) (GLenum target, GLuint index); #ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glEGLImageTargetTexture2DOES (GLenum target, GLeglImageOES image); -GL_APICALL void GL_APIENTRY glEGLImageTargetRenderbufferStorageOES (GLenum target, GLeglImageOES image); -#endif -typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURE2DOESPROC) (GLenum target, GLeglImageOES image); -typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETRENDERBUFFERSTORAGEOESPROC) (GLenum target, GLeglImageOES image); -#endif - -/* GL_OES_EGL_image_external */ -#ifndef GL_OES_EGL_image_external -#define GL_OES_EGL_image_external 1 -/* glEGLImageTargetTexture2DOES defined in GL_OES_EGL_image already. */ +GL_APICALL void GL_APIENTRY glEnableiOES (GLenum target, GLuint index); +GL_APICALL void GL_APIENTRY glDisableiOES (GLenum target, GLuint index); +GL_APICALL void GL_APIENTRY glBlendEquationiOES (GLuint buf, GLenum mode); +GL_APICALL void GL_APIENTRY glBlendEquationSeparateiOES (GLuint buf, GLenum modeRGB, GLenum modeAlpha); +GL_APICALL void GL_APIENTRY glBlendFunciOES (GLuint buf, GLenum src, GLenum dst); +GL_APICALL void GL_APIENTRY glBlendFuncSeparateiOES (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); +GL_APICALL void GL_APIENTRY glColorMaskiOES (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a); +GL_APICALL GLboolean GL_APIENTRY glIsEnablediOES (GLenum target, GLuint index); +#endif +#endif /* GL_OES_draw_buffers_indexed */ + +#ifndef GL_OES_draw_elements_base_vertex +#define GL_OES_draw_elements_base_vertex 1 +typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSBASEVERTEXOESPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex); +typedef void (GL_APIENTRYP PFNGLDRAWRANGEELEMENTSBASEVERTEXOESPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex); +typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXOESPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex); +typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSBASEVERTEXEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount, const GLint *basevertex); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glDrawElementsBaseVertexOES (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex); +GL_APICALL void GL_APIENTRY glDrawRangeElementsBaseVertexOES (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex); +GL_APICALL void GL_APIENTRY glDrawElementsInstancedBaseVertexOES (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex); +GL_APICALL void GL_APIENTRY glMultiDrawElementsBaseVertexEXT (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei drawcount, const GLint *basevertex); #endif +#endif /* GL_OES_draw_elements_base_vertex */ -/* GL_OES_element_index_uint */ #ifndef GL_OES_element_index_uint #define GL_OES_element_index_uint 1 -#endif +#endif /* GL_OES_element_index_uint */ -/* GL_OES_fbo_render_mipmap */ #ifndef GL_OES_fbo_render_mipmap #define GL_OES_fbo_render_mipmap 1 -#endif +#endif /* GL_OES_fbo_render_mipmap */ -/* GL_OES_fragment_precision_high */ #ifndef GL_OES_fragment_precision_high #define GL_OES_fragment_precision_high 1 +#endif /* GL_OES_fragment_precision_high */ + +#ifndef GL_OES_geometry_point_size +#define GL_OES_geometry_point_size 1 +#endif /* GL_OES_geometry_point_size */ + +#ifndef GL_OES_geometry_shader +#define GL_OES_geometry_shader 1 +#define GL_GEOMETRY_SHADER_OES 0x8DD9 +#define GL_GEOMETRY_SHADER_BIT_OES 0x00000004 +#define GL_GEOMETRY_LINKED_VERTICES_OUT_OES 0x8916 +#define GL_GEOMETRY_LINKED_INPUT_TYPE_OES 0x8917 +#define GL_GEOMETRY_LINKED_OUTPUT_TYPE_OES 0x8918 +#define GL_GEOMETRY_SHADER_INVOCATIONS_OES 0x887F +#define GL_LAYER_PROVOKING_VERTEX_OES 0x825E +#define GL_LINES_ADJACENCY_OES 0x000A +#define GL_LINE_STRIP_ADJACENCY_OES 0x000B +#define GL_TRIANGLES_ADJACENCY_OES 0x000C +#define GL_TRIANGLE_STRIP_ADJACENCY_OES 0x000D +#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_OES 0x8DDF +#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS_OES 0x8A2C +#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_OES 0x8A32 +#define GL_MAX_GEOMETRY_INPUT_COMPONENTS_OES 0x9123 +#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_OES 0x9124 +#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_OES 0x8DE0 +#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_OES 0x8DE1 +#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS_OES 0x8E5A +#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_OES 0x8C29 +#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_OES 0x92CF +#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS_OES 0x92D5 +#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS_OES 0x90CD +#define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_OES 0x90D7 +#define GL_FIRST_VERTEX_CONVENTION_OES 0x8E4D +#define GL_LAST_VERTEX_CONVENTION_OES 0x8E4E +#define GL_UNDEFINED_VERTEX_OES 0x8260 +#define GL_PRIMITIVES_GENERATED_OES 0x8C87 +#define GL_FRAMEBUFFER_DEFAULT_LAYERS_OES 0x9312 +#define GL_MAX_FRAMEBUFFER_LAYERS_OES 0x9317 +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_OES 0x8DA8 +#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_OES 0x8DA7 +#define GL_REFERENCED_BY_GEOMETRY_SHADER_OES 0x9309 +typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTUREOESPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glFramebufferTextureOES (GLenum target, GLenum attachment, GLuint texture, GLint level); #endif +#endif /* GL_OES_geometry_shader */ -/* GL_OES_get_program_binary */ #ifndef GL_OES_get_program_binary #define GL_OES_get_program_binary 1 +#define GL_PROGRAM_BINARY_LENGTH_OES 0x8741 +#define GL_NUM_PROGRAM_BINARY_FORMATS_OES 0x87FE +#define GL_PROGRAM_BINARY_FORMATS_OES 0x87FF +typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary); +typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const void *binary, GLint length); #ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary); -GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length); -#endif -typedef void (GL_APIENTRYP PFNGLGETPROGRAMBINARYOESPROC) (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, GLvoid *binary); -typedef void (GL_APIENTRYP PFNGLPROGRAMBINARYOESPROC) (GLuint program, GLenum binaryFormat, const GLvoid *binary, GLint length); +GL_APICALL void GL_APIENTRY glGetProgramBinaryOES (GLuint program, GLsizei bufSize, GLsizei *length, GLenum *binaryFormat, void *binary); +GL_APICALL void GL_APIENTRY glProgramBinaryOES (GLuint program, GLenum binaryFormat, const void *binary, GLint length); #endif +#endif /* GL_OES_get_program_binary */ + +#ifndef GL_OES_gpu_shader5 +#define GL_OES_gpu_shader5 1 +#endif /* GL_OES_gpu_shader5 */ -/* GL_OES_mapbuffer */ #ifndef GL_OES_mapbuffer #define GL_OES_mapbuffer 1 +#define GL_WRITE_ONLY_OES 0x88B9 +#define GL_BUFFER_ACCESS_OES 0x88BB +#define GL_BUFFER_MAPPED_OES 0x88BC +#define GL_BUFFER_MAP_POINTER_OES 0x88BD +typedef void *(GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access); +typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target); +typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, void **params); #ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void* GL_APIENTRY glMapBufferOES (GLenum target, GLenum access); +GL_APICALL void *GL_APIENTRY glMapBufferOES (GLenum target, GLenum access); GL_APICALL GLboolean GL_APIENTRY glUnmapBufferOES (GLenum target); -GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, GLvoid **params); -#endif -typedef void* (GL_APIENTRYP PFNGLMAPBUFFEROESPROC) (GLenum target, GLenum access); -typedef GLboolean (GL_APIENTRYP PFNGLUNMAPBUFFEROESPROC) (GLenum target); -typedef void (GL_APIENTRYP PFNGLGETBUFFERPOINTERVOESPROC) (GLenum target, GLenum pname, GLvoid **params); +GL_APICALL void GL_APIENTRY glGetBufferPointervOES (GLenum target, GLenum pname, void **params); #endif +#endif /* GL_OES_mapbuffer */ -/* GL_OES_packed_depth_stencil */ #ifndef GL_OES_packed_depth_stencil #define GL_OES_packed_depth_stencil 1 +#define GL_DEPTH_STENCIL_OES 0x84F9 +#define GL_UNSIGNED_INT_24_8_OES 0x84FA +#define GL_DEPTH24_STENCIL8_OES 0x88F0 +#endif /* GL_OES_packed_depth_stencil */ + +#ifndef GL_OES_primitive_bounding_box +#define GL_OES_primitive_bounding_box 1 +#define GL_PRIMITIVE_BOUNDING_BOX_OES 0x92BE +typedef void (GL_APIENTRYP PFNGLPRIMITIVEBOUNDINGBOXOESPROC) (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glPrimitiveBoundingBoxOES (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW); #endif +#endif /* GL_OES_primitive_bounding_box */ -/* GL_OES_required_internalformat */ #ifndef GL_OES_required_internalformat #define GL_OES_required_internalformat 1 -#endif +#define GL_ALPHA8_OES 0x803C +#define GL_DEPTH_COMPONENT16_OES 0x81A5 +#define GL_LUMINANCE4_ALPHA4_OES 0x8043 +#define GL_LUMINANCE8_ALPHA8_OES 0x8045 +#define GL_LUMINANCE8_OES 0x8040 +#define GL_RGBA4_OES 0x8056 +#define GL_RGB5_A1_OES 0x8057 +#define GL_RGB565_OES 0x8D62 +#define GL_RGB8_OES 0x8051 +#define GL_RGBA8_OES 0x8058 +#define GL_RGB10_EXT 0x8052 +#define GL_RGB10_A2_EXT 0x8059 +#endif /* GL_OES_required_internalformat */ -/* GL_OES_rgb8_rgba8 */ #ifndef GL_OES_rgb8_rgba8 #define GL_OES_rgb8_rgba8 1 +#endif /* GL_OES_rgb8_rgba8 */ + +#ifndef GL_OES_sample_shading +#define GL_OES_sample_shading 1 +#define GL_SAMPLE_SHADING_OES 0x8C36 +#define GL_MIN_SAMPLE_SHADING_VALUE_OES 0x8C37 +typedef void (GL_APIENTRYP PFNGLMINSAMPLESHADINGOESPROC) (GLfloat value); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glMinSampleShadingOES (GLfloat value); #endif +#endif /* GL_OES_sample_shading */ + +#ifndef GL_OES_sample_variables +#define GL_OES_sample_variables 1 +#endif /* GL_OES_sample_variables */ + +#ifndef GL_OES_shader_image_atomic +#define GL_OES_shader_image_atomic 1 +#endif /* GL_OES_shader_image_atomic */ + +#ifndef GL_OES_shader_io_blocks +#define GL_OES_shader_io_blocks 1 +#endif /* GL_OES_shader_io_blocks */ + +#ifndef GL_OES_shader_multisample_interpolation +#define GL_OES_shader_multisample_interpolation 1 +#define GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_OES 0x8E5B +#define GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_OES 0x8E5C +#define GL_FRAGMENT_INTERPOLATION_OFFSET_BITS_OES 0x8E5D +#endif /* GL_OES_shader_multisample_interpolation */ -/* GL_OES_standard_derivatives */ #ifndef GL_OES_standard_derivatives #define GL_OES_standard_derivatives 1 -#endif +#define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_OES 0x8B8B +#endif /* GL_OES_standard_derivatives */ -/* GL_OES_stencil1 */ #ifndef GL_OES_stencil1 #define GL_OES_stencil1 1 -#endif +#define GL_STENCIL_INDEX1_OES 0x8D46 +#endif /* GL_OES_stencil1 */ -/* GL_OES_stencil4 */ #ifndef GL_OES_stencil4 #define GL_OES_stencil4 1 -#endif +#define GL_STENCIL_INDEX4_OES 0x8D47 +#endif /* GL_OES_stencil4 */ #ifndef GL_OES_surfaceless_context #define GL_OES_surfaceless_context 1 +#define GL_FRAMEBUFFER_UNDEFINED_OES 0x8219 +#endif /* GL_OES_surfaceless_context */ + +#ifndef GL_OES_tessellation_point_size +#define GL_OES_tessellation_point_size 1 +#endif /* GL_OES_tessellation_point_size */ + +#ifndef GL_OES_tessellation_shader +#define GL_OES_tessellation_shader 1 +#define GL_PATCHES_OES 0x000E +#define GL_PATCH_VERTICES_OES 0x8E72 +#define GL_TESS_CONTROL_OUTPUT_VERTICES_OES 0x8E75 +#define GL_TESS_GEN_MODE_OES 0x8E76 +#define GL_TESS_GEN_SPACING_OES 0x8E77 +#define GL_TESS_GEN_VERTEX_ORDER_OES 0x8E78 +#define GL_TESS_GEN_POINT_MODE_OES 0x8E79 +#define GL_ISOLINES_OES 0x8E7A +#define GL_QUADS_OES 0x0007 +#define GL_FRACTIONAL_ODD_OES 0x8E7B +#define GL_FRACTIONAL_EVEN_OES 0x8E7C +#define GL_MAX_PATCH_VERTICES_OES 0x8E7D +#define GL_MAX_TESS_GEN_LEVEL_OES 0x8E7E +#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_OES 0x8E7F +#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_OES 0x8E80 +#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_OES 0x8E81 +#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_OES 0x8E82 +#define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_OES 0x8E83 +#define GL_MAX_TESS_PATCH_COMPONENTS_OES 0x8E84 +#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_OES 0x8E85 +#define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_OES 0x8E86 +#define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_OES 0x8E89 +#define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_OES 0x8E8A +#define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_OES 0x886C +#define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_OES 0x886D +#define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_OES 0x8E1E +#define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_OES 0x8E1F +#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_OES 0x92CD +#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_OES 0x92CE +#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_OES 0x92D3 +#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_OES 0x92D4 +#define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_OES 0x90CB +#define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_OES 0x90CC +#define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_OES 0x90D8 +#define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_OES 0x90D9 +#define GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED_OES 0x8221 +#define GL_IS_PER_PATCH_OES 0x92E7 +#define GL_REFERENCED_BY_TESS_CONTROL_SHADER_OES 0x9307 +#define GL_REFERENCED_BY_TESS_EVALUATION_SHADER_OES 0x9308 +#define GL_TESS_CONTROL_SHADER_OES 0x8E88 +#define GL_TESS_EVALUATION_SHADER_OES 0x8E87 +#define GL_TESS_CONTROL_SHADER_BIT_OES 0x00000008 +#define GL_TESS_EVALUATION_SHADER_BIT_OES 0x00000010 +typedef void (GL_APIENTRYP PFNGLPATCHPARAMETERIOESPROC) (GLenum pname, GLint value); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glPatchParameteriOES (GLenum pname, GLint value); #endif +#endif /* GL_OES_tessellation_shader */ -/* GL_OES_texture_3D */ #ifndef GL_OES_texture_3D #define GL_OES_texture_3D 1 +#define GL_TEXTURE_WRAP_R_OES 0x8072 +#define GL_TEXTURE_3D_OES 0x806F +#define GL_TEXTURE_BINDING_3D_OES 0x806A +#define GL_MAX_3D_TEXTURE_SIZE_OES 0x8073 +#define GL_SAMPLER_3D_OES 0x8B5F +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_3D_ZOFFSET_OES 0x8CD4 +typedef void (GL_APIENTRYP PFNGLTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); +typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); +typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data); +typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); +typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOESPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); #ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels); -GL_APICALL void GL_APIENTRY glTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels); +GL_APICALL void GL_APIENTRY glTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const void *pixels); +GL_APICALL void GL_APIENTRY glTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels); GL_APICALL void GL_APIENTRY glCopyTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); -GL_APICALL void GL_APIENTRY glCompressedTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data); -GL_APICALL void GL_APIENTRY glCompressedTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data); +GL_APICALL void GL_APIENTRY glCompressedTexImage3DOES (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data); +GL_APICALL void GL_APIENTRY glCompressedTexSubImage3DOES (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data); GL_APICALL void GL_APIENTRY glFramebufferTexture3DOES (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); #endif -typedef void (GL_APIENTRYP PFNGLTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLenum format, GLenum type, const GLvoid* pixels); -typedef void (GL_APIENTRYP PFNGLTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const GLvoid* pixels); -typedef void (GL_APIENTRYP PFNGLCOPYTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height); -typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXIMAGE3DOESPROC) (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const GLvoid* data); -typedef void (GL_APIENTRYP PFNGLCOMPRESSEDTEXSUBIMAGE3DOESPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const GLvoid* data); -typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE3DOESPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint zoffset); -#endif +#endif /* GL_OES_texture_3D */ + +#ifndef GL_OES_texture_border_clamp +#define GL_OES_texture_border_clamp 1 +#define GL_TEXTURE_BORDER_COLOR_OES 0x1004 +#define GL_CLAMP_TO_BORDER_OES 0x812D +typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIIVOESPROC) (GLenum target, GLenum pname, const GLint *params); +typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIUIVOESPROC) (GLenum target, GLenum pname, const GLuint *params); +typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIIVOESPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIUIVOESPROC) (GLenum target, GLenum pname, GLuint *params); +typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIIVOESPROC) (GLuint sampler, GLenum pname, const GLint *param); +typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIUIVOESPROC) (GLuint sampler, GLenum pname, const GLuint *param); +typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIIVOESPROC) (GLuint sampler, GLenum pname, GLint *params); +typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIUIVOESPROC) (GLuint sampler, GLenum pname, GLuint *params); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glTexParameterIivOES (GLenum target, GLenum pname, const GLint *params); +GL_APICALL void GL_APIENTRY glTexParameterIuivOES (GLenum target, GLenum pname, const GLuint *params); +GL_APICALL void GL_APIENTRY glGetTexParameterIivOES (GLenum target, GLenum pname, GLint *params); +GL_APICALL void GL_APIENTRY glGetTexParameterIuivOES (GLenum target, GLenum pname, GLuint *params); +GL_APICALL void GL_APIENTRY glSamplerParameterIivOES (GLuint sampler, GLenum pname, const GLint *param); +GL_APICALL void GL_APIENTRY glSamplerParameterIuivOES (GLuint sampler, GLenum pname, const GLuint *param); +GL_APICALL void GL_APIENTRY glGetSamplerParameterIivOES (GLuint sampler, GLenum pname, GLint *params); +GL_APICALL void GL_APIENTRY glGetSamplerParameterIuivOES (GLuint sampler, GLenum pname, GLuint *params); +#endif +#endif /* GL_OES_texture_border_clamp */ + +#ifndef GL_OES_texture_buffer +#define GL_OES_texture_buffer 1 +#define GL_TEXTURE_BUFFER_OES 0x8C2A +#define GL_TEXTURE_BUFFER_BINDING_OES 0x8C2A +#define GL_MAX_TEXTURE_BUFFER_SIZE_OES 0x8C2B +#define GL_TEXTURE_BINDING_BUFFER_OES 0x8C2C +#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_OES 0x8C2D +#define GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_OES 0x919F +#define GL_SAMPLER_BUFFER_OES 0x8DC2 +#define GL_INT_SAMPLER_BUFFER_OES 0x8DD0 +#define GL_UNSIGNED_INT_SAMPLER_BUFFER_OES 0x8DD8 +#define GL_IMAGE_BUFFER_OES 0x9051 +#define GL_INT_IMAGE_BUFFER_OES 0x905C +#define GL_UNSIGNED_INT_IMAGE_BUFFER_OES 0x9067 +#define GL_TEXTURE_BUFFER_OFFSET_OES 0x919D +#define GL_TEXTURE_BUFFER_SIZE_OES 0x919E +typedef void (GL_APIENTRYP PFNGLTEXBUFFEROESPROC) (GLenum target, GLenum internalformat, GLuint buffer); +typedef void (GL_APIENTRYP PFNGLTEXBUFFERRANGEOESPROC) (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glTexBufferOES (GLenum target, GLenum internalformat, GLuint buffer); +GL_APICALL void GL_APIENTRY glTexBufferRangeOES (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); +#endif +#endif /* GL_OES_texture_buffer */ + +#ifndef GL_OES_texture_compression_astc +#define GL_OES_texture_compression_astc 1 +#define GL_COMPRESSED_RGBA_ASTC_3x3x3_OES 0x93C0 +#define GL_COMPRESSED_RGBA_ASTC_4x3x3_OES 0x93C1 +#define GL_COMPRESSED_RGBA_ASTC_4x4x3_OES 0x93C2 +#define GL_COMPRESSED_RGBA_ASTC_4x4x4_OES 0x93C3 +#define GL_COMPRESSED_RGBA_ASTC_5x4x4_OES 0x93C4 +#define GL_COMPRESSED_RGBA_ASTC_5x5x4_OES 0x93C5 +#define GL_COMPRESSED_RGBA_ASTC_5x5x5_OES 0x93C6 +#define GL_COMPRESSED_RGBA_ASTC_6x5x5_OES 0x93C7 +#define GL_COMPRESSED_RGBA_ASTC_6x6x5_OES 0x93C8 +#define GL_COMPRESSED_RGBA_ASTC_6x6x6_OES 0x93C9 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES 0x93E0 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES 0x93E1 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES 0x93E2 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES 0x93E3 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES 0x93E4 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES 0x93E5 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES 0x93E6 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES 0x93E7 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES 0x93E8 +#define GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES 0x93E9 +#endif /* GL_OES_texture_compression_astc */ + +#ifndef GL_OES_texture_cube_map_array +#define GL_OES_texture_cube_map_array 1 +#define GL_TEXTURE_CUBE_MAP_ARRAY_OES 0x9009 +#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_OES 0x900A +#define GL_SAMPLER_CUBE_MAP_ARRAY_OES 0x900C +#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_OES 0x900D +#define GL_INT_SAMPLER_CUBE_MAP_ARRAY_OES 0x900E +#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_OES 0x900F +#define GL_IMAGE_CUBE_MAP_ARRAY_OES 0x9054 +#define GL_INT_IMAGE_CUBE_MAP_ARRAY_OES 0x905F +#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_OES 0x906A +#endif /* GL_OES_texture_cube_map_array */ -/* GL_OES_texture_float */ #ifndef GL_OES_texture_float #define GL_OES_texture_float 1 -#endif +#endif /* GL_OES_texture_float */ -/* GL_OES_texture_float_linear */ #ifndef GL_OES_texture_float_linear -#define GL_OES_texture_float_linear 1 -#endif - -/* GL_OES_texture_half_float */ -#ifndef GL_OES_texture_half_float -#define GL_OES_texture_half_float 1 -#endif - -/* GL_OES_texture_half_float_linear */ -#ifndef GL_OES_texture_half_float_linear -#define GL_OES_texture_half_float_linear 1 -#endif - -/* GL_OES_texture_npot */ -#ifndef GL_OES_texture_npot -#define GL_OES_texture_npot 1 -#endif - -/* GL_OES_vertex_array_object */ -#ifndef GL_OES_vertex_array_object -#define GL_OES_vertex_array_object 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array); -GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays); -GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays); -GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array); -#endif -typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array); -typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays); -typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays); -typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array); -#endif - -/* GL_OES_vertex_half_float */ -#ifndef GL_OES_vertex_half_float -#define GL_OES_vertex_half_float 1 -#endif - -/* GL_OES_vertex_type_10_10_10_2 */ -#ifndef GL_OES_vertex_type_10_10_10_2 -#define GL_OES_vertex_type_10_10_10_2 1 -#endif - -/*------------------------------------------------------------------------* - * KHR extension functions - *------------------------------------------------------------------------*/ - -#ifndef GL_KHR_debug -#define GL_KHR_debug 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glDebugMessageControlKHR (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled); -GL_APICALL void GL_APIENTRY glDebugMessageInsertKHR (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf); -GL_APICALL void GL_APIENTRY glDebugMessageCallbackKHR (GLDEBUGPROCKHR callback, const void *userParam); -GL_APICALL GLuint GL_APIENTRY glGetDebugMessageLogKHR (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog); -GL_APICALL void GL_APIENTRY glPushDebugGroupKHR (GLenum source, GLuint id, GLsizei length, const GLchar *message); -GL_APICALL void GL_APIENTRY glPopDebugGroupKHR (void); -GL_APICALL void GL_APIENTRY glObjectLabelKHR (GLenum identifier, GLuint name, GLsizei length, const GLchar *label); -GL_APICALL void GL_APIENTRY glGetObjectLabelKHR (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label); -GL_APICALL void GL_APIENTRY glObjectPtrLabelKHR (const void *ptr, GLsizei length, const GLchar *label); -GL_APICALL void GL_APIENTRY glGetObjectPtrLabelKHR (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label); -GL_APICALL void GL_APIENTRY glGetPointervKHR (GLenum pname, GLvoid **params); -#endif -typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECONTROLKHRPROC) (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled); -typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGEINSERTKHRPROC) (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar *buf); -typedef void (GL_APIENTRYP PFNGLDEBUGMESSAGECALLBACKKHRPROC) (GLDEBUGPROCKHR callback, const void *userParam); -typedef GLuint (GL_APIENTRYP PFNGLGETDEBUGMESSAGELOGKHRPROC) (GLuint count, GLsizei bufsize, GLenum *sources, GLenum *types, GLuint *ids, GLenum *severities, GLsizei *lengths, GLchar *messageLog); -typedef void (GL_APIENTRYP PFNGLPUSHDEBUGGROUPKHRPROC) (GLenum source, GLuint id, GLsizei length, const GLchar *message); -typedef void (GL_APIENTRYP PFNGLPOPDEBUGGROUPKHRPROC) (void); -typedef void (GL_APIENTRYP PFNGLOBJECTLABELKHRPROC) (GLenum identifier, GLuint name, GLsizei length, const GLchar *label); -typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELKHRPROC) (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei *length, GLchar *label); -typedef void (GL_APIENTRYP PFNGLOBJECTPTRLABELKHRPROC) (const void *ptr, GLsizei length, const GLchar *label); -typedef void (GL_APIENTRYP PFNGLGETOBJECTPTRLABELKHRPROC) (const void *ptr, GLsizei bufSize, GLsizei *length, GLchar *label); -typedef void (GL_APIENTRYP PFNGLGETPOINTERVKHRPROC) (GLenum pname, GLvoid **params); +#define GL_OES_texture_float_linear 1 +#endif /* GL_OES_texture_float_linear */ + +#ifndef GL_OES_texture_half_float +#define GL_OES_texture_half_float 1 +#define GL_HALF_FLOAT_OES 0x8D61 +#endif /* GL_OES_texture_half_float */ + +#ifndef GL_OES_texture_half_float_linear +#define GL_OES_texture_half_float_linear 1 +#endif /* GL_OES_texture_half_float_linear */ + +#ifndef GL_OES_texture_npot +#define GL_OES_texture_npot 1 +#endif /* GL_OES_texture_npot */ + +#ifndef GL_OES_texture_stencil8 +#define GL_OES_texture_stencil8 1 +#define GL_STENCIL_INDEX_OES 0x1901 +#define GL_STENCIL_INDEX8_OES 0x8D48 +#endif /* GL_OES_texture_stencil8 */ + +#ifndef GL_OES_texture_storage_multisample_2d_array +#define GL_OES_texture_storage_multisample_2d_array 1 +#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY_OES 0x9102 +#define GL_TEXTURE_BINDING_2D_MULTISAMPLE_ARRAY_OES 0x9105 +#define GL_SAMPLER_2D_MULTISAMPLE_ARRAY_OES 0x910B +#define GL_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES 0x910C +#define GL_UNSIGNED_INT_SAMPLER_2D_MULTISAMPLE_ARRAY_OES 0x910D +typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DMULTISAMPLEOESPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glTexStorage3DMultisampleOES (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations); +#endif +#endif /* GL_OES_texture_storage_multisample_2d_array */ + +#ifndef GL_OES_texture_view +#define GL_OES_texture_view 1 +#define GL_TEXTURE_VIEW_MIN_LEVEL_OES 0x82DB +#define GL_TEXTURE_VIEW_NUM_LEVELS_OES 0x82DC +#define GL_TEXTURE_VIEW_MIN_LAYER_OES 0x82DD +#define GL_TEXTURE_VIEW_NUM_LAYERS_OES 0x82DE +#define GL_TEXTURE_IMMUTABLE_LEVELS 0x82DF +typedef void (GL_APIENTRYP PFNGLTEXTUREVIEWOESPROC) (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glTextureViewOES (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers); #endif +#endif /* GL_OES_texture_view */ -#ifndef GL_KHR_texture_compression_astc_ldr -#define GL_KHR_texture_compression_astc_ldr 1 +#ifndef GL_OES_vertex_array_object +#define GL_OES_vertex_array_object 1 +#define GL_VERTEX_ARRAY_BINDING_OES 0x85B5 +typedef void (GL_APIENTRYP PFNGLBINDVERTEXARRAYOESPROC) (GLuint array); +typedef void (GL_APIENTRYP PFNGLDELETEVERTEXARRAYSOESPROC) (GLsizei n, const GLuint *arrays); +typedef void (GL_APIENTRYP PFNGLGENVERTEXARRAYSOESPROC) (GLsizei n, GLuint *arrays); +typedef GLboolean (GL_APIENTRYP PFNGLISVERTEXARRAYOESPROC) (GLuint array); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glBindVertexArrayOES (GLuint array); +GL_APICALL void GL_APIENTRY glDeleteVertexArraysOES (GLsizei n, const GLuint *arrays); +GL_APICALL void GL_APIENTRY glGenVertexArraysOES (GLsizei n, GLuint *arrays); +GL_APICALL GLboolean GL_APIENTRY glIsVertexArrayOES (GLuint array); #endif +#endif /* GL_OES_vertex_array_object */ +#ifndef GL_OES_vertex_half_float +#define GL_OES_vertex_half_float 1 +#endif /* GL_OES_vertex_half_float */ -/*------------------------------------------------------------------------* - * AMD extension functions - *------------------------------------------------------------------------*/ +#ifndef GL_OES_vertex_type_10_10_10_2 +#define GL_OES_vertex_type_10_10_10_2 1 +#define GL_UNSIGNED_INT_10_10_10_2_OES 0x8DF6 +#define GL_INT_10_10_10_2_OES 0x8DF7 +#endif /* GL_OES_vertex_type_10_10_10_2 */ + +#ifndef GL_OES_viewport_array +#define GL_OES_viewport_array 1 +#define GL_MAX_VIEWPORTS_OES 0x825B +#define GL_VIEWPORT_SUBPIXEL_BITS_OES 0x825C +#define GL_VIEWPORT_BOUNDS_RANGE_OES 0x825D +#define GL_VIEWPORT_INDEX_PROVOKING_VERTEX_OES 0x825F +typedef void (GL_APIENTRYP PFNGLVIEWPORTARRAYVOESPROC) (GLuint first, GLsizei count, const GLfloat *v); +typedef void (GL_APIENTRYP PFNGLVIEWPORTINDEXEDFOESPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h); +typedef void (GL_APIENTRYP PFNGLVIEWPORTINDEXEDFVOESPROC) (GLuint index, const GLfloat *v); +typedef void (GL_APIENTRYP PFNGLSCISSORARRAYVOESPROC) (GLuint first, GLsizei count, const GLint *v); +typedef void (GL_APIENTRYP PFNGLSCISSORINDEXEDOESPROC) (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height); +typedef void (GL_APIENTRYP PFNGLSCISSORINDEXEDVOESPROC) (GLuint index, const GLint *v); +typedef void (GL_APIENTRYP PFNGLDEPTHRANGEARRAYFVOESPROC) (GLuint first, GLsizei count, const GLfloat *v); +typedef void (GL_APIENTRYP PFNGLDEPTHRANGEINDEXEDFOESPROC) (GLuint index, GLfloat n, GLfloat f); +typedef void (GL_APIENTRYP PFNGLGETFLOATI_VOESPROC) (GLenum target, GLuint index, GLfloat *data); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glViewportArrayvOES (GLuint first, GLsizei count, const GLfloat *v); +GL_APICALL void GL_APIENTRY glViewportIndexedfOES (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h); +GL_APICALL void GL_APIENTRY glViewportIndexedfvOES (GLuint index, const GLfloat *v); +GL_APICALL void GL_APIENTRY glScissorArrayvOES (GLuint first, GLsizei count, const GLint *v); +GL_APICALL void GL_APIENTRY glScissorIndexedOES (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height); +GL_APICALL void GL_APIENTRY glScissorIndexedvOES (GLuint index, const GLint *v); +GL_APICALL void GL_APIENTRY glDepthRangeArrayfvOES (GLuint first, GLsizei count, const GLfloat *v); +GL_APICALL void GL_APIENTRY glDepthRangeIndexedfOES (GLuint index, GLfloat n, GLfloat f); +GL_APICALL void GL_APIENTRY glGetFloati_vOES (GLenum target, GLuint index, GLfloat *data); +#endif +#endif /* GL_OES_viewport_array */ -/* GL_AMD_compressed_3DC_texture */ #ifndef GL_AMD_compressed_3DC_texture #define GL_AMD_compressed_3DC_texture 1 -#endif +#define GL_3DC_X_AMD 0x87F9 +#define GL_3DC_XY_AMD 0x87FA +#endif /* GL_AMD_compressed_3DC_texture */ -/* GL_AMD_compressed_ATC_texture */ #ifndef GL_AMD_compressed_ATC_texture #define GL_AMD_compressed_ATC_texture 1 +#define GL_ATC_RGB_AMD 0x8C92 +#define GL_ATC_RGBA_EXPLICIT_ALPHA_AMD 0x8C93 +#define GL_ATC_RGBA_INTERPOLATED_ALPHA_AMD 0x87EE +#endif /* GL_AMD_compressed_ATC_texture */ + +#ifndef GL_AMD_framebuffer_multisample_advanced +#define GL_AMD_framebuffer_multisample_advanced 1 +#define GL_RENDERBUFFER_STORAGE_SAMPLES_AMD 0x91B2 +#define GL_MAX_COLOR_FRAMEBUFFER_SAMPLES_AMD 0x91B3 +#define GL_MAX_COLOR_FRAMEBUFFER_STORAGE_SAMPLES_AMD 0x91B4 +#define GL_MAX_DEPTH_STENCIL_FRAMEBUFFER_SAMPLES_AMD 0x91B5 +#define GL_NUM_SUPPORTED_MULTISAMPLE_MODES_AMD 0x91B6 +#define GL_SUPPORTED_MULTISAMPLE_MODES_AMD 0x91B7 +typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEADVANCEDAMDPROC) (GLenum target, GLsizei samples, GLsizei storageSamples, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GL_APIENTRYP PFNGLNAMEDRENDERBUFFERSTORAGEMULTISAMPLEADVANCEDAMDPROC) (GLuint renderbuffer, GLsizei samples, GLsizei storageSamples, GLenum internalformat, GLsizei width, GLsizei height); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAdvancedAMD (GLenum target, GLsizei samples, GLsizei storageSamples, GLenum internalformat, GLsizei width, GLsizei height); +GL_APICALL void GL_APIENTRY glNamedRenderbufferStorageMultisampleAdvancedAMD (GLuint renderbuffer, GLsizei samples, GLsizei storageSamples, GLenum internalformat, GLsizei width, GLsizei height); #endif +#endif /* GL_AMD_framebuffer_multisample_advanced */ -/* AMD_performance_monitor */ #ifndef GL_AMD_performance_monitor #define GL_AMD_performance_monitor 1 +#define GL_COUNTER_TYPE_AMD 0x8BC0 +#define GL_COUNTER_RANGE_AMD 0x8BC1 +#define GL_UNSIGNED_INT64_AMD 0x8BC2 +#define GL_PERCENTAGE_AMD 0x8BC3 +#define GL_PERFMON_RESULT_AVAILABLE_AMD 0x8BC4 +#define GL_PERFMON_RESULT_SIZE_AMD 0x8BC5 +#define GL_PERFMON_RESULT_AMD 0x8BC6 +typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups); +typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); +typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString); +typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString); +typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, void *data); +typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); +typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); +typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList); +typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor); +typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor); +typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten); #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupsAMD (GLint *numGroups, GLsizei groupsSize, GLuint *groups); GL_APICALL void GL_APIENTRY glGetPerfMonitorCountersAMD (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); GL_APICALL void GL_APIENTRY glGetPerfMonitorGroupStringAMD (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString); GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterStringAMD (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString); -GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, GLvoid *data); +GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterInfoAMD (GLuint group, GLuint counter, GLenum pname, void *data); GL_APICALL void GL_APIENTRY glGenPerfMonitorsAMD (GLsizei n, GLuint *monitors); GL_APICALL void GL_APIENTRY glDeletePerfMonitorsAMD (GLsizei n, GLuint *monitors); -GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList); +GL_APICALL void GL_APIENTRY glSelectPerfMonitorCountersAMD (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *counterList); GL_APICALL void GL_APIENTRY glBeginPerfMonitorAMD (GLuint monitor); GL_APICALL void GL_APIENTRY glEndPerfMonitorAMD (GLuint monitor); GL_APICALL void GL_APIENTRY glGetPerfMonitorCounterDataAMD (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten); #endif -typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSAMDPROC) (GLint *numGroups, GLsizei groupsSize, GLuint *groups); -typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSAMDPROC) (GLuint group, GLint *numCounters, GLint *maxActiveCounters, GLsizei counterSize, GLuint *counters); -typedef void (GL_APIENTRYP PFNGLGETPERFMONITORGROUPSTRINGAMDPROC) (GLuint group, GLsizei bufSize, GLsizei *length, GLchar *groupString); -typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERSTRINGAMDPROC) (GLuint group, GLuint counter, GLsizei bufSize, GLsizei *length, GLchar *counterString); -typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERINFOAMDPROC) (GLuint group, GLuint counter, GLenum pname, GLvoid *data); -typedef void (GL_APIENTRYP PFNGLGENPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); -typedef void (GL_APIENTRYP PFNGLDELETEPERFMONITORSAMDPROC) (GLsizei n, GLuint *monitors); -typedef void (GL_APIENTRYP PFNGLSELECTPERFMONITORCOUNTERSAMDPROC) (GLuint monitor, GLboolean enable, GLuint group, GLint numCounters, GLuint *countersList); -typedef void (GL_APIENTRYP PFNGLBEGINPERFMONITORAMDPROC) (GLuint monitor); -typedef void (GL_APIENTRYP PFNGLENDPERFMONITORAMDPROC) (GLuint monitor); -typedef void (GL_APIENTRYP PFNGLGETPERFMONITORCOUNTERDATAAMDPROC) (GLuint monitor, GLenum pname, GLsizei dataSize, GLuint *data, GLint *bytesWritten); -#endif +#endif /* GL_AMD_performance_monitor */ -/* GL_AMD_program_binary_Z400 */ #ifndef GL_AMD_program_binary_Z400 #define GL_AMD_program_binary_Z400 1 -#endif +#define GL_Z400_BINARY_AMD 0x8740 +#endif /* GL_AMD_program_binary_Z400 */ -/*------------------------------------------------------------------------* - * ANGLE extension functions - *------------------------------------------------------------------------*/ +#ifndef GL_ANDROID_extension_pack_es31a +#define GL_ANDROID_extension_pack_es31a 1 +#endif /* GL_ANDROID_extension_pack_es31a */ -/* GL_ANGLE_depth_texture */ #ifndef GL_ANGLE_depth_texture #define GL_ANGLE_depth_texture 1 -#endif +#endif /* GL_ANGLE_depth_texture */ -/* GL_ANGLE_framebuffer_blit */ #ifndef GL_ANGLE_framebuffer_blit #define GL_ANGLE_framebuffer_blit 1 +#define GL_READ_FRAMEBUFFER_ANGLE 0x8CA8 +#define GL_DRAW_FRAMEBUFFER_ANGLE 0x8CA9 +#define GL_DRAW_FRAMEBUFFER_BINDING_ANGLE 0x8CA6 +#define GL_READ_FRAMEBUFFER_BINDING_ANGLE 0x8CAA +typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERANGLEPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glBlitFramebufferANGLE (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); #endif -typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERANGLEPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); -#endif +#endif /* GL_ANGLE_framebuffer_blit */ -/* GL_ANGLE_framebuffer_multisample */ #ifndef GL_ANGLE_framebuffer_multisample #define GL_ANGLE_framebuffer_multisample 1 +#define GL_RENDERBUFFER_SAMPLES_ANGLE 0x8CAB +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_ANGLE 0x8D56 +#define GL_MAX_SAMPLES_ANGLE 0x8D57 +typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleANGLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); #endif -typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEANGLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); -#endif +#endif /* GL_ANGLE_framebuffer_multisample */ #ifndef GL_ANGLE_instanced_arrays #define GL_ANGLE_instanced_arrays 1 +#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ANGLE 0x88FE +typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); +typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); +typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor); #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glDrawArraysInstancedANGLE (GLenum mode, GLint first, GLsizei count, GLsizei primcount); GL_APICALL void GL_APIENTRY glDrawElementsInstancedANGLE (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); GL_APICALL void GL_APIENTRY glVertexAttribDivisorANGLE (GLuint index, GLuint divisor); #endif -typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDANGLEPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); -typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDANGLEPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); -typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORANGLEPROC) (GLuint index, GLuint divisor); -#endif +#endif /* GL_ANGLE_instanced_arrays */ -/* GL_ANGLE_pack_reverse_row_order */ #ifndef GL_ANGLE_pack_reverse_row_order #define GL_ANGLE_pack_reverse_row_order 1 -#endif +#define GL_PACK_REVERSE_ROW_ORDER_ANGLE 0x93A4 +#endif /* GL_ANGLE_pack_reverse_row_order */ -/* GL_ANGLE_program_binary */ #ifndef GL_ANGLE_program_binary #define GL_ANGLE_program_binary 1 -#endif +#define GL_PROGRAM_BINARY_ANGLE 0x93A6 +#endif /* GL_ANGLE_program_binary */ -/* GL_ANGLE_texture_compression_dxt3 */ #ifndef GL_ANGLE_texture_compression_dxt3 #define GL_ANGLE_texture_compression_dxt3 1 -#endif +#define GL_COMPRESSED_RGBA_S3TC_DXT3_ANGLE 0x83F2 +#endif /* GL_ANGLE_texture_compression_dxt3 */ -/* GL_ANGLE_texture_compression_dxt5 */ #ifndef GL_ANGLE_texture_compression_dxt5 #define GL_ANGLE_texture_compression_dxt5 1 -#endif +#define GL_COMPRESSED_RGBA_S3TC_DXT5_ANGLE 0x83F3 +#endif /* GL_ANGLE_texture_compression_dxt5 */ -/* GL_ANGLE_texture_usage */ #ifndef GL_ANGLE_texture_usage #define GL_ANGLE_texture_usage 1 -#endif +#define GL_TEXTURE_USAGE_ANGLE 0x93A2 +#define GL_FRAMEBUFFER_ATTACHMENT_ANGLE 0x93A3 +#endif /* GL_ANGLE_texture_usage */ #ifndef GL_ANGLE_translated_shader_source #define GL_ANGLE_translated_shader_source 1 +#define GL_TRANSLATED_SHADER_SOURCE_LENGTH_ANGLE 0x93A0 +typedef void (GL_APIENTRYP PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source); #ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glGetTranslatedShaderSourceANGLE (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source); -#endif -typedef void (GL_APIENTRYP PFNGLGETTRANSLATEDSHADERSOURCEANGLEPROC) (GLuint shader, GLsizei bufsize, GLsizei *length, GLchar *source); -#endif - -/*------------------------------------------------------------------------* - * APPLE extension functions - *------------------------------------------------------------------------*/ +GL_APICALL void GL_APIENTRY glGetTranslatedShaderSourceANGLE (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *source); +#endif +#endif /* GL_ANGLE_translated_shader_source */ + +#ifndef GL_APPLE_clip_distance +#define GL_APPLE_clip_distance 1 +#define GL_MAX_CLIP_DISTANCES_APPLE 0x0D32 +#define GL_CLIP_DISTANCE0_APPLE 0x3000 +#define GL_CLIP_DISTANCE1_APPLE 0x3001 +#define GL_CLIP_DISTANCE2_APPLE 0x3002 +#define GL_CLIP_DISTANCE3_APPLE 0x3003 +#define GL_CLIP_DISTANCE4_APPLE 0x3004 +#define GL_CLIP_DISTANCE5_APPLE 0x3005 +#define GL_CLIP_DISTANCE6_APPLE 0x3006 +#define GL_CLIP_DISTANCE7_APPLE 0x3007 +#endif /* GL_APPLE_clip_distance */ + +#ifndef GL_APPLE_color_buffer_packed_float +#define GL_APPLE_color_buffer_packed_float 1 +#endif /* GL_APPLE_color_buffer_packed_float */ -/* GL_APPLE_copy_texture_levels */ #ifndef GL_APPLE_copy_texture_levels #define GL_APPLE_copy_texture_levels 1 +typedef void (GL_APIENTRYP PFNGLCOPYTEXTURELEVELSAPPLEPROC) (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount); #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glCopyTextureLevelsAPPLE (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount); #endif -typedef void (GL_APIENTRYP PFNGLCOPYTEXTURELEVELSAPPLEPROC) (GLuint destinationTexture, GLuint sourceTexture, GLint sourceBaseLevel, GLsizei sourceLevelCount); -#endif +#endif /* GL_APPLE_copy_texture_levels */ -/* GL_APPLE_framebuffer_multisample */ #ifndef GL_APPLE_framebuffer_multisample #define GL_APPLE_framebuffer_multisample 1 +#define GL_RENDERBUFFER_SAMPLES_APPLE 0x8CAB +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_APPLE 0x8D56 +#define GL_MAX_SAMPLES_APPLE 0x8D57 +#define GL_READ_FRAMEBUFFER_APPLE 0x8CA8 +#define GL_DRAW_FRAMEBUFFER_APPLE 0x8CA9 +#define GL_DRAW_FRAMEBUFFER_BINDING_APPLE 0x8CA6 +#define GL_READ_FRAMEBUFFER_BINDING_APPLE 0x8CAA +typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void); #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleAPPLE (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); GL_APICALL void GL_APIENTRY glResolveMultisampleFramebufferAPPLE (void); -#endif /* GL_GLEXT_PROTOTYPES */ -typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEAPPLEPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); -typedef void (GL_APIENTRYP PFNGLRESOLVEMULTISAMPLEFRAMEBUFFERAPPLEPROC) (void); #endif +#endif /* GL_APPLE_framebuffer_multisample */ -/* GL_APPLE_rgb_422 */ #ifndef GL_APPLE_rgb_422 #define GL_APPLE_rgb_422 1 -#endif +#define GL_RGB_422_APPLE 0x8A1F +#define GL_UNSIGNED_SHORT_8_8_APPLE 0x85BA +#define GL_UNSIGNED_SHORT_8_8_REV_APPLE 0x85BB +#define GL_RGB_RAW_422_APPLE 0x8A51 +#endif /* GL_APPLE_rgb_422 */ -/* GL_APPLE_sync */ #ifndef GL_APPLE_sync #define GL_APPLE_sync 1 +#define GL_SYNC_OBJECT_APPLE 0x8A53 +#define GL_MAX_SERVER_WAIT_TIMEOUT_APPLE 0x9111 +#define GL_OBJECT_TYPE_APPLE 0x9112 +#define GL_SYNC_CONDITION_APPLE 0x9113 +#define GL_SYNC_STATUS_APPLE 0x9114 +#define GL_SYNC_FLAGS_APPLE 0x9115 +#define GL_SYNC_FENCE_APPLE 0x9116 +#define GL_SYNC_GPU_COMMANDS_COMPLETE_APPLE 0x9117 +#define GL_UNSIGNALED_APPLE 0x9118 +#define GL_SIGNALED_APPLE 0x9119 +#define GL_ALREADY_SIGNALED_APPLE 0x911A +#define GL_TIMEOUT_EXPIRED_APPLE 0x911B +#define GL_CONDITION_SATISFIED_APPLE 0x911C +#define GL_WAIT_FAILED_APPLE 0x911D +#define GL_SYNC_FLUSH_COMMANDS_BIT_APPLE 0x00000001 +#define GL_TIMEOUT_IGNORED_APPLE 0xFFFFFFFFFFFFFFFFull +typedef GLsync (GL_APIENTRYP PFNGLFENCESYNCAPPLEPROC) (GLenum condition, GLbitfield flags); +typedef GLboolean (GL_APIENTRYP PFNGLISSYNCAPPLEPROC) (GLsync sync); +typedef void (GL_APIENTRYP PFNGLDELETESYNCAPPLEPROC) (GLsync sync); +typedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout); +typedef void (GL_APIENTRYP PFNGLWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout); +typedef void (GL_APIENTRYP PFNGLGETINTEGER64VAPPLEPROC) (GLenum pname, GLint64 *params); +typedef void (GL_APIENTRYP PFNGLGETSYNCIVAPPLEPROC) (GLsync sync, GLenum pname, GLsizei count, GLsizei *length, GLint *values); #ifdef GL_GLEXT_PROTOTYPES GL_APICALL GLsync GL_APIENTRY glFenceSyncAPPLE (GLenum condition, GLbitfield flags); GL_APICALL GLboolean GL_APIENTRY glIsSyncAPPLE (GLsync sync); @@ -1397,95 +1015,283 @@ GL_APICALL void GL_APIENTRY glDeleteSyncAPPLE (GLsync sync); GL_APICALL GLenum GL_APIENTRY glClientWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout); GL_APICALL void GL_APIENTRY glWaitSyncAPPLE (GLsync sync, GLbitfield flags, GLuint64 timeout); GL_APICALL void GL_APIENTRY glGetInteger64vAPPLE (GLenum pname, GLint64 *params); -GL_APICALL void GL_APIENTRY glGetSyncivAPPLE (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); -#endif -typedef GLsync (GL_APIENTRYP PFNGLFENCESYNCAPPLEPROC) (GLenum condition, GLbitfield flags); -typedef GLboolean (GL_APIENTRYP PFNGLISSYNCAPPLEPROC) (GLsync sync); -typedef void (GL_APIENTRYP PFNGLDELETESYNCAPPLEPROC) (GLsync sync); -typedef GLenum (GL_APIENTRYP PFNGLCLIENTWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout); -typedef void (GL_APIENTRYP PFNGLWAITSYNCAPPLEPROC) (GLsync sync, GLbitfield flags, GLuint64 timeout); -typedef void (GL_APIENTRYP PFNGLGETINTEGER64VAPPLEPROC) (GLenum pname, GLint64 *params); -typedef void (GL_APIENTRYP PFNGLGETSYNCIVAPPLEPROC) (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei *length, GLint *values); +GL_APICALL void GL_APIENTRY glGetSyncivAPPLE (GLsync sync, GLenum pname, GLsizei count, GLsizei *length, GLint *values); #endif +#endif /* GL_APPLE_sync */ -/* GL_APPLE_texture_format_BGRA8888 */ #ifndef GL_APPLE_texture_format_BGRA8888 #define GL_APPLE_texture_format_BGRA8888 1 -#endif +#define GL_BGRA_EXT 0x80E1 +#define GL_BGRA8_EXT 0x93A1 +#endif /* GL_APPLE_texture_format_BGRA8888 */ -/* GL_APPLE_texture_max_level */ #ifndef GL_APPLE_texture_max_level #define GL_APPLE_texture_max_level 1 -#endif +#define GL_TEXTURE_MAX_LEVEL_APPLE 0x813D +#endif /* GL_APPLE_texture_max_level */ -/*------------------------------------------------------------------------* - * ARM extension functions - *------------------------------------------------------------------------*/ +#ifndef GL_APPLE_texture_packed_float +#define GL_APPLE_texture_packed_float 1 +#define GL_UNSIGNED_INT_10F_11F_11F_REV_APPLE 0x8C3B +#define GL_UNSIGNED_INT_5_9_9_9_REV_APPLE 0x8C3E +#define GL_R11F_G11F_B10F_APPLE 0x8C3A +#define GL_RGB9_E5_APPLE 0x8C3D +#endif /* GL_APPLE_texture_packed_float */ -/* GL_ARM_mali_program_binary */ #ifndef GL_ARM_mali_program_binary #define GL_ARM_mali_program_binary 1 -#endif +#define GL_MALI_PROGRAM_BINARY_ARM 0x8F61 +#endif /* GL_ARM_mali_program_binary */ -/* GL_ARM_mali_shader_binary */ #ifndef GL_ARM_mali_shader_binary #define GL_ARM_mali_shader_binary 1 -#endif +#define GL_MALI_SHADER_BINARY_ARM 0x8F60 +#endif /* GL_ARM_mali_shader_binary */ -/* GL_ARM_rgba8 */ #ifndef GL_ARM_rgba8 #define GL_ARM_rgba8 1 -#endif +#endif /* GL_ARM_rgba8 */ + +#ifndef GL_ARM_shader_framebuffer_fetch +#define GL_ARM_shader_framebuffer_fetch 1 +#define GL_FETCH_PER_SAMPLE_ARM 0x8F65 +#define GL_FRAGMENT_SHADER_FRAMEBUFFER_FETCH_MRT_ARM 0x8F66 +#endif /* GL_ARM_shader_framebuffer_fetch */ + +#ifndef GL_ARM_shader_framebuffer_fetch_depth_stencil +#define GL_ARM_shader_framebuffer_fetch_depth_stencil 1 +#endif /* GL_ARM_shader_framebuffer_fetch_depth_stencil */ + +#ifndef GL_ARM_texture_unnormalized_coordinates +#define GL_ARM_texture_unnormalized_coordinates 1 +#define GL_TEXTURE_UNNORMALIZED_COORDINATES_ARM 0x8F6A +#endif /* GL_ARM_texture_unnormalized_coordinates */ + +#ifndef GL_DMP_program_binary +#define GL_DMP_program_binary 1 +#define GL_SMAPHS30_PROGRAM_BINARY_DMP 0x9251 +#define GL_SMAPHS_PROGRAM_BINARY_DMP 0x9252 +#define GL_DMP_PROGRAM_BINARY_DMP 0x9253 +#endif /* GL_DMP_program_binary */ + +#ifndef GL_DMP_shader_binary +#define GL_DMP_shader_binary 1 +#define GL_SHADER_BINARY_DMP 0x9250 +#endif /* GL_DMP_shader_binary */ + +#ifndef GL_EXT_EGL_image_array +#define GL_EXT_EGL_image_array 1 +#endif /* GL_EXT_EGL_image_array */ -/*------------------------------------------------------------------------* - * EXT extension functions - *------------------------------------------------------------------------*/ +#ifndef GL_EXT_EGL_image_storage +#define GL_EXT_EGL_image_storage 1 +typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXSTORAGEEXTPROC) (GLenum target, GLeglImageOES image, const GLint* attrib_list); +typedef void (GL_APIENTRYP PFNGLEGLIMAGETARGETTEXTURESTORAGEEXTPROC) (GLuint texture, GLeglImageOES image, const GLint* attrib_list); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glEGLImageTargetTexStorageEXT (GLenum target, GLeglImageOES image, const GLint* attrib_list); +GL_APICALL void GL_APIENTRY glEGLImageTargetTextureStorageEXT (GLuint texture, GLeglImageOES image, const GLint* attrib_list); +#endif +#endif /* GL_EXT_EGL_image_storage */ + +#ifndef GL_EXT_EGL_image_storage_compression +#define GL_EXT_EGL_image_storage_compression 1 +#define GL_SURFACE_COMPRESSION_EXT 0x96C0 +#define GL_SURFACE_COMPRESSION_FIXED_RATE_NONE_EXT 0x96C1 +#define GL_SURFACE_COMPRESSION_FIXED_RATE_DEFAULT_EXT 0x96C2 +#endif /* GL_EXT_EGL_image_storage_compression */ + +#ifndef GL_EXT_YUV_target +#define GL_EXT_YUV_target 1 +#define GL_SAMPLER_EXTERNAL_2D_Y2Y_EXT 0x8BE7 +#endif /* GL_EXT_YUV_target */ + +#ifndef GL_EXT_base_instance +#define GL_EXT_base_instance 1 +typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDBASEINSTANCEEXTPROC) (GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance); +typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEINSTANCEEXTPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance); +typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXBASEINSTANCEEXTPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glDrawArraysInstancedBaseInstanceEXT (GLenum mode, GLint first, GLsizei count, GLsizei instancecount, GLuint baseinstance); +GL_APICALL void GL_APIENTRY glDrawElementsInstancedBaseInstanceEXT (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLuint baseinstance); +GL_APICALL void GL_APIENTRY glDrawElementsInstancedBaseVertexBaseInstanceEXT (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex, GLuint baseinstance); +#endif +#endif /* GL_EXT_base_instance */ + +#ifndef GL_EXT_blend_func_extended +#define GL_EXT_blend_func_extended 1 +#define GL_SRC1_COLOR_EXT 0x88F9 +#define GL_SRC1_ALPHA_EXT 0x8589 +#define GL_ONE_MINUS_SRC1_COLOR_EXT 0x88FA +#define GL_ONE_MINUS_SRC1_ALPHA_EXT 0x88FB +#define GL_SRC_ALPHA_SATURATE_EXT 0x0308 +#define GL_LOCATION_INDEX_EXT 0x930F +#define GL_MAX_DUAL_SOURCE_DRAW_BUFFERS_EXT 0x88FC +typedef void (GL_APIENTRYP PFNGLBINDFRAGDATALOCATIONINDEXEDEXTPROC) (GLuint program, GLuint colorNumber, GLuint index, const GLchar *name); +typedef void (GL_APIENTRYP PFNGLBINDFRAGDATALOCATIONEXTPROC) (GLuint program, GLuint color, const GLchar *name); +typedef GLint (GL_APIENTRYP PFNGLGETPROGRAMRESOURCELOCATIONINDEXEXTPROC) (GLuint program, GLenum programInterface, const GLchar *name); +typedef GLint (GL_APIENTRYP PFNGLGETFRAGDATAINDEXEXTPROC) (GLuint program, const GLchar *name); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glBindFragDataLocationIndexedEXT (GLuint program, GLuint colorNumber, GLuint index, const GLchar *name); +GL_APICALL void GL_APIENTRY glBindFragDataLocationEXT (GLuint program, GLuint color, const GLchar *name); +GL_APICALL GLint GL_APIENTRY glGetProgramResourceLocationIndexEXT (GLuint program, GLenum programInterface, const GLchar *name); +GL_APICALL GLint GL_APIENTRY glGetFragDataIndexEXT (GLuint program, const GLchar *name); +#endif +#endif /* GL_EXT_blend_func_extended */ -/* GL_EXT_blend_minmax */ #ifndef GL_EXT_blend_minmax #define GL_EXT_blend_minmax 1 +#define GL_MIN_EXT 0x8007 +#define GL_MAX_EXT 0x8008 +#endif /* GL_EXT_blend_minmax */ + +#ifndef GL_EXT_buffer_storage +#define GL_EXT_buffer_storage 1 +#define GL_MAP_READ_BIT 0x0001 +#define GL_MAP_WRITE_BIT 0x0002 +#define GL_MAP_PERSISTENT_BIT_EXT 0x0040 +#define GL_MAP_COHERENT_BIT_EXT 0x0080 +#define GL_DYNAMIC_STORAGE_BIT_EXT 0x0100 +#define GL_CLIENT_STORAGE_BIT_EXT 0x0200 +#define GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT_EXT 0x00004000 +#define GL_BUFFER_IMMUTABLE_STORAGE_EXT 0x821F +#define GL_BUFFER_STORAGE_FLAGS_EXT 0x8220 +typedef void (GL_APIENTRYP PFNGLBUFFERSTORAGEEXTPROC) (GLenum target, GLsizeiptr size, const void *data, GLbitfield flags); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glBufferStorageEXT (GLenum target, GLsizeiptr size, const void *data, GLbitfield flags); #endif +#endif /* GL_EXT_buffer_storage */ + +#ifndef GL_EXT_clear_texture +#define GL_EXT_clear_texture 1 +typedef void (GL_APIENTRYP PFNGLCLEARTEXIMAGEEXTPROC) (GLuint texture, GLint level, GLenum format, GLenum type, const void *data); +typedef void (GL_APIENTRYP PFNGLCLEARTEXSUBIMAGEEXTPROC) (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glClearTexImageEXT (GLuint texture, GLint level, GLenum format, GLenum type, const void *data); +GL_APICALL void GL_APIENTRY glClearTexSubImageEXT (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data); +#endif +#endif /* GL_EXT_clear_texture */ + +#ifndef GL_EXT_clip_control +#define GL_EXT_clip_control 1 +#define GL_LOWER_LEFT_EXT 0x8CA1 +#define GL_UPPER_LEFT_EXT 0x8CA2 +#define GL_NEGATIVE_ONE_TO_ONE_EXT 0x935E +#define GL_ZERO_TO_ONE_EXT 0x935F +#define GL_CLIP_ORIGIN_EXT 0x935C +#define GL_CLIP_DEPTH_MODE_EXT 0x935D +typedef void (GL_APIENTRYP PFNGLCLIPCONTROLEXTPROC) (GLenum origin, GLenum depth); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glClipControlEXT (GLenum origin, GLenum depth); +#endif +#endif /* GL_EXT_clip_control */ + +#ifndef GL_EXT_clip_cull_distance +#define GL_EXT_clip_cull_distance 1 +#define GL_MAX_CLIP_DISTANCES_EXT 0x0D32 +#define GL_MAX_CULL_DISTANCES_EXT 0x82F9 +#define GL_MAX_COMBINED_CLIP_AND_CULL_DISTANCES_EXT 0x82FA +#define GL_CLIP_DISTANCE0_EXT 0x3000 +#define GL_CLIP_DISTANCE1_EXT 0x3001 +#define GL_CLIP_DISTANCE2_EXT 0x3002 +#define GL_CLIP_DISTANCE3_EXT 0x3003 +#define GL_CLIP_DISTANCE4_EXT 0x3004 +#define GL_CLIP_DISTANCE5_EXT 0x3005 +#define GL_CLIP_DISTANCE6_EXT 0x3006 +#define GL_CLIP_DISTANCE7_EXT 0x3007 +#endif /* GL_EXT_clip_cull_distance */ + +#ifndef GL_EXT_color_buffer_float +#define GL_EXT_color_buffer_float 1 +#endif /* GL_EXT_color_buffer_float */ -/* GL_EXT_color_buffer_half_float */ #ifndef GL_EXT_color_buffer_half_float #define GL_EXT_color_buffer_half_float 1 +#define GL_RGBA16F_EXT 0x881A +#define GL_RGB16F_EXT 0x881B +#define GL_RG16F_EXT 0x822F +#define GL_R16F_EXT 0x822D +#define GL_FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE_EXT 0x8211 +#define GL_UNSIGNED_NORMALIZED_EXT 0x8C17 +#endif /* GL_EXT_color_buffer_half_float */ + +#ifndef GL_EXT_conservative_depth +#define GL_EXT_conservative_depth 1 +#endif /* GL_EXT_conservative_depth */ + +#ifndef GL_EXT_copy_image +#define GL_EXT_copy_image 1 +typedef void (GL_APIENTRYP PFNGLCOPYIMAGESUBDATAEXTPROC) (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glCopyImageSubDataEXT (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth); #endif +#endif /* GL_EXT_copy_image */ -/* GL_EXT_debug_label */ #ifndef GL_EXT_debug_label #define GL_EXT_debug_label 1 +#define GL_PROGRAM_PIPELINE_OBJECT_EXT 0x8A4F +#define GL_PROGRAM_OBJECT_EXT 0x8B40 +#define GL_SHADER_OBJECT_EXT 0x8B48 +#define GL_BUFFER_OBJECT_EXT 0x9151 +#define GL_QUERY_OBJECT_EXT 0x9153 +#define GL_VERTEX_ARRAY_OBJECT_EXT 0x9154 +#define GL_TRANSFORM_FEEDBACK 0x8E22 +typedef void (GL_APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label); +typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label); #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glLabelObjectEXT (GLenum type, GLuint object, GLsizei length, const GLchar *label); GL_APICALL void GL_APIENTRY glGetObjectLabelEXT (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label); #endif -typedef void (GL_APIENTRYP PFNGLLABELOBJECTEXTPROC) (GLenum type, GLuint object, GLsizei length, const GLchar *label); -typedef void (GL_APIENTRYP PFNGLGETOBJECTLABELEXTPROC) (GLenum type, GLuint object, GLsizei bufSize, GLsizei *length, GLchar *label); -#endif +#endif /* GL_EXT_debug_label */ -/* GL_EXT_debug_marker */ #ifndef GL_EXT_debug_marker #define GL_EXT_debug_marker 1 +typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker); +typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker); +typedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void); #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glInsertEventMarkerEXT (GLsizei length, const GLchar *marker); GL_APICALL void GL_APIENTRY glPushGroupMarkerEXT (GLsizei length, const GLchar *marker); GL_APICALL void GL_APIENTRY glPopGroupMarkerEXT (void); #endif -typedef void (GL_APIENTRYP PFNGLINSERTEVENTMARKEREXTPROC) (GLsizei length, const GLchar *marker); -typedef void (GL_APIENTRYP PFNGLPUSHGROUPMARKEREXTPROC) (GLsizei length, const GLchar *marker); -typedef void (GL_APIENTRYP PFNGLPOPGROUPMARKEREXTPROC) (void); -#endif +#endif /* GL_EXT_debug_marker */ + +#ifndef GL_EXT_depth_clamp +#define GL_EXT_depth_clamp 1 +#define GL_DEPTH_CLAMP_EXT 0x864F +#endif /* GL_EXT_depth_clamp */ -/* GL_EXT_discard_framebuffer */ #ifndef GL_EXT_discard_framebuffer #define GL_EXT_discard_framebuffer 1 +#define GL_COLOR_EXT 0x1800 +#define GL_DEPTH_EXT 0x1801 +#define GL_STENCIL_EXT 0x1802 +typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments); #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glDiscardFramebufferEXT (GLenum target, GLsizei numAttachments, const GLenum *attachments); #endif -typedef void (GL_APIENTRYP PFNGLDISCARDFRAMEBUFFEREXTPROC) (GLenum target, GLsizei numAttachments, const GLenum *attachments); -#endif +#endif /* GL_EXT_discard_framebuffer */ #ifndef GL_EXT_disjoint_timer_query #define GL_EXT_disjoint_timer_query 1 +#define GL_QUERY_COUNTER_BITS_EXT 0x8864 +#define GL_CURRENT_QUERY_EXT 0x8865 +#define GL_QUERY_RESULT_EXT 0x8866 +#define GL_QUERY_RESULT_AVAILABLE_EXT 0x8867 +#define GL_TIME_ELAPSED_EXT 0x88BF +#define GL_TIMESTAMP_EXT 0x8E28 +#define GL_GPU_DISJOINT_EXT 0x8FBB +typedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC) (GLsizei n, GLuint *ids); +typedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC) (GLsizei n, const GLuint *ids); +typedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC) (GLuint id); +typedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC) (GLenum target, GLuint id); +typedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC) (GLenum target); +typedef void (GL_APIENTRYP PFNGLQUERYCOUNTEREXTPROC) (GLuint id, GLenum target); +typedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTIVEXTPROC) (GLuint id, GLenum pname, GLint *params); +typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVEXTPROC) (GLuint id, GLenum pname, GLuint *params); +typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTI64VEXTPROC) (GLuint id, GLenum pname, GLint64 *params); +typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUI64VEXTPROC) (GLuint id, GLenum pname, GLuint64 *params); +typedef void (GL_APIENTRYP PFNGLGETINTEGER64VEXTPROC) (GLenum pname, GLint64 *data); #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glGenQueriesEXT (GLsizei n, GLuint *ids); GL_APICALL void GL_APIENTRY glDeleteQueriesEXT (GLsizei n, const GLuint *ids); @@ -1498,209 +1304,991 @@ GL_APICALL void GL_APIENTRY glGetQueryObjectivEXT (GLuint id, GLenum pname, GLin GL_APICALL void GL_APIENTRY glGetQueryObjectuivEXT (GLuint id, GLenum pname, GLuint *params); GL_APICALL void GL_APIENTRY glGetQueryObjecti64vEXT (GLuint id, GLenum pname, GLint64 *params); GL_APICALL void GL_APIENTRY glGetQueryObjectui64vEXT (GLuint id, GLenum pname, GLuint64 *params); +GL_APICALL void GL_APIENTRY glGetInteger64vEXT (GLenum pname, GLint64 *data); #endif -typedef void (GL_APIENTRYP PFNGLGENQUERIESEXTPROC) (GLsizei n, GLuint *ids); -typedef void (GL_APIENTRYP PFNGLDELETEQUERIESEXTPROC) (GLsizei n, const GLuint *ids); -typedef GLboolean (GL_APIENTRYP PFNGLISQUERYEXTPROC) (GLuint id); -typedef void (GL_APIENTRYP PFNGLBEGINQUERYEXTPROC) (GLenum target, GLuint id); -typedef void (GL_APIENTRYP PFNGLENDQUERYEXTPROC) (GLenum target); -typedef void (GL_APIENTRYP PFNGLQUERYCOUNTEREXTPROC) (GLuint id, GLenum target); -typedef void (GL_APIENTRYP PFNGLGETQUERYIVEXTPROC) (GLenum target, GLenum pname, GLint *params); -typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTIVEXTPROC) (GLuint id, GLenum pname, GLint *params); -typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUIVEXTPROC) (GLuint id, GLenum pname, GLuint *params); -typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTI64VEXTPROC) (GLuint id, GLenum pname, GLint64 *params); -typedef void (GL_APIENTRYP PFNGLGETQUERYOBJECTUI64VEXTPROC) (GLuint id, GLenum pname, GLuint64 *params); #endif /* GL_EXT_disjoint_timer_query */ #ifndef GL_EXT_draw_buffers #define GL_EXT_draw_buffers 1 +#define GL_MAX_COLOR_ATTACHMENTS_EXT 0x8CDF +#define GL_MAX_DRAW_BUFFERS_EXT 0x8824 +#define GL_DRAW_BUFFER0_EXT 0x8825 +#define GL_DRAW_BUFFER1_EXT 0x8826 +#define GL_DRAW_BUFFER2_EXT 0x8827 +#define GL_DRAW_BUFFER3_EXT 0x8828 +#define GL_DRAW_BUFFER4_EXT 0x8829 +#define GL_DRAW_BUFFER5_EXT 0x882A +#define GL_DRAW_BUFFER6_EXT 0x882B +#define GL_DRAW_BUFFER7_EXT 0x882C +#define GL_DRAW_BUFFER8_EXT 0x882D +#define GL_DRAW_BUFFER9_EXT 0x882E +#define GL_DRAW_BUFFER10_EXT 0x882F +#define GL_DRAW_BUFFER11_EXT 0x8830 +#define GL_DRAW_BUFFER12_EXT 0x8831 +#define GL_DRAW_BUFFER13_EXT 0x8832 +#define GL_DRAW_BUFFER14_EXT 0x8833 +#define GL_DRAW_BUFFER15_EXT 0x8834 +#define GL_COLOR_ATTACHMENT0_EXT 0x8CE0 +#define GL_COLOR_ATTACHMENT1_EXT 0x8CE1 +#define GL_COLOR_ATTACHMENT2_EXT 0x8CE2 +#define GL_COLOR_ATTACHMENT3_EXT 0x8CE3 +#define GL_COLOR_ATTACHMENT4_EXT 0x8CE4 +#define GL_COLOR_ATTACHMENT5_EXT 0x8CE5 +#define GL_COLOR_ATTACHMENT6_EXT 0x8CE6 +#define GL_COLOR_ATTACHMENT7_EXT 0x8CE7 +#define GL_COLOR_ATTACHMENT8_EXT 0x8CE8 +#define GL_COLOR_ATTACHMENT9_EXT 0x8CE9 +#define GL_COLOR_ATTACHMENT10_EXT 0x8CEA +#define GL_COLOR_ATTACHMENT11_EXT 0x8CEB +#define GL_COLOR_ATTACHMENT12_EXT 0x8CEC +#define GL_COLOR_ATTACHMENT13_EXT 0x8CED +#define GL_COLOR_ATTACHMENT14_EXT 0x8CEE +#define GL_COLOR_ATTACHMENT15_EXT 0x8CEF +typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSEXTPROC) (GLsizei n, const GLenum *bufs); #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glDrawBuffersEXT (GLsizei n, const GLenum *bufs); #endif -typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSEXTPROC) (GLsizei n, const GLenum *bufs); #endif /* GL_EXT_draw_buffers */ -/* GL_EXT_map_buffer_range */ +#ifndef GL_EXT_draw_buffers_indexed +#define GL_EXT_draw_buffers_indexed 1 +typedef void (GL_APIENTRYP PFNGLENABLEIEXTPROC) (GLenum target, GLuint index); +typedef void (GL_APIENTRYP PFNGLDISABLEIEXTPROC) (GLenum target, GLuint index); +typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONIEXTPROC) (GLuint buf, GLenum mode); +typedef void (GL_APIENTRYP PFNGLBLENDEQUATIONSEPARATEIEXTPROC) (GLuint buf, GLenum modeRGB, GLenum modeAlpha); +typedef void (GL_APIENTRYP PFNGLBLENDFUNCIEXTPROC) (GLuint buf, GLenum src, GLenum dst); +typedef void (GL_APIENTRYP PFNGLBLENDFUNCSEPARATEIEXTPROC) (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); +typedef void (GL_APIENTRYP PFNGLCOLORMASKIEXTPROC) (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a); +typedef GLboolean (GL_APIENTRYP PFNGLISENABLEDIEXTPROC) (GLenum target, GLuint index); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glEnableiEXT (GLenum target, GLuint index); +GL_APICALL void GL_APIENTRY glDisableiEXT (GLenum target, GLuint index); +GL_APICALL void GL_APIENTRY glBlendEquationiEXT (GLuint buf, GLenum mode); +GL_APICALL void GL_APIENTRY glBlendEquationSeparateiEXT (GLuint buf, GLenum modeRGB, GLenum modeAlpha); +GL_APICALL void GL_APIENTRY glBlendFunciEXT (GLuint buf, GLenum src, GLenum dst); +GL_APICALL void GL_APIENTRY glBlendFuncSeparateiEXT (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha); +GL_APICALL void GL_APIENTRY glColorMaskiEXT (GLuint index, GLboolean r, GLboolean g, GLboolean b, GLboolean a); +GL_APICALL GLboolean GL_APIENTRY glIsEnablediEXT (GLenum target, GLuint index); +#endif +#endif /* GL_EXT_draw_buffers_indexed */ + +#ifndef GL_EXT_draw_elements_base_vertex +#define GL_EXT_draw_elements_base_vertex 1 +typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSBASEVERTEXEXTPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex); +typedef void (GL_APIENTRYP PFNGLDRAWRANGEELEMENTSBASEVERTEXEXTPROC) (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex); +typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDBASEVERTEXEXTPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glDrawElementsBaseVertexEXT (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex); +GL_APICALL void GL_APIENTRY glDrawRangeElementsBaseVertexEXT (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex); +GL_APICALL void GL_APIENTRY glDrawElementsInstancedBaseVertexEXT (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei instancecount, GLint basevertex); +#endif +#endif /* GL_EXT_draw_elements_base_vertex */ + +#ifndef GL_EXT_draw_instanced +#define GL_EXT_draw_instanced 1 +typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDEXTPROC) (GLenum mode, GLint start, GLsizei count, GLsizei primcount); +typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDEXTPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glDrawArraysInstancedEXT (GLenum mode, GLint start, GLsizei count, GLsizei primcount); +GL_APICALL void GL_APIENTRY glDrawElementsInstancedEXT (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); +#endif +#endif /* GL_EXT_draw_instanced */ + +#ifndef GL_EXT_draw_transform_feedback +#define GL_EXT_draw_transform_feedback 1 +typedef void (GL_APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKEXTPROC) (GLenum mode, GLuint id); +typedef void (GL_APIENTRYP PFNGLDRAWTRANSFORMFEEDBACKINSTANCEDEXTPROC) (GLenum mode, GLuint id, GLsizei instancecount); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glDrawTransformFeedbackEXT (GLenum mode, GLuint id); +GL_APICALL void GL_APIENTRY glDrawTransformFeedbackInstancedEXT (GLenum mode, GLuint id, GLsizei instancecount); +#endif +#endif /* GL_EXT_draw_transform_feedback */ + +#ifndef GL_EXT_external_buffer +#define GL_EXT_external_buffer 1 +typedef void *GLeglClientBufferEXT; +typedef void (GL_APIENTRYP PFNGLBUFFERSTORAGEEXTERNALEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags); +typedef void (GL_APIENTRYP PFNGLNAMEDBUFFERSTORAGEEXTERNALEXTPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glBufferStorageExternalEXT (GLenum target, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags); +GL_APICALL void GL_APIENTRY glNamedBufferStorageExternalEXT (GLuint buffer, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags); +#endif +#endif /* GL_EXT_external_buffer */ + +#ifndef GL_EXT_float_blend +#define GL_EXT_float_blend 1 +#endif /* GL_EXT_float_blend */ + +#ifndef GL_EXT_fragment_shading_rate +#define GL_EXT_fragment_shading_rate 1 +#define GL_SHADING_RATE_1X1_PIXELS_EXT 0x96A6 +#define GL_SHADING_RATE_1X2_PIXELS_EXT 0x96A7 +#define GL_SHADING_RATE_2X1_PIXELS_EXT 0x96A8 +#define GL_SHADING_RATE_2X2_PIXELS_EXT 0x96A9 +#define GL_SHADING_RATE_1X4_PIXELS_EXT 0x96AA +#define GL_SHADING_RATE_4X1_PIXELS_EXT 0x96AB +#define GL_SHADING_RATE_4X2_PIXELS_EXT 0x96AC +#define GL_SHADING_RATE_2X4_PIXELS_EXT 0x96AD +#define GL_SHADING_RATE_4X4_PIXELS_EXT 0x96AE +#define GL_SHADING_RATE_EXT 0x96D0 +#define GL_SHADING_RATE_ATTACHMENT_EXT 0x96D1 +#define GL_FRAGMENT_SHADING_RATE_COMBINER_OP_KEEP_EXT 0x96D2 +#define GL_FRAGMENT_SHADING_RATE_COMBINER_OP_REPLACE_EXT 0x96D3 +#define GL_FRAGMENT_SHADING_RATE_COMBINER_OP_MIN_EXT 0x96D4 +#define GL_FRAGMENT_SHADING_RATE_COMBINER_OP_MAX_EXT 0x96D5 +#define GL_FRAGMENT_SHADING_RATE_COMBINER_OP_MUL_EXT 0x96D6 +#define GL_MIN_FRAGMENT_SHADING_RATE_ATTACHMENT_TEXEL_WIDTH_EXT 0x96D7 +#define GL_MAX_FRAGMENT_SHADING_RATE_ATTACHMENT_TEXEL_WIDTH_EXT 0x96D8 +#define GL_MIN_FRAGMENT_SHADING_RATE_ATTACHMENT_TEXEL_HEIGHT_EXT 0x96D9 +#define GL_MAX_FRAGMENT_SHADING_RATE_ATTACHMENT_TEXEL_HEIGHT_EXT 0x96DA +#define GL_MAX_FRAGMENT_SHADING_RATE_ATTACHMENT_TEXEL_ASPECT_RATIO_EXT 0x96DB +#define GL_MAX_FRAGMENT_SHADING_RATE_ATTACHMENT_LAYERS_EXT 0x96DC +#define GL_FRAGMENT_SHADING_RATE_WITH_SHADER_DEPTH_STENCIL_WRITES_SUPPORTED_EXT 0x96DD +#define GL_FRAGMENT_SHADING_RATE_WITH_SAMPLE_MASK_SUPPORTED_EXT 0x96DE +#define GL_FRAGMENT_SHADING_RATE_ATTACHMENT_WITH_DEFAULT_FRAMEBUFFER_SUPPORTED_EXT 0x96DF +#define GL_FRAGMENT_SHADING_RATE_NON_TRIVIAL_COMBINERS_SUPPORTED_EXT 0x8F6F +typedef void (GL_APIENTRYP PFNGLGETFRAGMENTSHADINGRATESEXTPROC) (GLsizei samples, GLsizei maxCount, GLsizei *count, GLenum *shadingRates); +typedef void (GL_APIENTRYP PFNGLSHADINGRATEEXTPROC) (GLenum rate); +typedef void (GL_APIENTRYP PFNGLSHADINGRATECOMBINEROPSEXTPROC) (GLenum combinerOp0, GLenum combinerOp1); +typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERSHADINGRATEEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint baseLayer, GLsizei numLayers, GLsizei texelWidth, GLsizei texelHeight); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glGetFragmentShadingRatesEXT (GLsizei samples, GLsizei maxCount, GLsizei *count, GLenum *shadingRates); +GL_APICALL void GL_APIENTRY glShadingRateEXT (GLenum rate); +GL_APICALL void GL_APIENTRY glShadingRateCombinerOpsEXT (GLenum combinerOp0, GLenum combinerOp1); +GL_APICALL void GL_APIENTRY glFramebufferShadingRateEXT (GLenum target, GLenum attachment, GLuint texture, GLint baseLayer, GLsizei numLayers, GLsizei texelWidth, GLsizei texelHeight); +#endif +#endif /* GL_EXT_fragment_shading_rate */ + +#ifndef GL_EXT_geometry_point_size +#define GL_EXT_geometry_point_size 1 +#endif /* GL_EXT_geometry_point_size */ + +#ifndef GL_EXT_geometry_shader +#define GL_EXT_geometry_shader 1 +#define GL_GEOMETRY_SHADER_EXT 0x8DD9 +#define GL_GEOMETRY_SHADER_BIT_EXT 0x00000004 +#define GL_GEOMETRY_LINKED_VERTICES_OUT_EXT 0x8916 +#define GL_GEOMETRY_LINKED_INPUT_TYPE_EXT 0x8917 +#define GL_GEOMETRY_LINKED_OUTPUT_TYPE_EXT 0x8918 +#define GL_GEOMETRY_SHADER_INVOCATIONS_EXT 0x887F +#define GL_LAYER_PROVOKING_VERTEX_EXT 0x825E +#define GL_LINES_ADJACENCY_EXT 0x000A +#define GL_LINE_STRIP_ADJACENCY_EXT 0x000B +#define GL_TRIANGLES_ADJACENCY_EXT 0x000C +#define GL_TRIANGLE_STRIP_ADJACENCY_EXT 0x000D +#define GL_MAX_GEOMETRY_UNIFORM_COMPONENTS_EXT 0x8DDF +#define GL_MAX_GEOMETRY_UNIFORM_BLOCKS_EXT 0x8A2C +#define GL_MAX_COMBINED_GEOMETRY_UNIFORM_COMPONENTS_EXT 0x8A32 +#define GL_MAX_GEOMETRY_INPUT_COMPONENTS_EXT 0x9123 +#define GL_MAX_GEOMETRY_OUTPUT_COMPONENTS_EXT 0x9124 +#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_EXT 0x8DE0 +#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_EXT 0x8DE1 +#define GL_MAX_GEOMETRY_SHADER_INVOCATIONS_EXT 0x8E5A +#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_EXT 0x8C29 +#define GL_MAX_GEOMETRY_ATOMIC_COUNTER_BUFFERS_EXT 0x92CF +#define GL_MAX_GEOMETRY_ATOMIC_COUNTERS_EXT 0x92D5 +#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS_EXT 0x90CD +#define GL_MAX_GEOMETRY_SHADER_STORAGE_BLOCKS_EXT 0x90D7 +#define GL_FIRST_VERTEX_CONVENTION_EXT 0x8E4D +#define GL_LAST_VERTEX_CONVENTION_EXT 0x8E4E +#define GL_UNDEFINED_VERTEX_EXT 0x8260 +#define GL_PRIMITIVES_GENERATED_EXT 0x8C87 +#define GL_FRAMEBUFFER_DEFAULT_LAYERS_EXT 0x9312 +#define GL_MAX_FRAMEBUFFER_LAYERS_EXT 0x9317 +#define GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS_EXT 0x8DA8 +#define GL_FRAMEBUFFER_ATTACHMENT_LAYERED_EXT 0x8DA7 +#define GL_REFERENCED_BY_GEOMETRY_SHADER_EXT 0x9309 +typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTUREEXTPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glFramebufferTextureEXT (GLenum target, GLenum attachment, GLuint texture, GLint level); +#endif +#endif /* GL_EXT_geometry_shader */ + +#ifndef GL_EXT_gpu_shader5 +#define GL_EXT_gpu_shader5 1 +#endif /* GL_EXT_gpu_shader5 */ + +#ifndef GL_EXT_instanced_arrays +#define GL_EXT_instanced_arrays 1 +#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_EXT 0x88FE +typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISOREXTPROC) (GLuint index, GLuint divisor); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glVertexAttribDivisorEXT (GLuint index, GLuint divisor); +#endif +#endif /* GL_EXT_instanced_arrays */ + #ifndef GL_EXT_map_buffer_range #define GL_EXT_map_buffer_range 1 +#define GL_MAP_READ_BIT_EXT 0x0001 +#define GL_MAP_WRITE_BIT_EXT 0x0002 +#define GL_MAP_INVALIDATE_RANGE_BIT_EXT 0x0004 +#define GL_MAP_INVALIDATE_BUFFER_BIT_EXT 0x0008 +#define GL_MAP_FLUSH_EXPLICIT_BIT_EXT 0x0010 +#define GL_MAP_UNSYNCHRONIZED_BIT_EXT 0x0020 +typedef void *(GL_APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); +typedef void (GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length); #ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void* GL_APIENTRY glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); +GL_APICALL void *GL_APIENTRY glMapBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); GL_APICALL void GL_APIENTRY glFlushMappedBufferRangeEXT (GLenum target, GLintptr offset, GLsizeiptr length); #endif -typedef void* (GL_APIENTRYP PFNGLMAPBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access); -typedef void (GL_APIENTRYP PFNGLFLUSHMAPPEDBUFFERRANGEEXTPROC) (GLenum target, GLintptr offset, GLsizeiptr length); +#endif /* GL_EXT_map_buffer_range */ + +#ifndef GL_EXT_memory_object +#define GL_EXT_memory_object 1 +#define GL_TEXTURE_TILING_EXT 0x9580 +#define GL_DEDICATED_MEMORY_OBJECT_EXT 0x9581 +#define GL_PROTECTED_MEMORY_OBJECT_EXT 0x959B +#define GL_NUM_TILING_TYPES_EXT 0x9582 +#define GL_TILING_TYPES_EXT 0x9583 +#define GL_OPTIMAL_TILING_EXT 0x9584 +#define GL_LINEAR_TILING_EXT 0x9585 +#define GL_NUM_DEVICE_UUIDS_EXT 0x9596 +#define GL_DEVICE_UUID_EXT 0x9597 +#define GL_DRIVER_UUID_EXT 0x9598 +#define GL_UUID_SIZE_EXT 16 +typedef void (GL_APIENTRYP PFNGLGETUNSIGNEDBYTEVEXTPROC) (GLenum pname, GLubyte *data); +typedef void (GL_APIENTRYP PFNGLGETUNSIGNEDBYTEI_VEXTPROC) (GLenum target, GLuint index, GLubyte *data); +typedef void (GL_APIENTRYP PFNGLDELETEMEMORYOBJECTSEXTPROC) (GLsizei n, const GLuint *memoryObjects); +typedef GLboolean (GL_APIENTRYP PFNGLISMEMORYOBJECTEXTPROC) (GLuint memoryObject); +typedef void (GL_APIENTRYP PFNGLCREATEMEMORYOBJECTSEXTPROC) (GLsizei n, GLuint *memoryObjects); +typedef void (GL_APIENTRYP PFNGLMEMORYOBJECTPARAMETERIVEXTPROC) (GLuint memoryObject, GLenum pname, const GLint *params); +typedef void (GL_APIENTRYP PFNGLGETMEMORYOBJECTPARAMETERIVEXTPROC) (GLuint memoryObject, GLenum pname, GLint *params); +typedef void (GL_APIENTRYP PFNGLTEXSTORAGEMEM2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset); +typedef void (GL_APIENTRYP PFNGLTEXSTORAGEMEM2DMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset); +typedef void (GL_APIENTRYP PFNGLTEXSTORAGEMEM3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset); +typedef void (GL_APIENTRYP PFNGLTEXSTORAGEMEM3DMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset); +typedef void (GL_APIENTRYP PFNGLBUFFERSTORAGEMEMEXTPROC) (GLenum target, GLsizeiptr size, GLuint memory, GLuint64 offset); +typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGEMEM2DEXTPROC) (GLuint texture, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset); +typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGEMEM2DMULTISAMPLEEXTPROC) (GLuint texture, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset); +typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGEMEM3DEXTPROC) (GLuint texture, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset); +typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGEMEM3DMULTISAMPLEEXTPROC) (GLuint texture, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset); +typedef void (GL_APIENTRYP PFNGLNAMEDBUFFERSTORAGEMEMEXTPROC) (GLuint buffer, GLsizeiptr size, GLuint memory, GLuint64 offset); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glGetUnsignedBytevEXT (GLenum pname, GLubyte *data); +GL_APICALL void GL_APIENTRY glGetUnsignedBytei_vEXT (GLenum target, GLuint index, GLubyte *data); +GL_APICALL void GL_APIENTRY glDeleteMemoryObjectsEXT (GLsizei n, const GLuint *memoryObjects); +GL_APICALL GLboolean GL_APIENTRY glIsMemoryObjectEXT (GLuint memoryObject); +GL_APICALL void GL_APIENTRY glCreateMemoryObjectsEXT (GLsizei n, GLuint *memoryObjects); +GL_APICALL void GL_APIENTRY glMemoryObjectParameterivEXT (GLuint memoryObject, GLenum pname, const GLint *params); +GL_APICALL void GL_APIENTRY glGetMemoryObjectParameterivEXT (GLuint memoryObject, GLenum pname, GLint *params); +GL_APICALL void GL_APIENTRY glTexStorageMem2DEXT (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset); +GL_APICALL void GL_APIENTRY glTexStorageMem2DMultisampleEXT (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset); +GL_APICALL void GL_APIENTRY glTexStorageMem3DEXT (GLenum target, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset); +GL_APICALL void GL_APIENTRY glTexStorageMem3DMultisampleEXT (GLenum target, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset); +GL_APICALL void GL_APIENTRY glBufferStorageMemEXT (GLenum target, GLsizeiptr size, GLuint memory, GLuint64 offset); +GL_APICALL void GL_APIENTRY glTextureStorageMem2DEXT (GLuint texture, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLuint memory, GLuint64 offset); +GL_APICALL void GL_APIENTRY glTextureStorageMem2DMultisampleEXT (GLuint texture, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset); +GL_APICALL void GL_APIENTRY glTextureStorageMem3DEXT (GLuint texture, GLsizei levels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset); +GL_APICALL void GL_APIENTRY glTextureStorageMem3DMultisampleEXT (GLuint texture, GLsizei samples, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedSampleLocations, GLuint memory, GLuint64 offset); +GL_APICALL void GL_APIENTRY glNamedBufferStorageMemEXT (GLuint buffer, GLsizeiptr size, GLuint memory, GLuint64 offset); +#endif +#endif /* GL_EXT_memory_object */ + +#ifndef GL_EXT_memory_object_fd +#define GL_EXT_memory_object_fd 1 +#define GL_HANDLE_TYPE_OPAQUE_FD_EXT 0x9586 +typedef void (GL_APIENTRYP PFNGLIMPORTMEMORYFDEXTPROC) (GLuint memory, GLuint64 size, GLenum handleType, GLint fd); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glImportMemoryFdEXT (GLuint memory, GLuint64 size, GLenum handleType, GLint fd); +#endif +#endif /* GL_EXT_memory_object_fd */ + +#ifndef GL_EXT_memory_object_win32 +#define GL_EXT_memory_object_win32 1 +#define GL_HANDLE_TYPE_OPAQUE_WIN32_EXT 0x9587 +#define GL_HANDLE_TYPE_OPAQUE_WIN32_KMT_EXT 0x9588 +#define GL_DEVICE_LUID_EXT 0x9599 +#define GL_DEVICE_NODE_MASK_EXT 0x959A +#define GL_LUID_SIZE_EXT 8 +#define GL_HANDLE_TYPE_D3D12_TILEPOOL_EXT 0x9589 +#define GL_HANDLE_TYPE_D3D12_RESOURCE_EXT 0x958A +#define GL_HANDLE_TYPE_D3D11_IMAGE_EXT 0x958B +#define GL_HANDLE_TYPE_D3D11_IMAGE_KMT_EXT 0x958C +typedef void (GL_APIENTRYP PFNGLIMPORTMEMORYWIN32HANDLEEXTPROC) (GLuint memory, GLuint64 size, GLenum handleType, void *handle); +typedef void (GL_APIENTRYP PFNGLIMPORTMEMORYWIN32NAMEEXTPROC) (GLuint memory, GLuint64 size, GLenum handleType, const void *name); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glImportMemoryWin32HandleEXT (GLuint memory, GLuint64 size, GLenum handleType, void *handle); +GL_APICALL void GL_APIENTRY glImportMemoryWin32NameEXT (GLuint memory, GLuint64 size, GLenum handleType, const void *name); #endif +#endif /* GL_EXT_memory_object_win32 */ -/* GL_EXT_multisampled_render_to_texture */ -#ifndef GL_EXT_multisampled_render_to_texture -#define GL_EXT_multisampled_render_to_texture 1 +#ifndef GL_EXT_multi_draw_arrays +#define GL_EXT_multi_draw_arrays 1 +typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount); +typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei primcount); #ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); -GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); +GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount); +GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum mode, const GLsizei *count, GLenum type, const void *const*indices, GLsizei primcount); #endif +#endif /* GL_EXT_multi_draw_arrays */ + +#ifndef GL_EXT_multi_draw_indirect +#define GL_EXT_multi_draw_indirect 1 +typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSINDIRECTEXTPROC) (GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride); +typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSINDIRECTEXTPROC) (GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glMultiDrawArraysIndirectEXT (GLenum mode, const void *indirect, GLsizei drawcount, GLsizei stride); +GL_APICALL void GL_APIENTRY glMultiDrawElementsIndirectEXT (GLenum mode, GLenum type, const void *indirect, GLsizei drawcount, GLsizei stride); +#endif +#endif /* GL_EXT_multi_draw_indirect */ + +#ifndef GL_EXT_multisampled_compatibility +#define GL_EXT_multisampled_compatibility 1 +#define GL_MULTISAMPLE_EXT 0x809D +#define GL_SAMPLE_ALPHA_TO_ONE_EXT 0x809F +#endif /* GL_EXT_multisampled_compatibility */ + +#ifndef GL_EXT_multisampled_render_to_texture +#define GL_EXT_multisampled_render_to_texture 1 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SAMPLES_EXT 0x8D6C +#define GL_RENDERBUFFER_SAMPLES_EXT 0x8CAB +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_EXT 0x8D56 +#define GL_MAX_SAMPLES_EXT 0x8D57 typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEEXTPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEEXTPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleEXT (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleEXT (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); #endif +#endif /* GL_EXT_multisampled_render_to_texture */ + +#ifndef GL_EXT_multisampled_render_to_texture2 +#define GL_EXT_multisampled_render_to_texture2 1 +#endif /* GL_EXT_multisampled_render_to_texture2 */ -/* GL_EXT_multiview_draw_buffers */ #ifndef GL_EXT_multiview_draw_buffers #define GL_EXT_multiview_draw_buffers 1 +#define GL_COLOR_ATTACHMENT_EXT 0x90F0 +#define GL_MULTIVIEW_EXT 0x90F1 +#define GL_DRAW_BUFFER_EXT 0x0C01 +#define GL_READ_BUFFER_EXT 0x0C02 +#define GL_MAX_MULTIVIEW_BUFFERS_EXT 0x90F2 +typedef void (GL_APIENTRYP PFNGLREADBUFFERINDEXEDEXTPROC) (GLenum src, GLint index); +typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSINDEXEDEXTPROC) (GLint n, const GLenum *location, const GLint *indices); +typedef void (GL_APIENTRYP PFNGLGETINTEGERI_VEXTPROC) (GLenum target, GLuint index, GLint *data); #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glReadBufferIndexedEXT (GLenum src, GLint index); GL_APICALL void GL_APIENTRY glDrawBuffersIndexedEXT (GLint n, const GLenum *location, const GLint *indices); GL_APICALL void GL_APIENTRY glGetIntegeri_vEXT (GLenum target, GLuint index, GLint *data); #endif -typedef void (GL_APIENTRYP PFNGLREADBUFFERINDEXEDEXTPROC) (GLenum src, GLint index); -typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSINDEXEDEXTPROC) (GLint n, const GLenum *location, const GLint *indices); -typedef void (GL_APIENTRYP PFNGLGETINTEGERI_VEXTPROC) (GLenum target, GLuint index, GLint *data); -#endif +#endif /* GL_EXT_multiview_draw_buffers */ -#ifndef GL_EXT_multi_draw_arrays -#define GL_EXT_multi_draw_arrays 1 -#ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glMultiDrawArraysEXT (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount); -GL_APICALL void GL_APIENTRY glMultiDrawElementsEXT (GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount); -#endif /* GL_GLEXT_PROTOTYPES */ -typedef void (GL_APIENTRYP PFNGLMULTIDRAWARRAYSEXTPROC) (GLenum mode, const GLint *first, const GLsizei *count, GLsizei primcount); -typedef void (GL_APIENTRYP PFNGLMULTIDRAWELEMENTSEXTPROC) (GLenum mode, const GLsizei *count, GLenum type, const GLvoid **indices, GLsizei primcount); -#endif +#ifndef GL_EXT_multiview_tessellation_geometry_shader +#define GL_EXT_multiview_tessellation_geometry_shader 1 +#endif /* GL_EXT_multiview_tessellation_geometry_shader */ + +#ifndef GL_EXT_multiview_texture_multisample +#define GL_EXT_multiview_texture_multisample 1 +#endif /* GL_EXT_multiview_texture_multisample */ + +#ifndef GL_EXT_multiview_timer_query +#define GL_EXT_multiview_timer_query 1 +#endif /* GL_EXT_multiview_timer_query */ -/* GL_EXT_occlusion_query_boolean */ #ifndef GL_EXT_occlusion_query_boolean #define GL_EXT_occlusion_query_boolean 1 -/* All entry points also exist in GL_EXT_disjoint_timer_query */ +#define GL_ANY_SAMPLES_PASSED_EXT 0x8C2F +#define GL_ANY_SAMPLES_PASSED_CONSERVATIVE_EXT 0x8D6A +#endif /* GL_EXT_occlusion_query_boolean */ + +#ifndef GL_EXT_polygon_offset_clamp +#define GL_EXT_polygon_offset_clamp 1 +#define GL_POLYGON_OFFSET_CLAMP_EXT 0x8E1B +typedef void (GL_APIENTRYP PFNGLPOLYGONOFFSETCLAMPEXTPROC) (GLfloat factor, GLfloat units, GLfloat clamp); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glPolygonOffsetClampEXT (GLfloat factor, GLfloat units, GLfloat clamp); +#endif +#endif /* GL_EXT_polygon_offset_clamp */ + +#ifndef GL_EXT_post_depth_coverage +#define GL_EXT_post_depth_coverage 1 +#endif /* GL_EXT_post_depth_coverage */ + +#ifndef GL_EXT_primitive_bounding_box +#define GL_EXT_primitive_bounding_box 1 +#define GL_PRIMITIVE_BOUNDING_BOX_EXT 0x92BE +typedef void (GL_APIENTRYP PFNGLPRIMITIVEBOUNDINGBOXEXTPROC) (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glPrimitiveBoundingBoxEXT (GLfloat minX, GLfloat minY, GLfloat minZ, GLfloat minW, GLfloat maxX, GLfloat maxY, GLfloat maxZ, GLfloat maxW); +#endif +#endif /* GL_EXT_primitive_bounding_box */ + +#ifndef GL_EXT_protected_textures +#define GL_EXT_protected_textures 1 +#define GL_CONTEXT_FLAG_PROTECTED_CONTENT_BIT_EXT 0x00000010 +#define GL_TEXTURE_PROTECTED_EXT 0x8BFA +#endif /* GL_EXT_protected_textures */ + +#ifndef GL_EXT_pvrtc_sRGB +#define GL_EXT_pvrtc_sRGB 1 +#define GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT 0x8A54 +#define GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT 0x8A55 +#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT 0x8A56 +#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT 0x8A57 +#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV2_IMG 0x93F0 +#define GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV2_IMG 0x93F1 +#endif /* GL_EXT_pvrtc_sRGB */ + +#ifndef GL_EXT_raster_multisample +#define GL_EXT_raster_multisample 1 +#define GL_RASTER_MULTISAMPLE_EXT 0x9327 +#define GL_RASTER_SAMPLES_EXT 0x9328 +#define GL_MAX_RASTER_SAMPLES_EXT 0x9329 +#define GL_RASTER_FIXED_SAMPLE_LOCATIONS_EXT 0x932A +#define GL_MULTISAMPLE_RASTERIZATION_ALLOWED_EXT 0x932B +#define GL_EFFECTIVE_RASTER_SAMPLES_EXT 0x932C +typedef void (GL_APIENTRYP PFNGLRASTERSAMPLESEXTPROC) (GLuint samples, GLboolean fixedsamplelocations); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glRasterSamplesEXT (GLuint samples, GLboolean fixedsamplelocations); #endif +#endif /* GL_EXT_raster_multisample */ -/* GL_EXT_read_format_bgra */ #ifndef GL_EXT_read_format_bgra #define GL_EXT_read_format_bgra 1 -#endif +#define GL_UNSIGNED_SHORT_4_4_4_4_REV_EXT 0x8365 +#define GL_UNSIGNED_SHORT_1_5_5_5_REV_EXT 0x8366 +#endif /* GL_EXT_read_format_bgra */ + +#ifndef GL_EXT_render_snorm +#define GL_EXT_render_snorm 1 +#define GL_R8_SNORM 0x8F94 +#define GL_RG8_SNORM 0x8F95 +#define GL_RGBA8_SNORM 0x8F97 +#define GL_R16_SNORM_EXT 0x8F98 +#define GL_RG16_SNORM_EXT 0x8F99 +#define GL_RGBA16_SNORM_EXT 0x8F9B +#endif /* GL_EXT_render_snorm */ -/* GL_EXT_robustness */ #ifndef GL_EXT_robustness #define GL_EXT_robustness 1 +#define GL_GUILTY_CONTEXT_RESET_EXT 0x8253 +#define GL_INNOCENT_CONTEXT_RESET_EXT 0x8254 +#define GL_UNKNOWN_CONTEXT_RESET_EXT 0x8255 +#define GL_CONTEXT_ROBUST_ACCESS_EXT 0x90F3 +#define GL_RESET_NOTIFICATION_STRATEGY_EXT 0x8256 +#define GL_LOSE_CONTEXT_ON_RESET_EXT 0x8252 +#define GL_NO_RESET_NOTIFICATION_EXT 0x8261 +typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void); +typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); +typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat *params); +typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params); #ifdef GL_GLEXT_PROTOTYPES GL_APICALL GLenum GL_APIENTRY glGetGraphicsResetStatusEXT (void); -GL_APICALL void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data); +GL_APICALL void GL_APIENTRY glReadnPixelsEXT (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data); GL_APICALL void GL_APIENTRY glGetnUniformfvEXT (GLuint program, GLint location, GLsizei bufSize, GLfloat *params); GL_APICALL void GL_APIENTRY glGetnUniformivEXT (GLuint program, GLint location, GLsizei bufSize, GLint *params); #endif -typedef GLenum (GL_APIENTRYP PFNGLGETGRAPHICSRESETSTATUSEXTPROC) (void); -typedef void (GL_APIENTRYP PFNGLREADNPIXELSEXTPROC) (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, GLvoid *data); -typedef void (GL_APIENTRYP PFNGLGETNUNIFORMFVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLfloat *params); -typedef void (GL_APIENTRYP PFNGLGETNUNIFORMIVEXTPROC) (GLuint program, GLint location, GLsizei bufSize, GLint *params); +#endif /* GL_EXT_robustness */ + +#ifndef GL_EXT_sRGB +#define GL_EXT_sRGB 1 +#define GL_SRGB_EXT 0x8C40 +#define GL_SRGB_ALPHA_EXT 0x8C42 +#define GL_SRGB8_ALPHA8_EXT 0x8C43 +#define GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING_EXT 0x8210 +#endif /* GL_EXT_sRGB */ + +#ifndef GL_EXT_sRGB_write_control +#define GL_EXT_sRGB_write_control 1 +#define GL_FRAMEBUFFER_SRGB_EXT 0x8DB9 +#endif /* GL_EXT_sRGB_write_control */ + +#ifndef GL_EXT_semaphore +#define GL_EXT_semaphore 1 +#define GL_LAYOUT_GENERAL_EXT 0x958D +#define GL_LAYOUT_COLOR_ATTACHMENT_EXT 0x958E +#define GL_LAYOUT_DEPTH_STENCIL_ATTACHMENT_EXT 0x958F +#define GL_LAYOUT_DEPTH_STENCIL_READ_ONLY_EXT 0x9590 +#define GL_LAYOUT_SHADER_READ_ONLY_EXT 0x9591 +#define GL_LAYOUT_TRANSFER_SRC_EXT 0x9592 +#define GL_LAYOUT_TRANSFER_DST_EXT 0x9593 +#define GL_LAYOUT_DEPTH_READ_ONLY_STENCIL_ATTACHMENT_EXT 0x9530 +#define GL_LAYOUT_DEPTH_ATTACHMENT_STENCIL_READ_ONLY_EXT 0x9531 +typedef void (GL_APIENTRYP PFNGLGENSEMAPHORESEXTPROC) (GLsizei n, GLuint *semaphores); +typedef void (GL_APIENTRYP PFNGLDELETESEMAPHORESEXTPROC) (GLsizei n, const GLuint *semaphores); +typedef GLboolean (GL_APIENTRYP PFNGLISSEMAPHOREEXTPROC) (GLuint semaphore); +typedef void (GL_APIENTRYP PFNGLSEMAPHOREPARAMETERUI64VEXTPROC) (GLuint semaphore, GLenum pname, const GLuint64 *params); +typedef void (GL_APIENTRYP PFNGLGETSEMAPHOREPARAMETERUI64VEXTPROC) (GLuint semaphore, GLenum pname, GLuint64 *params); +typedef void (GL_APIENTRYP PFNGLWAITSEMAPHOREEXTPROC) (GLuint semaphore, GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *srcLayouts); +typedef void (GL_APIENTRYP PFNGLSIGNALSEMAPHOREEXTPROC) (GLuint semaphore, GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *dstLayouts); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glGenSemaphoresEXT (GLsizei n, GLuint *semaphores); +GL_APICALL void GL_APIENTRY glDeleteSemaphoresEXT (GLsizei n, const GLuint *semaphores); +GL_APICALL GLboolean GL_APIENTRY glIsSemaphoreEXT (GLuint semaphore); +GL_APICALL void GL_APIENTRY glSemaphoreParameterui64vEXT (GLuint semaphore, GLenum pname, const GLuint64 *params); +GL_APICALL void GL_APIENTRY glGetSemaphoreParameterui64vEXT (GLuint semaphore, GLenum pname, GLuint64 *params); +GL_APICALL void GL_APIENTRY glWaitSemaphoreEXT (GLuint semaphore, GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *srcLayouts); +GL_APICALL void GL_APIENTRY glSignalSemaphoreEXT (GLuint semaphore, GLuint numBufferBarriers, const GLuint *buffers, GLuint numTextureBarriers, const GLuint *textures, const GLenum *dstLayouts); +#endif +#endif /* GL_EXT_semaphore */ + +#ifndef GL_EXT_semaphore_fd +#define GL_EXT_semaphore_fd 1 +typedef void (GL_APIENTRYP PFNGLIMPORTSEMAPHOREFDEXTPROC) (GLuint semaphore, GLenum handleType, GLint fd); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glImportSemaphoreFdEXT (GLuint semaphore, GLenum handleType, GLint fd); +#endif +#endif /* GL_EXT_semaphore_fd */ + +#ifndef GL_EXT_semaphore_win32 +#define GL_EXT_semaphore_win32 1 +#define GL_HANDLE_TYPE_D3D12_FENCE_EXT 0x9594 +#define GL_D3D12_FENCE_VALUE_EXT 0x9595 +typedef void (GL_APIENTRYP PFNGLIMPORTSEMAPHOREWIN32HANDLEEXTPROC) (GLuint semaphore, GLenum handleType, void *handle); +typedef void (GL_APIENTRYP PFNGLIMPORTSEMAPHOREWIN32NAMEEXTPROC) (GLuint semaphore, GLenum handleType, const void *name); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glImportSemaphoreWin32HandleEXT (GLuint semaphore, GLenum handleType, void *handle); +GL_APICALL void GL_APIENTRY glImportSemaphoreWin32NameEXT (GLuint semaphore, GLenum handleType, const void *name); #endif +#endif /* GL_EXT_semaphore_win32 */ + +#ifndef GL_EXT_separate_depth_stencil +#define GL_EXT_separate_depth_stencil 1 +#endif /* GL_EXT_separate_depth_stencil */ -/* GL_EXT_separate_shader_objects */ #ifndef GL_EXT_separate_shader_objects #define GL_EXT_separate_shader_objects 1 +#define GL_ACTIVE_PROGRAM_EXT 0x8259 +#define GL_VERTEX_SHADER_BIT_EXT 0x00000001 +#define GL_FRAGMENT_SHADER_BIT_EXT 0x00000002 +#define GL_ALL_SHADER_BITS_EXT 0xFFFFFFFF +#define GL_PROGRAM_SEPARABLE_EXT 0x8258 +#define GL_PROGRAM_PIPELINE_BINDING_EXT 0x825A +typedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC) (GLuint pipeline, GLuint program); +typedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC) (GLuint pipeline); +typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar **strings); +typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC) (GLsizei n, const GLuint *pipelines); +typedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC) (GLsizei n, GLuint *pipelines); +typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); +typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC) (GLuint pipeline, GLenum pname, GLint *params); +typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC) (GLuint pipeline); +typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat v0); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint v0); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (GL_APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC) (GLuint pipeline, GLbitfield stages, GLuint program); +typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC) (GLuint pipeline); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1UIEXTPROC) (GLuint program, GLint location, GLuint v0); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4UIEXTPROC) (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4UIVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLuint *value); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3X4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4X3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); #ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glUseProgramStagesEXT (GLuint pipeline, GLbitfield stages, GLuint program); GL_APICALL void GL_APIENTRY glActiveShaderProgramEXT (GLuint pipeline, GLuint program); -GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar **strings); GL_APICALL void GL_APIENTRY glBindProgramPipelineEXT (GLuint pipeline); +GL_APICALL GLuint GL_APIENTRY glCreateShaderProgramvEXT (GLenum type, GLsizei count, const GLchar **strings); GL_APICALL void GL_APIENTRY glDeleteProgramPipelinesEXT (GLsizei n, const GLuint *pipelines); GL_APICALL void GL_APIENTRY glGenProgramPipelinesEXT (GLsizei n, GLuint *pipelines); +GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLogEXT (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); +GL_APICALL void GL_APIENTRY glGetProgramPipelineivEXT (GLuint pipeline, GLenum pname, GLint *params); GL_APICALL GLboolean GL_APIENTRY glIsProgramPipelineEXT (GLuint pipeline); GL_APICALL void GL_APIENTRY glProgramParameteriEXT (GLuint program, GLenum pname, GLint value); -GL_APICALL void GL_APIENTRY glGetProgramPipelineivEXT (GLuint pipeline, GLenum pname, GLint *params); -GL_APICALL void GL_APIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint x); -GL_APICALL void GL_APIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint x, GLint y); -GL_APICALL void GL_APIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z); -GL_APICALL void GL_APIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w); -GL_APICALL void GL_APIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat x); -GL_APICALL void GL_APIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat x, GLfloat y); -GL_APICALL void GL_APIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z); -GL_APICALL void GL_APIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); -GL_APICALL void GL_APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); -GL_APICALL void GL_APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); -GL_APICALL void GL_APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); -GL_APICALL void GL_APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); +GL_APICALL void GL_APIENTRY glProgramUniform1fEXT (GLuint program, GLint location, GLfloat v0); GL_APICALL void GL_APIENTRY glProgramUniform1fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); +GL_APICALL void GL_APIENTRY glProgramUniform1iEXT (GLuint program, GLint location, GLint v0); +GL_APICALL void GL_APIENTRY glProgramUniform1ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); +GL_APICALL void GL_APIENTRY glProgramUniform2fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1); GL_APICALL void GL_APIENTRY glProgramUniform2fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); +GL_APICALL void GL_APIENTRY glProgramUniform2iEXT (GLuint program, GLint location, GLint v0, GLint v1); +GL_APICALL void GL_APIENTRY glProgramUniform2ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); +GL_APICALL void GL_APIENTRY glProgramUniform3fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2); GL_APICALL void GL_APIENTRY glProgramUniform3fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); +GL_APICALL void GL_APIENTRY glProgramUniform3iEXT (GLuint program, GLint location, GLint v0, GLint v1, GLint v2); +GL_APICALL void GL_APIENTRY glProgramUniform3ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); +GL_APICALL void GL_APIENTRY glProgramUniform4fEXT (GLuint program, GLint location, GLfloat v0, GLfloat v1, GLfloat v2, GLfloat v3); GL_APICALL void GL_APIENTRY glProgramUniform4fvEXT (GLuint program, GLint location, GLsizei count, const GLfloat *value); +GL_APICALL void GL_APIENTRY glProgramUniform4iEXT (GLuint program, GLint location, GLint v0, GLint v1, GLint v2, GLint v3); +GL_APICALL void GL_APIENTRY glProgramUniform4ivEXT (GLuint program, GLint location, GLsizei count, const GLint *value); GL_APICALL void GL_APIENTRY glProgramUniformMatrix2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); GL_APICALL void GL_APIENTRY glProgramUniformMatrix3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); GL_APICALL void GL_APIENTRY glProgramUniformMatrix4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GL_APICALL void GL_APIENTRY glUseProgramStagesEXT (GLuint pipeline, GLbitfield stages, GLuint program); GL_APICALL void GL_APIENTRY glValidateProgramPipelineEXT (GLuint pipeline); -GL_APICALL void GL_APIENTRY glGetProgramPipelineInfoLogEXT (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); -#endif -typedef void (GL_APIENTRYP PFNGLUSEPROGRAMSTAGESEXTPROC) (GLuint pipeline, GLbitfield stages, GLuint program); -typedef void (GL_APIENTRYP PFNGLACTIVESHADERPROGRAMEXTPROC) (GLuint pipeline, GLuint program); -typedef GLuint (GL_APIENTRYP PFNGLCREATESHADERPROGRAMVEXTPROC) (GLenum type, GLsizei count, const GLchar **strings); -typedef void (GL_APIENTRYP PFNGLBINDPROGRAMPIPELINEEXTPROC) (GLuint pipeline); -typedef void (GL_APIENTRYP PFNGLDELETEPROGRAMPIPELINESEXTPROC) (GLsizei n, const GLuint *pipelines); -typedef void (GL_APIENTRYP PFNGLGENPROGRAMPIPELINESEXTPROC) (GLsizei n, GLuint *pipelines); -typedef GLboolean (GL_APIENTRYP PFNGLISPROGRAMPIPELINEEXTPROC) (GLuint pipeline); -typedef void (GL_APIENTRYP PFNGLPROGRAMPARAMETERIEXTPROC) (GLuint program, GLenum pname, GLint value); -typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEIVEXTPROC) (GLuint pipeline, GLenum pname, GLint *params); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IEXTPROC) (GLuint program, GLint location, GLint x); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IEXTPROC) (GLuint program, GLint location, GLint x, GLint y); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IEXTPROC) (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FEXTPROC) (GLuint program, GLint location, GLfloat x); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FEXTPROC) (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4IVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLint *value); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4FVEXTPROC) (GLuint program, GLint location, GLsizei count, const GLfloat *value); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX2FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX3FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); -typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMMATRIX4FVEXTPROC) (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); -typedef void (GL_APIENTRYP PFNGLVALIDATEPROGRAMPIPELINEEXTPROC) (GLuint pipeline); -typedef void (GL_APIENTRYP PFNGLGETPROGRAMPIPELINEINFOLOGEXTPROC) (GLuint pipeline, GLsizei bufSize, GLsizei *length, GLchar *infoLog); -#endif +GL_APICALL void GL_APIENTRY glProgramUniform1uiEXT (GLuint program, GLint location, GLuint v0); +GL_APICALL void GL_APIENTRY glProgramUniform2uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1); +GL_APICALL void GL_APIENTRY glProgramUniform3uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2); +GL_APICALL void GL_APIENTRY glProgramUniform4uiEXT (GLuint program, GLint location, GLuint v0, GLuint v1, GLuint v2, GLuint v3); +GL_APICALL void GL_APIENTRY glProgramUniform1uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value); +GL_APICALL void GL_APIENTRY glProgramUniform2uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value); +GL_APICALL void GL_APIENTRY glProgramUniform3uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value); +GL_APICALL void GL_APIENTRY glProgramUniform4uivEXT (GLuint program, GLint location, GLsizei count, const GLuint *value); +GL_APICALL void GL_APIENTRY glProgramUniformMatrix2x3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GL_APICALL void GL_APIENTRY glProgramUniformMatrix3x2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GL_APICALL void GL_APIENTRY glProgramUniformMatrix2x4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GL_APICALL void GL_APIENTRY glProgramUniformMatrix4x2fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GL_APICALL void GL_APIENTRY glProgramUniformMatrix3x4fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GL_APICALL void GL_APIENTRY glProgramUniformMatrix4x3fvEXT (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +#endif +#endif /* GL_EXT_separate_shader_objects */ -/* GL_EXT_shader_framebuffer_fetch */ #ifndef GL_EXT_shader_framebuffer_fetch #define GL_EXT_shader_framebuffer_fetch 1 +#define GL_FRAGMENT_SHADER_DISCARDS_SAMPLES_EXT 0x8A52 +#endif /* GL_EXT_shader_framebuffer_fetch */ + +#ifndef GL_EXT_shader_framebuffer_fetch_non_coherent +#define GL_EXT_shader_framebuffer_fetch_non_coherent 1 +typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERFETCHBARRIEREXTPROC) (void); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glFramebufferFetchBarrierEXT (void); +#endif +#endif /* GL_EXT_shader_framebuffer_fetch_non_coherent */ + +#ifndef GL_EXT_shader_group_vote +#define GL_EXT_shader_group_vote 1 +#endif /* GL_EXT_shader_group_vote */ + +#ifndef GL_EXT_shader_implicit_conversions +#define GL_EXT_shader_implicit_conversions 1 +#endif /* GL_EXT_shader_implicit_conversions */ + +#ifndef GL_EXT_shader_integer_mix +#define GL_EXT_shader_integer_mix 1 +#endif /* GL_EXT_shader_integer_mix */ + +#ifndef GL_EXT_shader_io_blocks +#define GL_EXT_shader_io_blocks 1 +#endif /* GL_EXT_shader_io_blocks */ + +#ifndef GL_EXT_shader_non_constant_global_initializers +#define GL_EXT_shader_non_constant_global_initializers 1 +#endif /* GL_EXT_shader_non_constant_global_initializers */ + +#ifndef GL_EXT_shader_pixel_local_storage +#define GL_EXT_shader_pixel_local_storage 1 +#define GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_FAST_SIZE_EXT 0x8F63 +#define GL_MAX_SHADER_PIXEL_LOCAL_STORAGE_SIZE_EXT 0x8F67 +#define GL_SHADER_PIXEL_LOCAL_STORAGE_EXT 0x8F64 +#endif /* GL_EXT_shader_pixel_local_storage */ + +#ifndef GL_EXT_shader_pixel_local_storage2 +#define GL_EXT_shader_pixel_local_storage2 1 +#define GL_MAX_SHADER_COMBINED_LOCAL_STORAGE_FAST_SIZE_EXT 0x9650 +#define GL_MAX_SHADER_COMBINED_LOCAL_STORAGE_SIZE_EXT 0x9651 +#define GL_FRAMEBUFFER_INCOMPLETE_INSUFFICIENT_SHADER_COMBINED_LOCAL_STORAGE_EXT 0x9652 +typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERPIXELLOCALSTORAGESIZEEXTPROC) (GLuint target, GLsizei size); +typedef GLsizei (GL_APIENTRYP PFNGLGETFRAMEBUFFERPIXELLOCALSTORAGESIZEEXTPROC) (GLuint target); +typedef void (GL_APIENTRYP PFNGLCLEARPIXELLOCALSTORAGEUIEXTPROC) (GLsizei offset, GLsizei n, const GLuint *values); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glFramebufferPixelLocalStorageSizeEXT (GLuint target, GLsizei size); +GL_APICALL GLsizei GL_APIENTRY glGetFramebufferPixelLocalStorageSizeEXT (GLuint target); +GL_APICALL void GL_APIENTRY glClearPixelLocalStorageuiEXT (GLsizei offset, GLsizei n, const GLuint *values); #endif +#endif /* GL_EXT_shader_pixel_local_storage2 */ + +#ifndef GL_EXT_shader_samples_identical +#define GL_EXT_shader_samples_identical 1 +#endif /* GL_EXT_shader_samples_identical */ -/* GL_EXT_shader_texture_lod */ #ifndef GL_EXT_shader_texture_lod #define GL_EXT_shader_texture_lod 1 -#endif +#endif /* GL_EXT_shader_texture_lod */ -/* GL_EXT_shadow_samplers */ #ifndef GL_EXT_shadow_samplers #define GL_EXT_shadow_samplers 1 +#define GL_TEXTURE_COMPARE_MODE_EXT 0x884C +#define GL_TEXTURE_COMPARE_FUNC_EXT 0x884D +#define GL_COMPARE_REF_TO_TEXTURE_EXT 0x884E +#define GL_SAMPLER_2D_SHADOW_EXT 0x8B62 +#endif /* GL_EXT_shadow_samplers */ + +#ifndef GL_EXT_sparse_texture +#define GL_EXT_sparse_texture 1 +#define GL_TEXTURE_SPARSE_EXT 0x91A6 +#define GL_VIRTUAL_PAGE_SIZE_INDEX_EXT 0x91A7 +#define GL_NUM_SPARSE_LEVELS_EXT 0x91AA +#define GL_NUM_VIRTUAL_PAGE_SIZES_EXT 0x91A8 +#define GL_VIRTUAL_PAGE_SIZE_X_EXT 0x9195 +#define GL_VIRTUAL_PAGE_SIZE_Y_EXT 0x9196 +#define GL_VIRTUAL_PAGE_SIZE_Z_EXT 0x9197 +#define GL_TEXTURE_2D_ARRAY 0x8C1A +#define GL_TEXTURE_3D 0x806F +#define GL_MAX_SPARSE_TEXTURE_SIZE_EXT 0x9198 +#define GL_MAX_SPARSE_3D_TEXTURE_SIZE_EXT 0x9199 +#define GL_MAX_SPARSE_ARRAY_TEXTURE_LAYERS_EXT 0x919A +#define GL_SPARSE_TEXTURE_FULL_ARRAY_CUBE_MIPMAPS_EXT 0x91A9 +typedef void (GL_APIENTRYP PFNGLTEXPAGECOMMITMENTEXTPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glTexPageCommitmentEXT (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLboolean commit); +#endif +#endif /* GL_EXT_sparse_texture */ + +#ifndef GL_EXT_sparse_texture2 +#define GL_EXT_sparse_texture2 1 +#endif /* GL_EXT_sparse_texture2 */ + +#ifndef GL_EXT_tessellation_point_size +#define GL_EXT_tessellation_point_size 1 +#endif /* GL_EXT_tessellation_point_size */ + +#ifndef GL_EXT_tessellation_shader +#define GL_EXT_tessellation_shader 1 +#define GL_PATCHES_EXT 0x000E +#define GL_PATCH_VERTICES_EXT 0x8E72 +#define GL_TESS_CONTROL_OUTPUT_VERTICES_EXT 0x8E75 +#define GL_TESS_GEN_MODE_EXT 0x8E76 +#define GL_TESS_GEN_SPACING_EXT 0x8E77 +#define GL_TESS_GEN_VERTEX_ORDER_EXT 0x8E78 +#define GL_TESS_GEN_POINT_MODE_EXT 0x8E79 +#define GL_ISOLINES_EXT 0x8E7A +#define GL_QUADS_EXT 0x0007 +#define GL_FRACTIONAL_ODD_EXT 0x8E7B +#define GL_FRACTIONAL_EVEN_EXT 0x8E7C +#define GL_MAX_PATCH_VERTICES_EXT 0x8E7D +#define GL_MAX_TESS_GEN_LEVEL_EXT 0x8E7E +#define GL_MAX_TESS_CONTROL_UNIFORM_COMPONENTS_EXT 0x8E7F +#define GL_MAX_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT 0x8E80 +#define GL_MAX_TESS_CONTROL_TEXTURE_IMAGE_UNITS_EXT 0x8E81 +#define GL_MAX_TESS_EVALUATION_TEXTURE_IMAGE_UNITS_EXT 0x8E82 +#define GL_MAX_TESS_CONTROL_OUTPUT_COMPONENTS_EXT 0x8E83 +#define GL_MAX_TESS_PATCH_COMPONENTS_EXT 0x8E84 +#define GL_MAX_TESS_CONTROL_TOTAL_OUTPUT_COMPONENTS_EXT 0x8E85 +#define GL_MAX_TESS_EVALUATION_OUTPUT_COMPONENTS_EXT 0x8E86 +#define GL_MAX_TESS_CONTROL_UNIFORM_BLOCKS_EXT 0x8E89 +#define GL_MAX_TESS_EVALUATION_UNIFORM_BLOCKS_EXT 0x8E8A +#define GL_MAX_TESS_CONTROL_INPUT_COMPONENTS_EXT 0x886C +#define GL_MAX_TESS_EVALUATION_INPUT_COMPONENTS_EXT 0x886D +#define GL_MAX_COMBINED_TESS_CONTROL_UNIFORM_COMPONENTS_EXT 0x8E1E +#define GL_MAX_COMBINED_TESS_EVALUATION_UNIFORM_COMPONENTS_EXT 0x8E1F +#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTER_BUFFERS_EXT 0x92CD +#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTER_BUFFERS_EXT 0x92CE +#define GL_MAX_TESS_CONTROL_ATOMIC_COUNTERS_EXT 0x92D3 +#define GL_MAX_TESS_EVALUATION_ATOMIC_COUNTERS_EXT 0x92D4 +#define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS_EXT 0x90CB +#define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS_EXT 0x90CC +#define GL_MAX_TESS_CONTROL_SHADER_STORAGE_BLOCKS_EXT 0x90D8 +#define GL_MAX_TESS_EVALUATION_SHADER_STORAGE_BLOCKS_EXT 0x90D9 +#define GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED 0x8221 +#define GL_IS_PER_PATCH_EXT 0x92E7 +#define GL_REFERENCED_BY_TESS_CONTROL_SHADER_EXT 0x9307 +#define GL_REFERENCED_BY_TESS_EVALUATION_SHADER_EXT 0x9308 +#define GL_TESS_CONTROL_SHADER_EXT 0x8E88 +#define GL_TESS_EVALUATION_SHADER_EXT 0x8E87 +#define GL_TESS_CONTROL_SHADER_BIT_EXT 0x00000008 +#define GL_TESS_EVALUATION_SHADER_BIT_EXT 0x00000010 +typedef void (GL_APIENTRYP PFNGLPATCHPARAMETERIEXTPROC) (GLenum pname, GLint value); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glPatchParameteriEXT (GLenum pname, GLint value); +#endif +#endif /* GL_EXT_tessellation_shader */ + +#ifndef GL_EXT_texture_border_clamp +#define GL_EXT_texture_border_clamp 1 +#define GL_TEXTURE_BORDER_COLOR_EXT 0x1004 +#define GL_CLAMP_TO_BORDER_EXT 0x812D +typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIIVEXTPROC) (GLenum target, GLenum pname, const GLint *params); +typedef void (GL_APIENTRYP PFNGLTEXPARAMETERIUIVEXTPROC) (GLenum target, GLenum pname, const GLuint *params); +typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIIVEXTPROC) (GLenum target, GLenum pname, GLint *params); +typedef void (GL_APIENTRYP PFNGLGETTEXPARAMETERIUIVEXTPROC) (GLenum target, GLenum pname, GLuint *params); +typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIIVEXTPROC) (GLuint sampler, GLenum pname, const GLint *param); +typedef void (GL_APIENTRYP PFNGLSAMPLERPARAMETERIUIVEXTPROC) (GLuint sampler, GLenum pname, const GLuint *param); +typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIIVEXTPROC) (GLuint sampler, GLenum pname, GLint *params); +typedef void (GL_APIENTRYP PFNGLGETSAMPLERPARAMETERIUIVEXTPROC) (GLuint sampler, GLenum pname, GLuint *params); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glTexParameterIivEXT (GLenum target, GLenum pname, const GLint *params); +GL_APICALL void GL_APIENTRY glTexParameterIuivEXT (GLenum target, GLenum pname, const GLuint *params); +GL_APICALL void GL_APIENTRY glGetTexParameterIivEXT (GLenum target, GLenum pname, GLint *params); +GL_APICALL void GL_APIENTRY glGetTexParameterIuivEXT (GLenum target, GLenum pname, GLuint *params); +GL_APICALL void GL_APIENTRY glSamplerParameterIivEXT (GLuint sampler, GLenum pname, const GLint *param); +GL_APICALL void GL_APIENTRY glSamplerParameterIuivEXT (GLuint sampler, GLenum pname, const GLuint *param); +GL_APICALL void GL_APIENTRY glGetSamplerParameterIivEXT (GLuint sampler, GLenum pname, GLint *params); +GL_APICALL void GL_APIENTRY glGetSamplerParameterIuivEXT (GLuint sampler, GLenum pname, GLuint *params); +#endif +#endif /* GL_EXT_texture_border_clamp */ + +#ifndef GL_EXT_texture_buffer +#define GL_EXT_texture_buffer 1 +#define GL_TEXTURE_BUFFER_EXT 0x8C2A +#define GL_TEXTURE_BUFFER_BINDING_EXT 0x8C2A +#define GL_MAX_TEXTURE_BUFFER_SIZE_EXT 0x8C2B +#define GL_TEXTURE_BINDING_BUFFER_EXT 0x8C2C +#define GL_TEXTURE_BUFFER_DATA_STORE_BINDING_EXT 0x8C2D +#define GL_TEXTURE_BUFFER_OFFSET_ALIGNMENT_EXT 0x919F +#define GL_SAMPLER_BUFFER_EXT 0x8DC2 +#define GL_INT_SAMPLER_BUFFER_EXT 0x8DD0 +#define GL_UNSIGNED_INT_SAMPLER_BUFFER_EXT 0x8DD8 +#define GL_IMAGE_BUFFER_EXT 0x9051 +#define GL_INT_IMAGE_BUFFER_EXT 0x905C +#define GL_UNSIGNED_INT_IMAGE_BUFFER_EXT 0x9067 +#define GL_TEXTURE_BUFFER_OFFSET_EXT 0x919D +#define GL_TEXTURE_BUFFER_SIZE_EXT 0x919E +typedef void (GL_APIENTRYP PFNGLTEXBUFFEREXTPROC) (GLenum target, GLenum internalformat, GLuint buffer); +typedef void (GL_APIENTRYP PFNGLTEXBUFFERRANGEEXTPROC) (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glTexBufferEXT (GLenum target, GLenum internalformat, GLuint buffer); +GL_APICALL void GL_APIENTRY glTexBufferRangeEXT (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size); #endif +#endif /* GL_EXT_texture_buffer */ -/* GL_EXT_sRGB */ -#ifndef GL_EXT_sRGB -#define GL_EXT_sRGB 1 -#endif +#ifndef GL_EXT_texture_compression_astc_decode_mode +#define GL_EXT_texture_compression_astc_decode_mode 1 +#define GL_TEXTURE_ASTC_DECODE_PRECISION_EXT 0x8F69 +#endif /* GL_EXT_texture_compression_astc_decode_mode */ + +#ifndef GL_EXT_texture_compression_bptc +#define GL_EXT_texture_compression_bptc 1 +#define GL_COMPRESSED_RGBA_BPTC_UNORM_EXT 0x8E8C +#define GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM_EXT 0x8E8D +#define GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT_EXT 0x8E8E +#define GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT_EXT 0x8E8F +#endif /* GL_EXT_texture_compression_bptc */ -/* GL_EXT_texture_compression_dxt1 */ #ifndef GL_EXT_texture_compression_dxt1 #define GL_EXT_texture_compression_dxt1 1 -#endif +#define GL_COMPRESSED_RGB_S3TC_DXT1_EXT 0x83F0 +#define GL_COMPRESSED_RGBA_S3TC_DXT1_EXT 0x83F1 +#endif /* GL_EXT_texture_compression_dxt1 */ + +#ifndef GL_EXT_texture_compression_rgtc +#define GL_EXT_texture_compression_rgtc 1 +#define GL_COMPRESSED_RED_RGTC1_EXT 0x8DBB +#define GL_COMPRESSED_SIGNED_RED_RGTC1_EXT 0x8DBC +#define GL_COMPRESSED_RED_GREEN_RGTC2_EXT 0x8DBD +#define GL_COMPRESSED_SIGNED_RED_GREEN_RGTC2_EXT 0x8DBE +#endif /* GL_EXT_texture_compression_rgtc */ + +#ifndef GL_EXT_texture_compression_s3tc +#define GL_EXT_texture_compression_s3tc 1 +#define GL_COMPRESSED_RGBA_S3TC_DXT3_EXT 0x83F2 +#define GL_COMPRESSED_RGBA_S3TC_DXT5_EXT 0x83F3 +#endif /* GL_EXT_texture_compression_s3tc */ + +#ifndef GL_EXT_texture_compression_s3tc_srgb +#define GL_EXT_texture_compression_s3tc_srgb 1 +#define GL_COMPRESSED_SRGB_S3TC_DXT1_EXT 0x8C4C +#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT 0x8C4D +#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT 0x8C4E +#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT 0x8C4F +#endif /* GL_EXT_texture_compression_s3tc_srgb */ + +#ifndef GL_EXT_texture_cube_map_array +#define GL_EXT_texture_cube_map_array 1 +#define GL_TEXTURE_CUBE_MAP_ARRAY_EXT 0x9009 +#define GL_TEXTURE_BINDING_CUBE_MAP_ARRAY_EXT 0x900A +#define GL_SAMPLER_CUBE_MAP_ARRAY_EXT 0x900C +#define GL_SAMPLER_CUBE_MAP_ARRAY_SHADOW_EXT 0x900D +#define GL_INT_SAMPLER_CUBE_MAP_ARRAY_EXT 0x900E +#define GL_UNSIGNED_INT_SAMPLER_CUBE_MAP_ARRAY_EXT 0x900F +#define GL_IMAGE_CUBE_MAP_ARRAY_EXT 0x9054 +#define GL_INT_IMAGE_CUBE_MAP_ARRAY_EXT 0x905F +#define GL_UNSIGNED_INT_IMAGE_CUBE_MAP_ARRAY_EXT 0x906A +#endif /* GL_EXT_texture_cube_map_array */ -/* GL_EXT_texture_filter_anisotropic */ #ifndef GL_EXT_texture_filter_anisotropic #define GL_EXT_texture_filter_anisotropic 1 -#endif +#define GL_TEXTURE_MAX_ANISOTROPY_EXT 0x84FE +#define GL_MAX_TEXTURE_MAX_ANISOTROPY_EXT 0x84FF +#endif /* GL_EXT_texture_filter_anisotropic */ + +#ifndef GL_EXT_texture_filter_minmax +#define GL_EXT_texture_filter_minmax 1 +#define GL_TEXTURE_REDUCTION_MODE_EXT 0x9366 +#define GL_WEIGHTED_AVERAGE_EXT 0x9367 +#endif /* GL_EXT_texture_filter_minmax */ -/* GL_EXT_texture_format_BGRA8888 */ #ifndef GL_EXT_texture_format_BGRA8888 #define GL_EXT_texture_format_BGRA8888 1 -#endif +#endif /* GL_EXT_texture_format_BGRA8888 */ + +#ifndef GL_EXT_texture_format_sRGB_override +#define GL_EXT_texture_format_sRGB_override 1 +#define GL_TEXTURE_FORMAT_SRGB_OVERRIDE_EXT 0x8FBF +#endif /* GL_EXT_texture_format_sRGB_override */ + +#ifndef GL_EXT_texture_mirror_clamp_to_edge +#define GL_EXT_texture_mirror_clamp_to_edge 1 +#define GL_MIRROR_CLAMP_TO_EDGE_EXT 0x8743 +#endif /* GL_EXT_texture_mirror_clamp_to_edge */ + +#ifndef GL_EXT_texture_norm16 +#define GL_EXT_texture_norm16 1 +#define GL_R16_EXT 0x822A +#define GL_RG16_EXT 0x822C +#define GL_RGBA16_EXT 0x805B +#define GL_RGB16_EXT 0x8054 +#define GL_RGB16_SNORM_EXT 0x8F9A +#endif /* GL_EXT_texture_norm16 */ + +#ifndef GL_EXT_texture_query_lod +#define GL_EXT_texture_query_lod 1 +#endif /* GL_EXT_texture_query_lod */ -/* GL_EXT_texture_rg */ #ifndef GL_EXT_texture_rg #define GL_EXT_texture_rg 1 -#endif +#define GL_RED_EXT 0x1903 +#define GL_RG_EXT 0x8227 +#define GL_R8_EXT 0x8229 +#define GL_RG8_EXT 0x822B +#endif /* GL_EXT_texture_rg */ + +#ifndef GL_EXT_texture_sRGB_R8 +#define GL_EXT_texture_sRGB_R8 1 +#define GL_SR8_EXT 0x8FBD +#endif /* GL_EXT_texture_sRGB_R8 */ + +#ifndef GL_EXT_texture_sRGB_RG8 +#define GL_EXT_texture_sRGB_RG8 1 +#define GL_SRG8_EXT 0x8FBE +#endif /* GL_EXT_texture_sRGB_RG8 */ + +#ifndef GL_EXT_texture_sRGB_decode +#define GL_EXT_texture_sRGB_decode 1 +#define GL_TEXTURE_SRGB_DECODE_EXT 0x8A48 +#define GL_DECODE_EXT 0x8A49 +#define GL_SKIP_DECODE_EXT 0x8A4A +#endif /* GL_EXT_texture_sRGB_decode */ + +#ifndef GL_EXT_texture_shadow_lod +#define GL_EXT_texture_shadow_lod 1 +#endif /* GL_EXT_texture_shadow_lod */ -/* GL_EXT_texture_storage */ #ifndef GL_EXT_texture_storage #define GL_EXT_texture_storage 1 +#define GL_TEXTURE_IMMUTABLE_FORMAT_EXT 0x912F +#define GL_ALPHA8_EXT 0x803C +#define GL_LUMINANCE8_EXT 0x8040 +#define GL_LUMINANCE8_ALPHA8_EXT 0x8045 +#define GL_RGBA32F_EXT 0x8814 +#define GL_RGB32F_EXT 0x8815 +#define GL_ALPHA32F_EXT 0x8816 +#define GL_LUMINANCE32F_EXT 0x8818 +#define GL_LUMINANCE_ALPHA32F_EXT 0x8819 +#define GL_ALPHA16F_EXT 0x881C +#define GL_LUMINANCE16F_EXT 0x881E +#define GL_LUMINANCE_ALPHA16F_EXT 0x881F +#define GL_R32F_EXT 0x822E +#define GL_RG32F_EXT 0x8230 +typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); +typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); +typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); +typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glTexStorage1DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); GL_APICALL void GL_APIENTRY glTexStorage2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); @@ -1709,130 +2297,552 @@ GL_APICALL void GL_APIENTRY glTextureStorage1DEXT (GLuint texture, GLenum target GL_APICALL void GL_APIENTRY glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); GL_APICALL void GL_APIENTRY glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); #endif -typedef void (GL_APIENTRYP PFNGLTEXSTORAGE1DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); -typedef void (GL_APIENTRYP PFNGLTEXSTORAGE2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); -typedef void (GL_APIENTRYP PFNGLTEXSTORAGE3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); -typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE1DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width); -typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE2DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height); -typedef void (GL_APIENTRYP PFNGLTEXTURESTORAGE3DEXTPROC) (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth); +#endif /* GL_EXT_texture_storage */ + +#ifndef GL_EXT_texture_storage_compression +#define GL_EXT_texture_storage_compression 1 +#define GL_NUM_SURFACE_COMPRESSION_FIXED_RATES_EXT 0x8F6E +#define GL_SURFACE_COMPRESSION_FIXED_RATE_1BPC_EXT 0x96C4 +#define GL_SURFACE_COMPRESSION_FIXED_RATE_2BPC_EXT 0x96C5 +#define GL_SURFACE_COMPRESSION_FIXED_RATE_3BPC_EXT 0x96C6 +#define GL_SURFACE_COMPRESSION_FIXED_RATE_4BPC_EXT 0x96C7 +#define GL_SURFACE_COMPRESSION_FIXED_RATE_5BPC_EXT 0x96C8 +#define GL_SURFACE_COMPRESSION_FIXED_RATE_6BPC_EXT 0x96C9 +#define GL_SURFACE_COMPRESSION_FIXED_RATE_7BPC_EXT 0x96CA +#define GL_SURFACE_COMPRESSION_FIXED_RATE_8BPC_EXT 0x96CB +#define GL_SURFACE_COMPRESSION_FIXED_RATE_9BPC_EXT 0x96CC +#define GL_SURFACE_COMPRESSION_FIXED_RATE_10BPC_EXT 0x96CD +#define GL_SURFACE_COMPRESSION_FIXED_RATE_11BPC_EXT 0x96CE +#define GL_SURFACE_COMPRESSION_FIXED_RATE_12BPC_EXT 0x96CF +typedef void (GL_APIENTRYP PFNGLTEXSTORAGEATTRIBS2DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, const GLint* attrib_list); +typedef void (GL_APIENTRYP PFNGLTEXSTORAGEATTRIBS3DEXTPROC) (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, const GLint* attrib_list); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glTexStorageAttribs2DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, const GLint* attrib_list); +GL_APICALL void GL_APIENTRY glTexStorageAttribs3DEXT (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, const GLint* attrib_list); #endif +#endif /* GL_EXT_texture_storage_compression */ -/* GL_EXT_texture_type_2_10_10_10_REV */ #ifndef GL_EXT_texture_type_2_10_10_10_REV #define GL_EXT_texture_type_2_10_10_10_REV 1 +#define GL_UNSIGNED_INT_2_10_10_10_REV_EXT 0x8368 +#endif /* GL_EXT_texture_type_2_10_10_10_REV */ + +#ifndef GL_EXT_texture_view +#define GL_EXT_texture_view 1 +#define GL_TEXTURE_VIEW_MIN_LEVEL_EXT 0x82DB +#define GL_TEXTURE_VIEW_NUM_LEVELS_EXT 0x82DC +#define GL_TEXTURE_VIEW_MIN_LAYER_EXT 0x82DD +#define GL_TEXTURE_VIEW_NUM_LAYERS_EXT 0x82DE +typedef void (GL_APIENTRYP PFNGLTEXTUREVIEWEXTPROC) (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glTextureViewEXT (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers); #endif +#endif /* GL_EXT_texture_view */ -/* GL_EXT_unpack_subimage */ #ifndef GL_EXT_unpack_subimage #define GL_EXT_unpack_subimage 1 +#define GL_UNPACK_ROW_LENGTH_EXT 0x0CF2 +#define GL_UNPACK_SKIP_ROWS_EXT 0x0CF3 +#define GL_UNPACK_SKIP_PIXELS_EXT 0x0CF4 +#endif /* GL_EXT_unpack_subimage */ + +#ifndef GL_EXT_win32_keyed_mutex +#define GL_EXT_win32_keyed_mutex 1 +typedef GLboolean (GL_APIENTRYP PFNGLACQUIREKEYEDMUTEXWIN32EXTPROC) (GLuint memory, GLuint64 key, GLuint timeout); +typedef GLboolean (GL_APIENTRYP PFNGLRELEASEKEYEDMUTEXWIN32EXTPROC) (GLuint memory, GLuint64 key); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL GLboolean GL_APIENTRY glAcquireKeyedMutexWin32EXT (GLuint memory, GLuint64 key, GLuint timeout); +GL_APICALL GLboolean GL_APIENTRY glReleaseKeyedMutexWin32EXT (GLuint memory, GLuint64 key); +#endif +#endif /* GL_EXT_win32_keyed_mutex */ + +#ifndef GL_EXT_window_rectangles +#define GL_EXT_window_rectangles 1 +#define GL_INCLUSIVE_EXT 0x8F10 +#define GL_EXCLUSIVE_EXT 0x8F11 +#define GL_WINDOW_RECTANGLE_EXT 0x8F12 +#define GL_WINDOW_RECTANGLE_MODE_EXT 0x8F13 +#define GL_MAX_WINDOW_RECTANGLES_EXT 0x8F14 +#define GL_NUM_WINDOW_RECTANGLES_EXT 0x8F15 +typedef void (GL_APIENTRYP PFNGLWINDOWRECTANGLESEXTPROC) (GLenum mode, GLsizei count, const GLint *box); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glWindowRectanglesEXT (GLenum mode, GLsizei count, const GLint *box); #endif +#endif /* GL_EXT_window_rectangles */ -/*------------------------------------------------------------------------* - * DMP extension functions - *------------------------------------------------------------------------*/ - -/* GL_DMP_shader_binary */ -#ifndef GL_DMP_shader_binary -#define GL_DMP_shader_binary 1 -#endif - -/*------------------------------------------------------------------------* - * FJ extension functions - *------------------------------------------------------------------------*/ - -/* GL_FJ_shader_binary_GCCSO */ #ifndef GL_FJ_shader_binary_GCCSO #define GL_FJ_shader_binary_GCCSO 1 +#define GL_GCCSO_SHADER_BINARY_FJ 0x9260 +#endif /* GL_FJ_shader_binary_GCCSO */ + +#ifndef GL_IMG_bindless_texture +#define GL_IMG_bindless_texture 1 +typedef GLuint64 (GL_APIENTRYP PFNGLGETTEXTUREHANDLEIMGPROC) (GLuint texture); +typedef GLuint64 (GL_APIENTRYP PFNGLGETTEXTURESAMPLERHANDLEIMGPROC) (GLuint texture, GLuint sampler); +typedef void (GL_APIENTRYP PFNGLUNIFORMHANDLEUI64IMGPROC) (GLint location, GLuint64 value); +typedef void (GL_APIENTRYP PFNGLUNIFORMHANDLEUI64VIMGPROC) (GLint location, GLsizei count, const GLuint64 *value); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMHANDLEUI64IMGPROC) (GLuint program, GLint location, GLuint64 value); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMHANDLEUI64VIMGPROC) (GLuint program, GLint location, GLsizei count, const GLuint64 *values); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL GLuint64 GL_APIENTRY glGetTextureHandleIMG (GLuint texture); +GL_APICALL GLuint64 GL_APIENTRY glGetTextureSamplerHandleIMG (GLuint texture, GLuint sampler); +GL_APICALL void GL_APIENTRY glUniformHandleui64IMG (GLint location, GLuint64 value); +GL_APICALL void GL_APIENTRY glUniformHandleui64vIMG (GLint location, GLsizei count, const GLuint64 *value); +GL_APICALL void GL_APIENTRY glProgramUniformHandleui64IMG (GLuint program, GLint location, GLuint64 value); +GL_APICALL void GL_APIENTRY glProgramUniformHandleui64vIMG (GLuint program, GLint location, GLsizei count, const GLuint64 *values); +#endif +#endif /* GL_IMG_bindless_texture */ + +#ifndef GL_IMG_framebuffer_downsample +#define GL_IMG_framebuffer_downsample 1 +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_AND_DOWNSAMPLE_IMG 0x913C +#define GL_NUM_DOWNSAMPLE_SCALES_IMG 0x913D +#define GL_DOWNSAMPLE_SCALES_IMG 0x913E +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_SCALE_IMG 0x913F +typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DDOWNSAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint xscale, GLint yscale); +typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURELAYERDOWNSAMPLEIMGPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer, GLint xscale, GLint yscale); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glFramebufferTexture2DDownsampleIMG (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint xscale, GLint yscale); +GL_APICALL void GL_APIENTRY glFramebufferTextureLayerDownsampleIMG (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer, GLint xscale, GLint yscale); #endif +#endif /* GL_IMG_framebuffer_downsample */ -/*------------------------------------------------------------------------* - * IMG extension functions - *------------------------------------------------------------------------*/ +#ifndef GL_IMG_multisampled_render_to_texture +#define GL_IMG_multisampled_render_to_texture 1 +#define GL_RENDERBUFFER_SAMPLES_IMG 0x9133 +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_IMG 0x9134 +#define GL_MAX_SAMPLES_IMG 0x9135 +#define GL_TEXTURE_SAMPLES_IMG 0x9136 +typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); +#endif +#endif /* GL_IMG_multisampled_render_to_texture */ -/* GL_IMG_program_binary */ #ifndef GL_IMG_program_binary #define GL_IMG_program_binary 1 -#endif +#define GL_SGX_PROGRAM_BINARY_IMG 0x9130 +#endif /* GL_IMG_program_binary */ -/* GL_IMG_read_format */ #ifndef GL_IMG_read_format #define GL_IMG_read_format 1 -#endif +#define GL_BGRA_IMG 0x80E1 +#define GL_UNSIGNED_SHORT_4_4_4_4_REV_IMG 0x8365 +#endif /* GL_IMG_read_format */ -/* GL_IMG_shader_binary */ #ifndef GL_IMG_shader_binary #define GL_IMG_shader_binary 1 -#endif +#define GL_SGX_BINARY_IMG 0x8C0A +#endif /* GL_IMG_shader_binary */ -/* GL_IMG_texture_compression_pvrtc */ #ifndef GL_IMG_texture_compression_pvrtc #define GL_IMG_texture_compression_pvrtc 1 -#endif +#define GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG 0x8C00 +#define GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG 0x8C01 +#define GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG 0x8C02 +#define GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG 0x8C03 +#endif /* GL_IMG_texture_compression_pvrtc */ -/* GL_IMG_texture_compression_pvrtc2 */ #ifndef GL_IMG_texture_compression_pvrtc2 #define GL_IMG_texture_compression_pvrtc2 1 +#define GL_COMPRESSED_RGBA_PVRTC_2BPPV2_IMG 0x9137 +#define GL_COMPRESSED_RGBA_PVRTC_4BPPV2_IMG 0x9138 +#endif /* GL_IMG_texture_compression_pvrtc2 */ + +#ifndef GL_IMG_texture_filter_cubic +#define GL_IMG_texture_filter_cubic 1 +#define GL_CUBIC_IMG 0x9139 +#define GL_CUBIC_MIPMAP_NEAREST_IMG 0x913A +#define GL_CUBIC_MIPMAP_LINEAR_IMG 0x913B +#endif /* GL_IMG_texture_filter_cubic */ + +#ifndef GL_INTEL_blackhole_render +#define GL_INTEL_blackhole_render 1 +#define GL_BLACKHOLE_RENDER_INTEL 0x83FC +#endif /* GL_INTEL_blackhole_render */ + +#ifndef GL_INTEL_conservative_rasterization +#define GL_INTEL_conservative_rasterization 1 +#define GL_CONSERVATIVE_RASTERIZATION_INTEL 0x83FE +#endif /* GL_INTEL_conservative_rasterization */ + +#ifndef GL_INTEL_framebuffer_CMAA +#define GL_INTEL_framebuffer_CMAA 1 +typedef void (GL_APIENTRYP PFNGLAPPLYFRAMEBUFFERATTACHMENTCMAAINTELPROC) (void); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glApplyFramebufferAttachmentCMAAINTEL (void); +#endif +#endif /* GL_INTEL_framebuffer_CMAA */ + +#ifndef GL_INTEL_performance_query +#define GL_INTEL_performance_query 1 +#define GL_PERFQUERY_SINGLE_CONTEXT_INTEL 0x00000000 +#define GL_PERFQUERY_GLOBAL_CONTEXT_INTEL 0x00000001 +#define GL_PERFQUERY_WAIT_INTEL 0x83FB +#define GL_PERFQUERY_FLUSH_INTEL 0x83FA +#define GL_PERFQUERY_DONOT_FLUSH_INTEL 0x83F9 +#define GL_PERFQUERY_COUNTER_EVENT_INTEL 0x94F0 +#define GL_PERFQUERY_COUNTER_DURATION_NORM_INTEL 0x94F1 +#define GL_PERFQUERY_COUNTER_DURATION_RAW_INTEL 0x94F2 +#define GL_PERFQUERY_COUNTER_THROUGHPUT_INTEL 0x94F3 +#define GL_PERFQUERY_COUNTER_RAW_INTEL 0x94F4 +#define GL_PERFQUERY_COUNTER_TIMESTAMP_INTEL 0x94F5 +#define GL_PERFQUERY_COUNTER_DATA_UINT32_INTEL 0x94F8 +#define GL_PERFQUERY_COUNTER_DATA_UINT64_INTEL 0x94F9 +#define GL_PERFQUERY_COUNTER_DATA_FLOAT_INTEL 0x94FA +#define GL_PERFQUERY_COUNTER_DATA_DOUBLE_INTEL 0x94FB +#define GL_PERFQUERY_COUNTER_DATA_BOOL32_INTEL 0x94FC +#define GL_PERFQUERY_QUERY_NAME_LENGTH_MAX_INTEL 0x94FD +#define GL_PERFQUERY_COUNTER_NAME_LENGTH_MAX_INTEL 0x94FE +#define GL_PERFQUERY_COUNTER_DESC_LENGTH_MAX_INTEL 0x94FF +#define GL_PERFQUERY_GPA_EXTENDED_COUNTERS_INTEL 0x9500 +typedef void (GL_APIENTRYP PFNGLBEGINPERFQUERYINTELPROC) (GLuint queryHandle); +typedef void (GL_APIENTRYP PFNGLCREATEPERFQUERYINTELPROC) (GLuint queryId, GLuint *queryHandle); +typedef void (GL_APIENTRYP PFNGLDELETEPERFQUERYINTELPROC) (GLuint queryHandle); +typedef void (GL_APIENTRYP PFNGLENDPERFQUERYINTELPROC) (GLuint queryHandle); +typedef void (GL_APIENTRYP PFNGLGETFIRSTPERFQUERYIDINTELPROC) (GLuint *queryId); +typedef void (GL_APIENTRYP PFNGLGETNEXTPERFQUERYIDINTELPROC) (GLuint queryId, GLuint *nextQueryId); +typedef void (GL_APIENTRYP PFNGLGETPERFCOUNTERINFOINTELPROC) (GLuint queryId, GLuint counterId, GLuint counterNameLength, GLchar *counterName, GLuint counterDescLength, GLchar *counterDesc, GLuint *counterOffset, GLuint *counterDataSize, GLuint *counterTypeEnum, GLuint *counterDataTypeEnum, GLuint64 *rawCounterMaxValue); +typedef void (GL_APIENTRYP PFNGLGETPERFQUERYDATAINTELPROC) (GLuint queryHandle, GLuint flags, GLsizei dataSize, void *data, GLuint *bytesWritten); +typedef void (GL_APIENTRYP PFNGLGETPERFQUERYIDBYNAMEINTELPROC) (GLchar *queryName, GLuint *queryId); +typedef void (GL_APIENTRYP PFNGLGETPERFQUERYINFOINTELPROC) (GLuint queryId, GLuint queryNameLength, GLchar *queryName, GLuint *dataSize, GLuint *noCounters, GLuint *noInstances, GLuint *capsMask); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glBeginPerfQueryINTEL (GLuint queryHandle); +GL_APICALL void GL_APIENTRY glCreatePerfQueryINTEL (GLuint queryId, GLuint *queryHandle); +GL_APICALL void GL_APIENTRY glDeletePerfQueryINTEL (GLuint queryHandle); +GL_APICALL void GL_APIENTRY glEndPerfQueryINTEL (GLuint queryHandle); +GL_APICALL void GL_APIENTRY glGetFirstPerfQueryIdINTEL (GLuint *queryId); +GL_APICALL void GL_APIENTRY glGetNextPerfQueryIdINTEL (GLuint queryId, GLuint *nextQueryId); +GL_APICALL void GL_APIENTRY glGetPerfCounterInfoINTEL (GLuint queryId, GLuint counterId, GLuint counterNameLength, GLchar *counterName, GLuint counterDescLength, GLchar *counterDesc, GLuint *counterOffset, GLuint *counterDataSize, GLuint *counterTypeEnum, GLuint *counterDataTypeEnum, GLuint64 *rawCounterMaxValue); +GL_APICALL void GL_APIENTRY glGetPerfQueryDataINTEL (GLuint queryHandle, GLuint flags, GLsizei dataSize, void *data, GLuint *bytesWritten); +GL_APICALL void GL_APIENTRY glGetPerfQueryIdByNameINTEL (GLchar *queryName, GLuint *queryId); +GL_APICALL void GL_APIENTRY glGetPerfQueryInfoINTEL (GLuint queryId, GLuint queryNameLength, GLchar *queryName, GLuint *dataSize, GLuint *noCounters, GLuint *noInstances, GLuint *capsMask); +#endif +#endif /* GL_INTEL_performance_query */ + +#ifndef GL_MESA_bgra +#define GL_MESA_bgra 1 +#define GL_BGR_EXT 0x80E0 +#endif /* GL_MESA_bgra */ + +#ifndef GL_MESA_framebuffer_flip_x +#define GL_MESA_framebuffer_flip_x 1 +#define GL_FRAMEBUFFER_FLIP_X_MESA 0x8BBC +#endif /* GL_MESA_framebuffer_flip_x */ + +#ifndef GL_MESA_framebuffer_flip_y +#define GL_MESA_framebuffer_flip_y 1 +#define GL_FRAMEBUFFER_FLIP_Y_MESA 0x8BBB +typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERPARAMETERIMESAPROC) (GLenum target, GLenum pname, GLint param); +typedef void (GL_APIENTRYP PFNGLGETFRAMEBUFFERPARAMETERIVMESAPROC) (GLenum target, GLenum pname, GLint *params); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glFramebufferParameteriMESA (GLenum target, GLenum pname, GLint param); +GL_APICALL void GL_APIENTRY glGetFramebufferParameterivMESA (GLenum target, GLenum pname, GLint *params); +#endif +#endif /* GL_MESA_framebuffer_flip_y */ + +#ifndef GL_MESA_framebuffer_swap_xy +#define GL_MESA_framebuffer_swap_xy 1 +#define GL_FRAMEBUFFER_SWAP_XY_MESA 0x8BBD +#endif /* GL_MESA_framebuffer_swap_xy */ + +#ifndef GL_MESA_program_binary_formats +#define GL_MESA_program_binary_formats 1 +#define GL_PROGRAM_BINARY_FORMAT_MESA 0x875F +#endif /* GL_MESA_program_binary_formats */ + +#ifndef GL_MESA_shader_integer_functions +#define GL_MESA_shader_integer_functions 1 +#endif /* GL_MESA_shader_integer_functions */ + +#ifndef GL_NVX_blend_equation_advanced_multi_draw_buffers +#define GL_NVX_blend_equation_advanced_multi_draw_buffers 1 +#endif /* GL_NVX_blend_equation_advanced_multi_draw_buffers */ + +#ifndef GL_NV_bindless_texture +#define GL_NV_bindless_texture 1 +typedef GLuint64 (GL_APIENTRYP PFNGLGETTEXTUREHANDLENVPROC) (GLuint texture); +typedef GLuint64 (GL_APIENTRYP PFNGLGETTEXTURESAMPLERHANDLENVPROC) (GLuint texture, GLuint sampler); +typedef void (GL_APIENTRYP PFNGLMAKETEXTUREHANDLERESIDENTNVPROC) (GLuint64 handle); +typedef void (GL_APIENTRYP PFNGLMAKETEXTUREHANDLENONRESIDENTNVPROC) (GLuint64 handle); +typedef GLuint64 (GL_APIENTRYP PFNGLGETIMAGEHANDLENVPROC) (GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format); +typedef void (GL_APIENTRYP PFNGLMAKEIMAGEHANDLERESIDENTNVPROC) (GLuint64 handle, GLenum access); +typedef void (GL_APIENTRYP PFNGLMAKEIMAGEHANDLENONRESIDENTNVPROC) (GLuint64 handle); +typedef void (GL_APIENTRYP PFNGLUNIFORMHANDLEUI64NVPROC) (GLint location, GLuint64 value); +typedef void (GL_APIENTRYP PFNGLUNIFORMHANDLEUI64VNVPROC) (GLint location, GLsizei count, const GLuint64 *value); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMHANDLEUI64NVPROC) (GLuint program, GLint location, GLuint64 value); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORMHANDLEUI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64 *values); +typedef GLboolean (GL_APIENTRYP PFNGLISTEXTUREHANDLERESIDENTNVPROC) (GLuint64 handle); +typedef GLboolean (GL_APIENTRYP PFNGLISIMAGEHANDLERESIDENTNVPROC) (GLuint64 handle); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL GLuint64 GL_APIENTRY glGetTextureHandleNV (GLuint texture); +GL_APICALL GLuint64 GL_APIENTRY glGetTextureSamplerHandleNV (GLuint texture, GLuint sampler); +GL_APICALL void GL_APIENTRY glMakeTextureHandleResidentNV (GLuint64 handle); +GL_APICALL void GL_APIENTRY glMakeTextureHandleNonResidentNV (GLuint64 handle); +GL_APICALL GLuint64 GL_APIENTRY glGetImageHandleNV (GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum format); +GL_APICALL void GL_APIENTRY glMakeImageHandleResidentNV (GLuint64 handle, GLenum access); +GL_APICALL void GL_APIENTRY glMakeImageHandleNonResidentNV (GLuint64 handle); +GL_APICALL void GL_APIENTRY glUniformHandleui64NV (GLint location, GLuint64 value); +GL_APICALL void GL_APIENTRY glUniformHandleui64vNV (GLint location, GLsizei count, const GLuint64 *value); +GL_APICALL void GL_APIENTRY glProgramUniformHandleui64NV (GLuint program, GLint location, GLuint64 value); +GL_APICALL void GL_APIENTRY glProgramUniformHandleui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64 *values); +GL_APICALL GLboolean GL_APIENTRY glIsTextureHandleResidentNV (GLuint64 handle); +GL_APICALL GLboolean GL_APIENTRY glIsImageHandleResidentNV (GLuint64 handle); +#endif +#endif /* GL_NV_bindless_texture */ + +#ifndef GL_NV_blend_equation_advanced +#define GL_NV_blend_equation_advanced 1 +#define GL_BLEND_OVERLAP_NV 0x9281 +#define GL_BLEND_PREMULTIPLIED_SRC_NV 0x9280 +#define GL_BLUE_NV 0x1905 +#define GL_COLORBURN_NV 0x929A +#define GL_COLORDODGE_NV 0x9299 +#define GL_CONJOINT_NV 0x9284 +#define GL_CONTRAST_NV 0x92A1 +#define GL_DARKEN_NV 0x9297 +#define GL_DIFFERENCE_NV 0x929E +#define GL_DISJOINT_NV 0x9283 +#define GL_DST_ATOP_NV 0x928F +#define GL_DST_IN_NV 0x928B +#define GL_DST_NV 0x9287 +#define GL_DST_OUT_NV 0x928D +#define GL_DST_OVER_NV 0x9289 +#define GL_EXCLUSION_NV 0x92A0 +#define GL_GREEN_NV 0x1904 +#define GL_HARDLIGHT_NV 0x929B +#define GL_HARDMIX_NV 0x92A9 +#define GL_HSL_COLOR_NV 0x92AF +#define GL_HSL_HUE_NV 0x92AD +#define GL_HSL_LUMINOSITY_NV 0x92B0 +#define GL_HSL_SATURATION_NV 0x92AE +#define GL_INVERT_OVG_NV 0x92B4 +#define GL_INVERT_RGB_NV 0x92A3 +#define GL_LIGHTEN_NV 0x9298 +#define GL_LINEARBURN_NV 0x92A5 +#define GL_LINEARDODGE_NV 0x92A4 +#define GL_LINEARLIGHT_NV 0x92A7 +#define GL_MINUS_CLAMPED_NV 0x92B3 +#define GL_MINUS_NV 0x929F +#define GL_MULTIPLY_NV 0x9294 +#define GL_OVERLAY_NV 0x9296 +#define GL_PINLIGHT_NV 0x92A8 +#define GL_PLUS_CLAMPED_ALPHA_NV 0x92B2 +#define GL_PLUS_CLAMPED_NV 0x92B1 +#define GL_PLUS_DARKER_NV 0x9292 +#define GL_PLUS_NV 0x9291 +#define GL_RED_NV 0x1903 +#define GL_SCREEN_NV 0x9295 +#define GL_SOFTLIGHT_NV 0x929C +#define GL_SRC_ATOP_NV 0x928E +#define GL_SRC_IN_NV 0x928A +#define GL_SRC_NV 0x9286 +#define GL_SRC_OUT_NV 0x928C +#define GL_SRC_OVER_NV 0x9288 +#define GL_UNCORRELATED_NV 0x9282 +#define GL_VIVIDLIGHT_NV 0x92A6 +#define GL_XOR_NV 0x1506 +typedef void (GL_APIENTRYP PFNGLBLENDPARAMETERINVPROC) (GLenum pname, GLint value); +typedef void (GL_APIENTRYP PFNGLBLENDBARRIERNVPROC) (void); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glBlendParameteriNV (GLenum pname, GLint value); +GL_APICALL void GL_APIENTRY glBlendBarrierNV (void); +#endif +#endif /* GL_NV_blend_equation_advanced */ + +#ifndef GL_NV_blend_equation_advanced_coherent +#define GL_NV_blend_equation_advanced_coherent 1 +#define GL_BLEND_ADVANCED_COHERENT_NV 0x9285 +#endif /* GL_NV_blend_equation_advanced_coherent */ + +#ifndef GL_NV_blend_minmax_factor +#define GL_NV_blend_minmax_factor 1 +#define GL_FACTOR_MIN_AMD 0x901C +#define GL_FACTOR_MAX_AMD 0x901D +#endif /* GL_NV_blend_minmax_factor */ + +#ifndef GL_NV_clip_space_w_scaling +#define GL_NV_clip_space_w_scaling 1 +#define GL_VIEWPORT_POSITION_W_SCALE_NV 0x937C +#define GL_VIEWPORT_POSITION_W_SCALE_X_COEFF_NV 0x937D +#define GL_VIEWPORT_POSITION_W_SCALE_Y_COEFF_NV 0x937E +typedef void (GL_APIENTRYP PFNGLVIEWPORTPOSITIONWSCALENVPROC) (GLuint index, GLfloat xcoeff, GLfloat ycoeff); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glViewportPositionWScaleNV (GLuint index, GLfloat xcoeff, GLfloat ycoeff); +#endif +#endif /* GL_NV_clip_space_w_scaling */ + +#ifndef GL_NV_compute_shader_derivatives +#define GL_NV_compute_shader_derivatives 1 +#endif /* GL_NV_compute_shader_derivatives */ + +#ifndef GL_NV_conditional_render +#define GL_NV_conditional_render 1 +#define GL_QUERY_WAIT_NV 0x8E13 +#define GL_QUERY_NO_WAIT_NV 0x8E14 +#define GL_QUERY_BY_REGION_WAIT_NV 0x8E15 +#define GL_QUERY_BY_REGION_NO_WAIT_NV 0x8E16 +typedef void (GL_APIENTRYP PFNGLBEGINCONDITIONALRENDERNVPROC) (GLuint id, GLenum mode); +typedef void (GL_APIENTRYP PFNGLENDCONDITIONALRENDERNVPROC) (void); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glBeginConditionalRenderNV (GLuint id, GLenum mode); +GL_APICALL void GL_APIENTRY glEndConditionalRenderNV (void); +#endif +#endif /* GL_NV_conditional_render */ + +#ifndef GL_NV_conservative_raster +#define GL_NV_conservative_raster 1 +#define GL_CONSERVATIVE_RASTERIZATION_NV 0x9346 +#define GL_SUBPIXEL_PRECISION_BIAS_X_BITS_NV 0x9347 +#define GL_SUBPIXEL_PRECISION_BIAS_Y_BITS_NV 0x9348 +#define GL_MAX_SUBPIXEL_PRECISION_BIAS_BITS_NV 0x9349 +typedef void (GL_APIENTRYP PFNGLSUBPIXELPRECISIONBIASNVPROC) (GLuint xbits, GLuint ybits); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glSubpixelPrecisionBiasNV (GLuint xbits, GLuint ybits); #endif +#endif /* GL_NV_conservative_raster */ -/* GL_IMG_multisampled_render_to_texture */ -#ifndef GL_IMG_multisampled_render_to_texture -#define GL_IMG_multisampled_render_to_texture 1 +#ifndef GL_NV_conservative_raster_pre_snap +#define GL_NV_conservative_raster_pre_snap 1 +#define GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_NV 0x9550 +#endif /* GL_NV_conservative_raster_pre_snap */ + +#ifndef GL_NV_conservative_raster_pre_snap_triangles +#define GL_NV_conservative_raster_pre_snap_triangles 1 +#define GL_CONSERVATIVE_RASTER_MODE_NV 0x954D +#define GL_CONSERVATIVE_RASTER_MODE_POST_SNAP_NV 0x954E +#define GL_CONSERVATIVE_RASTER_MODE_PRE_SNAP_TRIANGLES_NV 0x954F +typedef void (GL_APIENTRYP PFNGLCONSERVATIVERASTERPARAMETERINVPROC) (GLenum pname, GLint param); #ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleIMG (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); -GL_APICALL void GL_APIENTRY glFramebufferTexture2DMultisampleIMG (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); -#endif -typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLEIMGPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); -typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTURE2DMULTISAMPLEIMGPROC) (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLsizei samples); +GL_APICALL void GL_APIENTRY glConservativeRasterParameteriNV (GLenum pname, GLint param); #endif +#endif /* GL_NV_conservative_raster_pre_snap_triangles */ -/*------------------------------------------------------------------------* - * NV extension functions - *------------------------------------------------------------------------*/ +#ifndef GL_NV_copy_buffer +#define GL_NV_copy_buffer 1 +#define GL_COPY_READ_BUFFER_NV 0x8F36 +#define GL_COPY_WRITE_BUFFER_NV 0x8F37 +typedef void (GL_APIENTRYP PFNGLCOPYBUFFERSUBDATANVPROC) (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glCopyBufferSubDataNV (GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); +#endif +#endif /* GL_NV_copy_buffer */ -/* GL_NV_coverage_sample */ #ifndef GL_NV_coverage_sample #define GL_NV_coverage_sample 1 +#define GL_COVERAGE_COMPONENT_NV 0x8ED0 +#define GL_COVERAGE_COMPONENT4_NV 0x8ED1 +#define GL_COVERAGE_ATTACHMENT_NV 0x8ED2 +#define GL_COVERAGE_BUFFERS_NV 0x8ED3 +#define GL_COVERAGE_SAMPLES_NV 0x8ED4 +#define GL_COVERAGE_ALL_FRAGMENTS_NV 0x8ED5 +#define GL_COVERAGE_EDGE_FRAGMENTS_NV 0x8ED6 +#define GL_COVERAGE_AUTOMATIC_NV 0x8ED7 +#define GL_COVERAGE_BUFFER_BIT_NV 0x00008000 +typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask); +typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation); #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glCoverageMaskNV (GLboolean mask); GL_APICALL void GL_APIENTRY glCoverageOperationNV (GLenum operation); #endif -typedef void (GL_APIENTRYP PFNGLCOVERAGEMASKNVPROC) (GLboolean mask); -typedef void (GL_APIENTRYP PFNGLCOVERAGEOPERATIONNVPROC) (GLenum operation); -#endif +#endif /* GL_NV_coverage_sample */ -/* GL_NV_depth_nonlinear */ #ifndef GL_NV_depth_nonlinear #define GL_NV_depth_nonlinear 1 -#endif +#define GL_DEPTH_COMPONENT16_NONLINEAR_NV 0x8E2C +#endif /* GL_NV_depth_nonlinear */ -/* GL_NV_draw_buffers */ #ifndef GL_NV_draw_buffers #define GL_NV_draw_buffers 1 +#define GL_MAX_DRAW_BUFFERS_NV 0x8824 +#define GL_DRAW_BUFFER0_NV 0x8825 +#define GL_DRAW_BUFFER1_NV 0x8826 +#define GL_DRAW_BUFFER2_NV 0x8827 +#define GL_DRAW_BUFFER3_NV 0x8828 +#define GL_DRAW_BUFFER4_NV 0x8829 +#define GL_DRAW_BUFFER5_NV 0x882A +#define GL_DRAW_BUFFER6_NV 0x882B +#define GL_DRAW_BUFFER7_NV 0x882C +#define GL_DRAW_BUFFER8_NV 0x882D +#define GL_DRAW_BUFFER9_NV 0x882E +#define GL_DRAW_BUFFER10_NV 0x882F +#define GL_DRAW_BUFFER11_NV 0x8830 +#define GL_DRAW_BUFFER12_NV 0x8831 +#define GL_DRAW_BUFFER13_NV 0x8832 +#define GL_DRAW_BUFFER14_NV 0x8833 +#define GL_DRAW_BUFFER15_NV 0x8834 +#define GL_COLOR_ATTACHMENT0_NV 0x8CE0 +#define GL_COLOR_ATTACHMENT1_NV 0x8CE1 +#define GL_COLOR_ATTACHMENT2_NV 0x8CE2 +#define GL_COLOR_ATTACHMENT3_NV 0x8CE3 +#define GL_COLOR_ATTACHMENT4_NV 0x8CE4 +#define GL_COLOR_ATTACHMENT5_NV 0x8CE5 +#define GL_COLOR_ATTACHMENT6_NV 0x8CE6 +#define GL_COLOR_ATTACHMENT7_NV 0x8CE7 +#define GL_COLOR_ATTACHMENT8_NV 0x8CE8 +#define GL_COLOR_ATTACHMENT9_NV 0x8CE9 +#define GL_COLOR_ATTACHMENT10_NV 0x8CEA +#define GL_COLOR_ATTACHMENT11_NV 0x8CEB +#define GL_COLOR_ATTACHMENT12_NV 0x8CEC +#define GL_COLOR_ATTACHMENT13_NV 0x8CED +#define GL_COLOR_ATTACHMENT14_NV 0x8CEE +#define GL_COLOR_ATTACHMENT15_NV 0x8CEF +typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs); #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glDrawBuffersNV (GLsizei n, const GLenum *bufs); #endif -typedef void (GL_APIENTRYP PFNGLDRAWBUFFERSNVPROC) (GLsizei n, const GLenum *bufs); -#endif +#endif /* GL_NV_draw_buffers */ -/* GL_NV_draw_instanced */ #ifndef GL_NV_draw_instanced #define GL_NV_draw_instanced 1 +typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDNVPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); +typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDNVPROC) (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glDrawArraysInstancedNV (GLenum mode, GLint first, GLsizei count, GLsizei primcount); -GL_APICALL void GL_APIENTRY glDrawElementsInstancedNV (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount); -#endif -typedef void (GL_APIENTRYP PFNGLDRAWARRAYSINSTANCEDNVPROC) (GLenum mode, GLint first, GLsizei count, GLsizei primcount); -typedef void (GL_APIENTRYP PFNGLDRAWELEMENTSINSTANCEDNVPROC) (GLenum mode, GLsizei count, GLenum type, const GLvoid *indices, GLsizei primcount); +GL_APICALL void GL_APIENTRY glDrawElementsInstancedNV (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount); +#endif +#endif /* GL_NV_draw_instanced */ + +#ifndef GL_NV_draw_vulkan_image +#define GL_NV_draw_vulkan_image 1 +typedef void (GL_APIENTRY *GLVULKANPROCNV)(void); +typedef void (GL_APIENTRYP PFNGLDRAWVKIMAGENVPROC) (GLuint64 vkImage, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1); +typedef GLVULKANPROCNV (GL_APIENTRYP PFNGLGETVKPROCADDRNVPROC) (const GLchar *name); +typedef void (GL_APIENTRYP PFNGLWAITVKSEMAPHORENVPROC) (GLuint64 vkSemaphore); +typedef void (GL_APIENTRYP PFNGLSIGNALVKSEMAPHORENVPROC) (GLuint64 vkSemaphore); +typedef void (GL_APIENTRYP PFNGLSIGNALVKFENCENVPROC) (GLuint64 vkFence); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glDrawVkImageNV (GLuint64 vkImage, GLuint sampler, GLfloat x0, GLfloat y0, GLfloat x1, GLfloat y1, GLfloat z, GLfloat s0, GLfloat t0, GLfloat s1, GLfloat t1); +GL_APICALL GLVULKANPROCNV GL_APIENTRY glGetVkProcAddrNV (const GLchar *name); +GL_APICALL void GL_APIENTRY glWaitVkSemaphoreNV (GLuint64 vkSemaphore); +GL_APICALL void GL_APIENTRY glSignalVkSemaphoreNV (GLuint64 vkSemaphore); +GL_APICALL void GL_APIENTRY glSignalVkFenceNV (GLuint64 vkFence); #endif +#endif /* GL_NV_draw_vulkan_image */ + +#ifndef GL_NV_explicit_attrib_location +#define GL_NV_explicit_attrib_location 1 +#endif /* GL_NV_explicit_attrib_location */ -/* GL_NV_fbo_color_attachments */ #ifndef GL_NV_fbo_color_attachments #define GL_NV_fbo_color_attachments 1 -#endif +#define GL_MAX_COLOR_ATTACHMENTS_NV 0x8CDF +#endif /* GL_NV_fbo_color_attachments */ -/* GL_NV_fence */ #ifndef GL_NV_fence #define GL_NV_fence 1 +#define GL_ALL_COMPLETED_NV 0x84F2 +#define GL_FENCE_STATUS_NV 0x84F3 +#define GL_FENCE_CONDITION_NV 0x84F4 +typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences); +typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences); +typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence); +typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence); +typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params); +typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence); +typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition); #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glDeleteFencesNV (GLsizei n, const GLuint *fences); GL_APICALL void GL_APIENTRY glGenFencesNV (GLsizei n, GLuint *fences); @@ -1842,142 +2852,1008 @@ GL_APICALL void GL_APIENTRY glGetFenceivNV (GLuint fence, GLenum pname, GLint *p GL_APICALL void GL_APIENTRY glFinishFenceNV (GLuint fence); GL_APICALL void GL_APIENTRY glSetFenceNV (GLuint fence, GLenum condition); #endif -typedef void (GL_APIENTRYP PFNGLDELETEFENCESNVPROC) (GLsizei n, const GLuint *fences); -typedef void (GL_APIENTRYP PFNGLGENFENCESNVPROC) (GLsizei n, GLuint *fences); -typedef GLboolean (GL_APIENTRYP PFNGLISFENCENVPROC) (GLuint fence); -typedef GLboolean (GL_APIENTRYP PFNGLTESTFENCENVPROC) (GLuint fence); -typedef void (GL_APIENTRYP PFNGLGETFENCEIVNVPROC) (GLuint fence, GLenum pname, GLint *params); -typedef void (GL_APIENTRYP PFNGLFINISHFENCENVPROC) (GLuint fence); -typedef void (GL_APIENTRYP PFNGLSETFENCENVPROC) (GLuint fence, GLenum condition); +#endif /* GL_NV_fence */ + +#ifndef GL_NV_fill_rectangle +#define GL_NV_fill_rectangle 1 +#define GL_FILL_RECTANGLE_NV 0x933C +#endif /* GL_NV_fill_rectangle */ + +#ifndef GL_NV_fragment_coverage_to_color +#define GL_NV_fragment_coverage_to_color 1 +#define GL_FRAGMENT_COVERAGE_TO_COLOR_NV 0x92DD +#define GL_FRAGMENT_COVERAGE_COLOR_NV 0x92DE +typedef void (GL_APIENTRYP PFNGLFRAGMENTCOVERAGECOLORNVPROC) (GLuint color); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glFragmentCoverageColorNV (GLuint color); #endif +#endif /* GL_NV_fragment_coverage_to_color */ + +#ifndef GL_NV_fragment_shader_barycentric +#define GL_NV_fragment_shader_barycentric 1 +#endif /* GL_NV_fragment_shader_barycentric */ + +#ifndef GL_NV_fragment_shader_interlock +#define GL_NV_fragment_shader_interlock 1 +#endif /* GL_NV_fragment_shader_interlock */ -/* GL_NV_framebuffer_blit */ #ifndef GL_NV_framebuffer_blit #define GL_NV_framebuffer_blit 1 +#define GL_READ_FRAMEBUFFER_NV 0x8CA8 +#define GL_DRAW_FRAMEBUFFER_NV 0x8CA9 +#define GL_DRAW_FRAMEBUFFER_BINDING_NV 0x8CA6 +#define GL_READ_FRAMEBUFFER_BINDING_NV 0x8CAA +typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERNVPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glBlitFramebufferNV (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); #endif -typedef void (GL_APIENTRYP PFNGLBLITFRAMEBUFFERNVPROC) (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); +#endif /* GL_NV_framebuffer_blit */ + +#ifndef GL_NV_framebuffer_mixed_samples +#define GL_NV_framebuffer_mixed_samples 1 +#define GL_COVERAGE_MODULATION_TABLE_NV 0x9331 +#define GL_COLOR_SAMPLES_NV 0x8E20 +#define GL_DEPTH_SAMPLES_NV 0x932D +#define GL_STENCIL_SAMPLES_NV 0x932E +#define GL_MIXED_DEPTH_SAMPLES_SUPPORTED_NV 0x932F +#define GL_MIXED_STENCIL_SAMPLES_SUPPORTED_NV 0x9330 +#define GL_COVERAGE_MODULATION_NV 0x9332 +#define GL_COVERAGE_MODULATION_TABLE_SIZE_NV 0x9333 +typedef void (GL_APIENTRYP PFNGLCOVERAGEMODULATIONTABLENVPROC) (GLsizei n, const GLfloat *v); +typedef void (GL_APIENTRYP PFNGLGETCOVERAGEMODULATIONTABLENVPROC) (GLsizei bufSize, GLfloat *v); +typedef void (GL_APIENTRYP PFNGLCOVERAGEMODULATIONNVPROC) (GLenum components); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glCoverageModulationTableNV (GLsizei n, const GLfloat *v); +GL_APICALL void GL_APIENTRY glGetCoverageModulationTableNV (GLsizei bufSize, GLfloat *v); +GL_APICALL void GL_APIENTRY glCoverageModulationNV (GLenum components); #endif +#endif /* GL_NV_framebuffer_mixed_samples */ -/* GL_NV_framebuffer_multisample */ #ifndef GL_NV_framebuffer_multisample #define GL_NV_framebuffer_multisample 1 +#define GL_RENDERBUFFER_SAMPLES_NV 0x8CAB +#define GL_FRAMEBUFFER_INCOMPLETE_MULTISAMPLE_NV 0x8D56 +#define GL_MAX_SAMPLES_NV 0x8D57 +typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLENVPROC) (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); #ifdef GL_GLEXT_PROTOTYPES -GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleNV ( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); -#endif -typedef void (GL_APIENTRYP PFNGLRENDERBUFFERSTORAGEMULTISAMPLENVPROC) ( GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); +GL_APICALL void GL_APIENTRY glRenderbufferStorageMultisampleNV (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height); #endif +#endif /* GL_NV_framebuffer_multisample */ -/* GL_NV_generate_mipmap_sRGB */ #ifndef GL_NV_generate_mipmap_sRGB #define GL_NV_generate_mipmap_sRGB 1 -#endif +#endif /* GL_NV_generate_mipmap_sRGB */ + +#ifndef GL_NV_geometry_shader_passthrough +#define GL_NV_geometry_shader_passthrough 1 +#endif /* GL_NV_geometry_shader_passthrough */ + +#ifndef GL_NV_gpu_shader5 +#define GL_NV_gpu_shader5 1 +typedef khronos_int64_t GLint64EXT; +typedef khronos_uint64_t GLuint64EXT; +#define GL_INT64_NV 0x140E +#define GL_UNSIGNED_INT64_NV 0x140F +#define GL_INT8_NV 0x8FE0 +#define GL_INT8_VEC2_NV 0x8FE1 +#define GL_INT8_VEC3_NV 0x8FE2 +#define GL_INT8_VEC4_NV 0x8FE3 +#define GL_INT16_NV 0x8FE4 +#define GL_INT16_VEC2_NV 0x8FE5 +#define GL_INT16_VEC3_NV 0x8FE6 +#define GL_INT16_VEC4_NV 0x8FE7 +#define GL_INT64_VEC2_NV 0x8FE9 +#define GL_INT64_VEC3_NV 0x8FEA +#define GL_INT64_VEC4_NV 0x8FEB +#define GL_UNSIGNED_INT8_NV 0x8FEC +#define GL_UNSIGNED_INT8_VEC2_NV 0x8FED +#define GL_UNSIGNED_INT8_VEC3_NV 0x8FEE +#define GL_UNSIGNED_INT8_VEC4_NV 0x8FEF +#define GL_UNSIGNED_INT16_NV 0x8FF0 +#define GL_UNSIGNED_INT16_VEC2_NV 0x8FF1 +#define GL_UNSIGNED_INT16_VEC3_NV 0x8FF2 +#define GL_UNSIGNED_INT16_VEC4_NV 0x8FF3 +#define GL_UNSIGNED_INT64_VEC2_NV 0x8FF5 +#define GL_UNSIGNED_INT64_VEC3_NV 0x8FF6 +#define GL_UNSIGNED_INT64_VEC4_NV 0x8FF7 +#define GL_FLOAT16_NV 0x8FF8 +#define GL_FLOAT16_VEC2_NV 0x8FF9 +#define GL_FLOAT16_VEC3_NV 0x8FFA +#define GL_FLOAT16_VEC4_NV 0x8FFB +#define GL_PATCHES 0x000E +typedef void (GL_APIENTRYP PFNGLUNIFORM1I64NVPROC) (GLint location, GLint64EXT x); +typedef void (GL_APIENTRYP PFNGLUNIFORM2I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y); +typedef void (GL_APIENTRYP PFNGLUNIFORM3I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z); +typedef void (GL_APIENTRYP PFNGLUNIFORM4I64NVPROC) (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); +typedef void (GL_APIENTRYP PFNGLUNIFORM1I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value); +typedef void (GL_APIENTRYP PFNGLUNIFORM2I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value); +typedef void (GL_APIENTRYP PFNGLUNIFORM3I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value); +typedef void (GL_APIENTRYP PFNGLUNIFORM4I64VNVPROC) (GLint location, GLsizei count, const GLint64EXT *value); +typedef void (GL_APIENTRYP PFNGLUNIFORM1UI64NVPROC) (GLint location, GLuint64EXT x); +typedef void (GL_APIENTRYP PFNGLUNIFORM2UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y); +typedef void (GL_APIENTRYP PFNGLUNIFORM3UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); +typedef void (GL_APIENTRYP PFNGLUNIFORM4UI64NVPROC) (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); +typedef void (GL_APIENTRYP PFNGLUNIFORM1UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value); +typedef void (GL_APIENTRYP PFNGLUNIFORM2UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value); +typedef void (GL_APIENTRYP PFNGLUNIFORM3UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value); +typedef void (GL_APIENTRYP PFNGLUNIFORM4UI64VNVPROC) (GLint location, GLsizei count, const GLuint64EXT *value); +typedef void (GL_APIENTRYP PFNGLGETUNIFORMI64VNVPROC) (GLuint program, GLint location, GLint64EXT *params); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1I64NVPROC) (GLuint program, GLint location, GLint64EXT x); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4I64NVPROC) (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4I64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4UI64NVPROC) (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM1UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM2UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM3UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); +typedef void (GL_APIENTRYP PFNGLPROGRAMUNIFORM4UI64VNVPROC) (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glUniform1i64NV (GLint location, GLint64EXT x); +GL_APICALL void GL_APIENTRY glUniform2i64NV (GLint location, GLint64EXT x, GLint64EXT y); +GL_APICALL void GL_APIENTRY glUniform3i64NV (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z); +GL_APICALL void GL_APIENTRY glUniform4i64NV (GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); +GL_APICALL void GL_APIENTRY glUniform1i64vNV (GLint location, GLsizei count, const GLint64EXT *value); +GL_APICALL void GL_APIENTRY glUniform2i64vNV (GLint location, GLsizei count, const GLint64EXT *value); +GL_APICALL void GL_APIENTRY glUniform3i64vNV (GLint location, GLsizei count, const GLint64EXT *value); +GL_APICALL void GL_APIENTRY glUniform4i64vNV (GLint location, GLsizei count, const GLint64EXT *value); +GL_APICALL void GL_APIENTRY glUniform1ui64NV (GLint location, GLuint64EXT x); +GL_APICALL void GL_APIENTRY glUniform2ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y); +GL_APICALL void GL_APIENTRY glUniform3ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); +GL_APICALL void GL_APIENTRY glUniform4ui64NV (GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); +GL_APICALL void GL_APIENTRY glUniform1ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value); +GL_APICALL void GL_APIENTRY glUniform2ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value); +GL_APICALL void GL_APIENTRY glUniform3ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value); +GL_APICALL void GL_APIENTRY glUniform4ui64vNV (GLint location, GLsizei count, const GLuint64EXT *value); +GL_APICALL void GL_APIENTRY glGetUniformi64vNV (GLuint program, GLint location, GLint64EXT *params); +GL_APICALL void GL_APIENTRY glProgramUniform1i64NV (GLuint program, GLint location, GLint64EXT x); +GL_APICALL void GL_APIENTRY glProgramUniform2i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y); +GL_APICALL void GL_APIENTRY glProgramUniform3i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z); +GL_APICALL void GL_APIENTRY glProgramUniform4i64NV (GLuint program, GLint location, GLint64EXT x, GLint64EXT y, GLint64EXT z, GLint64EXT w); +GL_APICALL void GL_APIENTRY glProgramUniform1i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); +GL_APICALL void GL_APIENTRY glProgramUniform2i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); +GL_APICALL void GL_APIENTRY glProgramUniform3i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); +GL_APICALL void GL_APIENTRY glProgramUniform4i64vNV (GLuint program, GLint location, GLsizei count, const GLint64EXT *value); +GL_APICALL void GL_APIENTRY glProgramUniform1ui64NV (GLuint program, GLint location, GLuint64EXT x); +GL_APICALL void GL_APIENTRY glProgramUniform2ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y); +GL_APICALL void GL_APIENTRY glProgramUniform3ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z); +GL_APICALL void GL_APIENTRY glProgramUniform4ui64NV (GLuint program, GLint location, GLuint64EXT x, GLuint64EXT y, GLuint64EXT z, GLuint64EXT w); +GL_APICALL void GL_APIENTRY glProgramUniform1ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); +GL_APICALL void GL_APIENTRY glProgramUniform2ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); +GL_APICALL void GL_APIENTRY glProgramUniform3ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); +GL_APICALL void GL_APIENTRY glProgramUniform4ui64vNV (GLuint program, GLint location, GLsizei count, const GLuint64EXT *value); +#endif +#endif /* GL_NV_gpu_shader5 */ + +#ifndef GL_NV_image_formats +#define GL_NV_image_formats 1 +#endif /* GL_NV_image_formats */ -/* GL_NV_instanced_arrays */ #ifndef GL_NV_instanced_arrays #define GL_NV_instanced_arrays 1 +#define GL_VERTEX_ATTRIB_ARRAY_DIVISOR_NV 0x88FE +typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORNVPROC) (GLuint index, GLuint divisor); #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glVertexAttribDivisorNV (GLuint index, GLuint divisor); #endif -typedef void (GL_APIENTRYP PFNGLVERTEXATTRIBDIVISORNVPROC) (GLuint index, GLuint divisor); +#endif /* GL_NV_instanced_arrays */ + +#ifndef GL_NV_internalformat_sample_query +#define GL_NV_internalformat_sample_query 1 +#define GL_TEXTURE_2D_MULTISAMPLE 0x9100 +#define GL_TEXTURE_2D_MULTISAMPLE_ARRAY 0x9102 +#define GL_MULTISAMPLES_NV 0x9371 +#define GL_SUPERSAMPLE_SCALE_X_NV 0x9372 +#define GL_SUPERSAMPLE_SCALE_Y_NV 0x9373 +#define GL_CONFORMANT_NV 0x9374 +typedef void (GL_APIENTRYP PFNGLGETINTERNALFORMATSAMPLEIVNVPROC) (GLenum target, GLenum internalformat, GLsizei samples, GLenum pname, GLsizei count, GLint *params); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glGetInternalformatSampleivNV (GLenum target, GLenum internalformat, GLsizei samples, GLenum pname, GLsizei count, GLint *params); +#endif +#endif /* GL_NV_internalformat_sample_query */ + +#ifndef GL_NV_memory_attachment +#define GL_NV_memory_attachment 1 +#define GL_ATTACHED_MEMORY_OBJECT_NV 0x95A4 +#define GL_ATTACHED_MEMORY_OFFSET_NV 0x95A5 +#define GL_MEMORY_ATTACHABLE_ALIGNMENT_NV 0x95A6 +#define GL_MEMORY_ATTACHABLE_SIZE_NV 0x95A7 +#define GL_MEMORY_ATTACHABLE_NV 0x95A8 +#define GL_DETACHED_MEMORY_INCARNATION_NV 0x95A9 +#define GL_DETACHED_TEXTURES_NV 0x95AA +#define GL_DETACHED_BUFFERS_NV 0x95AB +#define GL_MAX_DETACHED_TEXTURES_NV 0x95AC +#define GL_MAX_DETACHED_BUFFERS_NV 0x95AD +typedef void (GL_APIENTRYP PFNGLGETMEMORYOBJECTDETACHEDRESOURCESUIVNVPROC) (GLuint memory, GLenum pname, GLint first, GLsizei count, GLuint *params); +typedef void (GL_APIENTRYP PFNGLRESETMEMORYOBJECTPARAMETERNVPROC) (GLuint memory, GLenum pname); +typedef void (GL_APIENTRYP PFNGLTEXATTACHMEMORYNVPROC) (GLenum target, GLuint memory, GLuint64 offset); +typedef void (GL_APIENTRYP PFNGLBUFFERATTACHMEMORYNVPROC) (GLenum target, GLuint memory, GLuint64 offset); +typedef void (GL_APIENTRYP PFNGLTEXTUREATTACHMEMORYNVPROC) (GLuint texture, GLuint memory, GLuint64 offset); +typedef void (GL_APIENTRYP PFNGLNAMEDBUFFERATTACHMEMORYNVPROC) (GLuint buffer, GLuint memory, GLuint64 offset); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glGetMemoryObjectDetachedResourcesuivNV (GLuint memory, GLenum pname, GLint first, GLsizei count, GLuint *params); +GL_APICALL void GL_APIENTRY glResetMemoryObjectParameterNV (GLuint memory, GLenum pname); +GL_APICALL void GL_APIENTRY glTexAttachMemoryNV (GLenum target, GLuint memory, GLuint64 offset); +GL_APICALL void GL_APIENTRY glBufferAttachMemoryNV (GLenum target, GLuint memory, GLuint64 offset); +GL_APICALL void GL_APIENTRY glTextureAttachMemoryNV (GLuint texture, GLuint memory, GLuint64 offset); +GL_APICALL void GL_APIENTRY glNamedBufferAttachMemoryNV (GLuint buffer, GLuint memory, GLuint64 offset); +#endif +#endif /* GL_NV_memory_attachment */ + +#ifndef GL_NV_memory_object_sparse +#define GL_NV_memory_object_sparse 1 +typedef void (GL_APIENTRYP PFNGLBUFFERPAGECOMMITMENTMEMNVPROC) (GLenum target, GLintptr offset, GLsizeiptr size, GLuint memory, GLuint64 memOffset, GLboolean commit); +typedef void (GL_APIENTRYP PFNGLTEXPAGECOMMITMENTMEMNVPROC) (GLenum target, GLint layer, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset, GLboolean commit); +typedef void (GL_APIENTRYP PFNGLNAMEDBUFFERPAGECOMMITMENTMEMNVPROC) (GLuint buffer, GLintptr offset, GLsizeiptr size, GLuint memory, GLuint64 memOffset, GLboolean commit); +typedef void (GL_APIENTRYP PFNGLTEXTUREPAGECOMMITMENTMEMNVPROC) (GLuint texture, GLint layer, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset, GLboolean commit); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glBufferPageCommitmentMemNV (GLenum target, GLintptr offset, GLsizeiptr size, GLuint memory, GLuint64 memOffset, GLboolean commit); +GL_APICALL void GL_APIENTRY glTexPageCommitmentMemNV (GLenum target, GLint layer, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset, GLboolean commit); +GL_APICALL void GL_APIENTRY glNamedBufferPageCommitmentMemNV (GLuint buffer, GLintptr offset, GLsizeiptr size, GLuint memory, GLuint64 memOffset, GLboolean commit); +GL_APICALL void GL_APIENTRY glTexturePageCommitmentMemNV (GLuint texture, GLint layer, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLuint memory, GLuint64 offset, GLboolean commit); +#endif +#endif /* GL_NV_memory_object_sparse */ + +#ifndef GL_NV_mesh_shader +#define GL_NV_mesh_shader 1 +#define GL_MESH_SHADER_NV 0x9559 +#define GL_TASK_SHADER_NV 0x955A +#define GL_MAX_MESH_UNIFORM_BLOCKS_NV 0x8E60 +#define GL_MAX_MESH_TEXTURE_IMAGE_UNITS_NV 0x8E61 +#define GL_MAX_MESH_IMAGE_UNIFORMS_NV 0x8E62 +#define GL_MAX_MESH_UNIFORM_COMPONENTS_NV 0x8E63 +#define GL_MAX_MESH_ATOMIC_COUNTER_BUFFERS_NV 0x8E64 +#define GL_MAX_MESH_ATOMIC_COUNTERS_NV 0x8E65 +#define GL_MAX_MESH_SHADER_STORAGE_BLOCKS_NV 0x8E66 +#define GL_MAX_COMBINED_MESH_UNIFORM_COMPONENTS_NV 0x8E67 +#define GL_MAX_TASK_UNIFORM_BLOCKS_NV 0x8E68 +#define GL_MAX_TASK_TEXTURE_IMAGE_UNITS_NV 0x8E69 +#define GL_MAX_TASK_IMAGE_UNIFORMS_NV 0x8E6A +#define GL_MAX_TASK_UNIFORM_COMPONENTS_NV 0x8E6B +#define GL_MAX_TASK_ATOMIC_COUNTER_BUFFERS_NV 0x8E6C +#define GL_MAX_TASK_ATOMIC_COUNTERS_NV 0x8E6D +#define GL_MAX_TASK_SHADER_STORAGE_BLOCKS_NV 0x8E6E +#define GL_MAX_COMBINED_TASK_UNIFORM_COMPONENTS_NV 0x8E6F +#define GL_MAX_MESH_WORK_GROUP_INVOCATIONS_NV 0x95A2 +#define GL_MAX_TASK_WORK_GROUP_INVOCATIONS_NV 0x95A3 +#define GL_MAX_MESH_TOTAL_MEMORY_SIZE_NV 0x9536 +#define GL_MAX_TASK_TOTAL_MEMORY_SIZE_NV 0x9537 +#define GL_MAX_MESH_OUTPUT_VERTICES_NV 0x9538 +#define GL_MAX_MESH_OUTPUT_PRIMITIVES_NV 0x9539 +#define GL_MAX_TASK_OUTPUT_COUNT_NV 0x953A +#define GL_MAX_DRAW_MESH_TASKS_COUNT_NV 0x953D +#define GL_MAX_MESH_VIEWS_NV 0x9557 +#define GL_MESH_OUTPUT_PER_VERTEX_GRANULARITY_NV 0x92DF +#define GL_MESH_OUTPUT_PER_PRIMITIVE_GRANULARITY_NV 0x9543 +#define GL_MAX_MESH_WORK_GROUP_SIZE_NV 0x953B +#define GL_MAX_TASK_WORK_GROUP_SIZE_NV 0x953C +#define GL_MESH_WORK_GROUP_SIZE_NV 0x953E +#define GL_TASK_WORK_GROUP_SIZE_NV 0x953F +#define GL_MESH_VERTICES_OUT_NV 0x9579 +#define GL_MESH_PRIMITIVES_OUT_NV 0x957A +#define GL_MESH_OUTPUT_TYPE_NV 0x957B +#define GL_UNIFORM_BLOCK_REFERENCED_BY_MESH_SHADER_NV 0x959C +#define GL_UNIFORM_BLOCK_REFERENCED_BY_TASK_SHADER_NV 0x959D +#define GL_REFERENCED_BY_MESH_SHADER_NV 0x95A0 +#define GL_REFERENCED_BY_TASK_SHADER_NV 0x95A1 +#define GL_MESH_SHADER_BIT_NV 0x00000040 +#define GL_TASK_SHADER_BIT_NV 0x00000080 +#define GL_MESH_SUBROUTINE_NV 0x957C +#define GL_TASK_SUBROUTINE_NV 0x957D +#define GL_MESH_SUBROUTINE_UNIFORM_NV 0x957E +#define GL_TASK_SUBROUTINE_UNIFORM_NV 0x957F +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_MESH_SHADER_NV 0x959E +#define GL_ATOMIC_COUNTER_BUFFER_REFERENCED_BY_TASK_SHADER_NV 0x959F +typedef void (GL_APIENTRYP PFNGLDRAWMESHTASKSNVPROC) (GLuint first, GLuint count); +typedef void (GL_APIENTRYP PFNGLDRAWMESHTASKSINDIRECTNVPROC) (GLintptr indirect); +typedef void (GL_APIENTRYP PFNGLMULTIDRAWMESHTASKSINDIRECTNVPROC) (GLintptr indirect, GLsizei drawcount, GLsizei stride); +typedef void (GL_APIENTRYP PFNGLMULTIDRAWMESHTASKSINDIRECTCOUNTNVPROC) (GLintptr indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glDrawMeshTasksNV (GLuint first, GLuint count); +GL_APICALL void GL_APIENTRY glDrawMeshTasksIndirectNV (GLintptr indirect); +GL_APICALL void GL_APIENTRY glMultiDrawMeshTasksIndirectNV (GLintptr indirect, GLsizei drawcount, GLsizei stride); +GL_APICALL void GL_APIENTRY glMultiDrawMeshTasksIndirectCountNV (GLintptr indirect, GLintptr drawcount, GLsizei maxdrawcount, GLsizei stride); +#endif +#endif /* GL_NV_mesh_shader */ + +#ifndef GL_NV_non_square_matrices +#define GL_NV_non_square_matrices 1 +#define GL_FLOAT_MAT2x3_NV 0x8B65 +#define GL_FLOAT_MAT2x4_NV 0x8B66 +#define GL_FLOAT_MAT3x2_NV 0x8B67 +#define GL_FLOAT_MAT3x4_NV 0x8B68 +#define GL_FLOAT_MAT4x2_NV 0x8B69 +#define GL_FLOAT_MAT4x3_NV 0x8B6A +typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX2X3FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX3X2FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX2X4FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX4X2FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX3X4FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +typedef void (GL_APIENTRYP PFNGLUNIFORMMATRIX4X3FVNVPROC) (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glUniformMatrix2x3fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GL_APICALL void GL_APIENTRY glUniformMatrix3x2fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GL_APICALL void GL_APIENTRY glUniformMatrix2x4fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GL_APICALL void GL_APIENTRY glUniformMatrix4x2fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GL_APICALL void GL_APIENTRY glUniformMatrix3x4fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +GL_APICALL void GL_APIENTRY glUniformMatrix4x3fvNV (GLint location, GLsizei count, GLboolean transpose, const GLfloat *value); +#endif +#endif /* GL_NV_non_square_matrices */ + +#ifndef GL_NV_path_rendering +#define GL_NV_path_rendering 1 +typedef double GLdouble; +#define GL_PATH_FORMAT_SVG_NV 0x9070 +#define GL_PATH_FORMAT_PS_NV 0x9071 +#define GL_STANDARD_FONT_NAME_NV 0x9072 +#define GL_SYSTEM_FONT_NAME_NV 0x9073 +#define GL_FILE_NAME_NV 0x9074 +#define GL_PATH_STROKE_WIDTH_NV 0x9075 +#define GL_PATH_END_CAPS_NV 0x9076 +#define GL_PATH_INITIAL_END_CAP_NV 0x9077 +#define GL_PATH_TERMINAL_END_CAP_NV 0x9078 +#define GL_PATH_JOIN_STYLE_NV 0x9079 +#define GL_PATH_MITER_LIMIT_NV 0x907A +#define GL_PATH_DASH_CAPS_NV 0x907B +#define GL_PATH_INITIAL_DASH_CAP_NV 0x907C +#define GL_PATH_TERMINAL_DASH_CAP_NV 0x907D +#define GL_PATH_DASH_OFFSET_NV 0x907E +#define GL_PATH_CLIENT_LENGTH_NV 0x907F +#define GL_PATH_FILL_MODE_NV 0x9080 +#define GL_PATH_FILL_MASK_NV 0x9081 +#define GL_PATH_FILL_COVER_MODE_NV 0x9082 +#define GL_PATH_STROKE_COVER_MODE_NV 0x9083 +#define GL_PATH_STROKE_MASK_NV 0x9084 +#define GL_COUNT_UP_NV 0x9088 +#define GL_COUNT_DOWN_NV 0x9089 +#define GL_PATH_OBJECT_BOUNDING_BOX_NV 0x908A +#define GL_CONVEX_HULL_NV 0x908B +#define GL_BOUNDING_BOX_NV 0x908D +#define GL_TRANSLATE_X_NV 0x908E +#define GL_TRANSLATE_Y_NV 0x908F +#define GL_TRANSLATE_2D_NV 0x9090 +#define GL_TRANSLATE_3D_NV 0x9091 +#define GL_AFFINE_2D_NV 0x9092 +#define GL_AFFINE_3D_NV 0x9094 +#define GL_TRANSPOSE_AFFINE_2D_NV 0x9096 +#define GL_TRANSPOSE_AFFINE_3D_NV 0x9098 +#define GL_UTF8_NV 0x909A +#define GL_UTF16_NV 0x909B +#define GL_BOUNDING_BOX_OF_BOUNDING_BOXES_NV 0x909C +#define GL_PATH_COMMAND_COUNT_NV 0x909D +#define GL_PATH_COORD_COUNT_NV 0x909E +#define GL_PATH_DASH_ARRAY_COUNT_NV 0x909F +#define GL_PATH_COMPUTED_LENGTH_NV 0x90A0 +#define GL_PATH_FILL_BOUNDING_BOX_NV 0x90A1 +#define GL_PATH_STROKE_BOUNDING_BOX_NV 0x90A2 +#define GL_SQUARE_NV 0x90A3 +#define GL_ROUND_NV 0x90A4 +#define GL_TRIANGULAR_NV 0x90A5 +#define GL_BEVEL_NV 0x90A6 +#define GL_MITER_REVERT_NV 0x90A7 +#define GL_MITER_TRUNCATE_NV 0x90A8 +#define GL_SKIP_MISSING_GLYPH_NV 0x90A9 +#define GL_USE_MISSING_GLYPH_NV 0x90AA +#define GL_PATH_ERROR_POSITION_NV 0x90AB +#define GL_ACCUM_ADJACENT_PAIRS_NV 0x90AD +#define GL_ADJACENT_PAIRS_NV 0x90AE +#define GL_FIRST_TO_REST_NV 0x90AF +#define GL_PATH_GEN_MODE_NV 0x90B0 +#define GL_PATH_GEN_COEFF_NV 0x90B1 +#define GL_PATH_GEN_COMPONENTS_NV 0x90B3 +#define GL_PATH_STENCIL_FUNC_NV 0x90B7 +#define GL_PATH_STENCIL_REF_NV 0x90B8 +#define GL_PATH_STENCIL_VALUE_MASK_NV 0x90B9 +#define GL_PATH_STENCIL_DEPTH_OFFSET_FACTOR_NV 0x90BD +#define GL_PATH_STENCIL_DEPTH_OFFSET_UNITS_NV 0x90BE +#define GL_PATH_COVER_DEPTH_FUNC_NV 0x90BF +#define GL_PATH_DASH_OFFSET_RESET_NV 0x90B4 +#define GL_MOVE_TO_RESETS_NV 0x90B5 +#define GL_MOVE_TO_CONTINUES_NV 0x90B6 +#define GL_CLOSE_PATH_NV 0x00 +#define GL_MOVE_TO_NV 0x02 +#define GL_RELATIVE_MOVE_TO_NV 0x03 +#define GL_LINE_TO_NV 0x04 +#define GL_RELATIVE_LINE_TO_NV 0x05 +#define GL_HORIZONTAL_LINE_TO_NV 0x06 +#define GL_RELATIVE_HORIZONTAL_LINE_TO_NV 0x07 +#define GL_VERTICAL_LINE_TO_NV 0x08 +#define GL_RELATIVE_VERTICAL_LINE_TO_NV 0x09 +#define GL_QUADRATIC_CURVE_TO_NV 0x0A +#define GL_RELATIVE_QUADRATIC_CURVE_TO_NV 0x0B +#define GL_CUBIC_CURVE_TO_NV 0x0C +#define GL_RELATIVE_CUBIC_CURVE_TO_NV 0x0D +#define GL_SMOOTH_QUADRATIC_CURVE_TO_NV 0x0E +#define GL_RELATIVE_SMOOTH_QUADRATIC_CURVE_TO_NV 0x0F +#define GL_SMOOTH_CUBIC_CURVE_TO_NV 0x10 +#define GL_RELATIVE_SMOOTH_CUBIC_CURVE_TO_NV 0x11 +#define GL_SMALL_CCW_ARC_TO_NV 0x12 +#define GL_RELATIVE_SMALL_CCW_ARC_TO_NV 0x13 +#define GL_SMALL_CW_ARC_TO_NV 0x14 +#define GL_RELATIVE_SMALL_CW_ARC_TO_NV 0x15 +#define GL_LARGE_CCW_ARC_TO_NV 0x16 +#define GL_RELATIVE_LARGE_CCW_ARC_TO_NV 0x17 +#define GL_LARGE_CW_ARC_TO_NV 0x18 +#define GL_RELATIVE_LARGE_CW_ARC_TO_NV 0x19 +#define GL_RESTART_PATH_NV 0xF0 +#define GL_DUP_FIRST_CUBIC_CURVE_TO_NV 0xF2 +#define GL_DUP_LAST_CUBIC_CURVE_TO_NV 0xF4 +#define GL_RECT_NV 0xF6 +#define GL_CIRCULAR_CCW_ARC_TO_NV 0xF8 +#define GL_CIRCULAR_CW_ARC_TO_NV 0xFA +#define GL_CIRCULAR_TANGENT_ARC_TO_NV 0xFC +#define GL_ARC_TO_NV 0xFE +#define GL_RELATIVE_ARC_TO_NV 0xFF +#define GL_BOLD_BIT_NV 0x01 +#define GL_ITALIC_BIT_NV 0x02 +#define GL_GLYPH_WIDTH_BIT_NV 0x01 +#define GL_GLYPH_HEIGHT_BIT_NV 0x02 +#define GL_GLYPH_HORIZONTAL_BEARING_X_BIT_NV 0x04 +#define GL_GLYPH_HORIZONTAL_BEARING_Y_BIT_NV 0x08 +#define GL_GLYPH_HORIZONTAL_BEARING_ADVANCE_BIT_NV 0x10 +#define GL_GLYPH_VERTICAL_BEARING_X_BIT_NV 0x20 +#define GL_GLYPH_VERTICAL_BEARING_Y_BIT_NV 0x40 +#define GL_GLYPH_VERTICAL_BEARING_ADVANCE_BIT_NV 0x80 +#define GL_GLYPH_HAS_KERNING_BIT_NV 0x100 +#define GL_FONT_X_MIN_BOUNDS_BIT_NV 0x00010000 +#define GL_FONT_Y_MIN_BOUNDS_BIT_NV 0x00020000 +#define GL_FONT_X_MAX_BOUNDS_BIT_NV 0x00040000 +#define GL_FONT_Y_MAX_BOUNDS_BIT_NV 0x00080000 +#define GL_FONT_UNITS_PER_EM_BIT_NV 0x00100000 +#define GL_FONT_ASCENDER_BIT_NV 0x00200000 +#define GL_FONT_DESCENDER_BIT_NV 0x00400000 +#define GL_FONT_HEIGHT_BIT_NV 0x00800000 +#define GL_FONT_MAX_ADVANCE_WIDTH_BIT_NV 0x01000000 +#define GL_FONT_MAX_ADVANCE_HEIGHT_BIT_NV 0x02000000 +#define GL_FONT_UNDERLINE_POSITION_BIT_NV 0x04000000 +#define GL_FONT_UNDERLINE_THICKNESS_BIT_NV 0x08000000 +#define GL_FONT_HAS_KERNING_BIT_NV 0x10000000 +#define GL_ROUNDED_RECT_NV 0xE8 +#define GL_RELATIVE_ROUNDED_RECT_NV 0xE9 +#define GL_ROUNDED_RECT2_NV 0xEA +#define GL_RELATIVE_ROUNDED_RECT2_NV 0xEB +#define GL_ROUNDED_RECT4_NV 0xEC +#define GL_RELATIVE_ROUNDED_RECT4_NV 0xED +#define GL_ROUNDED_RECT8_NV 0xEE +#define GL_RELATIVE_ROUNDED_RECT8_NV 0xEF +#define GL_RELATIVE_RECT_NV 0xF7 +#define GL_FONT_GLYPHS_AVAILABLE_NV 0x9368 +#define GL_FONT_TARGET_UNAVAILABLE_NV 0x9369 +#define GL_FONT_UNAVAILABLE_NV 0x936A +#define GL_FONT_UNINTELLIGIBLE_NV 0x936B +#define GL_CONIC_CURVE_TO_NV 0x1A +#define GL_RELATIVE_CONIC_CURVE_TO_NV 0x1B +#define GL_FONT_NUM_GLYPH_INDICES_BIT_NV 0x20000000 +#define GL_STANDARD_FONT_FORMAT_NV 0x936C +#define GL_PATH_PROJECTION_NV 0x1701 +#define GL_PATH_MODELVIEW_NV 0x1700 +#define GL_PATH_MODELVIEW_STACK_DEPTH_NV 0x0BA3 +#define GL_PATH_MODELVIEW_MATRIX_NV 0x0BA6 +#define GL_PATH_MAX_MODELVIEW_STACK_DEPTH_NV 0x0D36 +#define GL_PATH_TRANSPOSE_MODELVIEW_MATRIX_NV 0x84E3 +#define GL_PATH_PROJECTION_STACK_DEPTH_NV 0x0BA4 +#define GL_PATH_PROJECTION_MATRIX_NV 0x0BA7 +#define GL_PATH_MAX_PROJECTION_STACK_DEPTH_NV 0x0D38 +#define GL_PATH_TRANSPOSE_PROJECTION_MATRIX_NV 0x84E4 +#define GL_FRAGMENT_INPUT_NV 0x936D +typedef GLuint (GL_APIENTRYP PFNGLGENPATHSNVPROC) (GLsizei range); +typedef void (GL_APIENTRYP PFNGLDELETEPATHSNVPROC) (GLuint path, GLsizei range); +typedef GLboolean (GL_APIENTRYP PFNGLISPATHNVPROC) (GLuint path); +typedef void (GL_APIENTRYP PFNGLPATHCOMMANDSNVPROC) (GLuint path, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords); +typedef void (GL_APIENTRYP PFNGLPATHCOORDSNVPROC) (GLuint path, GLsizei numCoords, GLenum coordType, const void *coords); +typedef void (GL_APIENTRYP PFNGLPATHSUBCOMMANDSNVPROC) (GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords); +typedef void (GL_APIENTRYP PFNGLPATHSUBCOORDSNVPROC) (GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const void *coords); +typedef void (GL_APIENTRYP PFNGLPATHSTRINGNVPROC) (GLuint path, GLenum format, GLsizei length, const void *pathString); +typedef void (GL_APIENTRYP PFNGLPATHGLYPHSNVPROC) (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const void *charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale); +typedef void (GL_APIENTRYP PFNGLPATHGLYPHRANGENVPROC) (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale); +typedef void (GL_APIENTRYP PFNGLWEIGHTPATHSNVPROC) (GLuint resultPath, GLsizei numPaths, const GLuint *paths, const GLfloat *weights); +typedef void (GL_APIENTRYP PFNGLCOPYPATHNVPROC) (GLuint resultPath, GLuint srcPath); +typedef void (GL_APIENTRYP PFNGLINTERPOLATEPATHSNVPROC) (GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight); +typedef void (GL_APIENTRYP PFNGLTRANSFORMPATHNVPROC) (GLuint resultPath, GLuint srcPath, GLenum transformType, const GLfloat *transformValues); +typedef void (GL_APIENTRYP PFNGLPATHPARAMETERIVNVPROC) (GLuint path, GLenum pname, const GLint *value); +typedef void (GL_APIENTRYP PFNGLPATHPARAMETERINVPROC) (GLuint path, GLenum pname, GLint value); +typedef void (GL_APIENTRYP PFNGLPATHPARAMETERFVNVPROC) (GLuint path, GLenum pname, const GLfloat *value); +typedef void (GL_APIENTRYP PFNGLPATHPARAMETERFNVPROC) (GLuint path, GLenum pname, GLfloat value); +typedef void (GL_APIENTRYP PFNGLPATHDASHARRAYNVPROC) (GLuint path, GLsizei dashCount, const GLfloat *dashArray); +typedef void (GL_APIENTRYP PFNGLPATHSTENCILFUNCNVPROC) (GLenum func, GLint ref, GLuint mask); +typedef void (GL_APIENTRYP PFNGLPATHSTENCILDEPTHOFFSETNVPROC) (GLfloat factor, GLfloat units); +typedef void (GL_APIENTRYP PFNGLSTENCILFILLPATHNVPROC) (GLuint path, GLenum fillMode, GLuint mask); +typedef void (GL_APIENTRYP PFNGLSTENCILSTROKEPATHNVPROC) (GLuint path, GLint reference, GLuint mask); +typedef void (GL_APIENTRYP PFNGLSTENCILFILLPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues); +typedef void (GL_APIENTRYP PFNGLSTENCILSTROKEPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues); +typedef void (GL_APIENTRYP PFNGLPATHCOVERDEPTHFUNCNVPROC) (GLenum func); +typedef void (GL_APIENTRYP PFNGLCOVERFILLPATHNVPROC) (GLuint path, GLenum coverMode); +typedef void (GL_APIENTRYP PFNGLCOVERSTROKEPATHNVPROC) (GLuint path, GLenum coverMode); +typedef void (GL_APIENTRYP PFNGLCOVERFILLPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); +typedef void (GL_APIENTRYP PFNGLCOVERSTROKEPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); +typedef void (GL_APIENTRYP PFNGLGETPATHPARAMETERIVNVPROC) (GLuint path, GLenum pname, GLint *value); +typedef void (GL_APIENTRYP PFNGLGETPATHPARAMETERFVNVPROC) (GLuint path, GLenum pname, GLfloat *value); +typedef void (GL_APIENTRYP PFNGLGETPATHCOMMANDSNVPROC) (GLuint path, GLubyte *commands); +typedef void (GL_APIENTRYP PFNGLGETPATHCOORDSNVPROC) (GLuint path, GLfloat *coords); +typedef void (GL_APIENTRYP PFNGLGETPATHDASHARRAYNVPROC) (GLuint path, GLfloat *dashArray); +typedef void (GL_APIENTRYP PFNGLGETPATHMETRICSNVPROC) (GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLsizei stride, GLfloat *metrics); +typedef void (GL_APIENTRYP PFNGLGETPATHMETRICRANGENVPROC) (GLbitfield metricQueryMask, GLuint firstPathName, GLsizei numPaths, GLsizei stride, GLfloat *metrics); +typedef void (GL_APIENTRYP PFNGLGETPATHSPACINGNVPROC) (GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat *returnedSpacing); +typedef GLboolean (GL_APIENTRYP PFNGLISPOINTINFILLPATHNVPROC) (GLuint path, GLuint mask, GLfloat x, GLfloat y); +typedef GLboolean (GL_APIENTRYP PFNGLISPOINTINSTROKEPATHNVPROC) (GLuint path, GLfloat x, GLfloat y); +typedef GLfloat (GL_APIENTRYP PFNGLGETPATHLENGTHNVPROC) (GLuint path, GLsizei startSegment, GLsizei numSegments); +typedef GLboolean (GL_APIENTRYP PFNGLPOINTALONGPATHNVPROC) (GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat *x, GLfloat *y, GLfloat *tangentX, GLfloat *tangentY); +typedef void (GL_APIENTRYP PFNGLMATRIXLOAD3X2FNVPROC) (GLenum matrixMode, const GLfloat *m); +typedef void (GL_APIENTRYP PFNGLMATRIXLOAD3X3FNVPROC) (GLenum matrixMode, const GLfloat *m); +typedef void (GL_APIENTRYP PFNGLMATRIXLOADTRANSPOSE3X3FNVPROC) (GLenum matrixMode, const GLfloat *m); +typedef void (GL_APIENTRYP PFNGLMATRIXMULT3X2FNVPROC) (GLenum matrixMode, const GLfloat *m); +typedef void (GL_APIENTRYP PFNGLMATRIXMULT3X3FNVPROC) (GLenum matrixMode, const GLfloat *m); +typedef void (GL_APIENTRYP PFNGLMATRIXMULTTRANSPOSE3X3FNVPROC) (GLenum matrixMode, const GLfloat *m); +typedef void (GL_APIENTRYP PFNGLSTENCILTHENCOVERFILLPATHNVPROC) (GLuint path, GLenum fillMode, GLuint mask, GLenum coverMode); +typedef void (GL_APIENTRYP PFNGLSTENCILTHENCOVERSTROKEPATHNVPROC) (GLuint path, GLint reference, GLuint mask, GLenum coverMode); +typedef void (GL_APIENTRYP PFNGLSTENCILTHENCOVERFILLPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); +typedef void (GL_APIENTRYP PFNGLSTENCILTHENCOVERSTROKEPATHINSTANCEDNVPROC) (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); +typedef GLenum (GL_APIENTRYP PFNGLPATHGLYPHINDEXRANGENVPROC) (GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint pathParameterTemplate, GLfloat emScale, GLuint *baseAndCount); +typedef GLenum (GL_APIENTRYP PFNGLPATHGLYPHINDEXARRAYNVPROC) (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale); +typedef GLenum (GL_APIENTRYP PFNGLPATHMEMORYGLYPHINDEXARRAYNVPROC) (GLuint firstPathName, GLenum fontTarget, GLsizeiptr fontSize, const void *fontData, GLsizei faceIndex, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale); +typedef void (GL_APIENTRYP PFNGLPROGRAMPATHFRAGMENTINPUTGENNVPROC) (GLuint program, GLint location, GLenum genMode, GLint components, const GLfloat *coeffs); +typedef void (GL_APIENTRYP PFNGLGETPROGRAMRESOURCEFVNVPROC) (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei count, GLsizei *length, GLfloat *params); +typedef void (GL_APIENTRYP PFNGLMATRIXFRUSTUMEXTPROC) (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); +typedef void (GL_APIENTRYP PFNGLMATRIXLOADIDENTITYEXTPROC) (GLenum mode); +typedef void (GL_APIENTRYP PFNGLMATRIXLOADTRANSPOSEFEXTPROC) (GLenum mode, const GLfloat *m); +typedef void (GL_APIENTRYP PFNGLMATRIXLOADTRANSPOSEDEXTPROC) (GLenum mode, const GLdouble *m); +typedef void (GL_APIENTRYP PFNGLMATRIXLOADFEXTPROC) (GLenum mode, const GLfloat *m); +typedef void (GL_APIENTRYP PFNGLMATRIXLOADDEXTPROC) (GLenum mode, const GLdouble *m); +typedef void (GL_APIENTRYP PFNGLMATRIXMULTTRANSPOSEFEXTPROC) (GLenum mode, const GLfloat *m); +typedef void (GL_APIENTRYP PFNGLMATRIXMULTTRANSPOSEDEXTPROC) (GLenum mode, const GLdouble *m); +typedef void (GL_APIENTRYP PFNGLMATRIXMULTFEXTPROC) (GLenum mode, const GLfloat *m); +typedef void (GL_APIENTRYP PFNGLMATRIXMULTDEXTPROC) (GLenum mode, const GLdouble *m); +typedef void (GL_APIENTRYP PFNGLMATRIXORTHOEXTPROC) (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); +typedef void (GL_APIENTRYP PFNGLMATRIXPOPEXTPROC) (GLenum mode); +typedef void (GL_APIENTRYP PFNGLMATRIXPUSHEXTPROC) (GLenum mode); +typedef void (GL_APIENTRYP PFNGLMATRIXROTATEFEXTPROC) (GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z); +typedef void (GL_APIENTRYP PFNGLMATRIXROTATEDEXTPROC) (GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z); +typedef void (GL_APIENTRYP PFNGLMATRIXSCALEFEXTPROC) (GLenum mode, GLfloat x, GLfloat y, GLfloat z); +typedef void (GL_APIENTRYP PFNGLMATRIXSCALEDEXTPROC) (GLenum mode, GLdouble x, GLdouble y, GLdouble z); +typedef void (GL_APIENTRYP PFNGLMATRIXTRANSLATEFEXTPROC) (GLenum mode, GLfloat x, GLfloat y, GLfloat z); +typedef void (GL_APIENTRYP PFNGLMATRIXTRANSLATEDEXTPROC) (GLenum mode, GLdouble x, GLdouble y, GLdouble z); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL GLuint GL_APIENTRY glGenPathsNV (GLsizei range); +GL_APICALL void GL_APIENTRY glDeletePathsNV (GLuint path, GLsizei range); +GL_APICALL GLboolean GL_APIENTRY glIsPathNV (GLuint path); +GL_APICALL void GL_APIENTRY glPathCommandsNV (GLuint path, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords); +GL_APICALL void GL_APIENTRY glPathCoordsNV (GLuint path, GLsizei numCoords, GLenum coordType, const void *coords); +GL_APICALL void GL_APIENTRY glPathSubCommandsNV (GLuint path, GLsizei commandStart, GLsizei commandsToDelete, GLsizei numCommands, const GLubyte *commands, GLsizei numCoords, GLenum coordType, const void *coords); +GL_APICALL void GL_APIENTRY glPathSubCoordsNV (GLuint path, GLsizei coordStart, GLsizei numCoords, GLenum coordType, const void *coords); +GL_APICALL void GL_APIENTRY glPathStringNV (GLuint path, GLenum format, GLsizei length, const void *pathString); +GL_APICALL void GL_APIENTRY glPathGlyphsNV (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLsizei numGlyphs, GLenum type, const void *charcodes, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale); +GL_APICALL void GL_APIENTRY glPathGlyphRangeNV (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyph, GLsizei numGlyphs, GLenum handleMissingGlyphs, GLuint pathParameterTemplate, GLfloat emScale); +GL_APICALL void GL_APIENTRY glWeightPathsNV (GLuint resultPath, GLsizei numPaths, const GLuint *paths, const GLfloat *weights); +GL_APICALL void GL_APIENTRY glCopyPathNV (GLuint resultPath, GLuint srcPath); +GL_APICALL void GL_APIENTRY glInterpolatePathsNV (GLuint resultPath, GLuint pathA, GLuint pathB, GLfloat weight); +GL_APICALL void GL_APIENTRY glTransformPathNV (GLuint resultPath, GLuint srcPath, GLenum transformType, const GLfloat *transformValues); +GL_APICALL void GL_APIENTRY glPathParameterivNV (GLuint path, GLenum pname, const GLint *value); +GL_APICALL void GL_APIENTRY glPathParameteriNV (GLuint path, GLenum pname, GLint value); +GL_APICALL void GL_APIENTRY glPathParameterfvNV (GLuint path, GLenum pname, const GLfloat *value); +GL_APICALL void GL_APIENTRY glPathParameterfNV (GLuint path, GLenum pname, GLfloat value); +GL_APICALL void GL_APIENTRY glPathDashArrayNV (GLuint path, GLsizei dashCount, const GLfloat *dashArray); +GL_APICALL void GL_APIENTRY glPathStencilFuncNV (GLenum func, GLint ref, GLuint mask); +GL_APICALL void GL_APIENTRY glPathStencilDepthOffsetNV (GLfloat factor, GLfloat units); +GL_APICALL void GL_APIENTRY glStencilFillPathNV (GLuint path, GLenum fillMode, GLuint mask); +GL_APICALL void GL_APIENTRY glStencilStrokePathNV (GLuint path, GLint reference, GLuint mask); +GL_APICALL void GL_APIENTRY glStencilFillPathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum transformType, const GLfloat *transformValues); +GL_APICALL void GL_APIENTRY glStencilStrokePathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum transformType, const GLfloat *transformValues); +GL_APICALL void GL_APIENTRY glPathCoverDepthFuncNV (GLenum func); +GL_APICALL void GL_APIENTRY glCoverFillPathNV (GLuint path, GLenum coverMode); +GL_APICALL void GL_APIENTRY glCoverStrokePathNV (GLuint path, GLenum coverMode); +GL_APICALL void GL_APIENTRY glCoverFillPathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); +GL_APICALL void GL_APIENTRY glCoverStrokePathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); +GL_APICALL void GL_APIENTRY glGetPathParameterivNV (GLuint path, GLenum pname, GLint *value); +GL_APICALL void GL_APIENTRY glGetPathParameterfvNV (GLuint path, GLenum pname, GLfloat *value); +GL_APICALL void GL_APIENTRY glGetPathCommandsNV (GLuint path, GLubyte *commands); +GL_APICALL void GL_APIENTRY glGetPathCoordsNV (GLuint path, GLfloat *coords); +GL_APICALL void GL_APIENTRY glGetPathDashArrayNV (GLuint path, GLfloat *dashArray); +GL_APICALL void GL_APIENTRY glGetPathMetricsNV (GLbitfield metricQueryMask, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLsizei stride, GLfloat *metrics); +GL_APICALL void GL_APIENTRY glGetPathMetricRangeNV (GLbitfield metricQueryMask, GLuint firstPathName, GLsizei numPaths, GLsizei stride, GLfloat *metrics); +GL_APICALL void GL_APIENTRY glGetPathSpacingNV (GLenum pathListMode, GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLfloat advanceScale, GLfloat kerningScale, GLenum transformType, GLfloat *returnedSpacing); +GL_APICALL GLboolean GL_APIENTRY glIsPointInFillPathNV (GLuint path, GLuint mask, GLfloat x, GLfloat y); +GL_APICALL GLboolean GL_APIENTRY glIsPointInStrokePathNV (GLuint path, GLfloat x, GLfloat y); +GL_APICALL GLfloat GL_APIENTRY glGetPathLengthNV (GLuint path, GLsizei startSegment, GLsizei numSegments); +GL_APICALL GLboolean GL_APIENTRY glPointAlongPathNV (GLuint path, GLsizei startSegment, GLsizei numSegments, GLfloat distance, GLfloat *x, GLfloat *y, GLfloat *tangentX, GLfloat *tangentY); +GL_APICALL void GL_APIENTRY glMatrixLoad3x2fNV (GLenum matrixMode, const GLfloat *m); +GL_APICALL void GL_APIENTRY glMatrixLoad3x3fNV (GLenum matrixMode, const GLfloat *m); +GL_APICALL void GL_APIENTRY glMatrixLoadTranspose3x3fNV (GLenum matrixMode, const GLfloat *m); +GL_APICALL void GL_APIENTRY glMatrixMult3x2fNV (GLenum matrixMode, const GLfloat *m); +GL_APICALL void GL_APIENTRY glMatrixMult3x3fNV (GLenum matrixMode, const GLfloat *m); +GL_APICALL void GL_APIENTRY glMatrixMultTranspose3x3fNV (GLenum matrixMode, const GLfloat *m); +GL_APICALL void GL_APIENTRY glStencilThenCoverFillPathNV (GLuint path, GLenum fillMode, GLuint mask, GLenum coverMode); +GL_APICALL void GL_APIENTRY glStencilThenCoverStrokePathNV (GLuint path, GLint reference, GLuint mask, GLenum coverMode); +GL_APICALL void GL_APIENTRY glStencilThenCoverFillPathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLenum fillMode, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); +GL_APICALL void GL_APIENTRY glStencilThenCoverStrokePathInstancedNV (GLsizei numPaths, GLenum pathNameType, const void *paths, GLuint pathBase, GLint reference, GLuint mask, GLenum coverMode, GLenum transformType, const GLfloat *transformValues); +GL_APICALL GLenum GL_APIENTRY glPathGlyphIndexRangeNV (GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint pathParameterTemplate, GLfloat emScale, GLuint *baseAndCount); +GL_APICALL GLenum GL_APIENTRY glPathGlyphIndexArrayNV (GLuint firstPathName, GLenum fontTarget, const void *fontName, GLbitfield fontStyle, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale); +GL_APICALL GLenum GL_APIENTRY glPathMemoryGlyphIndexArrayNV (GLuint firstPathName, GLenum fontTarget, GLsizeiptr fontSize, const void *fontData, GLsizei faceIndex, GLuint firstGlyphIndex, GLsizei numGlyphs, GLuint pathParameterTemplate, GLfloat emScale); +GL_APICALL void GL_APIENTRY glProgramPathFragmentInputGenNV (GLuint program, GLint location, GLenum genMode, GLint components, const GLfloat *coeffs); +GL_APICALL void GL_APIENTRY glGetProgramResourcefvNV (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum *props, GLsizei count, GLsizei *length, GLfloat *params); +GL_APICALL void GL_APIENTRY glMatrixFrustumEXT (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); +GL_APICALL void GL_APIENTRY glMatrixLoadIdentityEXT (GLenum mode); +GL_APICALL void GL_APIENTRY glMatrixLoadTransposefEXT (GLenum mode, const GLfloat *m); +GL_APICALL void GL_APIENTRY glMatrixLoadTransposedEXT (GLenum mode, const GLdouble *m); +GL_APICALL void GL_APIENTRY glMatrixLoadfEXT (GLenum mode, const GLfloat *m); +GL_APICALL void GL_APIENTRY glMatrixLoaddEXT (GLenum mode, const GLdouble *m); +GL_APICALL void GL_APIENTRY glMatrixMultTransposefEXT (GLenum mode, const GLfloat *m); +GL_APICALL void GL_APIENTRY glMatrixMultTransposedEXT (GLenum mode, const GLdouble *m); +GL_APICALL void GL_APIENTRY glMatrixMultfEXT (GLenum mode, const GLfloat *m); +GL_APICALL void GL_APIENTRY glMatrixMultdEXT (GLenum mode, const GLdouble *m); +GL_APICALL void GL_APIENTRY glMatrixOrthoEXT (GLenum mode, GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar); +GL_APICALL void GL_APIENTRY glMatrixPopEXT (GLenum mode); +GL_APICALL void GL_APIENTRY glMatrixPushEXT (GLenum mode); +GL_APICALL void GL_APIENTRY glMatrixRotatefEXT (GLenum mode, GLfloat angle, GLfloat x, GLfloat y, GLfloat z); +GL_APICALL void GL_APIENTRY glMatrixRotatedEXT (GLenum mode, GLdouble angle, GLdouble x, GLdouble y, GLdouble z); +GL_APICALL void GL_APIENTRY glMatrixScalefEXT (GLenum mode, GLfloat x, GLfloat y, GLfloat z); +GL_APICALL void GL_APIENTRY glMatrixScaledEXT (GLenum mode, GLdouble x, GLdouble y, GLdouble z); +GL_APICALL void GL_APIENTRY glMatrixTranslatefEXT (GLenum mode, GLfloat x, GLfloat y, GLfloat z); +GL_APICALL void GL_APIENTRY glMatrixTranslatedEXT (GLenum mode, GLdouble x, GLdouble y, GLdouble z); +#endif +#endif /* GL_NV_path_rendering */ + +#ifndef GL_NV_path_rendering_shared_edge +#define GL_NV_path_rendering_shared_edge 1 +#define GL_SHARED_EDGE_NV 0xC0 +#endif /* GL_NV_path_rendering_shared_edge */ + +#ifndef GL_NV_pixel_buffer_object +#define GL_NV_pixel_buffer_object 1 +#define GL_PIXEL_PACK_BUFFER_NV 0x88EB +#define GL_PIXEL_UNPACK_BUFFER_NV 0x88EC +#define GL_PIXEL_PACK_BUFFER_BINDING_NV 0x88ED +#define GL_PIXEL_UNPACK_BUFFER_BINDING_NV 0x88EF +#endif /* GL_NV_pixel_buffer_object */ + +#ifndef GL_NV_polygon_mode +#define GL_NV_polygon_mode 1 +#define GL_POLYGON_MODE_NV 0x0B40 +#define GL_POLYGON_OFFSET_POINT_NV 0x2A01 +#define GL_POLYGON_OFFSET_LINE_NV 0x2A02 +#define GL_POINT_NV 0x1B00 +#define GL_LINE_NV 0x1B01 +#define GL_FILL_NV 0x1B02 +typedef void (GL_APIENTRYP PFNGLPOLYGONMODENVPROC) (GLenum face, GLenum mode); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glPolygonModeNV (GLenum face, GLenum mode); #endif +#endif /* GL_NV_polygon_mode */ + +#ifndef GL_NV_primitive_shading_rate +#define GL_NV_primitive_shading_rate 1 +#define GL_SHADING_RATE_IMAGE_PER_PRIMITIVE_NV 0x95B1 +#define GL_SHADING_RATE_IMAGE_PALETTE_COUNT_NV 0x95B2 +#endif /* GL_NV_primitive_shading_rate */ -/* GL_NV_read_buffer */ #ifndef GL_NV_read_buffer #define GL_NV_read_buffer 1 +#define GL_READ_BUFFER_NV 0x0C02 +typedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC) (GLenum mode); #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glReadBufferNV (GLenum mode); #endif -typedef void (GL_APIENTRYP PFNGLREADBUFFERNVPROC) (GLenum mode); -#endif +#endif /* GL_NV_read_buffer */ -/* GL_NV_read_buffer_front */ #ifndef GL_NV_read_buffer_front #define GL_NV_read_buffer_front 1 -#endif +#endif /* GL_NV_read_buffer_front */ -/* GL_NV_read_depth */ #ifndef GL_NV_read_depth #define GL_NV_read_depth 1 -#endif +#endif /* GL_NV_read_depth */ -/* GL_NV_read_depth_stencil */ #ifndef GL_NV_read_depth_stencil #define GL_NV_read_depth_stencil 1 -#endif +#endif /* GL_NV_read_depth_stencil */ -/* GL_NV_read_stencil */ #ifndef GL_NV_read_stencil #define GL_NV_read_stencil 1 +#endif /* GL_NV_read_stencil */ + +#ifndef GL_NV_representative_fragment_test +#define GL_NV_representative_fragment_test 1 +#define GL_REPRESENTATIVE_FRAGMENT_TEST_NV 0x937F +#endif /* GL_NV_representative_fragment_test */ + +#ifndef GL_NV_sRGB_formats +#define GL_NV_sRGB_formats 1 +#define GL_SLUMINANCE_NV 0x8C46 +#define GL_SLUMINANCE_ALPHA_NV 0x8C44 +#define GL_SRGB8_NV 0x8C41 +#define GL_SLUMINANCE8_NV 0x8C47 +#define GL_SLUMINANCE8_ALPHA8_NV 0x8C45 +#define GL_COMPRESSED_SRGB_S3TC_DXT1_NV 0x8C4C +#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_NV 0x8C4D +#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_NV 0x8C4E +#define GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_NV 0x8C4F +#define GL_ETC1_SRGB8_NV 0x88EE +#endif /* GL_NV_sRGB_formats */ + +#ifndef GL_NV_sample_locations +#define GL_NV_sample_locations 1 +#define GL_SAMPLE_LOCATION_SUBPIXEL_BITS_NV 0x933D +#define GL_SAMPLE_LOCATION_PIXEL_GRID_WIDTH_NV 0x933E +#define GL_SAMPLE_LOCATION_PIXEL_GRID_HEIGHT_NV 0x933F +#define GL_PROGRAMMABLE_SAMPLE_LOCATION_TABLE_SIZE_NV 0x9340 +#define GL_SAMPLE_LOCATION_NV 0x8E50 +#define GL_PROGRAMMABLE_SAMPLE_LOCATION_NV 0x9341 +#define GL_FRAMEBUFFER_PROGRAMMABLE_SAMPLE_LOCATIONS_NV 0x9342 +#define GL_FRAMEBUFFER_SAMPLE_LOCATION_PIXEL_GRID_NV 0x9343 +typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERSAMPLELOCATIONSFVNVPROC) (GLenum target, GLuint start, GLsizei count, const GLfloat *v); +typedef void (GL_APIENTRYP PFNGLNAMEDFRAMEBUFFERSAMPLELOCATIONSFVNVPROC) (GLuint framebuffer, GLuint start, GLsizei count, const GLfloat *v); +typedef void (GL_APIENTRYP PFNGLRESOLVEDEPTHVALUESNVPROC) (void); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glFramebufferSampleLocationsfvNV (GLenum target, GLuint start, GLsizei count, const GLfloat *v); +GL_APICALL void GL_APIENTRY glNamedFramebufferSampleLocationsfvNV (GLuint framebuffer, GLuint start, GLsizei count, const GLfloat *v); +GL_APICALL void GL_APIENTRY glResolveDepthValuesNV (void); +#endif +#endif /* GL_NV_sample_locations */ + +#ifndef GL_NV_sample_mask_override_coverage +#define GL_NV_sample_mask_override_coverage 1 +#endif /* GL_NV_sample_mask_override_coverage */ + +#ifndef GL_NV_scissor_exclusive +#define GL_NV_scissor_exclusive 1 +#define GL_SCISSOR_TEST_EXCLUSIVE_NV 0x9555 +#define GL_SCISSOR_BOX_EXCLUSIVE_NV 0x9556 +typedef void (GL_APIENTRYP PFNGLSCISSOREXCLUSIVENVPROC) (GLint x, GLint y, GLsizei width, GLsizei height); +typedef void (GL_APIENTRYP PFNGLSCISSOREXCLUSIVEARRAYVNVPROC) (GLuint first, GLsizei count, const GLint *v); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glScissorExclusiveNV (GLint x, GLint y, GLsizei width, GLsizei height); +GL_APICALL void GL_APIENTRY glScissorExclusiveArrayvNV (GLuint first, GLsizei count, const GLint *v); +#endif +#endif /* GL_NV_scissor_exclusive */ + +#ifndef GL_NV_shader_atomic_fp16_vector +#define GL_NV_shader_atomic_fp16_vector 1 +#endif /* GL_NV_shader_atomic_fp16_vector */ + +#ifndef GL_NV_shader_noperspective_interpolation +#define GL_NV_shader_noperspective_interpolation 1 +#endif /* GL_NV_shader_noperspective_interpolation */ + +#ifndef GL_NV_shader_subgroup_partitioned +#define GL_NV_shader_subgroup_partitioned 1 +#define GL_SUBGROUP_FEATURE_PARTITIONED_BIT_NV 0x00000100 +#endif /* GL_NV_shader_subgroup_partitioned */ + +#ifndef GL_NV_shader_texture_footprint +#define GL_NV_shader_texture_footprint 1 +#endif /* GL_NV_shader_texture_footprint */ + +#ifndef GL_NV_shading_rate_image +#define GL_NV_shading_rate_image 1 +#define GL_SHADING_RATE_IMAGE_NV 0x9563 +#define GL_SHADING_RATE_NO_INVOCATIONS_NV 0x9564 +#define GL_SHADING_RATE_1_INVOCATION_PER_PIXEL_NV 0x9565 +#define GL_SHADING_RATE_1_INVOCATION_PER_1X2_PIXELS_NV 0x9566 +#define GL_SHADING_RATE_1_INVOCATION_PER_2X1_PIXELS_NV 0x9567 +#define GL_SHADING_RATE_1_INVOCATION_PER_2X2_PIXELS_NV 0x9568 +#define GL_SHADING_RATE_1_INVOCATION_PER_2X4_PIXELS_NV 0x9569 +#define GL_SHADING_RATE_1_INVOCATION_PER_4X2_PIXELS_NV 0x956A +#define GL_SHADING_RATE_1_INVOCATION_PER_4X4_PIXELS_NV 0x956B +#define GL_SHADING_RATE_2_INVOCATIONS_PER_PIXEL_NV 0x956C +#define GL_SHADING_RATE_4_INVOCATIONS_PER_PIXEL_NV 0x956D +#define GL_SHADING_RATE_8_INVOCATIONS_PER_PIXEL_NV 0x956E +#define GL_SHADING_RATE_16_INVOCATIONS_PER_PIXEL_NV 0x956F +#define GL_SHADING_RATE_IMAGE_BINDING_NV 0x955B +#define GL_SHADING_RATE_IMAGE_TEXEL_WIDTH_NV 0x955C +#define GL_SHADING_RATE_IMAGE_TEXEL_HEIGHT_NV 0x955D +#define GL_SHADING_RATE_IMAGE_PALETTE_SIZE_NV 0x955E +#define GL_MAX_COARSE_FRAGMENT_SAMPLES_NV 0x955F +#define GL_SHADING_RATE_SAMPLE_ORDER_DEFAULT_NV 0x95AE +#define GL_SHADING_RATE_SAMPLE_ORDER_PIXEL_MAJOR_NV 0x95AF +#define GL_SHADING_RATE_SAMPLE_ORDER_SAMPLE_MAJOR_NV 0x95B0 +typedef void (GL_APIENTRYP PFNGLBINDSHADINGRATEIMAGENVPROC) (GLuint texture); +typedef void (GL_APIENTRYP PFNGLGETSHADINGRATEIMAGEPALETTENVPROC) (GLuint viewport, GLuint entry, GLenum *rate); +typedef void (GL_APIENTRYP PFNGLGETSHADINGRATESAMPLELOCATIONIVNVPROC) (GLenum rate, GLuint samples, GLuint index, GLint *location); +typedef void (GL_APIENTRYP PFNGLSHADINGRATEIMAGEBARRIERNVPROC) (GLboolean synchronize); +typedef void (GL_APIENTRYP PFNGLSHADINGRATEIMAGEPALETTENVPROC) (GLuint viewport, GLuint first, GLsizei count, const GLenum *rates); +typedef void (GL_APIENTRYP PFNGLSHADINGRATESAMPLEORDERNVPROC) (GLenum order); +typedef void (GL_APIENTRYP PFNGLSHADINGRATESAMPLEORDERCUSTOMNVPROC) (GLenum rate, GLuint samples, const GLint *locations); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glBindShadingRateImageNV (GLuint texture); +GL_APICALL void GL_APIENTRY glGetShadingRateImagePaletteNV (GLuint viewport, GLuint entry, GLenum *rate); +GL_APICALL void GL_APIENTRY glGetShadingRateSampleLocationivNV (GLenum rate, GLuint samples, GLuint index, GLint *location); +GL_APICALL void GL_APIENTRY glShadingRateImageBarrierNV (GLboolean synchronize); +GL_APICALL void GL_APIENTRY glShadingRateImagePaletteNV (GLuint viewport, GLuint first, GLsizei count, const GLenum *rates); +GL_APICALL void GL_APIENTRY glShadingRateSampleOrderNV (GLenum order); +GL_APICALL void GL_APIENTRY glShadingRateSampleOrderCustomNV (GLenum rate, GLuint samples, const GLint *locations); #endif +#endif /* GL_NV_shading_rate_image */ -/* GL_NV_shadow_samplers_array */ #ifndef GL_NV_shadow_samplers_array #define GL_NV_shadow_samplers_array 1 -#endif +#define GL_SAMPLER_2D_ARRAY_SHADOW_NV 0x8DC4 +#endif /* GL_NV_shadow_samplers_array */ -/* GL_NV_shadow_samplers_cube */ #ifndef GL_NV_shadow_samplers_cube #define GL_NV_shadow_samplers_cube 1 -#endif +#define GL_SAMPLER_CUBE_SHADOW_NV 0x8DC5 +#endif /* GL_NV_shadow_samplers_cube */ -/* GL_NV_sRGB_formats */ -#ifndef GL_NV_sRGB_formats -#define GL_NV_sRGB_formats 1 -#endif +#ifndef GL_NV_stereo_view_rendering +#define GL_NV_stereo_view_rendering 1 +#endif /* GL_NV_stereo_view_rendering */ -/* GL_NV_texture_border_clamp */ #ifndef GL_NV_texture_border_clamp #define GL_NV_texture_border_clamp 1 -#endif +#define GL_TEXTURE_BORDER_COLOR_NV 0x1004 +#define GL_CLAMP_TO_BORDER_NV 0x812D +#endif /* GL_NV_texture_border_clamp */ -/* GL_NV_texture_compression_s3tc_update */ #ifndef GL_NV_texture_compression_s3tc_update #define GL_NV_texture_compression_s3tc_update 1 -#endif +#endif /* GL_NV_texture_compression_s3tc_update */ -/* GL_NV_texture_npot_2D_mipmap */ #ifndef GL_NV_texture_npot_2D_mipmap #define GL_NV_texture_npot_2D_mipmap 1 +#endif /* GL_NV_texture_npot_2D_mipmap */ + +#ifndef GL_NV_timeline_semaphore +#define GL_NV_timeline_semaphore 1 +#define GL_TIMELINE_SEMAPHORE_VALUE_NV 0x9595 +#define GL_SEMAPHORE_TYPE_NV 0x95B3 +#define GL_SEMAPHORE_TYPE_BINARY_NV 0x95B4 +#define GL_SEMAPHORE_TYPE_TIMELINE_NV 0x95B5 +#define GL_MAX_TIMELINE_SEMAPHORE_VALUE_DIFFERENCE_NV 0x95B6 +typedef void (GL_APIENTRYP PFNGLCREATESEMAPHORESNVPROC) (GLsizei n, GLuint *semaphores); +typedef void (GL_APIENTRYP PFNGLSEMAPHOREPARAMETERIVNVPROC) (GLuint semaphore, GLenum pname, const GLint *params); +typedef void (GL_APIENTRYP PFNGLGETSEMAPHOREPARAMETERIVNVPROC) (GLuint semaphore, GLenum pname, GLint *params); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glCreateSemaphoresNV (GLsizei n, GLuint *semaphores); +GL_APICALL void GL_APIENTRY glSemaphoreParameterivNV (GLuint semaphore, GLenum pname, const GLint *params); +GL_APICALL void GL_APIENTRY glGetSemaphoreParameterivNV (GLuint semaphore, GLenum pname, GLint *params); +#endif +#endif /* GL_NV_timeline_semaphore */ + +#ifndef GL_NV_viewport_array +#define GL_NV_viewport_array 1 +#define GL_MAX_VIEWPORTS_NV 0x825B +#define GL_VIEWPORT_SUBPIXEL_BITS_NV 0x825C +#define GL_VIEWPORT_BOUNDS_RANGE_NV 0x825D +#define GL_VIEWPORT_INDEX_PROVOKING_VERTEX_NV 0x825F +typedef void (GL_APIENTRYP PFNGLVIEWPORTARRAYVNVPROC) (GLuint first, GLsizei count, const GLfloat *v); +typedef void (GL_APIENTRYP PFNGLVIEWPORTINDEXEDFNVPROC) (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h); +typedef void (GL_APIENTRYP PFNGLVIEWPORTINDEXEDFVNVPROC) (GLuint index, const GLfloat *v); +typedef void (GL_APIENTRYP PFNGLSCISSORARRAYVNVPROC) (GLuint first, GLsizei count, const GLint *v); +typedef void (GL_APIENTRYP PFNGLSCISSORINDEXEDNVPROC) (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height); +typedef void (GL_APIENTRYP PFNGLSCISSORINDEXEDVNVPROC) (GLuint index, const GLint *v); +typedef void (GL_APIENTRYP PFNGLDEPTHRANGEARRAYFVNVPROC) (GLuint first, GLsizei count, const GLfloat *v); +typedef void (GL_APIENTRYP PFNGLDEPTHRANGEINDEXEDFNVPROC) (GLuint index, GLfloat n, GLfloat f); +typedef void (GL_APIENTRYP PFNGLGETFLOATI_VNVPROC) (GLenum target, GLuint index, GLfloat *data); +typedef void (GL_APIENTRYP PFNGLENABLEINVPROC) (GLenum target, GLuint index); +typedef void (GL_APIENTRYP PFNGLDISABLEINVPROC) (GLenum target, GLuint index); +typedef GLboolean (GL_APIENTRYP PFNGLISENABLEDINVPROC) (GLenum target, GLuint index); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glViewportArrayvNV (GLuint first, GLsizei count, const GLfloat *v); +GL_APICALL void GL_APIENTRY glViewportIndexedfNV (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h); +GL_APICALL void GL_APIENTRY glViewportIndexedfvNV (GLuint index, const GLfloat *v); +GL_APICALL void GL_APIENTRY glScissorArrayvNV (GLuint first, GLsizei count, const GLint *v); +GL_APICALL void GL_APIENTRY glScissorIndexedNV (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height); +GL_APICALL void GL_APIENTRY glScissorIndexedvNV (GLuint index, const GLint *v); +GL_APICALL void GL_APIENTRY glDepthRangeArrayfvNV (GLuint first, GLsizei count, const GLfloat *v); +GL_APICALL void GL_APIENTRY glDepthRangeIndexedfNV (GLuint index, GLfloat n, GLfloat f); +GL_APICALL void GL_APIENTRY glGetFloati_vNV (GLenum target, GLuint index, GLfloat *data); +GL_APICALL void GL_APIENTRY glEnableiNV (GLenum target, GLuint index); +GL_APICALL void GL_APIENTRY glDisableiNV (GLenum target, GLuint index); +GL_APICALL GLboolean GL_APIENTRY glIsEnablediNV (GLenum target, GLuint index); +#endif +#endif /* GL_NV_viewport_array */ + +#ifndef GL_NV_viewport_array2 +#define GL_NV_viewport_array2 1 +#endif /* GL_NV_viewport_array2 */ + +#ifndef GL_NV_viewport_swizzle +#define GL_NV_viewport_swizzle 1 +#define GL_VIEWPORT_SWIZZLE_POSITIVE_X_NV 0x9350 +#define GL_VIEWPORT_SWIZZLE_NEGATIVE_X_NV 0x9351 +#define GL_VIEWPORT_SWIZZLE_POSITIVE_Y_NV 0x9352 +#define GL_VIEWPORT_SWIZZLE_NEGATIVE_Y_NV 0x9353 +#define GL_VIEWPORT_SWIZZLE_POSITIVE_Z_NV 0x9354 +#define GL_VIEWPORT_SWIZZLE_NEGATIVE_Z_NV 0x9355 +#define GL_VIEWPORT_SWIZZLE_POSITIVE_W_NV 0x9356 +#define GL_VIEWPORT_SWIZZLE_NEGATIVE_W_NV 0x9357 +#define GL_VIEWPORT_SWIZZLE_X_NV 0x9358 +#define GL_VIEWPORT_SWIZZLE_Y_NV 0x9359 +#define GL_VIEWPORT_SWIZZLE_Z_NV 0x935A +#define GL_VIEWPORT_SWIZZLE_W_NV 0x935B +typedef void (GL_APIENTRYP PFNGLVIEWPORTSWIZZLENVPROC) (GLuint index, GLenum swizzlex, GLenum swizzley, GLenum swizzlez, GLenum swizzlew); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glViewportSwizzleNV (GLuint index, GLenum swizzlex, GLenum swizzley, GLenum swizzlez, GLenum swizzlew); +#endif +#endif /* GL_NV_viewport_swizzle */ + +#ifndef GL_OVR_multiview +#define GL_OVR_multiview 1 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_NUM_VIEWS_OVR 0x9630 +#define GL_FRAMEBUFFER_ATTACHMENT_TEXTURE_BASE_VIEW_INDEX_OVR 0x9632 +#define GL_MAX_VIEWS_OVR 0x9631 +#define GL_FRAMEBUFFER_INCOMPLETE_VIEW_TARGETS_OVR 0x9633 +typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glFramebufferTextureMultiviewOVR (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews); #endif +#endif /* GL_OVR_multiview */ -/*------------------------------------------------------------------------* - * QCOM extension functions - *------------------------------------------------------------------------*/ +#ifndef GL_OVR_multiview2 +#define GL_OVR_multiview2 1 +#endif /* GL_OVR_multiview2 */ + +#ifndef GL_OVR_multiview_multisampled_render_to_texture +#define GL_OVR_multiview_multisampled_render_to_texture 1 +typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERTEXTUREMULTISAMPLEMULTIVIEWOVRPROC) (GLenum target, GLenum attachment, GLuint texture, GLint level, GLsizei samples, GLint baseViewIndex, GLsizei numViews); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glFramebufferTextureMultisampleMultiviewOVR (GLenum target, GLenum attachment, GLuint texture, GLint level, GLsizei samples, GLint baseViewIndex, GLsizei numViews); +#endif +#endif /* GL_OVR_multiview_multisampled_render_to_texture */ + +#ifndef GL_QCOM_YUV_texture_gather +#define GL_QCOM_YUV_texture_gather 1 +#endif /* GL_QCOM_YUV_texture_gather */ -/* GL_QCOM_alpha_test */ #ifndef GL_QCOM_alpha_test #define GL_QCOM_alpha_test 1 +#define GL_ALPHA_TEST_QCOM 0x0BC0 +#define GL_ALPHA_TEST_FUNC_QCOM 0x0BC1 +#define GL_ALPHA_TEST_REF_QCOM 0x0BC2 +typedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref); #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glAlphaFuncQCOM (GLenum func, GLclampf ref); #endif -typedef void (GL_APIENTRYP PFNGLALPHAFUNCQCOMPROC) (GLenum func, GLclampf ref); -#endif +#endif /* GL_QCOM_alpha_test */ -/* GL_QCOM_binning_control */ #ifndef GL_QCOM_binning_control #define GL_QCOM_binning_control 1 -#endif +#define GL_BINNING_CONTROL_HINT_QCOM 0x8FB0 +#define GL_CPU_OPTIMIZED_QCOM 0x8FB1 +#define GL_GPU_OPTIMIZED_QCOM 0x8FB2 +#define GL_RENDER_DIRECT_TO_FRAMEBUFFER_QCOM 0x8FB3 +#endif /* GL_QCOM_binning_control */ -/* GL_QCOM_driver_control */ #ifndef GL_QCOM_driver_control #define GL_QCOM_driver_control 1 +typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls); +typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString); +typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); +typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glGetDriverControlsQCOM (GLint *num, GLsizei size, GLuint *driverControls); GL_APICALL void GL_APIENTRY glGetDriverControlStringQCOM (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString); GL_APICALL void GL_APIENTRY glEnableDriverControlQCOM (GLuint driverControl); GL_APICALL void GL_APIENTRY glDisableDriverControlQCOM (GLuint driverControl); #endif -typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSQCOMPROC) (GLint *num, GLsizei size, GLuint *driverControls); -typedef void (GL_APIENTRYP PFNGLGETDRIVERCONTROLSTRINGQCOMPROC) (GLuint driverControl, GLsizei bufSize, GLsizei *length, GLchar *driverControlString); -typedef void (GL_APIENTRYP PFNGLENABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); -typedef void (GL_APIENTRYP PFNGLDISABLEDRIVERCONTROLQCOMPROC) (GLuint driverControl); -#endif +#endif /* GL_QCOM_driver_control */ -/* GL_QCOM_extended_get */ #ifndef GL_QCOM_extended_get #define GL_QCOM_extended_get 1 +#define GL_TEXTURE_WIDTH_QCOM 0x8BD2 +#define GL_TEXTURE_HEIGHT_QCOM 0x8BD3 +#define GL_TEXTURE_DEPTH_QCOM 0x8BD4 +#define GL_TEXTURE_INTERNAL_FORMAT_QCOM 0x8BD5 +#define GL_TEXTURE_FORMAT_QCOM 0x8BD6 +#define GL_TEXTURE_TYPE_QCOM 0x8BD7 +#define GL_TEXTURE_IMAGE_VALID_QCOM 0x8BD8 +#define GL_TEXTURE_NUM_LEVELS_QCOM 0x8BD9 +#define GL_TEXTURE_TARGET_QCOM 0x8BDA +#define GL_TEXTURE_OBJECT_VALID_QCOM 0x8BDB +#define GL_STATE_RESTORE 0x8BDC +typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures); +typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers); +typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers); +typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers); +typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params); +typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param); +typedef void (GL_APIENTRYP PFNGLEXTGETTEXSUBIMAGEQCOMPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, void *texels); +typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, void **params); #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glExtGetTexturesQCOM (GLuint *textures, GLint maxTextures, GLint *numTextures); GL_APICALL void GL_APIENTRY glExtGetBuffersQCOM (GLuint *buffers, GLint maxBuffers, GLint *numBuffers); @@ -1985,66 +3861,173 @@ GL_APICALL void GL_APIENTRY glExtGetRenderbuffersQCOM (GLuint *renderbuffers, GL GL_APICALL void GL_APIENTRY glExtGetFramebuffersQCOM (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers); GL_APICALL void GL_APIENTRY glExtGetTexLevelParameterivQCOM (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params); GL_APICALL void GL_APIENTRY glExtTexObjectStateOverrideiQCOM (GLenum target, GLenum pname, GLint param); -GL_APICALL void GL_APIENTRY glExtGetTexSubImageQCOM (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels); -GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, GLvoid **params); -#endif -typedef void (GL_APIENTRYP PFNGLEXTGETTEXTURESQCOMPROC) (GLuint *textures, GLint maxTextures, GLint *numTextures); -typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERSQCOMPROC) (GLuint *buffers, GLint maxBuffers, GLint *numBuffers); -typedef void (GL_APIENTRYP PFNGLEXTGETRENDERBUFFERSQCOMPROC) (GLuint *renderbuffers, GLint maxRenderbuffers, GLint *numRenderbuffers); -typedef void (GL_APIENTRYP PFNGLEXTGETFRAMEBUFFERSQCOMPROC) (GLuint *framebuffers, GLint maxFramebuffers, GLint *numFramebuffers); -typedef void (GL_APIENTRYP PFNGLEXTGETTEXLEVELPARAMETERIVQCOMPROC) (GLuint texture, GLenum face, GLint level, GLenum pname, GLint *params); -typedef void (GL_APIENTRYP PFNGLEXTTEXOBJECTSTATEOVERRIDEIQCOMPROC) (GLenum target, GLenum pname, GLint param); -typedef void (GL_APIENTRYP PFNGLEXTGETTEXSUBIMAGEQCOMPROC) (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLvoid *texels); -typedef void (GL_APIENTRYP PFNGLEXTGETBUFFERPOINTERVQCOMPROC) (GLenum target, GLvoid **params); +GL_APICALL void GL_APIENTRY glExtGetTexSubImageQCOM (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, void *texels); +GL_APICALL void GL_APIENTRY glExtGetBufferPointervQCOM (GLenum target, void **params); #endif +#endif /* GL_QCOM_extended_get */ -/* GL_QCOM_extended_get2 */ #ifndef GL_QCOM_extended_get2 #define GL_QCOM_extended_get2 1 +typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders); +typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms); +typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program); +typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length); #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glExtGetShadersQCOM (GLuint *shaders, GLint maxShaders, GLint *numShaders); GL_APICALL void GL_APIENTRY glExtGetProgramsQCOM (GLuint *programs, GLint maxPrograms, GLint *numPrograms); GL_APICALL GLboolean GL_APIENTRY glExtIsProgramBinaryQCOM (GLuint program); GL_APICALL void GL_APIENTRY glExtGetProgramBinarySourceQCOM (GLuint program, GLenum shadertype, GLchar *source, GLint *length); #endif -typedef void (GL_APIENTRYP PFNGLEXTGETSHADERSQCOMPROC) (GLuint *shaders, GLint maxShaders, GLint *numShaders); -typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMSQCOMPROC) (GLuint *programs, GLint maxPrograms, GLint *numPrograms); -typedef GLboolean (GL_APIENTRYP PFNGLEXTISPROGRAMBINARYQCOMPROC) (GLuint program); -typedef void (GL_APIENTRYP PFNGLEXTGETPROGRAMBINARYSOURCEQCOMPROC) (GLuint program, GLenum shadertype, GLchar *source, GLint *length); +#endif /* GL_QCOM_extended_get2 */ + +#ifndef GL_QCOM_frame_extrapolation +#define GL_QCOM_frame_extrapolation 1 +typedef void (GL_APIENTRYP PFNGLEXTRAPOLATETEX2DQCOMPROC) (GLuint src1, GLuint src2, GLuint output, GLfloat scaleFactor); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glExtrapolateTex2DQCOM (GLuint src1, GLuint src2, GLuint output, GLfloat scaleFactor); #endif +#endif /* GL_QCOM_frame_extrapolation */ + +#ifndef GL_QCOM_framebuffer_foveated +#define GL_QCOM_framebuffer_foveated 1 +#define GL_FOVEATION_ENABLE_BIT_QCOM 0x00000001 +#define GL_FOVEATION_SCALED_BIN_METHOD_BIT_QCOM 0x00000002 +typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERFOVEATIONCONFIGQCOMPROC) (GLuint framebuffer, GLuint numLayers, GLuint focalPointsPerLayer, GLuint requestedFeatures, GLuint *providedFeatures); +typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERFOVEATIONPARAMETERSQCOMPROC) (GLuint framebuffer, GLuint layer, GLuint focalPoint, GLfloat focalX, GLfloat focalY, GLfloat gainX, GLfloat gainY, GLfloat foveaArea); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glFramebufferFoveationConfigQCOM (GLuint framebuffer, GLuint numLayers, GLuint focalPointsPerLayer, GLuint requestedFeatures, GLuint *providedFeatures); +GL_APICALL void GL_APIENTRY glFramebufferFoveationParametersQCOM (GLuint framebuffer, GLuint layer, GLuint focalPoint, GLfloat focalX, GLfloat focalY, GLfloat gainX, GLfloat gainY, GLfloat foveaArea); +#endif +#endif /* GL_QCOM_framebuffer_foveated */ + +#ifndef GL_QCOM_motion_estimation +#define GL_QCOM_motion_estimation 1 +#define GL_MOTION_ESTIMATION_SEARCH_BLOCK_X_QCOM 0x8C90 +#define GL_MOTION_ESTIMATION_SEARCH_BLOCK_Y_QCOM 0x8C91 +typedef void (GL_APIENTRYP PFNGLTEXESTIMATEMOTIONQCOMPROC) (GLuint ref, GLuint target, GLuint output); +typedef void (GL_APIENTRYP PFNGLTEXESTIMATEMOTIONREGIONSQCOMPROC) (GLuint ref, GLuint target, GLuint output, GLuint mask); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glTexEstimateMotionQCOM (GLuint ref, GLuint target, GLuint output); +GL_APICALL void GL_APIENTRY glTexEstimateMotionRegionsQCOM (GLuint ref, GLuint target, GLuint output, GLuint mask); +#endif +#endif /* GL_QCOM_motion_estimation */ -/* GL_QCOM_perfmon_global_mode */ #ifndef GL_QCOM_perfmon_global_mode #define GL_QCOM_perfmon_global_mode 1 -#endif +#define GL_PERFMON_GLOBAL_MODE_QCOM 0x8FA0 +#endif /* GL_QCOM_perfmon_global_mode */ -/* GL_QCOM_writeonly_rendering */ -#ifndef GL_QCOM_writeonly_rendering -#define GL_QCOM_writeonly_rendering 1 +#ifndef GL_QCOM_render_shared_exponent +#define GL_QCOM_render_shared_exponent 1 +#endif /* GL_QCOM_render_shared_exponent */ + +#ifndef GL_QCOM_shader_framebuffer_fetch_noncoherent +#define GL_QCOM_shader_framebuffer_fetch_noncoherent 1 +#define GL_FRAMEBUFFER_FETCH_NONCOHERENT_QCOM 0x96A2 +typedef void (GL_APIENTRYP PFNGLFRAMEBUFFERFETCHBARRIERQCOMPROC) (void); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glFramebufferFetchBarrierQCOM (void); +#endif +#endif /* GL_QCOM_shader_framebuffer_fetch_noncoherent */ + +#ifndef GL_QCOM_shader_framebuffer_fetch_rate +#define GL_QCOM_shader_framebuffer_fetch_rate 1 +#endif /* GL_QCOM_shader_framebuffer_fetch_rate */ + +#ifndef GL_QCOM_shading_rate +#define GL_QCOM_shading_rate 1 +#define GL_SHADING_RATE_QCOM 0x96A4 +#define GL_SHADING_RATE_PRESERVE_ASPECT_RATIO_QCOM 0x96A5 +#define GL_SHADING_RATE_1X1_PIXELS_QCOM 0x96A6 +#define GL_SHADING_RATE_1X2_PIXELS_QCOM 0x96A7 +#define GL_SHADING_RATE_2X1_PIXELS_QCOM 0x96A8 +#define GL_SHADING_RATE_2X2_PIXELS_QCOM 0x96A9 +#define GL_SHADING_RATE_4X2_PIXELS_QCOM 0x96AC +#define GL_SHADING_RATE_4X4_PIXELS_QCOM 0x96AE +typedef void (GL_APIENTRYP PFNGLSHADINGRATEQCOMPROC) (GLenum rate); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glShadingRateQCOM (GLenum rate); +#endif +#endif /* GL_QCOM_shading_rate */ + +#ifndef GL_QCOM_texture_foveated +#define GL_QCOM_texture_foveated 1 +#define GL_TEXTURE_FOVEATED_FEATURE_BITS_QCOM 0x8BFB +#define GL_TEXTURE_FOVEATED_MIN_PIXEL_DENSITY_QCOM 0x8BFC +#define GL_TEXTURE_FOVEATED_FEATURE_QUERY_QCOM 0x8BFD +#define GL_TEXTURE_FOVEATED_NUM_FOCAL_POINTS_QUERY_QCOM 0x8BFE +#define GL_FRAMEBUFFER_INCOMPLETE_FOVEATION_QCOM 0x8BFF +typedef void (GL_APIENTRYP PFNGLTEXTUREFOVEATIONPARAMETERSQCOMPROC) (GLuint texture, GLuint layer, GLuint focalPoint, GLfloat focalX, GLfloat focalY, GLfloat gainX, GLfloat gainY, GLfloat foveaArea); +#ifdef GL_GLEXT_PROTOTYPES +GL_APICALL void GL_APIENTRY glTextureFoveationParametersQCOM (GLuint texture, GLuint layer, GLuint focalPoint, GLfloat focalX, GLfloat focalY, GLfloat gainX, GLfloat gainY, GLfloat foveaArea); #endif +#endif /* GL_QCOM_texture_foveated */ + +#ifndef GL_QCOM_texture_foveated2 +#define GL_QCOM_texture_foveated2 1 +#define GL_TEXTURE_FOVEATED_CUTOFF_DENSITY_QCOM 0x96A0 +#endif /* GL_QCOM_texture_foveated2 */ + +#ifndef GL_QCOM_texture_foveated_subsampled_layout +#define GL_QCOM_texture_foveated_subsampled_layout 1 +#define GL_FOVEATION_SUBSAMPLED_LAYOUT_METHOD_BIT_QCOM 0x00000004 +#define GL_MAX_SHADER_SUBSAMPLED_IMAGE_UNITS_QCOM 0x8FA1 +#endif /* GL_QCOM_texture_foveated_subsampled_layout */ -/* GL_QCOM_tiled_rendering */ #ifndef GL_QCOM_tiled_rendering #define GL_QCOM_tiled_rendering 1 +#define GL_COLOR_BUFFER_BIT0_QCOM 0x00000001 +#define GL_COLOR_BUFFER_BIT1_QCOM 0x00000002 +#define GL_COLOR_BUFFER_BIT2_QCOM 0x00000004 +#define GL_COLOR_BUFFER_BIT3_QCOM 0x00000008 +#define GL_COLOR_BUFFER_BIT4_QCOM 0x00000010 +#define GL_COLOR_BUFFER_BIT5_QCOM 0x00000020 +#define GL_COLOR_BUFFER_BIT6_QCOM 0x00000040 +#define GL_COLOR_BUFFER_BIT7_QCOM 0x00000080 +#define GL_DEPTH_BUFFER_BIT0_QCOM 0x00000100 +#define GL_DEPTH_BUFFER_BIT1_QCOM 0x00000200 +#define GL_DEPTH_BUFFER_BIT2_QCOM 0x00000400 +#define GL_DEPTH_BUFFER_BIT3_QCOM 0x00000800 +#define GL_DEPTH_BUFFER_BIT4_QCOM 0x00001000 +#define GL_DEPTH_BUFFER_BIT5_QCOM 0x00002000 +#define GL_DEPTH_BUFFER_BIT6_QCOM 0x00004000 +#define GL_DEPTH_BUFFER_BIT7_QCOM 0x00008000 +#define GL_STENCIL_BUFFER_BIT0_QCOM 0x00010000 +#define GL_STENCIL_BUFFER_BIT1_QCOM 0x00020000 +#define GL_STENCIL_BUFFER_BIT2_QCOM 0x00040000 +#define GL_STENCIL_BUFFER_BIT3_QCOM 0x00080000 +#define GL_STENCIL_BUFFER_BIT4_QCOM 0x00100000 +#define GL_STENCIL_BUFFER_BIT5_QCOM 0x00200000 +#define GL_STENCIL_BUFFER_BIT6_QCOM 0x00400000 +#define GL_STENCIL_BUFFER_BIT7_QCOM 0x00800000 +#define GL_MULTISAMPLE_BUFFER_BIT0_QCOM 0x01000000 +#define GL_MULTISAMPLE_BUFFER_BIT1_QCOM 0x02000000 +#define GL_MULTISAMPLE_BUFFER_BIT2_QCOM 0x04000000 +#define GL_MULTISAMPLE_BUFFER_BIT3_QCOM 0x08000000 +#define GL_MULTISAMPLE_BUFFER_BIT4_QCOM 0x10000000 +#define GL_MULTISAMPLE_BUFFER_BIT5_QCOM 0x20000000 +#define GL_MULTISAMPLE_BUFFER_BIT6_QCOM 0x40000000 +#define GL_MULTISAMPLE_BUFFER_BIT7_QCOM 0x80000000 +typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask); +typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask); #ifdef GL_GLEXT_PROTOTYPES GL_APICALL void GL_APIENTRY glStartTilingQCOM (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask); GL_APICALL void GL_APIENTRY glEndTilingQCOM (GLbitfield preserveMask); #endif -typedef void (GL_APIENTRYP PFNGLSTARTTILINGQCOMPROC) (GLuint x, GLuint y, GLuint width, GLuint height, GLbitfield preserveMask); -typedef void (GL_APIENTRYP PFNGLENDTILINGQCOMPROC) (GLbitfield preserveMask); -#endif +#endif /* GL_QCOM_tiled_rendering */ -/*------------------------------------------------------------------------* - * VIV extension tokens - *------------------------------------------------------------------------*/ +#ifndef GL_QCOM_writeonly_rendering +#define GL_QCOM_writeonly_rendering 1 +#define GL_WRITEONLY_RENDERING_QCOM 0x8823 +#endif /* GL_QCOM_writeonly_rendering */ -/* GL_VIV_shader_binary */ #ifndef GL_VIV_shader_binary #define GL_VIV_shader_binary 1 -#endif +#define GL_SHADER_BINARY_VIV 0x8FC4 +#endif /* GL_VIV_shader_binary */ #ifdef __cplusplus } #endif -#endif /* __gl2ext_h_ */ +#endif diff --git a/extlib/SDL2/include/SDL_opengles2_gl2platform.h b/extlib/SDL2/include/SDL_opengles2_gl2platform.h index c325686f..426796ef 100644 --- a/extlib/SDL2/include/SDL_opengles2_gl2platform.h +++ b/extlib/SDL2/include/SDL_opengles2_gl2platform.h @@ -1,20 +1,17 @@ #ifndef __gl2platform_h_ #define __gl2platform_h_ -/* $Revision: 10602 $ on $Date:: 2010-03-04 22:35:34 -0800 #$ */ - /* - * This document is licensed under the SGI Free Software B License Version - * 2.0. For details, see http://oss.sgi.com/projects/FreeB/ . - */ +** Copyright 2017-2020 The Khronos Group Inc. +** SPDX-License-Identifier: Apache-2.0 +*/ /* Platform-specific types and definitions for OpenGL ES 2.X gl2.h * * Adopters may modify khrplatform.h and this file to suit their platform. - * You are encouraged to submit all modifications to the Khronos group so that - * they can be included in future versions of this file. Please submit changes - * by sending them to the public Khronos Bugzilla (http://khronos.org/bugzilla) - * by filing a bug against product "OpenGL-ES" component "Registry". + * Please contribute modifications back to Khronos as pull requests on the + * public github repository: + * https://github.com/KhronosGroup/OpenGL-Registry */ /*#include */ diff --git a/extlib/SDL2/include/SDL_opengles2_khrplatform.h b/extlib/SDL2/include/SDL_opengles2_khrplatform.h index c9e6f17d..01646449 100644 --- a/extlib/SDL2/include/SDL_opengles2_khrplatform.h +++ b/extlib/SDL2/include/SDL_opengles2_khrplatform.h @@ -2,7 +2,7 @@ #define __khrplatform_h_ /* -** Copyright (c) 2008-2009 The Khronos Group Inc. +** Copyright (c) 2008-2018 The Khronos Group Inc. ** ** Permission is hereby granted, free of charge, to any person obtaining a ** copy of this software and/or associated documentation files (the @@ -26,18 +26,16 @@ /* Khronos platform-specific types and definitions. * - * $Revision: 23298 $ on $Date: 2013-09-30 17:07:13 -0700 (Mon, 30 Sep 2013) $ + * The master copy of khrplatform.h is maintained in the Khronos EGL + * Registry repository at https://github.com/KhronosGroup/EGL-Registry + * The last semantic modification to khrplatform.h was at commit ID: + * 67a3e0864c2d75ea5287b9f3d2eb74a745936692 * * Adopters may modify this file to suit their platform. Adopters are * encouraged to submit platform specific modifications to the Khronos * group so that they can be included in future versions of this file. - * Please submit changes by sending them to the public Khronos Bugzilla - * (http://khronos.org/bugzilla) by filing a bug against product - * "Khronos (general)" component "Registry". - * - * A predefined template which fills in some of the bug fields can be - * reached using http://tinyurl.com/khrplatform-h-bugreport, but you - * must create a Bugzilla login first. + * Please submit changes by filing pull requests or issues on + * the EGL Registry repository linked above. * * * See the Implementer's Guidelines for information about where this file @@ -92,15 +90,25 @@ * int arg2) KHRONOS_APIATTRIBUTES; */ +#if defined(__SCITECH_SNAP__) && !defined(KHRONOS_STATIC) +# define KHRONOS_STATIC 1 +#endif + /*------------------------------------------------------------------------- * Definition of KHRONOS_APICALL *------------------------------------------------------------------------- * This precedes the return type of the function in the function prototype. */ -#if defined(_WIN32) && !defined(__SCITECH_SNAP__) +#if defined(KHRONOS_STATIC) + /* If the preprocessor constant KHRONOS_STATIC is defined, make the + * header compatible with static linking. */ +# define KHRONOS_APICALL +#elif defined(_WIN32) # define KHRONOS_APICALL __declspec(dllimport) #elif defined (__SYMBIAN32__) # define KHRONOS_APICALL IMPORT_C +#elif defined(__ANDROID__) +# define KHRONOS_APICALL __attribute__((visibility("default"))) #else # define KHRONOS_APICALL #endif @@ -145,6 +153,20 @@ typedef int64_t khronos_int64_t; typedef uint64_t khronos_uint64_t; #define KHRONOS_SUPPORT_INT64 1 #define KHRONOS_SUPPORT_FLOAT 1 +/* + * To support platform where unsigned long cannot be used interchangeably with + * inptr_t (e.g. CHERI-extended ISAs), we can use the stdint.h intptr_t. + * Ideally, we could just use (u)intptr_t everywhere, but this could result in + * ABI breakage if khronos_uintptr_t is changed from unsigned long to + * unsigned long long or similar (this results in different C++ name mangling). + * To avoid changes for existing platforms, we restrict usage of intptr_t to + * platforms where the size of a pointer is larger than the size of long. + */ +#if defined(__SIZEOF_LONG__) && defined(__SIZEOF_POINTER__) +#if __SIZEOF_POINTER__ > __SIZEOF_LONG__ +#define KHRONOS_USE_INTPTR_T +#endif +#endif #elif defined(__VMS ) || defined(__sgi) @@ -223,18 +245,25 @@ typedef signed short int khronos_int16_t; typedef unsigned short int khronos_uint16_t; /* - * Types that differ between LLP64 and LP64 architectures - in LLP64, + * Types that differ between LLP64 and LP64 architectures - in LLP64, * pointers are 64 bits, but 'long' is still 32 bits. Win64 appears * to be the only LLP64 architecture in current use. */ -#ifdef _WIN64 +#ifdef KHRONOS_USE_INTPTR_T +typedef intptr_t khronos_intptr_t; +typedef uintptr_t khronos_uintptr_t; +#elif defined(_WIN64) typedef signed long long int khronos_intptr_t; typedef unsigned long long int khronos_uintptr_t; -typedef signed long long int khronos_ssize_t; -typedef unsigned long long int khronos_usize_t; #else typedef signed long int khronos_intptr_t; typedef unsigned long int khronos_uintptr_t; +#endif + +#if defined(_WIN64) +typedef signed long long int khronos_ssize_t; +typedef unsigned long long int khronos_usize_t; +#else typedef signed long int khronos_ssize_t; typedef unsigned long int khronos_usize_t; #endif diff --git a/extlib/SDL2/include/SDL_pixels.h b/extlib/SDL2/include/SDL_pixels.h index 5d2c0c89..44757cdc 100644 --- a/extlib/SDL2/include/SDL_pixels.h +++ b/extlib/SDL2/include/SDL_pixels.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -61,7 +61,10 @@ typedef enum SDL_PIXELTYPE_ARRAYU16, SDL_PIXELTYPE_ARRAYU32, SDL_PIXELTYPE_ARRAYF16, - SDL_PIXELTYPE_ARRAYF32 + SDL_PIXELTYPE_ARRAYF32, + + /* This must be at the end of the list to avoid breaking the existing ABI */ + SDL_PIXELTYPE_INDEX2 } SDL_PixelType; /** Bitmap pixel order, high bit -> low bit. */ @@ -134,6 +137,7 @@ typedef enum #define SDL_ISPIXELFORMAT_INDEXED(format) \ (!SDL_ISPIXELFORMAT_FOURCC(format) && \ ((SDL_PIXELTYPE(format) == SDL_PIXELTYPE_INDEX1) || \ + (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_INDEX2) || \ (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_INDEX4) || \ (SDL_PIXELTYPE(format) == SDL_PIXELTYPE_INDEX8))) @@ -177,6 +181,12 @@ typedef enum SDL_PIXELFORMAT_INDEX1MSB = SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_INDEX1, SDL_BITMAPORDER_1234, 0, 1, 0), + SDL_PIXELFORMAT_INDEX2LSB = + SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_INDEX2, SDL_BITMAPORDER_4321, 0, + 2, 0), + SDL_PIXELFORMAT_INDEX2MSB = + SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_INDEX2, SDL_BITMAPORDER_1234, 0, + 2, 0), SDL_PIXELFORMAT_INDEX4LSB = SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_INDEX4, SDL_BITMAPORDER_4321, 0, 4, 0), @@ -276,11 +286,19 @@ typedef enum SDL_PIXELFORMAT_ARGB32 = SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_BGRA32 = SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_ABGR32 = SDL_PIXELFORMAT_ABGR8888, + SDL_PIXELFORMAT_RGBX32 = SDL_PIXELFORMAT_RGBX8888, + SDL_PIXELFORMAT_XRGB32 = SDL_PIXELFORMAT_XRGB8888, + SDL_PIXELFORMAT_BGRX32 = SDL_PIXELFORMAT_BGRX8888, + SDL_PIXELFORMAT_XBGR32 = SDL_PIXELFORMAT_XBGR8888, #else SDL_PIXELFORMAT_RGBA32 = SDL_PIXELFORMAT_ABGR8888, SDL_PIXELFORMAT_ARGB32 = SDL_PIXELFORMAT_BGRA8888, SDL_PIXELFORMAT_BGRA32 = SDL_PIXELFORMAT_ARGB8888, SDL_PIXELFORMAT_ABGR32 = SDL_PIXELFORMAT_RGBA8888, + SDL_PIXELFORMAT_RGBX32 = SDL_PIXELFORMAT_XBGR8888, + SDL_PIXELFORMAT_XRGB32 = SDL_PIXELFORMAT_BGRX8888, + SDL_PIXELFORMAT_BGRX32 = SDL_PIXELFORMAT_XRGB8888, + SDL_PIXELFORMAT_XBGR32 = SDL_PIXELFORMAT_RGBX8888, #endif SDL_PIXELFORMAT_YV12 = /**< Planar mode: Y + V + U (3 planes) */ diff --git a/extlib/SDL2/include/SDL_platform.h b/extlib/SDL2/include/SDL_platform.h index f1f6f8b0..2b11bf20 100644 --- a/extlib/SDL2/include/SDL_platform.h +++ b/extlib/SDL2/include/SDL_platform.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -73,7 +73,13 @@ #if defined(__APPLE__) /* lets us know what version of Mac OS X we're compiling on */ #include +#ifndef __has_extension /* Older compilers don't support this */ +#define __has_extension(x) 0 #include +#undef __has_extension +#else +#include +#endif /* Fix building with older SDKs that don't define these See this for more information: @@ -166,6 +172,12 @@ #define WINAPI_FAMILY_WINRT 0 #endif /* HAVE_WINAPIFAMILY_H */ +#if (HAVE_WINAPIFAMILY_H) && defined(WINAPI_FAMILY_PHONE_APP) +#define SDL_WINAPI_FAMILY_PHONE (WINAPI_FAMILY == WINAPI_FAMILY_PHONE_APP) +#else +#define SDL_WINAPI_FAMILY_PHONE 0 +#endif + #if WINAPI_FAMILY_WINRT #undef __WINRT__ #define __WINRT__ 1 @@ -193,8 +205,10 @@ #undef __GDK__ #define __GDK__ 1 #endif -#if defined(__PSP__) +#if defined(__PSP__) || defined(__psp__) +#ifdef __PSP__ #undef __PSP__ +#endif #define __PSP__ 1 #endif #if defined(PS2) @@ -221,6 +235,11 @@ #define __VITA__ 1 #endif +#if defined(__3DS__) +#undef __3DS__ +#define __3DS__ 1 +#endif + #include "begin_code.h" /* Set up for C function definitions, even when using C++ */ #ifdef __cplusplus diff --git a/extlib/SDL2/include/SDL_power.h b/extlib/SDL2/include/SDL_power.h index ecb3f4b0..0520065c 100644 --- a/extlib/SDL2/include/SDL_power.h +++ b/extlib/SDL2/include/SDL_power.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -48,7 +48,6 @@ typedef enum SDL_POWERSTATE_CHARGED /**< Plugged in, battery charged */ } SDL_PowerState; - /** * Get the current power supply details. * @@ -65,17 +64,17 @@ typedef enum * It's possible a platform can only report battery percentage or time left * but not both. * - * \param secs seconds of battery life left, you can pass a NULL here if you - * don't care, will return -1 if we can't determine a value, or - * we're not running on a battery - * \param pct percentage of battery life left, between 0 and 100, you can pass - * a NULL here if you don't care, will return -1 if we can't - * determine a value, or we're not running on a battery + * \param seconds seconds of battery life left, you can pass a NULL here if + * you don't care, will return -1 if we can't determine a + * value, or we're not running on a battery + * \param percent percentage of battery life left, between 0 and 100, you can + * pass a NULL here if you don't care, will return -1 if we + * can't determine a value, or we're not running on a battery * \returns an SDL_PowerState enum representing the current battery state. * * \since This function is available since SDL 2.0.0. */ -extern DECLSPEC SDL_PowerState SDLCALL SDL_GetPowerInfo(int *secs, int *pct); +extern DECLSPEC SDL_PowerState SDLCALL SDL_GetPowerInfo(int *seconds, int *percent); /* Ends C function definitions when using C++ */ #ifdef __cplusplus diff --git a/extlib/SDL2/include/SDL_quit.h b/extlib/SDL2/include/SDL_quit.h index 4090f7f1..3f69dc9f 100644 --- a/extlib/SDL2/include/SDL_quit.h +++ b/extlib/SDL2/include/SDL_quit.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 diff --git a/extlib/SDL2/include/SDL_rect.h b/extlib/SDL2/include/SDL_rect.h index 6c641c58..5ce1f0b4 100644 --- a/extlib/SDL2/include/SDL_rect.h +++ b/extlib/SDL2/include/SDL_rect.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 diff --git a/extlib/SDL2/include/SDL_render.h b/extlib/SDL2/include/SDL_render.h index 30ef3d63..b7135bb9 100644 --- a/extlib/SDL2/include/SDL_render.h +++ b/extlib/SDL2/include/SDL_render.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -42,7 +42,7 @@ * of the many good 3D engines. * * These functions must be called from the main thread. - * See this bug for details: http://bugzilla.libsdl.org/show_bug.cgi?id=1995 + * See this bug for details: https://github.com/libsdl-org/SDL/issues/986 */ #ifndef SDL_render_h_ @@ -1731,6 +1731,11 @@ extern DECLSPEC int SDLCALL SDL_RenderReadPixels(SDL_Renderer * renderer, * * \param renderer the rendering context * + * \threadsafety You may only call this function on the main thread. If this + * happens to work on a background thread on any given platform + * or backend, it's purely by luck and you should not rely on it + * to work next time. + * * \since This function is available since SDL 2.0.0. * * \sa SDL_RenderClear @@ -1765,6 +1770,9 @@ extern DECLSPEC void SDLCALL SDL_DestroyTexture(SDL_Texture * texture); /** * Destroy the rendering context for a window and free associated textures. * + * If `renderer` is NULL, this function will return immediately after setting + * the SDL error message to "Invalid renderer". See SDL_GetError(). + * * \param renderer the rendering context * * \since This function is available since SDL 2.0.0. @@ -1882,7 +1890,7 @@ extern DECLSPEC void *SDLCALL SDL_RenderGetMetalLayer(SDL_Renderer * renderer); * Note that as of SDL 2.0.18, this will return NULL if Metal refuses to give * SDL a drawable to render to, which might happen if the window is * hidden/minimized/offscreen. This doesn't apply to command encoders for - * render targets, just the window's backbacker. Check your return values! + * render targets, just the window's backbuffer. Check your return values! * * \param renderer The renderer to query * \returns an `id` on success, or NULL if the diff --git a/extlib/SDL2/include/SDL_revision.h b/extlib/SDL2/include/SDL_revision.h index f285b72b..36691f55 100644 --- a/extlib/SDL2/include/SDL_revision.h +++ b/extlib/SDL2/include/SDL_revision.h @@ -1,2 +1,6 @@ -#define SDL_REVISION "https://github.com/libsdl-org/SDL.git@8c9beb0c873f6ca5efbd88f1ad2648bfc793b2ac" +#ifdef SDL_VENDOR_INFO +#define SDL_REVISION SDL_VENDOR_INFO +#else +#define SDL_REVISION "" +#endif #define SDL_REVISION_NUMBER 0 diff --git a/extlib/SDL2/include/SDL_revision.h.cmake b/extlib/SDL2/include/SDL_revision.h.cmake new file mode 100644 index 00000000..84e5f414 --- /dev/null +++ b/extlib/SDL2/include/SDL_revision.h.cmake @@ -0,0 +1,8 @@ +#cmakedefine SDL_VENDOR_INFO "@SDL_VENDOR_INFO@" +#define SDL_REVISION_NUMBER 0 + +#ifdef SDL_VENDOR_INFO +#define SDL_REVISION "@SDL_REVISION@ (" SDL_VENDOR_INFO ")" +#else +#define SDL_REVISION "@SDL_REVISION@" +#endif diff --git a/extlib/SDL2/include/SDL_rwops.h b/extlib/SDL2/include/SDL_rwops.h index 3960f567..9dd99f92 100644 --- a/extlib/SDL2/include/SDL_rwops.h +++ b/extlib/SDL2/include/SDL_rwops.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 diff --git a/extlib/SDL2/include/SDL_scancode.h b/extlib/SDL2/include/SDL_scancode.h index aaa782f8..fe13d5b7 100644 --- a/extlib/SDL2/include/SDL_scancode.h +++ b/extlib/SDL2/include/SDL_scancode.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -225,16 +225,16 @@ typedef enum SDL_SCANCODE_F23 = 114, SDL_SCANCODE_F24 = 115, SDL_SCANCODE_EXECUTE = 116, - SDL_SCANCODE_HELP = 117, - SDL_SCANCODE_MENU = 118, + SDL_SCANCODE_HELP = 117, /**< AL Integrated Help Center */ + SDL_SCANCODE_MENU = 118, /**< Menu (show menu) */ SDL_SCANCODE_SELECT = 119, - SDL_SCANCODE_STOP = 120, - SDL_SCANCODE_AGAIN = 121, /**< redo */ - SDL_SCANCODE_UNDO = 122, - SDL_SCANCODE_CUT = 123, - SDL_SCANCODE_COPY = 124, - SDL_SCANCODE_PASTE = 125, - SDL_SCANCODE_FIND = 126, + SDL_SCANCODE_STOP = 120, /**< AC Stop */ + SDL_SCANCODE_AGAIN = 121, /**< AC Redo/Repeat */ + SDL_SCANCODE_UNDO = 122, /**< AC Undo */ + SDL_SCANCODE_CUT = 123, /**< AC Cut */ + SDL_SCANCODE_COPY = 124, /**< AC Copy */ + SDL_SCANCODE_PASTE = 125, /**< AC Paste */ + SDL_SCANCODE_FIND = 126, /**< AC Find */ SDL_SCANCODE_MUTE = 127, SDL_SCANCODE_VOLUMEUP = 128, SDL_SCANCODE_VOLUMEDOWN = 129, @@ -265,9 +265,9 @@ typedef enum SDL_SCANCODE_LANG8 = 151, /**< reserved */ SDL_SCANCODE_LANG9 = 152, /**< reserved */ - SDL_SCANCODE_ALTERASE = 153, /**< Erase-Eaze */ + SDL_SCANCODE_ALTERASE = 153, /**< Erase-Eaze */ SDL_SCANCODE_SYSREQ = 154, - SDL_SCANCODE_CANCEL = 155, + SDL_SCANCODE_CANCEL = 155, /**< AC Cancel */ SDL_SCANCODE_CLEAR = 156, SDL_SCANCODE_PRIOR = 157, SDL_SCANCODE_RETURN2 = 158, @@ -345,6 +345,11 @@ typedef enum * \name Usage page 0x0C * * These values are mapped from usage page 0x0C (USB consumer page). + * See https://usb.org/sites/default/files/hut1_2.pdf + * + * There are way more keys in the spec than we can represent in the + * current scancode range, so pick the ones that commonly come up in + * real world usage. */ /* @{ */ @@ -354,17 +359,17 @@ typedef enum SDL_SCANCODE_AUDIOPLAY = 261, SDL_SCANCODE_AUDIOMUTE = 262, SDL_SCANCODE_MEDIASELECT = 263, - SDL_SCANCODE_WWW = 264, + SDL_SCANCODE_WWW = 264, /**< AL Internet Browser */ SDL_SCANCODE_MAIL = 265, - SDL_SCANCODE_CALCULATOR = 266, + SDL_SCANCODE_CALCULATOR = 266, /**< AL Calculator */ SDL_SCANCODE_COMPUTER = 267, - SDL_SCANCODE_AC_SEARCH = 268, - SDL_SCANCODE_AC_HOME = 269, - SDL_SCANCODE_AC_BACK = 270, - SDL_SCANCODE_AC_FORWARD = 271, - SDL_SCANCODE_AC_STOP = 272, - SDL_SCANCODE_AC_REFRESH = 273, - SDL_SCANCODE_AC_BOOKMARKS = 274, + SDL_SCANCODE_AC_SEARCH = 268, /**< AC Search */ + SDL_SCANCODE_AC_HOME = 269, /**< AC Home */ + SDL_SCANCODE_AC_BACK = 270, /**< AC Back */ + SDL_SCANCODE_AC_FORWARD = 271, /**< AC Forward */ + SDL_SCANCODE_AC_STOP = 272, /**< AC Stop */ + SDL_SCANCODE_AC_REFRESH = 273, /**< AC Refresh */ + SDL_SCANCODE_AC_BOOKMARKS = 274, /**< AC Bookmarks */ /* @} *//* Usage page 0x0C */ @@ -383,7 +388,7 @@ typedef enum SDL_SCANCODE_KBDILLUMDOWN = 279, SDL_SCANCODE_KBDILLUMUP = 280, SDL_SCANCODE_EJECT = 281, - SDL_SCANCODE_SLEEP = 282, + SDL_SCANCODE_SLEEP = 282, /**< SC System Sleep */ SDL_SCANCODE_APP1 = 283, SDL_SCANCODE_APP2 = 284, diff --git a/extlib/SDL2/include/SDL_sensor.h b/extlib/SDL2/include/SDL_sensor.h index a2f30e0f..8b89ef6a 100644 --- a/extlib/SDL2/include/SDL_sensor.h +++ b/extlib/SDL2/include/SDL_sensor.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -71,7 +71,11 @@ typedef enum SDL_SENSOR_INVALID = -1, /**< Returned for an invalid sensor */ SDL_SENSOR_UNKNOWN, /**< Unknown sensor type */ SDL_SENSOR_ACCEL, /**< Accelerometer */ - SDL_SENSOR_GYRO /**< Gyroscope */ + SDL_SENSOR_GYRO, /**< Gyroscope */ + SDL_SENSOR_ACCEL_L, /**< Accelerometer for left Joy-Con controller and Wii nunchuk */ + SDL_SENSOR_GYRO_L, /**< Gyroscope for left Joy-Con controller */ + SDL_SENSOR_ACCEL_R, /**< Accelerometer for right Joy-Con controller */ + SDL_SENSOR_GYRO_R /**< Gyroscope for right Joy-Con controller */ } SDL_SensorType; /** @@ -80,7 +84,7 @@ typedef enum * The accelerometer returns the current acceleration in SI meters per * second squared. This measurement includes the force of gravity, so * a device at rest will have an value of SDL_STANDARD_GRAVITY away - * from the center of the earth. + * from the center of the earth, which is a positive Y value. * * values[0]: Acceleration on the x axis * values[1]: Acceleration on the y axis @@ -263,7 +267,24 @@ extern DECLSPEC SDL_SensorID SDLCALL SDL_SensorGetInstanceID(SDL_Sensor *sensor) * * \since This function is available since SDL 2.0.9. */ -extern DECLSPEC int SDLCALL SDL_SensorGetData(SDL_Sensor * sensor, float *data, int num_values); +extern DECLSPEC int SDLCALL SDL_SensorGetData(SDL_Sensor *sensor, float *data, int num_values); + +/** + * Get the current state of an opened sensor with the timestamp of the last + * update. + * + * The number of values and interpretation of the data is sensor dependent. + * + * \param sensor The SDL_Sensor object to query + * \param timestamp A pointer filled with the timestamp in microseconds of the + * current sensor reading if available, or 0 if not + * \param data A pointer filled with the current sensor state + * \param num_values The number of values to write to data + * \returns 0 or -1 if an error occurred. + * + * \since This function is available since SDL 2.26.0. + */ +extern DECLSPEC int SDLCALL SDL_SensorGetDataWithTimestamp(SDL_Sensor *sensor, Uint64 *timestamp, float *data, int num_values); /** * Close a sensor previously opened with SDL_SensorOpen(). @@ -272,7 +293,7 @@ extern DECLSPEC int SDLCALL SDL_SensorGetData(SDL_Sensor * sensor, float *data, * * \since This function is available since SDL 2.0.9. */ -extern DECLSPEC void SDLCALL SDL_SensorClose(SDL_Sensor * sensor); +extern DECLSPEC void SDLCALL SDL_SensorClose(SDL_Sensor *sensor); /** * Update the current state of the open sensors. diff --git a/extlib/SDL2/include/SDL_shape.h b/extlib/SDL2/include/SDL_shape.h index 1bca9270..4783cf29 100644 --- a/extlib/SDL2/include/SDL_shape.h +++ b/extlib/SDL2/include/SDL_shape.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 diff --git a/extlib/SDL2/include/SDL_stdinc.h b/extlib/SDL2/include/SDL_stdinc.h index 5f79c95b..8eb75795 100644 --- a/extlib/SDL2/include/SDL_stdinc.h +++ b/extlib/SDL2/include/SDL_stdinc.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -30,12 +30,6 @@ #include "SDL_config.h" -#ifdef __APPLE__ -#ifndef _DARWIN_C_SOURCE -#define _DARWIN_C_SOURCE 1 /* for memset_pattern4() */ -#endif -#endif - #ifdef HAVE_SYS_TYPES_H #include #endif @@ -80,12 +74,14 @@ # include #endif #ifdef HAVE_MATH_H -# if defined(__WINRT__) +# if defined(_MSC_VER) /* Defining _USE_MATH_DEFINES is required to get M_PI to be defined on - WinRT. See http://msdn.microsoft.com/en-us/library/4hwaceh6.aspx + Visual Studio. See http://msdn.microsoft.com/en-us/library/4hwaceh6.aspx for more information. */ -# define _USE_MATH_DEFINES +# ifndef _USE_MATH_DEFINES +# define _USE_MATH_DEFINES +# endif # endif # include #endif @@ -111,7 +107,7 @@ # elif defined(__MRC__) void *alloca(unsigned); # else -char *alloca(); +void *alloca(size_t); # endif #endif @@ -257,44 +253,44 @@ typedef uint64_t Uint64; * should define these but this is not true all platforms. * (for example win32) */ #ifndef SDL_PRIs64 -#ifdef PRIs64 -#define SDL_PRIs64 PRIs64 -#elif defined(__WIN32__) || defined(__GDK__) +#if defined(__WIN32__) || defined(__GDK__) #define SDL_PRIs64 "I64d" -#elif defined(__LINUX__) && defined(__LP64__) +#elif defined(PRIs64) +#define SDL_PRIs64 PRIs64 +#elif defined(__LP64__) && !defined(__APPLE__) && !defined(__EMSCRIPTEN__) #define SDL_PRIs64 "ld" #else #define SDL_PRIs64 "lld" #endif #endif #ifndef SDL_PRIu64 -#ifdef PRIu64 -#define SDL_PRIu64 PRIu64 -#elif defined(__WIN32__) || defined(__GDK__) +#if defined(__WIN32__) || defined(__GDK__) #define SDL_PRIu64 "I64u" -#elif defined(__LINUX__) && defined(__LP64__) +#elif defined(PRIu64) +#define SDL_PRIu64 PRIu64 +#elif defined(__LP64__) && !defined(__APPLE__) #define SDL_PRIu64 "lu" #else #define SDL_PRIu64 "llu" #endif #endif #ifndef SDL_PRIx64 -#ifdef PRIx64 -#define SDL_PRIx64 PRIx64 -#elif defined(__WIN32__) || defined(__GDK__) +#if defined(__WIN32__) || defined(__GDK__) #define SDL_PRIx64 "I64x" -#elif defined(__LINUX__) && defined(__LP64__) +#elif defined(PRIx64) +#define SDL_PRIx64 PRIx64 +#elif defined(__LP64__) && !defined(__APPLE__) #define SDL_PRIx64 "lx" #else #define SDL_PRIx64 "llx" #endif #endif #ifndef SDL_PRIX64 -#ifdef PRIX64 -#define SDL_PRIX64 PRIX64 -#elif defined(__WIN32__) || defined(__GDK__) +#if defined(__WIN32__) || defined(__GDK__) #define SDL_PRIX64 "I64X" -#elif defined(__LINUX__) && defined(__LP64__) +#elif defined(PRIX64) +#define SDL_PRIX64 PRIX64 +#elif defined(__LP64__) && !defined(__APPLE__) #define SDL_PRIX64 "lX" #else #define SDL_PRIX64 "llX" @@ -340,7 +336,9 @@ typedef uint64_t Uint64; #define SDL_PRINTF_FORMAT_STRING #define SDL_SCANF_FORMAT_STRING #define SDL_PRINTF_VARARG_FUNC( fmtargnumber ) +#define SDL_PRINTF_VARARG_FUNCV( fmtargnumber ) #define SDL_SCANF_VARARG_FUNC( fmtargnumber ) +#define SDL_SCANF_VARARG_FUNCV( fmtargnumber ) #else #if defined(_MSC_VER) && (_MSC_VER >= 1600) /* VS 2010 and above */ #include @@ -366,18 +364,25 @@ typedef uint64_t Uint64; #endif #if defined(__GNUC__) #define SDL_PRINTF_VARARG_FUNC( fmtargnumber ) __attribute__ (( format( __printf__, fmtargnumber, fmtargnumber+1 ))) +#define SDL_PRINTF_VARARG_FUNCV( fmtargnumber ) __attribute__(( format( __printf__, fmtargnumber, 0 ))) #define SDL_SCANF_VARARG_FUNC( fmtargnumber ) __attribute__ (( format( __scanf__, fmtargnumber, fmtargnumber+1 ))) +#define SDL_SCANF_VARARG_FUNCV( fmtargnumber ) __attribute__(( format( __scanf__, fmtargnumber, 0 ))) #else #define SDL_PRINTF_VARARG_FUNC( fmtargnumber ) +#define SDL_PRINTF_VARARG_FUNCV( fmtargnumber ) #define SDL_SCANF_VARARG_FUNC( fmtargnumber ) +#define SDL_SCANF_VARARG_FUNCV( fmtargnumber ) #endif #endif /* SDL_DISABLE_ANALYZE_MACROS */ #ifndef SDL_COMPILE_TIME_ASSERT #if defined(__cplusplus) +/* Keep C++ case alone: Some versions of gcc will define __STDC_VERSION__ even when compiling in C++ mode. */ #if (__cplusplus >= 201103L) #define SDL_COMPILE_TIME_ASSERT(name, x) static_assert(x, #x) #endif +#elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 202311L) +#define SDL_COMPILE_TIME_ASSERT(name, x) static_assert(x, #x) #elif defined(__STDC_VERSION__) && (__STDC_VERSION__ >= 201112L) #define SDL_COMPILE_TIME_ASSERT(name, x) _Static_assert(x, #x) #endif @@ -410,7 +415,7 @@ SDL_COMPILE_TIME_ASSERT(sint64, sizeof(Sint64) == 8); /** \cond */ #ifndef DOXYGEN_SHOULD_IGNORE_THIS -#if !defined(__ANDROID__) && !defined(__VITA__) +#if !defined(__ANDROID__) && !defined(__VITA__) && !defined(__3DS__) /* TODO: include/SDL_stdinc.h:174: error: size of array 'SDL_dummy_enum' is negative */ typedef enum { @@ -528,9 +533,7 @@ extern DECLSPEC void *SDLCALL SDL_memset(SDL_OUT_BYTECAP(len) void *dst, int c, /* Note that memset() is a byte assignment and this is a 32-bit assignment, so they're not directly equivalent. */ SDL_FORCE_INLINE void SDL_memset4(void *dst, Uint32 val, size_t dwords) { -#ifdef __APPLE__ - memset_pattern4(dst, &val, dwords * 4); -#elif defined(__GNUC__) && defined(__i386__) +#if defined(__GNUC__) && defined(__i386__) int u0, u1, u2; __asm__ __volatile__ ( "cld \n\t" @@ -583,6 +586,7 @@ extern DECLSPEC char *SDLCALL SDL_strlwr(char *str); extern DECLSPEC char *SDLCALL SDL_strchr(const char *str, int c); extern DECLSPEC char *SDLCALL SDL_strrchr(const char *str, int c); extern DECLSPEC char *SDLCALL SDL_strstr(const char *haystack, const char *needle); +extern DECLSPEC char *SDLCALL SDL_strcasestr(const char *haystack, const char *needle); extern DECLSPEC char *SDLCALL SDL_strtokr(char *s1, const char *s2, char **saveptr); extern DECLSPEC size_t SDLCALL SDL_utf8strlen(const char *str); extern DECLSPEC size_t SDLCALL SDL_utf8strnlen(const char *str, size_t bytes); @@ -608,11 +612,11 @@ extern DECLSPEC int SDLCALL SDL_strcasecmp(const char *str1, const char *str2); extern DECLSPEC int SDLCALL SDL_strncasecmp(const char *str1, const char *str2, size_t len); extern DECLSPEC int SDLCALL SDL_sscanf(const char *text, SDL_SCANF_FORMAT_STRING const char *fmt, ...) SDL_SCANF_VARARG_FUNC(2); -extern DECLSPEC int SDLCALL SDL_vsscanf(const char *text, const char *fmt, va_list ap); +extern DECLSPEC int SDLCALL SDL_vsscanf(const char *text, SDL_SCANF_FORMAT_STRING const char *fmt, va_list ap) SDL_SCANF_VARARG_FUNCV(2); extern DECLSPEC int SDLCALL SDL_snprintf(SDL_OUT_Z_CAP(maxlen) char *text, size_t maxlen, SDL_PRINTF_FORMAT_STRING const char *fmt, ... ) SDL_PRINTF_VARARG_FUNC(3); -extern DECLSPEC int SDLCALL SDL_vsnprintf(SDL_OUT_Z_CAP(maxlen) char *text, size_t maxlen, const char *fmt, va_list ap); +extern DECLSPEC int SDLCALL SDL_vsnprintf(SDL_OUT_Z_CAP(maxlen) char *text, size_t maxlen, SDL_PRINTF_FORMAT_STRING const char *fmt, va_list ap) SDL_PRINTF_VARARG_FUNCV(3); extern DECLSPEC int SDLCALL SDL_asprintf(char **strp, SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(2); -extern DECLSPEC int SDLCALL SDL_vasprintf(char **strp, const char *fmt, va_list ap); +extern DECLSPEC int SDLCALL SDL_vasprintf(char **strp, SDL_PRINTF_FORMAT_STRING const char *fmt, va_list ap) SDL_PRINTF_VARARG_FUNCV(2); #ifndef HAVE_M_PI #ifndef M_PI @@ -693,8 +697,8 @@ extern DECLSPEC size_t SDLCALL SDL_iconv(SDL_iconv_t cd, const char **inbuf, size_t * outbytesleft); /** - * This function converts a string between encodings in one pass, returning a - * string that must be freed with SDL_free() or NULL on error. + * This function converts a buffer or string between encodings in one pass, + * returning a string that must be freed with SDL_free() or NULL on error. * * \since This function is available since SDL 2.0.0. */ @@ -703,8 +707,8 @@ extern DECLSPEC char *SDLCALL SDL_iconv_string(const char *tocode, const char *inbuf, size_t inbytesleft); #define SDL_iconv_utf8_locale(S) SDL_iconv_string("", "UTF-8", S, SDL_strlen(S)+1) -#define SDL_iconv_utf8_ucs2(S) (Uint16 *)SDL_iconv_string("UCS-2-INTERNAL", "UTF-8", S, SDL_strlen(S)+1) -#define SDL_iconv_utf8_ucs4(S) (Uint32 *)SDL_iconv_string("UCS-4-INTERNAL", "UTF-8", S, SDL_strlen(S)+1) +#define SDL_iconv_utf8_ucs2(S) (Uint16 *)SDL_iconv_string("UCS-2", "UTF-8", S, SDL_strlen(S)+1) +#define SDL_iconv_utf8_ucs4(S) (Uint32 *)SDL_iconv_string("UCS-4", "UTF-8", S, SDL_strlen(S)+1) #define SDL_iconv_wchar_utf8(S) SDL_iconv_string("UTF-8", "WCHAR_T", (char *)S, (SDL_wcslen(S)+1)*sizeof(wchar_t)) /* force builds using Clang's static analysis tools to use literal C runtime @@ -721,6 +725,20 @@ size_t strlcpy(char* dst, const char* src, size_t size); size_t strlcat(char* dst, const char* src, size_t size); #endif +#ifndef HAVE_WCSLCPY +size_t wcslcpy(wchar_t *dst, const wchar_t *src, size_t size); +#endif + +#ifndef HAVE_WCSLCAT +size_t wcslcat(wchar_t *dst, const wchar_t *src, size_t size); +#endif + +/* Starting LLVM 16, the analyser errors out if these functions do not have + their prototype defined (clang-diagnostic-implicit-function-declaration) */ +#include +#include +#include + #define SDL_malloc malloc #define SDL_calloc calloc #define SDL_realloc realloc diff --git a/extlib/SDL2/include/SDL_surface.h b/extlib/SDL2/include/SDL_surface.h index 838de654..ceeb86bd 100644 --- a/extlib/SDL2/include/SDL_surface.h +++ b/extlib/SDL2/include/SDL_surface.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 diff --git a/extlib/SDL2/include/SDL_system.h b/extlib/SDL2/include/SDL_system.h index 0edca635..ddae4f8c 100644 --- a/extlib/SDL2/include/SDL_system.h +++ b/extlib/SDL2/include/SDL_system.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -593,7 +593,8 @@ extern DECLSPEC void SDLCALL SDL_OnApplicationDidChangeStatusBarOrientation(void /* Functions used only by GDK */ #if defined(__GDK__) -typedef struct XTaskQueueObject * XTaskQueueHandle; +typedef struct XTaskQueueObject *XTaskQueueHandle; +typedef struct XUser *XUserHandle; /** * Gets a reference to the global async task queue handle for GDK, @@ -610,6 +611,20 @@ typedef struct XTaskQueueObject * XTaskQueueHandle; */ extern DECLSPEC int SDLCALL SDL_GDKGetTaskQueue(XTaskQueueHandle * outTaskQueue); +/** + * Gets a reference to the default user handle for GDK. + * + * This is effectively a synchronous version of XUserAddAsync, which always + * prefers the default user and allows a sign-in UI. + * + * \param outUserHandle a pointer to be filled in with the default user + * handle. + * \returns 0 if success, -1 if any error occurs. + * + * \since This function is available since SDL 2.28.0. + */ +extern DECLSPEC int SDLCALL SDL_GDKGetDefaultUser(XUserHandle * outUserHandle); + #endif /* Ends C function definitions when using C++ */ diff --git a/extlib/SDL2/include/SDL_syswm.h b/extlib/SDL2/include/SDL_syswm.h index 45f8e754..7b8bd6ef 100644 --- a/extlib/SDL2/include/SDL_syswm.h +++ b/extlib/SDL2/include/SDL_syswm.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 diff --git a/extlib/SDL2/include/SDL_test.h b/extlib/SDL2/include/SDL_test.h index 8cc9d616..e5acbee4 100644 --- a/extlib/SDL2/include/SDL_test.h +++ b/extlib/SDL2/include/SDL_test.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 diff --git a/extlib/SDL2/include/SDL_test_assert.h b/extlib/SDL2/include/SDL_test_assert.h index 73423052..4f983350 100644 --- a/extlib/SDL2/include/SDL_test_assert.h +++ b/extlib/SDL2/include/SDL_test_assert.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 diff --git a/extlib/SDL2/include/SDL_test_common.h b/extlib/SDL2/include/SDL_test_common.h index b86520d3..d977e463 100644 --- a/extlib/SDL2/include/SDL_test_common.h +++ b/extlib/SDL2/include/SDL_test_common.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 diff --git a/extlib/SDL2/include/SDL_test_compare.h b/extlib/SDL2/include/SDL_test_compare.h index 8a7a0700..61a38d09 100644 --- a/extlib/SDL2/include/SDL_test_compare.h +++ b/extlib/SDL2/include/SDL_test_compare.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 diff --git a/extlib/SDL2/include/SDL_test_crc32.h b/extlib/SDL2/include/SDL_test_crc32.h index 049da740..e3478318 100644 --- a/extlib/SDL2/include/SDL_test_crc32.h +++ b/extlib/SDL2/include/SDL_test_crc32.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 diff --git a/extlib/SDL2/include/SDL_test_font.h b/extlib/SDL2/include/SDL_test_font.h index 6e7247dd..620c8211 100644 --- a/extlib/SDL2/include/SDL_test_font.h +++ b/extlib/SDL2/include/SDL_test_font.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 diff --git a/extlib/SDL2/include/SDL_test_fuzzer.h b/extlib/SDL2/include/SDL_test_fuzzer.h index bbe8eb87..a847ccb0 100644 --- a/extlib/SDL2/include/SDL_test_fuzzer.h +++ b/extlib/SDL2/include/SDL_test_fuzzer.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 diff --git a/extlib/SDL2/include/SDL_test_harness.h b/extlib/SDL2/include/SDL_test_harness.h index 1fd4236b..bd9e4f8d 100644 --- a/extlib/SDL2/include/SDL_test_harness.h +++ b/extlib/SDL2/include/SDL_test_harness.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 diff --git a/extlib/SDL2/include/SDL_test_images.h b/extlib/SDL2/include/SDL_test_images.h index e2bfc360..b5bcb0a0 100644 --- a/extlib/SDL2/include/SDL_test_images.h +++ b/extlib/SDL2/include/SDL_test_images.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 diff --git a/extlib/SDL2/include/SDL_test_log.h b/extlib/SDL2/include/SDL_test_log.h index e3d39ad2..ea9ae5e1 100644 --- a/extlib/SDL2/include/SDL_test_log.h +++ b/extlib/SDL2/include/SDL_test_log.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 diff --git a/extlib/SDL2/include/SDL_test_md5.h b/extlib/SDL2/include/SDL_test_md5.h index 17b1d2be..3764b042 100644 --- a/extlib/SDL2/include/SDL_test_md5.h +++ b/extlib/SDL2/include/SDL_test_md5.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 diff --git a/extlib/SDL2/include/SDL_test_memory.h b/extlib/SDL2/include/SDL_test_memory.h index cc2edc1b..9bd14325 100644 --- a/extlib/SDL2/include/SDL_test_memory.h +++ b/extlib/SDL2/include/SDL_test_memory.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 diff --git a/extlib/SDL2/include/SDL_test_random.h b/extlib/SDL2/include/SDL_test_random.h index b1d6060c..344646aa 100644 --- a/extlib/SDL2/include/SDL_test_random.h +++ b/extlib/SDL2/include/SDL_test_random.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 diff --git a/extlib/SDL2/include/SDL_thread.h b/extlib/SDL2/include/SDL_thread.h index 7364f813..dc7f5363 100644 --- a/extlib/SDL2/include/SDL_thread.h +++ b/extlib/SDL2/include/SDL_thread.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -35,7 +35,7 @@ #include "SDL_atomic.h" #include "SDL_mutex.h" -#if defined(__WIN32__) || defined(__GDK__) +#if (defined(__WIN32__) || defined(__GDK__)) && !defined(__WINRT__) #include /* _beginthreadex() and _endthreadex() */ #endif #if defined(__OS2__) /* for _beginthread() and _endthread() */ @@ -88,7 +88,7 @@ typedef enum { typedef int (SDLCALL * SDL_ThreadFunction) (void *data); -#if defined(__WIN32__) || defined(__GDK__) +#if (defined(__WIN32__) || defined(__GDK__)) && !defined(__WINRT__) /** * \file SDL_thread.h * @@ -142,7 +142,7 @@ SDL_CreateThreadWithStackSize(SDL_ThreadFunction fn, #define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize_REAL(fn, name, stacksize, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread) #else #define SDL_CreateThread(fn, name, data) SDL_CreateThread(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread) -#define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize(fn, name, data, (pfnSDL_CurrentBeginThread)_beginthreadex, (pfnSDL_CurrentEndThread)SDL_endthread) +#define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize(fn, name, stacksize, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread) #endif #elif defined(__OS2__) @@ -175,7 +175,7 @@ SDL_CreateThreadWithStackSize(SDL_ThreadFunction fn, const char *name, const siz #undef SDL_CreateThread #define SDL_CreateThread(fn, name, data) SDL_CreateThread_REAL(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread) #undef SDL_CreateThreadWithStackSize -#define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize_REAL(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread) +#define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize_REAL(fn, name, stacksize, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread) #else #define SDL_CreateThread(fn, name, data) SDL_CreateThread(fn, name, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread) #define SDL_CreateThreadWithStackSize(fn, name, stacksize, data) SDL_CreateThreadWithStackSize(fn, name, stacksize, data, (pfnSDL_CurrentBeginThread)SDL_beginthread, (pfnSDL_CurrentEndThread)SDL_endthread) diff --git a/extlib/SDL2/include/SDL_timer.h b/extlib/SDL2/include/SDL_timer.h index 62f81d42..8123e432 100644 --- a/extlib/SDL2/include/SDL_timer.h +++ b/extlib/SDL2/include/SDL_timer.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 diff --git a/extlib/SDL2/include/SDL_touch.h b/extlib/SDL2/include/SDL_touch.h index 95924135..f6a5db41 100644 --- a/extlib/SDL2/include/SDL_touch.h +++ b/extlib/SDL2/include/SDL_touch.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 diff --git a/extlib/SDL2/include/SDL_types.h b/extlib/SDL2/include/SDL_types.h index 355fb501..e8d33c65 100644 --- a/extlib/SDL2/include/SDL_types.h +++ b/extlib/SDL2/include/SDL_types.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 diff --git a/extlib/SDL2/include/SDL_version.h b/extlib/SDL2/include/SDL_version.h index fbe09db8..fb79785f 100644 --- a/extlib/SDL2/include/SDL_version.h +++ b/extlib/SDL2/include/SDL_version.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -58,8 +58,8 @@ typedef struct SDL_version /* Printable format: "%d.%d.%d", MAJOR, MINOR, PATCHLEVEL */ #define SDL_MAJOR_VERSION 2 -#define SDL_MINOR_VERSION 24 -#define SDL_PATCHLEVEL 0 +#define SDL_MINOR_VERSION 30 +#define SDL_PATCHLEVEL 9 /** * Macro to determine SDL version program was compiled against. diff --git a/extlib/SDL2/include/SDL_video.h b/extlib/SDL2/include/SDL_video.h index 0b1065db..fa47d309 100644 --- a/extlib/SDL2/include/SDL_video.h +++ b/extlib/SDL2/include/SDL_video.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -187,7 +187,8 @@ typedef enum SDL_DISPLAYEVENT_NONE, /**< Never used */ SDL_DISPLAYEVENT_ORIENTATION, /**< Display orientation has changed to data1 */ SDL_DISPLAYEVENT_CONNECTED, /**< Display has been added to the system */ - SDL_DISPLAYEVENT_DISCONNECTED /**< Display has been removed from the system */ + SDL_DISPLAYEVENT_DISCONNECTED, /**< Display has been removed from the system */ + SDL_DISPLAYEVENT_MOVED /**< Display has changed position */ } SDL_DisplayEventID; /** @@ -1046,6 +1047,27 @@ extern DECLSPEC int SDLCALL SDL_GetWindowBordersSize(SDL_Window * window, int *top, int *left, int *bottom, int *right); +/** + * Get the size of a window in pixels. + * + * This may differ from SDL_GetWindowSize() if we're rendering to a high-DPI + * drawable, i.e. the window was created with `SDL_WINDOW_ALLOW_HIGHDPI` on a + * platform with high-DPI support (Apple calls this "Retina"), and not + * disabled by the `SDL_HINT_VIDEO_HIGHDPI_DISABLED` hint. + * + * \param window the window from which the drawable size should be queried + * \param w a pointer to variable for storing the width in pixels, may be NULL + * \param h a pointer to variable for storing the height in pixels, may be + * NULL + * + * \since This function is available since SDL 2.26.0. + * + * \sa SDL_CreateWindow + * \sa SDL_GetWindowSize + */ +extern DECLSPEC void SDLCALL SDL_GetWindowSizeInPixels(SDL_Window * window, + int *w, int *h); + /** * Set the minimum size of a window's client area. * @@ -1253,6 +1275,18 @@ extern DECLSPEC void SDLCALL SDL_RestoreWindow(SDL_Window * window); extern DECLSPEC int SDLCALL SDL_SetWindowFullscreen(SDL_Window * window, Uint32 flags); +/** + * Return whether the window has a surface associated with it. + * + * \returns SDL_TRUE if there is a surface associated with the window, or + * SDL_FALSE otherwise. + * + * \since This function is available since SDL 2.28.0. + * + * \sa SDL_GetWindowSurface + */ +extern DECLSPEC SDL_bool SDLCALL SDL_HasWindowSurface(SDL_Window *window); + /** * Get the SDL surface associated with the window. * @@ -1273,6 +1307,8 @@ extern DECLSPEC int SDLCALL SDL_SetWindowFullscreen(SDL_Window * window, * * \since This function is available since SDL 2.0.0. * + * \sa SDL_DestroyWindowSurface + * \sa SDL_HasWindowSurface * \sa SDL_UpdateWindowSurface * \sa SDL_UpdateWindowSurfaceRects */ @@ -1305,9 +1341,14 @@ extern DECLSPEC int SDLCALL SDL_UpdateWindowSurface(SDL_Window * window); * * This function is equivalent to the SDL 1.2 API SDL_UpdateRects(). * + * Note that this function will update _at least_ the rectangles specified, + * but this is only intended as an optimization; in practice, this might + * update more of the screen (or all of the screen!), depending on what + * method SDL uses to send pixels to the system. + * * \param window the window to update * \param rects an array of SDL_Rect structures representing areas of the - * surface to copy + * surface to copy, in pixels * \param numrects the number of rectangles * \returns 0 on success or a negative error code on failure; call * SDL_GetError() for more information. @@ -1321,6 +1362,20 @@ extern DECLSPEC int SDLCALL SDL_UpdateWindowSurfaceRects(SDL_Window * window, const SDL_Rect * rects, int numrects); +/** + * Destroy the surface associated with the window. + * + * \param window the window to update + * \returns 0 on success or a negative error code on failure; call + * SDL_GetError() for more information. + * + * \since This function is available since SDL 2.28.0. + * + * \sa SDL_GetWindowSurface + * \sa SDL_HasWindowSurface + */ +extern DECLSPEC int SDLCALL SDL_DestroyWindowSurface(SDL_Window *window); + /** * Set a window's input grab mode. * @@ -1790,6 +1845,9 @@ extern DECLSPEC void SDLCALL SDL_EnableScreenSaver(void); * If you disable the screensaver, it is automatically re-enabled when SDL * quits. * + * The screensaver is disabled by default since SDL 2.0.2. Before SDL 2.0.2 + * the screensaver was enabled by default. + * * \since This function is available since SDL 2.0.0. * * \sa SDL_EnableScreenSaver diff --git a/extlib/SDL2/include/SDL_vulkan.h b/extlib/SDL2/include/SDL_vulkan.h index ab86a0b8..a506ef45 100644 --- a/extlib/SDL2/include/SDL_vulkan.h +++ b/extlib/SDL2/include/SDL_vulkan.h @@ -52,6 +52,10 @@ extern "C" { VK_DEFINE_HANDLE(VkInstance) VK_DEFINE_NON_DISPATCHABLE_HANDLE(VkSurfaceKHR) +/* Make sure to undef to avoid issues in case of later vulkan include */ +#undef VK_DEFINE_HANDLE +#undef VK_DEFINE_NON_DISPATCHABLE_HANDLE + #endif /* !NO_SDL_VULKAN_TYPEDEFS */ typedef VkInstance SDL_vulkanInstance; diff --git a/extlib/SDL2/include/begin_code.h b/extlib/SDL2/include/begin_code.h index b3e69e85..a47a7d2b 100644 --- a/extlib/SDL2/include/begin_code.h +++ b/extlib/SDL2/include/begin_code.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -28,14 +28,16 @@ */ /* This shouldn't be nested -- included it around code only. */ -#ifdef _begin_code_h +#ifdef SDL_begin_code_h #error Nested inclusion of begin_code.h #endif -#define _begin_code_h +#define SDL_begin_code_h #ifndef SDL_DEPRECATED # if defined(__GNUC__) && (__GNUC__ >= 4) /* technically, this arrived in gcc 3.1, but oh well. */ # define SDL_DEPRECATED __attribute__((deprecated)) +# elif defined(_MSC_VER) +# define SDL_DEPRECATED __declspec(deprecated) # else # define SDL_DEPRECATED # endif @@ -171,17 +173,17 @@ #define SDL_FALLTHROUGH [[fallthrough]] #else #if defined(__has_attribute) -#define _HAS_FALLTHROUGH __has_attribute(__fallthrough__) +#define SDL_HAS_FALLTHROUGH __has_attribute(__fallthrough__) #else -#define _HAS_FALLTHROUGH 0 +#define SDL_HAS_FALLTHROUGH 0 #endif /* __has_attribute */ -#if _HAS_FALLTHROUGH && \ +#if SDL_HAS_FALLTHROUGH && \ ((defined(__GNUC__) && __GNUC__ >= 7) || \ (defined(__clang_major__) && __clang_major__ >= 10)) #define SDL_FALLTHROUGH __attribute__((__fallthrough__)) #else #define SDL_FALLTHROUGH do {} while (0) /* fallthrough */ -#endif /* _HAS_FALLTHROUGH */ -#undef _HAS_FALLTHROUGH +#endif /* SDL_HAS_FALLTHROUGH */ +#undef SDL_HAS_FALLTHROUGH #endif /* C++17 or C2x */ #endif /* SDL_FALLTHROUGH not defined */ diff --git a/extlib/SDL2/include/close_code.h b/extlib/SDL2/include/close_code.h index dc73432f..50a0e6f3 100644 --- a/extlib/SDL2/include/close_code.h +++ b/extlib/SDL2/include/close_code.h @@ -1,6 +1,6 @@ /* Simple DirectMedia Layer - Copyright (C) 1997-2022 Sam Lantinga + Copyright (C) 1997-2024 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 @@ -26,10 +26,10 @@ * after you finish any function and structure declarations in your headers */ -#ifndef _begin_code_h +#ifndef SDL_begin_code_h #error close_code.h included without matching begin_code.h #endif -#undef _begin_code_h +#undef SDL_begin_code_h /* Reset structure packing at previous byte alignment */ #if defined(_MSC_VER) || defined(__MWERKS__) || defined(__BORLANDC__) diff --git a/extlib/SDL2/lib/x86/SDL2.dll b/extlib/SDL2/lib/x86/SDL2.dll index 24eb044a27c6723289b28b65b9b35f541658c4f8..431ca7e539d25d2e160aff079ab152eb790f5b5e 100644 GIT binary patch literal 1364992 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�b76Z%;sWyBJEph-h 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

fsi7xM<#A$GvPc%(c5Gxpsrw9crVI0BpbD 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

4EhRt5WYvLht2v>FKz8)DNo(?fMO{U<7eiWeag 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

J?w> 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 z%0D$JcqeC>1yqM&l8d!C3{3{ieqqjuc1I&)!5 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 OXYl|2@Bi8-@c#iq-zlsB literal 2234368 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

    _NH4L=o7SbE$HbED}Sho+4 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≶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ⅈ^(tW$Zy1`KB(p`*^1Ce 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%0D1F! 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

    |;vl1iX*fDDsQ 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�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 diff --git a/extlib/SDL2/lib/x86/SDL2.lib b/extlib/SDL2/lib/x86/SDL2.lib index b2868855b91d19eec6bfa0ba9b4c52b28ec43894..2ee26f15c89d197a42bc2d552e145020e900e5b4 100644 GIT binary patch delta 29777 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 XE?j(&bc4=a2A*+jq?eMD!@vaqgodlh delta 27967 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 Wrq>!t7W++YrhuuBXI<;hk$(Z}p~VIO diff --git a/extlib/SDL2/lib/x86/SDL2test.lib b/extlib/SDL2/lib/x86/SDL2test.lib index 892919c0e4210d4678a07997987a4934ac06dabb..1ed04badb63a698d6271b8289434320247569907 100644 GIT binary patch delta 154392 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 Z1(~+HHGj=cxI=+Sf}d$Z>*jle{{_NtFO~oR delta 147600 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 HJ{SHEi<73s

    7Ml5ZMghe!%tizHMA@ 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 z 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

KB9VVMvbdu^% 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 z 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