Changeset 28108

Timestamp:
Jun 12, 2024, 1:12:27 AM (6 weeks ago)
Author:
Vladislav Belov
Message:

Adds shader storage buffer object to GL extensions.

Differential Revision: https://code.wildfiregames.com/D5283

Location:
ps/trunk/libraries/source/glad
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • ps/trunk/libraries/source/glad/extensions/gl.txt

    r27760 r28108  
    1414GL_ARB_shader_image_load_store
    1515GL_ARB_shader_objects
     16
    1617GL_ARB_shading_language_100
    1718GL_ARB_sync
  • ps/trunk/libraries/source/glad/include/glad/gl.h

    r27760 r28108  
    11/**
    2  * Loader generated by glad 2.0.4 on Sat Jul 15 00:18:29 2023
     2 * Loader generated by glad 2.0.
    33 *
    44 * SPDX-License-Identifier: (WTFPL OR CC0-1.0) AND Apache-2.0
     
    66 * Generator: C/C++
    77 * Specification: gl
    8  * Extensions: 42
     8 * Extensions: 4
    99 *
    1010 * APIs:
     
    1212 *
    1313 * Options:
     14
     15
    1416 *  - ALIAS = False
     17
    1518 *  - DEBUG = False
    16  *  - HEADER_ONLY = False
    17  *  - LOADER = False
    1819 *  - MX = False
    19  *  - ON_DEMAND = False
    2020 *
    2121 * Commandline:
    22  *    --api='gl:core=2.1' --extensions='GL_ARB_compute_shader,GL_ARB_draw_buffers,GL_ARB_draw_instanced,GL_ARB_fragment_program,GL_ARB_fragment_shader,GL_ARB_framebuffer_object,GL_ARB_framebuffer_sRGB,GL_ARB_geometry_shader4,GL_ARB_instanced_arrays,GL_ARB_invalidate_subdata,GL_ARB_map_buffer_range,GL_ARB_multitexture,GL_ARB_occlusion_query,GL_ARB_shader_image_load_store,GL_ARB_shader_objects,GL_ARB_shading_language_100,GL_ARB_sync,GL_ARB_texture_compression,GL_ARB_texture_compression_bptc,GL_ARB_texture_float,GL_ARB_texture_multisample,GL_ARB_texture_rectangle,GL_ARB_timer_query,GL_ARB_vertex_buffer_object,GL_ARB_vertex_program,GL_ARB_vertex_shader,GL_EXT_bgra,GL_EXT_blend_color,GL_EXT_blend_minmax,GL_EXT_draw_range_elements,GL_EXT_framebuffer_blit,GL_EXT_framebuffer_multisample,GL_EXT_framebuffer_object,GL_EXT_gpu_shader4,GL_EXT_packed_depth_stencil,GL_EXT_texture_array,GL_EXT_texture_compression_s3tc,GL_EXT_texture_filter_anisotropic,GL_EXT_texture_lod_bias,GL_EXT_texture_sRGB,GL_EXT_transform_feedback,GL_KHR_debug' c
     22 *    --api='gl:core=2.1' --extensions='GL_ARB_compute_shader,GL_ARB_draw_buffers,GL_ARB_draw_instanced,GL_ARB_fragment_program,GL_ARB_fragment_shader,GL_ARB_framebuffer_object,GL_ARB_framebuffer_sRGB,GL_ARB_geometry_shader4,GL_ARB_instanced_arrays,GL_ARB_invalidate_subdata,GL_ARB_map_buffer_range,GL_ARB_multitexture,GL_ARB_occlusion_query,GL_ARB_shader_image_load_store,GL_ARB_shader_objects,GL_ARB_shading_language_100,GL_ARB_sync,GL_ARB_texture_compression,GL_ARB_texture_compression_bptc,GL_ARB_texture_float,GL_ARB_texture_multisample,GL_ARB_texture_rectangle,GL_ARB_timer_query,GL_ARB_vertex_buffer_object,GL_ARB_vertex_program,GL_ARB_vertex_shader,GL_EXT_bgra,GL_EXT_blend_color,GL_EXT_blend_minmax,GL_EXT_draw_range_elements,GL_EXT_framebuffer_blit,GL_EXT_framebuffer_multisample,GL_EXT_framebuffer_object,GL_EXT_gpu_shader4,GL_EXT_packed_depth_stencil,GL_EXT_texture_array,GL_EXT_texture_compression_s3tc,GL_EXT_texture_filter_anisotropic,GL_EXT_texture_lod_bias,GL_EXT_texture_sRGB,GL_EXT_transform_feedback,GL_KHR_debug' c
    2323 *
    2424 * Online:
    25  *    http://glad.sh/#api=gl%3Acore%3D2.1&extensions=GL_ARB_compute_shader%2CGL_ARB_draw_buffers%2CGL_ARB_draw_instanced%2CGL_ARB_fragment_program%2CGL_ARB_fragment_shader%2CGL_ARB_framebuffer_object%2CGL_ARB_framebuffer_sRGB%2CGL_ARB_geometry_shader4%2CGL_ARB_instanced_arrays%2CGL_ARB_invalidate_subdata%2CGL_ARB_map_buffer_range%2CGL_ARB_multitexture%2CGL_ARB_occlusion_query%2CGL_ARB_shader_image_load_store%2CGL_ARB_shader_objects%2CGL_ARB_shading_language_100%2CGL_ARB_sync%2CGL_ARB_texture_compression%2CGL_ARB_texture_compression_bptc%2CGL_ARB_texture_float%2CGL_ARB_texture_multisample%2CGL_ARB_texture_rectangle%2CGL_ARB_timer_query%2CGL_ARB_vertex_buffer_object%2CGL_ARB_vertex_program%2CGL_ARB_vertex_shader%2CGL_EXT_bgra%2CGL_EXT_blend_color%2CGL_EXT_blend_minmax%2CGL_EXT_draw_range_elements%2CGL_EXT_framebuffer_blit%2CGL_EXT_framebuffer_multisample%2CGL_EXT_framebuffer_object%2CGL_EXT_gpu_shader4%2CGL_EXT_packed_depth_stencil%2CGL_EXT_texture_array%2CGL_EXT_texture_compression_s3tc%2CGL_EXT_texture_filter_anisotropic%2CGL_EXT_texture_lod_bias%2CGL_EXT_texture_sRGB%2CGL_EXT_transform_feedback%2CGL_KHR_debug&generator=c&options=
     25 *    http://glad.sh/#api=gl%3Acore%3D2.1&extensions=GL_ARB_compute_shader%2CGL_ARB_draw_buffers%2CGL_ARB_draw_instanced%2CGL_ARB_fragment_program%2CGL_ARB_fragment_shader%2CGL_ARB_framebuffer_object%2CGL_ARB_framebuffer_sRGB%2CGL_ARB_geometry_shader4%2CGL_ARB_instanced_arrays%2CGL_ARB_invalidate_subdata%2CGL_ARB_map_buffer_range%2CGL_ARB_multitexture%2CGL_ARB_occlusion_query%2CGL_ARB_shader_image_load_store%2CGL_ARB_shader_objects%2CGL_ARB_shading_language_100%2CGL_ARB_sync%2CGL_ARB_texture_compression%2CGL_ARB_texture_compression_bptc%2CGL_ARB_texture_float%2CGL_ARB_texture_multisample%2CGL_ARB_texture_rectangle%2CGL_ARB_timer_query%2CGL_ARB_vertex_buffer_object%2CGL_ARB_vertex_program%2CGL_ARB_vertex_shader%2CGL_EXT_bgra%2CGL_EXT_blend_color%2CGL_EXT_blend_minmax%2CGL_EXT_draw_range_elements%2CGL_EXT_framebuffer_blit%2CGL_EXT_framebuffer_multisample%2CGL_EXT_framebuffer_object%2CGL_EXT_gpu_shader4%2CGL_EXT_packed_depth_stencil%2CGL_EXT_texture_array%2CGL_EXT_texture_compression_s3tc%2CGL_EXT_texture_filter_anisotropic%2CGL_EXT_texture_lod_bias%2CGL_EXT_texture_sRGB%2CGL_EXT_transform_feedback%2CGL_KHR_debug&generator=c&options=
    2626 *
    2727 */
     
    164164#define GLAD_VERSION_MINOR(version) (version % 10000)
    165165
    166 #define GLAD_GENERATOR_VERSION "2.0.4"
     166#define GLAD_GENERATOR_VERSION "2.0."
    167167
    168168typedef void (*GLADapiproc)(void);
     
    912912#define GL_MAX_COMBINED_IMAGE_UNIFORMS 0x90CF
    913913#define GL_MAX_COMBINED_IMAGE_UNITS_AND_FRAGMENT_OUTPUTS 0x8F39
     914
     915
    914916#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS 0x8B4D
    915917#define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB 0x8B4D
     
    917919#define GL_MAX_COMPUTE_ATOMIC_COUNTER_BUFFERS 0x8264
    918920#define GL_MAX_COMPUTE_IMAGE_UNIFORMS 0x91BD
     921
    919922#define GL_MAX_COMPUTE_SHARED_MEMORY_SIZE 0x8262
    920923#define GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS 0x91BC
     
    938941#define GL_MAX_EXT 0x8008
    939942#define GL_MAX_FRAGMENT_IMAGE_UNIFORMS 0x90CE
     943
    940944#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS 0x8B49
    941945#define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB 0x8B49
    942946#define GL_MAX_GEOMETRY_IMAGE_UNIFORMS 0x90CD
    943947#define GL_MAX_GEOMETRY_OUTPUT_VERTICES_ARB 0x8DE0
     948
    944949#define GL_MAX_GEOMETRY_TEXTURE_IMAGE_UNITS_ARB 0x8C29
    945950#define GL_MAX_GEOMETRY_TOTAL_OUTPUT_COMPONENTS_ARB 0x8DE1
     
    984989#define GL_MAX_SAMPLE_MASK_WORDS 0x8E59
    985990#define GL_MAX_SERVER_WAIT_TIMEOUT 0x9111
     991
     992
    986993#define GL_MAX_TESS_CONTROL_IMAGE_UNIFORMS 0x90CB
     994
    987995#define GL_MAX_TESS_EVALUATION_IMAGE_UNIFORMS 0x90CC
     996
    988997#define GL_MAX_TEXTURE_COORDS 0x8871
    989998#define GL_MAX_TEXTURE_COORDS_ARB 0x8871
     
    10071016#define GL_MAX_VERTEX_ATTRIBS_ARB 0x8869
    10081017#define GL_MAX_VERTEX_IMAGE_UNIFORMS 0x90CA
     1018
    10091019#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS 0x8B4C
    10101020#define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8B4C
     
    13281338#define GL_SHADER_OBJECT_ARB 0x8B48
    13291339#define GL_SHADER_SOURCE_LENGTH 0x8B88
     1340
     1341
     1342
     1343
     1344
     1345
    13301346#define GL_SHADER_TYPE 0x8B4F
    13311347#define GL_SHADE_MODEL 0x0B54
     
    18401856#define GL_ARB_shader_objects 1
    18411857GLAD_API_CALL int GLAD_GL_ARB_shader_objects;
     1858
     1859
    18421860#define GL_ARB_shading_language_100 1
    18431861GLAD_API_CALL int GLAD_GL_ARB_shading_language_100;
     
    24782496typedef void (GLAD_API_PTR *PFNGLSHADERSOURCEPROC)(GLuint shader, GLsizei count, const GLchar *const* string, const GLint * length);
    24792497typedef void (GLAD_API_PTR *PFNGLSHADERSOURCEARBPROC)(GLhandleARB shaderObj, GLsizei count, const GLcharARB ** string, const GLint * length);
     2498
    24802499typedef void (GLAD_API_PTR *PFNGLSTENCILFUNCPROC)(GLenum func, GLint ref, GLuint mask);
    24812500typedef void (GLAD_API_PTR *PFNGLSTENCILFUNCSEPARATEPROC)(GLenum face, GLenum func, GLint ref, GLuint mask);
     
    39043923GLAD_API_CALL PFNGLSHADERSOURCEARBPROC glad_glShaderSourceARB;
    39053924#define glShaderSourceARB glad_glShaderSourceARB
     3925
     3926
    39063927GLAD_API_CALL PFNGLSTENCILFUNCPROC glad_glStencilFunc;
    39073928#define glStencilFunc glad_glStencilFunc
  • ps/trunk/libraries/source/glad/src/gl.cpp

    r27760 r28108  
    4747int GLAD_GL_ARB_shader_image_load_store = 0;
    4848int GLAD_GL_ARB_shader_objects = 0;
     49
    4950int GLAD_GL_ARB_shading_language_100 = 0;
    5051int GLAD_GL_ARB_sync = 0;
     
    659660PFNGLSHADERSOURCEPROC glad_glShaderSource = NULL;
    660661PFNGLSHADERSOURCEARBPROC glad_glShaderSourceARB = NULL;
     662
    661663PFNGLSTENCILFUNCPROC glad_glStencilFunc = NULL;
    662664PFNGLSTENCILFUNCSEPARATEPROC glad_glStencilFuncSeparate = NULL;
     
    16761678    glad_glValidateProgramARB = (PFNGLVALIDATEPROGRAMARBPROC) load(userptr, "glValidateProgramARB");
    16771679}
     1680
     1681
     1682
     1683
    16781684static void glad_gl_load_GL_ARB_sync( GLADuserptrloadfunc load, void* userptr) {
    16791685    if(!GLAD_GL_ARB_sync) return;
     
    19451951
    19461952
     1953
     1954
     1955
     1956
     1957
     1958
     1959
     1960
     1961
     1962
     1963
    19471964#if defined(GL_ES_VERSION_3_0) || defined(GL_VERSION_3_0)
    1948 #define GLAD_GL_IS_SOME_NEW_VERSION 1
    1949 #else
    1950 #define GLAD_GL_IS_SOME_NEW_VERSION 0
    1951 #endif
    1952 
    1953 static int glad_gl_get_extensions( int version, const char **out_exts, unsigned int *out_num_exts_i, char ***out_exts_i) {
    1954 #if GLAD_GL_IS_SOME_NEW_VERSION
    1955     if(GLAD_VERSION_MAJOR(version) < 3) {
    1956 #else
    1957     GLAD_UNUSED(version);
    1958     GLAD_UNUSED(out_num_exts_i);
    1959     GLAD_UNUSED(out_exts_i);
    1960 #endif
    1961         if (glad_glGetString == NULL) {
    1962             return 0;
    1963         }
    1964         *out_exts = (const char *)glad_glGetString(GL_EXTENSIONS);
    1965 #if GLAD_GL_IS_SOME_NEW_VERSION
    1966     } else {
     1965    if (glad_glGetStringi != NULL && glad_glGetIntegerv != NULL) {
    19671966        unsigned int index = 0;
    19681967        unsigned int num_exts_i = 0;
    19691968        char **exts_i = NULL;
    1970         if (glad_glGetStringi == NULL || glad_glGetIntegerv == NULL) {
    1971             return 0;
    1972         }
    19731969        glad_glGetIntegerv(GL_NUM_EXTENSIONS, (int*) &num_exts_i);
    1974         if (num_exts_i > 0) {
    1975             exts_i = (char **) malloc(num_exts_i * (sizeof *exts_i));
    1976         }
     1970        exts_i = (char **) malloc((num_exts_i + 1) * (sizeof *exts_i));
    19771971        if (exts_i == NULL) {
    19781972            return 0;
     
    19831977
    19841978            char *local_str = (char*) malloc(len * sizeof(char));
    1985             if(local_str != NULL) {
    1986                 memcpy(local_str, gl_str_tmp, len * sizeof(char));
     1979            if(local_str == NULL) {
     1980                exts_i[index] = NULL;
     1981                glad_gl_free_extensions(exts_i);
     1982                return 0;
    19871983            }
    19881984
     1985
    19891986            exts_i[index] = local_str;
    19901987        }
    1991 
    1992         *out_num_exts_i = num_exts_i;
     1988        exts_i[index] = NULL;
     1989
    19931990        *out_exts_i = exts_i;
     1991
     1992
    19941993    }
     1994
     1995
    19951996#endif
     1997
     1998
     1999
     2000
    19962001    return 1;
    19972002}
    1998 static void glad_gl_free_extensions(char **exts_i, unsigned int num_exts_i) {
    1999     if (exts_i != NULL) {
     2003static ) {
     2004    if) {
    20002005        unsigned int index;
    2001         for(index = 0; index < num_exts_i; index++) {
    2002             free((void *) (exts_i[index]));
     2006        for(index = 0; exts_i[index]; index++) {
     2007            const char *e = exts_i[index];
     2008            if(strcmp(e, ext) == 0) {
     2009                return 1;
     2010            }
    20032011        }
    2004         free((void *)exts_i);
    2005         exts_i = NULL;
    2006     }
    2007 }
    2008 static int glad_gl_has_extension(int version, const char *exts, unsigned int num_exts_i, char **exts_i, const char *ext) {
    2009     if(GLAD_VERSION_MAJOR(version) < 3 || !GLAD_GL_IS_SOME_NEW_VERSION) {
     2012    } else {
    20102013        const char *extensions;
    20112014        const char *loc;
     
    20272030            extensions = terminator;
    20282031        }
    2029     } else {
    2030         unsigned int index;
    2031         for(index = 0; index < num_exts_i; index++) {
    2032             const char *e = exts_i[index];
    2033             if(strcmp(e, ext) == 0) {
    2034                 return 1;
    2035             }
    2036         }
    20372032    }
    20382033    return 0;
     
    20432038}
    20442039
    2045 static int glad_gl_find_extensions_gl( int version) {
     2040static int glad_gl_find_extensions_gl() {
    20462041    const char *exts = NULL;
    2047     unsigned int num_exts_i = 0;
    20482042    char **exts_i = NULL;
    2049     if (!glad_gl_get_extensions(version, &exts, &num_exts_i, &exts_i)) return 0;
    2050 
    2051     GLAD_GL_ARB_compute_shader = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_ARB_compute_shader");
    2052     GLAD_GL_ARB_draw_buffers = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_ARB_draw_buffers");
    2053     GLAD_GL_ARB_draw_instanced = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_ARB_draw_instanced");
    2054     GLAD_GL_ARB_fragment_program = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_ARB_fragment_program");
    2055     GLAD_GL_ARB_fragment_shader = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_ARB_fragment_shader");
    2056     GLAD_GL_ARB_framebuffer_object = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_ARB_framebuffer_object");
    2057     GLAD_GL_ARB_framebuffer_sRGB = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_ARB_framebuffer_sRGB");
    2058     GLAD_GL_ARB_geometry_shader4 = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_ARB_geometry_shader4");
    2059     GLAD_GL_ARB_instanced_arrays = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_ARB_instanced_arrays");
    2060     GLAD_GL_ARB_invalidate_subdata = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_ARB_invalidate_subdata");
    2061     GLAD_GL_ARB_map_buffer_range = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_ARB_map_buffer_range");
    2062     GLAD_GL_ARB_multitexture = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_ARB_multitexture");
    2063     GLAD_GL_ARB_occlusion_query = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_ARB_occlusion_query");
    2064     GLAD_GL_ARB_shader_image_load_store = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_ARB_shader_image_load_store");
    2065     GLAD_GL_ARB_shader_objects = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_ARB_shader_objects");
    2066     GLAD_GL_ARB_shading_language_100 = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_ARB_shading_language_100");
    2067     GLAD_GL_ARB_sync = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_ARB_sync");
    2068     GLAD_GL_ARB_texture_compression = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_ARB_texture_compression");
    2069     GLAD_GL_ARB_texture_compression_bptc = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_ARB_texture_compression_bptc");
    2070     GLAD_GL_ARB_texture_float = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_ARB_texture_float");
    2071     GLAD_GL_ARB_texture_multisample = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_ARB_texture_multisample");
    2072     GLAD_GL_ARB_texture_rectangle = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_ARB_texture_rectangle");
    2073     GLAD_GL_ARB_timer_query = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_ARB_timer_query");
    2074     GLAD_GL_ARB_vertex_buffer_object = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_ARB_vertex_buffer_object");
    2075     GLAD_GL_ARB_vertex_program = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_ARB_vertex_program");
    2076     GLAD_GL_ARB_vertex_shader = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_ARB_vertex_shader");
    2077     GLAD_GL_EXT_bgra = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_EXT_bgra");
    2078     GLAD_GL_EXT_blend_color = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_EXT_blend_color");
    2079     GLAD_GL_EXT_blend_minmax = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_EXT_blend_minmax");
    2080     GLAD_GL_EXT_draw_range_elements = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_EXT_draw_range_elements");
    2081     GLAD_GL_EXT_framebuffer_blit = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_EXT_framebuffer_blit");
    2082     GLAD_GL_EXT_framebuffer_multisample = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_EXT_framebuffer_multisample");
    2083     GLAD_GL_EXT_framebuffer_object = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_EXT_framebuffer_object");
    2084     GLAD_GL_EXT_gpu_shader4 = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_EXT_gpu_shader4");
    2085     GLAD_GL_EXT_packed_depth_stencil = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_EXT_packed_depth_stencil");
    2086     GLAD_GL_EXT_texture_array = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_EXT_texture_array");
    2087     GLAD_GL_EXT_texture_compression_s3tc = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_EXT_texture_compression_s3tc");
    2088     GLAD_GL_EXT_texture_filter_anisotropic = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_EXT_texture_filter_anisotropic");
    2089     GLAD_GL_EXT_texture_lod_bias = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_EXT_texture_lod_bias");
    2090     GLAD_GL_EXT_texture_sRGB = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_EXT_texture_sRGB");
    2091     GLAD_GL_EXT_transform_feedback = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_EXT_transform_feedback");
    2092     GLAD_GL_KHR_debug = glad_gl_has_extension(version, exts, num_exts_i, exts_i, "GL_KHR_debug");
    2093 
    2094     glad_gl_free_extensions(exts_i, num_exts_i);
     2043    if (!glad_gl_get_extensions(&exts, &exts_i)) return 0;
     2044
     2045    GLAD_GL_ARB_compute_shader = glad_gl_has_extension(exts, exts_i, "GL_ARB_compute_shader");
     2046    GLAD_GL_ARB_draw_buffers = glad_gl_has_extension(exts, exts_i, "GL_ARB_draw_buffers");
     2047    GLAD_GL_ARB_draw_instanced = glad_gl_has_extension(exts, exts_i, "GL_ARB_draw_instanced");
     2048    GLAD_GL_ARB_fragment_program = glad_gl_has_extension(exts, exts_i, "GL_ARB_fragment_program");
     2049    GLAD_GL_ARB_fragment_shader = glad_gl_has_extension(exts, exts_i, "GL_ARB_fragment_shader");
     2050    GLAD_GL_ARB_framebuffer_object = glad_gl_has_extension(exts, exts_i, "GL_ARB_framebuffer_object");
     2051    GLAD_GL_ARB_framebuffer_sRGB = glad_gl_has_extension(exts, exts_i, "GL_ARB_framebuffer_sRGB");
     2052    GLAD_GL_ARB_geometry_shader4 = glad_gl_has_extension(exts, exts_i, "GL_ARB_geometry_shader4");
     2053    GLAD_GL_ARB_instanced_arrays = glad_gl_has_extension(exts, exts_i, "GL_ARB_instanced_arrays");
     2054    GLAD_GL_ARB_invalidate_subdata = glad_gl_has_extension(exts, exts_i, "GL_ARB_invalidate_subdata");
     2055    GLAD_GL_ARB_map_buffer_range = glad_gl_has_extension(exts, exts_i, "GL_ARB_map_buffer_range");
     2056    GLAD_GL_ARB_multitexture = glad_gl_has_extension(exts, exts_i, "GL_ARB_multitexture");
     2057    GLAD_GL_ARB_occlusion_query = glad_gl_has_extension(exts, exts_i, "GL_ARB_occlusion_query");
     2058    GLAD_GL_ARB_shader_image_load_store = glad_gl_has_extension(exts, exts_i, "GL_ARB_shader_image_load_store");
     2059    GLAD_GL_ARB_shader_objects = glad_gl_has_extension(exts, exts_i, "GL_ARB_shader_objects");
     2060    GLAD_GL_ARB_shader_storage_buffer_object = glad_gl_has_extension(exts, exts_i, "GL_ARB_shader_storage_buffer_object");
     2061    GLAD_GL_ARB_shading_language_100 = glad_gl_has_extension(exts, exts_i, "GL_ARB_shading_language_100");
     2062    GLAD_GL_ARB_sync = glad_gl_has_extension(exts, exts_i, "GL_ARB_sync");
     2063    GLAD_GL_ARB_texture_compression = glad_gl_has_extension(exts, exts_i, "GL_ARB_texture_compression");
     2064    GLAD_GL_ARB_texture_compression_bptc = glad_gl_has_extension(exts, exts_i, "GL_ARB_texture_compression_bptc");
     2065    GLAD_GL_ARB_texture_float = glad_gl_has_extension(exts, exts_i, "GL_ARB_texture_float");
     2066    GLAD_GL_ARB_texture_multisample = glad_gl_has_extension(exts, exts_i, "GL_ARB_texture_multisample");
     2067    GLAD_GL_ARB_texture_rectangle = glad_gl_has_extension(exts, exts_i, "GL_ARB_texture_rectangle");
     2068    GLAD_GL_ARB_timer_query = glad_gl_has_extension(exts, exts_i, "GL_ARB_timer_query");
     2069    GLAD_GL_ARB_vertex_buffer_object = glad_gl_has_extension(exts, exts_i, "GL_ARB_vertex_buffer_object");
     2070    GLAD_GL_ARB_vertex_program = glad_gl_has_extension(exts, exts_i, "GL_ARB_vertex_program");
     2071    GLAD_GL_ARB_vertex_shader = glad_gl_has_extension(exts, exts_i, "GL_ARB_vertex_shader");
     2072    GLAD_GL_EXT_bgra = glad_gl_has_extension(exts, exts_i, "GL_EXT_bgra");
     2073    GLAD_GL_EXT_blend_color = glad_gl_has_extension(exts, exts_i, "GL_EXT_blend_color");
     2074    GLAD_GL_EXT_blend_minmax = glad_gl_has_extension(exts, exts_i, "GL_EXT_blend_minmax");
     2075    GLAD_GL_EXT_draw_range_elements = glad_gl_has_extension(exts, exts_i, "GL_EXT_draw_range_elements");
     2076    GLAD_GL_EXT_framebuffer_blit = glad_gl_has_extension(exts, exts_i, "GL_EXT_framebuffer_blit");
     2077    GLAD_GL_EXT_framebuffer_multisample = glad_gl_has_extension(exts, exts_i, "GL_EXT_framebuffer_multisample");
     2078    GLAD_GL_EXT_framebuffer_object = glad_gl_has_extension(exts, exts_i, "GL_EXT_framebuffer_object");
     2079    GLAD_GL_EXT_gpu_shader4 = glad_gl_has_extension(exts, exts_i, "GL_EXT_gpu_shader4");
     2080    GLAD_GL_EXT_packed_depth_stencil = glad_gl_has_extension(exts, exts_i, "GL_EXT_packed_depth_stencil");
     2081    GLAD_GL_EXT_texture_array = glad_gl_has_extension(exts, exts_i, "GL_EXT_texture_array");
     2082    GLAD_GL_EXT_texture_compression_s3tc = glad_gl_has_extension(exts, exts_i, "GL_EXT_texture_compression_s3tc");
     2083    GLAD_GL_EXT_texture_filter_anisotropic = glad_gl_has_extension(exts, exts_i, "GL_EXT_texture_filter_anisotropic");
     2084    GLAD_GL_EXT_texture_lod_bias = glad_gl_has_extension(exts, exts_i, "GL_EXT_texture_lod_bias");
     2085    GLAD_GL_EXT_texture_sRGB = glad_gl_has_extension(exts, exts_i, "GL_EXT_texture_sRGB");
     2086    GLAD_GL_EXT_transform_feedback = glad_gl_has_extension(exts, exts_i, "GL_EXT_transform_feedback");
     2087    GLAD_GL_KHR_debug = glad_gl_has_extension(exts, exts_i, "GL_KHR_debug");
     2088
     2089    glad_gl_free_extensions(exts_i);
    20952090
    20962091    return 1;
     
    21382133    glad_glGetString = (PFNGLGETSTRINGPROC) load(userptr, "glGetString");
    21392134    if(glad_glGetString == NULL) return 0;
    2140     if(glad_glGetString(GL_VERSION) == NULL) return 0;
    21412135    version = glad_gl_find_core_gl();
    21422136
     
    21502144    glad_gl_load_GL_VERSION_2_1(load, userptr);
    21512145
    2152     if (!glad_gl_find_extensions_gl(version)) return 0;
     2146    if (!glad_gl_find_extensions_gl()) return 0;
    21532147    glad_gl_load_GL_ARB_compute_shader(load, userptr);
    21542148    glad_gl_load_GL_ARB_draw_buffers(load, userptr);
     
    21642158    glad_gl_load_GL_ARB_shader_image_load_store(load, userptr);
    21652159    glad_gl_load_GL_ARB_shader_objects(load, userptr);
     2160
    21662161    glad_gl_load_GL_ARB_sync(load, userptr);
    21672162    glad_gl_load_GL_ARB_texture_compression(load, userptr);
Note: See TracChangeset for help on using the changeset viewer.