Skip to content

Commit beb798d

Browse files
committed
Revert "glad: Re-generate files with glad 2.0.6"
This reverts commit 0f96251. Fixes godotengine#90879.
1 parent 271d7c8 commit beb798d

File tree

7 files changed

+97
-93
lines changed

7 files changed

+97
-93
lines changed

thirdparty/README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -318,7 +318,7 @@ Files extracted from upstream source:
318318
## glad
319319

320320
- Upstream: https://github.com/Dav1dde/glad
321-
- Version: 2.0.6 (658f48e72aee3c6582e80b05ac0f8787a64fe6bb, 2024)
321+
- Version: 2.0.4 (d08b1aa01f8fe57498f04d47b5fa8c48725be877, 2023)
322322
- License: CC0 1.0 and Apache 2.0
323323

324324
Files extracted from upstream source:
@@ -334,11 +334,11 @@ Files generated from [upstream web instance](https://gen.glad.sh/):
334334
- `glx.c`
335335
- `glad/glx.h`
336336

337-
See the permalinks in `glad/egl.h`, `glad/gl.h`, and `glad/glx.h` to regenrate
338-
the files with a new version of the web instance.
337+
See the permalinks in `glad/gl.h` and `glad/glx.h` to regenrate the files with
338+
a new version of the web instance.
339339

340-
Some changes have been made in order to allow loading OpenGL and OpenGLES APIs
341-
at the same time. See the patches in the `patches` directory.
340+
Some changes have been made in order to allow loading OpenGL and OpenGLES APIs at the same time.
341+
See the patches in the `patches` directory.
342342

343343

344344
## glslang

thirdparty/glad/EGL/eglplatform.h

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -64,12 +64,6 @@ typedef HDC EGLNativeDisplayType;
6464
typedef HBITMAP EGLNativePixmapType;
6565
typedef HWND EGLNativeWindowType;
6666

67-
#elif defined(__QNX__)
68-
69-
typedef khronos_uintptr_t EGLNativeDisplayType;
70-
typedef struct _screen_pixmap* EGLNativePixmapType; /* screen_pixmap_t */
71-
typedef struct _screen_window* EGLNativeWindowType; /* screen_window_t */
72-
7367
#elif defined(__EMSCRIPTEN__)
7468

7569
typedef int EGLNativeDisplayType;

thirdparty/glad/gl.c

Lines changed: 80 additions & 67 deletions
Original file line numberDiff line numberDiff line change
@@ -453,7 +453,6 @@ PFNGLMULTITEXCOORDP3UIPROC glad_glMultiTexCoordP3ui = NULL;
453453
PFNGLMULTITEXCOORDP3UIVPROC glad_glMultiTexCoordP3uiv = NULL;
454454
PFNGLMULTITEXCOORDP4UIPROC glad_glMultiTexCoordP4ui = NULL;
455455
PFNGLMULTITEXCOORDP4UIVPROC glad_glMultiTexCoordP4uiv = NULL;
456-
PFNGLNAMEDFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC glad_glNamedFramebufferTextureMultiviewOVR = NULL;
457456
PFNGLNEWLISTPROC glad_glNewList = NULL;
458457
PFNGLNORMAL3BPROC glad_glNormal3b = NULL;
459458
PFNGLNORMAL3BVPROC glad_glNormal3bv = NULL;
@@ -2109,29 +2108,40 @@ static void glad_gl_load_GL_EXT_framebuffer_object( GLADuserptrloadfunc load, vo
21092108
static void glad_gl_load_GL_OVR_multiview( GLADuserptrloadfunc load, void* userptr) {
21102109
if(!GLAD_GL_OVR_multiview) return;
21112110
glad_glFramebufferTextureMultiviewOVR = (PFNGLFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC) load(userptr, "glFramebufferTextureMultiviewOVR");
2112-
glad_glNamedFramebufferTextureMultiviewOVR = (PFNGLNAMEDFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC) load(userptr, "glNamedFramebufferTextureMultiviewOVR");
21132111
}
21142112

21152113

21162114

2117-
static void glad_gl_free_extensions(char **exts_i) {
2118-
if (exts_i != NULL) {
2119-
unsigned int index;
2120-
for(index = 0; exts_i[index]; index++) {
2121-
free((void *) (exts_i[index]));
2122-
}
2123-
free((void *)exts_i);
2124-
exts_i = NULL;
2125-
}
2126-
}
2127-
static int glad_gl_get_extensions( const char **out_exts, char ***out_exts_i) {
21282115
#if defined(GL_ES_VERSION_3_0) || defined(GL_VERSION_3_0)
2129-
if (glad_glGetStringi != NULL && glad_glGetIntegerv != NULL) {
2116+
#define GLAD_GL_IS_SOME_NEW_VERSION 1
2117+
#else
2118+
#define GLAD_GL_IS_SOME_NEW_VERSION 0
2119+
#endif
2120+
2121+
static int glad_gl_get_extensions( int version, const char **out_exts, unsigned int *out_num_exts_i, char ***out_exts_i) {
2122+
#if GLAD_GL_IS_SOME_NEW_VERSION
2123+
if(GLAD_VERSION_MAJOR(version) < 3) {
2124+
#else
2125+
GLAD_UNUSED(version);
2126+
GLAD_UNUSED(out_num_exts_i);
2127+
GLAD_UNUSED(out_exts_i);
2128+
#endif
2129+
if (glad_glGetString == NULL) {
2130+
return 0;
2131+
}
2132+
*out_exts = (const char *)glad_glGetString(GL_EXTENSIONS);
2133+
#if GLAD_GL_IS_SOME_NEW_VERSION
2134+
} else {
21302135
unsigned int index = 0;
21312136
unsigned int num_exts_i = 0;
21322137
char **exts_i = NULL;
2138+
if (glad_glGetStringi == NULL || glad_glGetIntegerv == NULL) {
2139+
return 0;
2140+
}
21332141
glad_glGetIntegerv(GL_NUM_EXTENSIONS, (int*) &num_exts_i);
2134-
exts_i = (char **) malloc((num_exts_i + 1) * (sizeof *exts_i));
2142+
if (num_exts_i > 0) {
2143+
exts_i = (char **) malloc(num_exts_i * (sizeof *exts_i));
2144+
}
21352145
if (exts_i == NULL) {
21362146
return 0;
21372147
}
@@ -2140,40 +2150,31 @@ static int glad_gl_get_extensions( const char **out_exts, char ***out_exts_i) {
21402150
size_t len = strlen(gl_str_tmp) + 1;
21412151

21422152
char *local_str = (char*) malloc(len * sizeof(char));
2143-
if(local_str == NULL) {
2144-
exts_i[index] = NULL;
2145-
glad_gl_free_extensions(exts_i);
2146-
return 0;
2153+
if(local_str != NULL) {
2154+
memcpy(local_str, gl_str_tmp, len * sizeof(char));
21472155
}
21482156

2149-
memcpy(local_str, gl_str_tmp, len * sizeof(char));
21502157
exts_i[index] = local_str;
21512158
}
2152-
exts_i[index] = NULL;
21532159

2160+
*out_num_exts_i = num_exts_i;
21542161
*out_exts_i = exts_i;
2155-
2156-
return 1;
21572162
}
2158-
#else
2159-
GLAD_UNUSED(out_exts_i);
21602163
#endif
2161-
if (glad_glGetString == NULL) {
2162-
return 0;
2163-
}
2164-
*out_exts = (const char *)glad_glGetString(GL_EXTENSIONS);
21652164
return 1;
21662165
}
2167-
static int glad_gl_has_extension(const char *exts, char **exts_i, const char *ext) {
2168-
if(exts_i) {
2166+
static void glad_gl_free_extensions(char **exts_i, unsigned int num_exts_i) {
2167+
if (exts_i != NULL) {
21692168
unsigned int index;
2170-
for(index = 0; exts_i[index]; index++) {
2171-
const char *e = exts_i[index];
2172-
if(strcmp(e, ext) == 0) {
2173-
return 1;
2174-
}
2169+
for(index = 0; index < num_exts_i; index++) {
2170+
free((void *) (exts_i[index]));
21752171
}
2176-
} else {
2172+
free((void *)exts_i);
2173+
exts_i = NULL;
2174+
}
2175+
}
2176+
static int glad_gl_has_extension(int version, const char *exts, unsigned int num_exts_i, char **exts_i, const char *ext) {
2177+
if(GLAD_VERSION_MAJOR(version) < 3 || !GLAD_GL_IS_SOME_NEW_VERSION) {
21772178
const char *extensions;
21782179
const char *loc;
21792180
const char *terminator;
@@ -2193,6 +2194,14 @@ static int glad_gl_has_extension(const char *exts, char **exts_i, const char *ex
21932194
}
21942195
extensions = terminator;
21952196
}
2197+
} else {
2198+
unsigned int index;
2199+
for(index = 0; index < num_exts_i; index++) {
2200+
const char *e = exts_i[index];
2201+
if(strcmp(e, ext) == 0) {
2202+
return 1;
2203+
}
2204+
}
21962205
}
21972206
return 0;
21982207
}
@@ -2201,21 +2210,22 @@ static GLADapiproc glad_gl_get_proc_from_userptr(void *userptr, const char* name
22012210
return (GLAD_GNUC_EXTENSION (GLADapiproc (*)(const char *name)) userptr)(name);
22022211
}
22032212

2204-
static int glad_gl_find_extensions_gl(void) {
2213+
static int glad_gl_find_extensions_gl( int version) {
22052214
const char *exts = NULL;
2215+
unsigned int num_exts_i = 0;
22062216
char **exts_i = NULL;
2207-
if (!glad_gl_get_extensions(&exts, &exts_i)) return 0;
2217+
if (!glad_gl_get_extensions(version, &exts, &num_exts_i, &exts_i)) return 0;
22082218

2209-
GLAD_GL_ARB_debug_output = glad_gl_has_extension(exts, exts_i, "GL_ARB_debug_output");
2210-
GLAD_GL_ARB_framebuffer_object = glad_gl_has_extension(exts, exts_i, "GL_ARB_framebuffer_object");
2211-
GLAD_GL_ARB_get_program_binary = glad_gl_has_extension(exts, exts_i, "GL_ARB_get_program_binary");
2212-
GLAD_GL_EXT_framebuffer_blit = glad_gl_has_extension(exts, exts_i, "GL_EXT_framebuffer_blit");
2213-
GLAD_GL_EXT_framebuffer_multisample = glad_gl_has_extension(exts, exts_i, "GL_EXT_framebuffer_multisample");
2214-
GLAD_GL_EXT_framebuffer_object = glad_gl_has_extension(exts, exts_i, "GL_EXT_framebuffer_object");
2215-
GLAD_GL_OVR_multiview = glad_gl_has_extension(exts, exts_i, "GL_OVR_multiview");
2216-
GLAD_GL_OVR_multiview2 = glad_gl_has_extension(exts, exts_i, "GL_OVR_multiview2");
2219+
GLAD_GL_ARB_debug_output = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_ARB_debug_output");
2220+
GLAD_GL_ARB_framebuffer_object = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_ARB_framebuffer_object");
2221+
GLAD_GL_ARB_get_program_binary = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_ARB_get_program_binary");
2222+
GLAD_GL_EXT_framebuffer_blit = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_EXT_framebuffer_blit");
2223+
GLAD_GL_EXT_framebuffer_multisample = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_EXT_framebuffer_multisample");
2224+
GLAD_GL_EXT_framebuffer_object = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_EXT_framebuffer_object");
2225+
GLAD_GL_OVR_multiview = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_OVR_multiview");
2226+
GLAD_GL_OVR_multiview2 = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_OVR_multiview2");
22172227

2218-
glad_gl_free_extensions(exts_i);
2228+
glad_gl_free_extensions(exts_i, num_exts_i);
22192229

22202230
return 1;
22212231
}
@@ -2265,6 +2275,7 @@ int gladLoadGLUserPtr( GLADuserptrloadfunc load, void *userptr) {
22652275

22662276
glad_glGetString = (PFNGLGETSTRINGPROC) load(userptr, "glGetString");
22672277
if(glad_glGetString == NULL) return 0;
2278+
if(glad_glGetString(GL_VERSION) == NULL) return 0;
22682279
version = glad_gl_find_core_gl();
22692280

22702281
glad_gl_load_GL_VERSION_1_0(load, userptr);
@@ -2280,7 +2291,7 @@ int gladLoadGLUserPtr( GLADuserptrloadfunc load, void *userptr) {
22802291
glad_gl_load_GL_VERSION_3_2(load, userptr);
22812292
glad_gl_load_GL_VERSION_3_3(load, userptr);
22822293

2283-
if (!glad_gl_find_extensions_gl()) return 0;
2294+
if (!glad_gl_find_extensions_gl(version)) return 0;
22842295
glad_gl_load_GL_ARB_debug_output(load, userptr);
22852296
glad_gl_load_GL_ARB_framebuffer_object(load, userptr);
22862297
glad_gl_load_GL_ARB_get_program_binary(load, userptr);
@@ -2299,15 +2310,16 @@ int gladLoadGL( GLADloadfunc load) {
22992310
return gladLoadGLUserPtr( glad_gl_get_proc_from_userptr, GLAD_GNUC_EXTENSION (void*) load);
23002311
}
23012312

2302-
static int glad_gl_find_extensions_gles2(void) {
2313+
static int glad_gl_find_extensions_gles2( int version) {
23032314
const char *exts = NULL;
2315+
unsigned int num_exts_i = 0;
23042316
char **exts_i = NULL;
2305-
if (!glad_gl_get_extensions(&exts, &exts_i)) return 0;
2317+
if (!glad_gl_get_extensions(version, &exts, &num_exts_i, &exts_i)) return 0;
23062318

2307-
GLAD_GL_OVR_multiview = glad_gl_has_extension(exts, exts_i, "GL_OVR_multiview");
2308-
GLAD_GL_OVR_multiview2 = glad_gl_has_extension(exts, exts_i, "GL_OVR_multiview2");
2319+
GLAD_GL_OVR_multiview = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_OVR_multiview");
2320+
GLAD_GL_OVR_multiview2 = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_OVR_multiview2");
23092321

2310-
glad_gl_free_extensions(exts_i);
2322+
glad_gl_free_extensions(exts_i, num_exts_i);
23112323

23122324
return 1;
23132325
}
@@ -2349,14 +2361,15 @@ int gladLoadGLES2UserPtr( GLADuserptrloadfunc load, void *userptr) {
23492361

23502362
glad_glGetString = (PFNGLGETSTRINGPROC) load(userptr, "glGetString");
23512363
if(glad_glGetString == NULL) return 0;
2364+
if(glad_glGetString(GL_VERSION) == NULL) return 0;
23522365
version = glad_gl_find_core_gles2();
23532366

23542367
glad_gl_load_GL_ES_VERSION_2_0(load, userptr);
23552368
glad_gl_load_GL_ES_VERSION_3_0(load, userptr);
23562369
glad_gl_load_GL_ES_VERSION_3_1(load, userptr);
23572370
glad_gl_load_GL_ES_VERSION_3_2(load, userptr);
23582371

2359-
if (!glad_gl_find_extensions_gles2()) return 0;
2372+
if (!glad_gl_find_extensions_gles2(version)) return 0;
23602373
glad_gl_load_GL_OVR_multiview(load, userptr);
23612374

23622375

@@ -2614,9 +2627,10 @@ static GLADapiproc glad_dlsym_handle(void* handle, const char *name) {
26142627
typedef __eglMustCastToProperFunctionPointerType (GLAD_API_PTR *PFNEGLGETPROCADDRESSPROC)(const char *name);
26152628
#endif
26162629
extern __eglMustCastToProperFunctionPointerType emscripten_GetProcAddress(const char *name);
2617-
#elif defined(GLAD_GLES2_USE_SYSTEM_EGL)
2618-
#include <EGL/egl.h>
2630+
#elif EGL_STATIC
2631+
typedef void (*__eglMustCastToProperFunctionPointerType)(void);
26192632
typedef __eglMustCastToProperFunctionPointerType (GLAD_API_PTR *PFNEGLGETPROCADDRESSPROC)(const char *name);
2633+
extern __eglMustCastToProperFunctionPointerType GLAD_API_PTR eglGetProcAddress(const char *name);
26202634
#else
26212635
#include <glad/egl.h>
26222636
#endif
@@ -2644,7 +2658,7 @@ static GLADapiproc glad_gles2_get_proc(void *vuserptr, const char* name) {
26442658
return result;
26452659
}
26462660

2647-
static void* _glad_GLES2_loader_handle = NULL;
2661+
static void* _glad_GL_loader_handle = NULL;
26482662

26492663
static void* glad_gles2_dlopen_handle(void) {
26502664
#if GLAD_PLATFORM_EMSCRIPTEN
@@ -2660,11 +2674,11 @@ static void* glad_gles2_dlopen_handle(void) {
26602674
GLAD_UNUSED(glad_get_dlopen_handle);
26612675
return NULL;
26622676
#else
2663-
if (_glad_GLES2_loader_handle == NULL) {
2664-
_glad_GLES2_loader_handle = glad_get_dlopen_handle(NAMES, sizeof(NAMES) / sizeof(NAMES[0]));
2677+
if (_glad_GL_loader_handle == NULL) {
2678+
_glad_GL_loader_handle = glad_get_dlopen_handle(NAMES, sizeof(NAMES) / sizeof(NAMES[0]));
26652679
}
26662680

2667-
return _glad_GLES2_loader_handle;
2681+
return _glad_GL_loader_handle;
26682682
#endif
26692683
}
26702684

@@ -2694,12 +2708,11 @@ int gladLoaderLoadGLES2(void) {
26942708
userptr.get_proc_address_ptr = emscripten_GetProcAddress;
26952709
version = gladLoadGLES2UserPtr(glad_gles2_get_proc, &userptr);
26962710
#else
2697-
#ifndef GLAD_GLES2_USE_SYSTEM_EGL
26982711
if (eglGetProcAddress == NULL) {
26992712
return 0;
27002713
}
2701-
#endif
2702-
did_load = _glad_GLES2_loader_handle == NULL;
2714+
2715+
did_load = _glad_GL_loader_handle == NULL;
27032716
handle = glad_gles2_dlopen_handle();
27042717
if (handle != NULL) {
27052718
userptr = glad_gles2_build_userptr(handle);
@@ -2718,9 +2731,9 @@ int gladLoaderLoadGLES2(void) {
27182731

27192732

27202733
void gladLoaderUnloadGLES2(void) {
2721-
if (_glad_GLES2_loader_handle != NULL) {
2722-
glad_close_dlopen_handle(_glad_GLES2_loader_handle);
2723-
_glad_GLES2_loader_handle = NULL;
2734+
if (_glad_GL_loader_handle != NULL) {
2735+
glad_close_dlopen_handle(_glad_GL_loader_handle);
2736+
_glad_GL_loader_handle = NULL;
27242737
}
27252738
}
27262739

thirdparty/glad/glad/egl.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* Loader generated by glad 2.0.6 on Fri Apr 5 08:17:09 2024
2+
* Loader generated by glad 2.0.3 on Fri Feb 3 07:06:48 2023
33
*
44
* SPDX-License-Identifier: (WTFPL OR CC0-1.0) AND Apache-2.0
55
*
@@ -141,7 +141,7 @@ extern "C" {
141141
#define GLAD_VERSION_MAJOR(version) (version / 10000)
142142
#define GLAD_VERSION_MINOR(version) (version % 10000)
143143

144-
#define GLAD_GENERATOR_VERSION "2.0.6"
144+
#define GLAD_GENERATOR_VERSION "2.0.3"
145145

146146
typedef void (*GLADapiproc)(void);
147147

thirdparty/glad/glad/gl.h

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* Loader generated by glad 2.0.6 on Fri Apr 5 08:14:44 2024
2+
* Loader generated by glad 2.0.4 on Mon May 22 13:18:29 2023
33
*
44
* SPDX-License-Identifier: (WTFPL OR CC0-1.0) AND Apache-2.0
55
*
@@ -178,7 +178,7 @@ extern "C" {
178178
#define GLAD_VERSION_MAJOR(version) (version / 10000)
179179
#define GLAD_VERSION_MINOR(version) (version % 10000)
180180

181-
#define GLAD_GENERATOR_VERSION "2.0.6"
181+
#define GLAD_GENERATOR_VERSION "2.0.4"
182182

183183
typedef void (*GLADapiproc)(void);
184184

@@ -2394,7 +2394,6 @@ typedef void (GLAD_API_PTR *PFNGLMULTITEXCOORDP3UIPROC)(GLenum texture, GLenum t
23942394
typedef void (GLAD_API_PTR *PFNGLMULTITEXCOORDP3UIVPROC)(GLenum texture, GLenum type, const GLuint * coords);
23952395
typedef void (GLAD_API_PTR *PFNGLMULTITEXCOORDP4UIPROC)(GLenum texture, GLenum type, GLuint coords);
23962396
typedef void (GLAD_API_PTR *PFNGLMULTITEXCOORDP4UIVPROC)(GLenum texture, GLenum type, const GLuint * coords);
2397-
typedef void (GLAD_API_PTR *PFNGLNAMEDFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC)(GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint baseViewIndex, GLsizei numViews);
23982397
typedef void (GLAD_API_PTR *PFNGLNEWLISTPROC)(GLuint list, GLenum mode);
23992398
typedef void (GLAD_API_PTR *PFNGLNORMAL3BPROC)(GLbyte nx, GLbyte ny, GLbyte nz);
24002399
typedef void (GLAD_API_PTR *PFNGLNORMAL3BVPROC)(const GLbyte * v);
@@ -3655,8 +3654,6 @@ GLAD_API_CALL PFNGLMULTITEXCOORDP4UIPROC glad_glMultiTexCoordP4ui;
36553654
#define glMultiTexCoordP4ui glad_glMultiTexCoordP4ui
36563655
GLAD_API_CALL PFNGLMULTITEXCOORDP4UIVPROC glad_glMultiTexCoordP4uiv;
36573656
#define glMultiTexCoordP4uiv glad_glMultiTexCoordP4uiv
3658-
GLAD_API_CALL PFNGLNAMEDFRAMEBUFFERTEXTUREMULTIVIEWOVRPROC glad_glNamedFramebufferTextureMultiviewOVR;
3659-
#define glNamedFramebufferTextureMultiviewOVR glad_glNamedFramebufferTextureMultiviewOVR
36603657
GLAD_API_CALL PFNGLNEWLISTPROC glad_glNewList;
36613658
#define glNewList glad_glNewList
36623659
GLAD_API_CALL PFNGLNORMAL3BPROC glad_glNormal3b;

thirdparty/glad/glad/glx.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/**
2-
* Loader generated by glad 2.0.6 on Fri Apr 5 08:14:31 2024
2+
* Loader generated by glad 2.0.4 on Mon May 22 13:18:29 2023
33
*
44
* SPDX-License-Identifier: (WTFPL OR CC0-1.0) AND Apache-2.0
55
*
@@ -152,7 +152,7 @@ extern "C" {
152152
#define GLAD_VERSION_MAJOR(version) (version / 10000)
153153
#define GLAD_VERSION_MINOR(version) (version % 10000)
154154

155-
#define GLAD_GENERATOR_VERSION "2.0.6"
155+
#define GLAD_GENERATOR_VERSION "2.0.4"
156156

157157
typedef void (*GLADapiproc)(void);
158158

0 commit comments

Comments
 (0)