From 0a6de472ae61a3d0f2d10d50d5c86e449183d064 Mon Sep 17 00:00:00 2001 From: bjorn Date: Sat, 10 Nov 2018 19:58:11 -0800 Subject: [PATCH] Add ARB_buffer_storage; --- src/lib/glad/glad.c | 22 ++++++++++++++++++---- src/lib/glad/glad.h | 22 +++++++++++++++++++--- 2 files changed, 37 insertions(+), 7 deletions(-) diff --git a/src/lib/glad/glad.c b/src/lib/glad/glad.c index 8633fee3..1b1e52f0 100644 --- a/src/lib/glad/glad.c +++ b/src/lib/glad/glad.c @@ -1,6 +1,6 @@ /* - OpenGL loader generated by glad 0.1.27 on Fri Aug 31 13:59:29 2018. + OpenGL loader generated by glad 0.1.28 on Sat Oct 27 17:58:15 2018. Language/Generator: C/C++ Specification: gl @@ -8,6 +8,7 @@ Profile: core Extensions: GL_AMD_vertex_shader_viewport_index, + GL_ARB_buffer_storage, GL_ARB_compute_shader, GL_ARB_fragment_layer_viewport, GL_ARB_program_interface_query, @@ -21,11 +22,12 @@ Loader: False Local files: True Omit khrplatform: True + Reproducible: False Commandline: - --profile="core" --api="gl=3.3" --generator="c" --spec="gl" --no-loader --local-files --omit-khrplatform --extensions="GL_AMD_vertex_shader_viewport_index,GL_ARB_compute_shader,GL_ARB_fragment_layer_viewport,GL_ARB_program_interface_query,GL_ARB_shader_image_load_store,GL_ARB_shader_storage_buffer_object,GL_ARB_texture_storage,GL_ARB_viewport_array,GL_EXT_texture_compression_s3tc,GL_EXT_texture_filter_anisotropic,GL_EXT_texture_sRGB" + --profile="core" --api="gl=3.3" --generator="c" --spec="gl" --no-loader --local-files --omit-khrplatform --extensions="GL_AMD_vertex_shader_viewport_index,GL_ARB_buffer_storage,GL_ARB_compute_shader,GL_ARB_fragment_layer_viewport,GL_ARB_program_interface_query,GL_ARB_shader_image_load_store,GL_ARB_shader_storage_buffer_object,GL_ARB_texture_storage,GL_ARB_viewport_array,GL_EXT_texture_compression_s3tc,GL_EXT_texture_filter_anisotropic,GL_EXT_texture_sRGB" Online: - http://glad.dav1d.de/#profile=core&language=c&specification=gl&api=gl%3D3.3&extensions=GL_AMD_vertex_shader_viewport_index&extensions=GL_ARB_compute_shader&extensions=GL_ARB_fragment_layer_viewport&extensions=GL_ARB_program_interface_query&extensions=GL_ARB_shader_image_load_store&extensions=GL_ARB_shader_storage_buffer_object&extensions=GL_ARB_texture_storage&extensions=GL_ARB_viewport_array&extensions=GL_EXT_texture_compression_s3tc&extensions=GL_EXT_texture_filter_anisotropic&extensions=GL_EXT_texture_sRGB + http://glad.dav1d.de/#profile=core&language=c&specification=gl&api=gl%3D3.3&extensions=GL_AMD_vertex_shader_viewport_index&extensions=GL_ARB_buffer_storage&extensions=GL_ARB_compute_shader&extensions=GL_ARB_fragment_layer_viewport&extensions=GL_ARB_program_interface_query&extensions=GL_ARB_shader_image_load_store&extensions=GL_ARB_shader_storage_buffer_object&extensions=GL_ARB_texture_storage&extensions=GL_ARB_viewport_array&extensions=GL_EXT_texture_compression_s3tc&extensions=GL_EXT_texture_filter_anisotropic&extensions=GL_EXT_texture_sRGB */ #include @@ -58,7 +60,11 @@ static int get_exts(void) { num_exts_i = 0; glGetIntegerv(GL_NUM_EXTENSIONS, &num_exts_i); if (num_exts_i > 0) { - exts_i = (char **)realloc((void *)exts_i, (size_t)num_exts_i * (sizeof *exts_i)); + char **tmp_exts_i = (char **)realloc((void *)exts_i, (size_t)num_exts_i * (sizeof *exts_i)); + if (tmp_exts_i == NULL) { + return 0; + } + exts_i = tmp_exts_i; } if (exts_i == NULL) { @@ -519,6 +525,7 @@ PFNGLVERTEXP4UIVPROC glad_glVertexP4uiv = NULL; PFNGLVIEWPORTPROC glad_glViewport = NULL; PFNGLWAITSYNCPROC glad_glWaitSync = NULL; int GLAD_GL_AMD_vertex_shader_viewport_index = 0; +int GLAD_GL_ARB_buffer_storage = 0; int GLAD_GL_ARB_compute_shader = 0; int GLAD_GL_ARB_fragment_layer_viewport = 0; int GLAD_GL_ARB_program_interface_query = 0; @@ -529,6 +536,7 @@ int GLAD_GL_ARB_viewport_array = 0; int GLAD_GL_EXT_texture_compression_s3tc = 0; int GLAD_GL_EXT_texture_filter_anisotropic = 0; int GLAD_GL_EXT_texture_sRGB = 0; +PFNGLBUFFERSTORAGEPROC glad_glBufferStorage = NULL; PFNGLDISPATCHCOMPUTEPROC glad_glDispatchCompute = NULL; PFNGLDISPATCHCOMPUTEINDIRECTPROC glad_glDispatchComputeIndirect = NULL; PFNGLGETPROGRAMINTERFACEIVPROC glad_glGetProgramInterfaceiv = NULL; @@ -966,6 +974,10 @@ static void load_GL_VERSION_3_3(GLADloadproc load) { glad_glSecondaryColorP3ui = (PFNGLSECONDARYCOLORP3UIPROC)load("glSecondaryColorP3ui"); glad_glSecondaryColorP3uiv = (PFNGLSECONDARYCOLORP3UIVPROC)load("glSecondaryColorP3uiv"); } +static void load_GL_ARB_buffer_storage(GLADloadproc load) { + if(!GLAD_GL_ARB_buffer_storage) return; + glad_glBufferStorage = (PFNGLBUFFERSTORAGEPROC)load("glBufferStorage"); +} static void load_GL_ARB_compute_shader(GLADloadproc load) { if(!GLAD_GL_ARB_compute_shader) return; glad_glDispatchCompute = (PFNGLDISPATCHCOMPUTEPROC)load("glDispatchCompute"); @@ -1011,6 +1023,7 @@ static void load_GL_ARB_viewport_array(GLADloadproc load) { static int find_extensionsGL(void) { if (!get_exts()) return 0; GLAD_GL_AMD_vertex_shader_viewport_index = has_ext("GL_AMD_vertex_shader_viewport_index"); + GLAD_GL_ARB_buffer_storage = has_ext("GL_ARB_buffer_storage"); GLAD_GL_ARB_compute_shader = has_ext("GL_ARB_compute_shader"); GLAD_GL_ARB_fragment_layer_viewport = has_ext("GL_ARB_fragment_layer_viewport"); GLAD_GL_ARB_program_interface_query = has_ext("GL_ARB_program_interface_query"); @@ -1099,6 +1112,7 @@ int gladLoadGLLoader(GLADloadproc load) { load_GL_VERSION_3_3(load); if (!find_extensionsGL()) return 0; + load_GL_ARB_buffer_storage(load); load_GL_ARB_compute_shader(load); load_GL_ARB_program_interface_query(load); load_GL_ARB_shader_image_load_store(load); diff --git a/src/lib/glad/glad.h b/src/lib/glad/glad.h index 6f6d7821..054019c0 100644 --- a/src/lib/glad/glad.h +++ b/src/lib/glad/glad.h @@ -1,6 +1,6 @@ /* - OpenGL loader generated by glad 0.1.27 on Fri Aug 31 13:59:29 2018. + OpenGL loader generated by glad 0.1.28 on Sat Oct 27 17:58:15 2018. Language/Generator: C/C++ Specification: gl @@ -8,6 +8,7 @@ Profile: core Extensions: GL_AMD_vertex_shader_viewport_index, + GL_ARB_buffer_storage, GL_ARB_compute_shader, GL_ARB_fragment_layer_viewport, GL_ARB_program_interface_query, @@ -21,11 +22,12 @@ Loader: False Local files: True Omit khrplatform: True + Reproducible: False Commandline: - --profile="core" --api="gl=3.3" --generator="c" --spec="gl" --no-loader --local-files --omit-khrplatform --extensions="GL_AMD_vertex_shader_viewport_index,GL_ARB_compute_shader,GL_ARB_fragment_layer_viewport,GL_ARB_program_interface_query,GL_ARB_shader_image_load_store,GL_ARB_shader_storage_buffer_object,GL_ARB_texture_storage,GL_ARB_viewport_array,GL_EXT_texture_compression_s3tc,GL_EXT_texture_filter_anisotropic,GL_EXT_texture_sRGB" + --profile="core" --api="gl=3.3" --generator="c" --spec="gl" --no-loader --local-files --omit-khrplatform --extensions="GL_AMD_vertex_shader_viewport_index,GL_ARB_buffer_storage,GL_ARB_compute_shader,GL_ARB_fragment_layer_viewport,GL_ARB_program_interface_query,GL_ARB_shader_image_load_store,GL_ARB_shader_storage_buffer_object,GL_ARB_texture_storage,GL_ARB_viewport_array,GL_EXT_texture_compression_s3tc,GL_EXT_texture_filter_anisotropic,GL_EXT_texture_sRGB" Online: - http://glad.dav1d.de/#profile=core&language=c&specification=gl&api=gl%3D3.3&extensions=GL_AMD_vertex_shader_viewport_index&extensions=GL_ARB_compute_shader&extensions=GL_ARB_fragment_layer_viewport&extensions=GL_ARB_program_interface_query&extensions=GL_ARB_shader_image_load_store&extensions=GL_ARB_shader_storage_buffer_object&extensions=GL_ARB_texture_storage&extensions=GL_ARB_viewport_array&extensions=GL_EXT_texture_compression_s3tc&extensions=GL_EXT_texture_filter_anisotropic&extensions=GL_EXT_texture_sRGB + http://glad.dav1d.de/#profile=core&language=c&specification=gl&api=gl%3D3.3&extensions=GL_AMD_vertex_shader_viewport_index&extensions=GL_ARB_buffer_storage&extensions=GL_ARB_compute_shader&extensions=GL_ARB_fragment_layer_viewport&extensions=GL_ARB_program_interface_query&extensions=GL_ARB_shader_image_load_store&extensions=GL_ARB_shader_storage_buffer_object&extensions=GL_ARB_texture_storage&extensions=GL_ARB_viewport_array&extensions=GL_EXT_texture_compression_s3tc&extensions=GL_EXT_texture_filter_anisotropic&extensions=GL_EXT_texture_sRGB */ @@ -2202,6 +2204,13 @@ typedef void (APIENTRYP PFNGLSECONDARYCOLORP3UIVPROC)(GLenum type, const GLuint GLAPI PFNGLSECONDARYCOLORP3UIVPROC glad_glSecondaryColorP3uiv; #define glSecondaryColorP3uiv glad_glSecondaryColorP3uiv #endif +#define GL_MAP_PERSISTENT_BIT 0x0040 +#define GL_MAP_COHERENT_BIT 0x0080 +#define GL_DYNAMIC_STORAGE_BIT 0x0100 +#define GL_CLIENT_STORAGE_BIT 0x0200 +#define GL_CLIENT_MAPPED_BUFFER_BARRIER_BIT 0x00004000 +#define GL_BUFFER_IMMUTABLE_STORAGE 0x821F +#define GL_BUFFER_STORAGE_FLAGS 0x8220 #define GL_COMPUTE_SHADER 0x91B9 #define GL_MAX_COMPUTE_UNIFORM_BLOCKS 0x91BB #define GL_MAX_COMPUTE_TEXTURE_IMAGE_UNITS 0x91BC @@ -2383,6 +2392,13 @@ GLAPI PFNGLSECONDARYCOLORP3UIVPROC glad_glSecondaryColorP3uiv; #define GL_AMD_vertex_shader_viewport_index 1 GLAPI int GLAD_GL_AMD_vertex_shader_viewport_index; #endif +#ifndef GL_ARB_buffer_storage +#define GL_ARB_buffer_storage 1 +GLAPI int GLAD_GL_ARB_buffer_storage; +typedef void (APIENTRYP PFNGLBUFFERSTORAGEPROC)(GLenum target, GLsizeiptr size, const void *data, GLbitfield flags); +GLAPI PFNGLBUFFERSTORAGEPROC glad_glBufferStorage; +#define glBufferStorage glad_glBufferStorage +#endif #ifndef GL_ARB_compute_shader #define GL_ARB_compute_shader 1 GLAPI int GLAD_GL_ARB_compute_shader;