diff --git a/.gitattributes b/.gitattributes index 6bd6429..b49408f 100644 --- a/.gitattributes +++ b/.gitattributes @@ -2,3 +2,4 @@ *.png binary build/*/* text eol=crlf CMakeLists.txt text eol=lf +build/cmake/* text eol=lf diff --git a/.gitignore b/.gitignore index 0cdd347..8e9527a 100644 --- a/.gitignore +++ b/.gitignore @@ -15,3 +15,4 @@ /bin /lib /tmp +/out diff --git a/auto/Makefile b/auto/Makefile index a10d44a..91b68ed 100644 --- a/auto/Makefile +++ b/auto/Makefile @@ -245,75 +245,6 @@ $(S.DEST)/glew.c: $(EXT)/.dummy perl -e "s/\(\(glColorSubTable = /((glBlendEquation = (PFNGLBLENDEQUATIONPROC)glewGetProcAddress((const GLubyte*)\"glBlendEquation\")) == NULL) || r;\n r = ((glColorSubTable = /g" -pi $@ rm -f $@.bak -$(S.DEST)/glew_def.c: $(EXT)/.dummy - cp -f $(SRC)/glew_license.h $@ - echo -e "#include \"glew_utils.h\"\n\n#if !defined(_WIN32) || !defined(GLEW_MX)" >> $@ - $(BIN)/make_def_fun.pl GL $(GL_CORE_SPEC) >> $@ - $(BIN)/make_def_fun.pl GL $(GL_EXT_SPEC) >> $@ - echo -e "\n#endif /* !WIN32 || !GLEW_MX */" >> $@ - echo -e "\n#if !defined(GLEW_MX)\n\nGLboolean __GLEW_VERSION_1_1 = GL_FALSE;" >> $@ - $(BIN)/make_def_var.pl GL $(GL_CORE_SPEC) >> $@ - $(BIN)/make_def_var.pl GL $(GL_EXT_SPEC) >> $@ - echo -e "\n#if defined(_WIN32)" >> $@ - $(BIN)/make_def_fun.pl WGL $(WGL_EXT_SPEC) >> $@ - $(BIN)/make_def_var.pl WGL $(WGL_EXT_SPEC) >> $@ - echo -e "\n#endif /* _WIN32 */" >> $@ - echo -e "\n#endif /* !GLEW_MX */" >> $@; - echo -e "\n#if !defined(_WIN32) && !defined(__ANDROID__) && !defined(__native_client__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX))" >> $@ - $(BIN)/make_def_fun.pl GLX $(GLX_CORE_SPEC) >> $@ - $(BIN)/make_def_fun.pl GLX $(GLX_EXT_SPEC) >> $@ - echo -e "\n#if !defined(GLEW_MX)" >> $@; - echo -e "\nGLboolean __GLXEW_VERSION_1_0 = GL_FALSE;" >> $@ - echo -e "GLboolean __GLXEW_VERSION_1_1 = GL_FALSE;" >> $@ - $(BIN)/make_def_var.pl GLX $(GLX_CORE_SPEC) >> $@ - $(BIN)/make_def_var.pl GLX $(GLX_EXT_SPEC) >> $@ - echo -e "\n#endif /* !GLEW_MX */" >> $@; - echo -e "\n#endif /* !defined(_WIN32) && !defined(__ANDROID__) && !defined(__native_client__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX)) */" >> $@; - rm -f $@.bak - -$(S.DEST)/glew_init.c: $(EXT)/.dummy - cp -f $(SRC)/glew_license.h $@ - echo -e "#include \"glew_utils.h\"\n" >> $@ - $(BIN)/make_init.pl GL $(GL_CORE_SPEC) >> $@ - $(BIN)/make_init.pl GL $(GL_EXT_SPEC) >> $@ - cat $(SRC)/glew_init_gl.c >> $@ - $(BIN)/make_list.pl $(GL_CORE_SPEC) | grep -v '\"GL_VERSION' >> $@ - $(BIN)/make_list.pl $(GL_EXT_SPEC) >> $@ - echo -e "\n return GLEW_OK;\n}\n\n#if defined(_WIN32)\n" >> $@; - $(BIN)/make_init.pl WGL $(WGL_EXT_SPEC) >> $@ - cat $(SRC)/glew_init_wgl.c >> $@ - $(BIN)/make_list.pl $(WGL_EXT_SPEC) >> $@ - echo -e "\n return GLEW_OK;\n}\n\n" >> $@; - echo -e "\n#elif !defined(__APPLE__) || defined(GLEW_APPLE_GLX)\n" >> $@ - $(BIN)/make_init.pl GLX $(GLX_CORE_SPEC) >> $@ - $(BIN)/make_init.pl GLX $(GLX_EXT_SPEC) >> $@ - cat $(SRC)/glew_init_glx.c >> $@ - $(BIN)/make_list.pl $(CORE)/GLX_VERSION_1_3 | grep -v '\"GLX_VERSION' >> $@ - $(BIN)/make_list.pl $(GLX_EXT_SPEC) >> $@ - echo -e "\n return GLEW_OK;\n}\n\n#endif /* !__APPLE__ || GLEW_APPLE_GLX */\n" >> $@; - cat $(SRC)/glew_init_tail.c >> $@ - perl -e "s/GLEW_VERSION_STRING/$(GLEW_VERSION)/g" -pi $@ - perl -e "s/GLEW_VERSION_MAJOR_STRING/$(GLEW_MAJOR)/g" -pi $@ - perl -e "s/GLEW_VERSION_MINOR_STRING/$(GLEW_MINOR)/g" -pi $@ - perl -e "s/GLEW_VERSION_MICRO_STRING/$(GLEW_MICRO)/g" -pi $@ - perl -e "s/GLEW_ARB_vertex_shader = !_glewInit_GL_ARB_vertex_shader\(GLEW_CONTEXT_ARG_VAR_INIT\);/{ GLEW_ARB_vertex_shader = !_glewInit_GL_ARB_vertex_shader(GLEW_CONTEXT_ARG_VAR_INIT); _glewInit_GL_ARB_vertex_program(GLEW_CONTEXT_ARG_VAR_INIT); }/g" -pi $@ - perl -e "s/\(\(glBlendColor = /((glBlendEquation = (PFNGLBLENDEQUATIONPROC)glewGetProcAddress((const GLubyte*)\"glBlendEquation\")) == NULL) || r;\n r = ((glBlendColor = /g" -pi $@ - rm -f $@.bak - -$(S.DEST)/glew_str.c: $(EXT)/.dummy - cp -f $(SRC)/glew_license.h $@ - echo -e "\n#include \"glew_utils.h\"\n" >> $@ - cat $(SRC)/glew_str_head.c >> $@ - $(BIN)/make_str.pl $(GL_CORE_SPEC) $(GL_EXT_SPEC) >> $@ - cat $(SRC)/glew_str_wgl.c >> $@ - $(BIN)/make_str.pl $(WGL_EXT_SPEC) >> $@ - cat $(SRC)/glew_str_glx.c >> $@ - $(BIN)/make_str.pl $(GLX_CORE_SPEC) $(GLX_EXT_SPEC) >> $@ - cat $(SRC)/glew_str_tail.c >> $@ -# perl -e "s/GLEW_VERSION_STRING/$(GLEW_VERSION)/g" -pi $@ -# perl -e "s/GLEW_ARB_vertex_shader = !_glewInit_GL_ARB_vertex_shader\(GLEW_CONTEXT_ARG_VAR_INIT\);/{ GLEW_ARB_vertex_shader = !_glewInit_GL_ARB_vertex_shader(GLEW_CONTEXT_ARG_VAR_INIT); _glewInit_GL_ARB_vertex_program(GLEW_CONTEXT_ARG_VAR_INIT); }/g" -pi $@ - rm -f $@.bak - $(S.DEST)/glewinfo.c: $(EXT)/.dummy @echo "--------------------------------------------------------------------" @echo "Creating glewinfo.c" diff --git a/auto/bin/filter_spec.py b/auto/bin/filter_spec.py index 7fc334b..16c2fa9 100755 --- a/auto/bin/filter_spec.py +++ b/auto/bin/filter_spec.py @@ -2,8 +2,9 @@ import re -section = re.compile('^(Name|Name Strings?|Number|Dependencies|New Procedures and Functions|New Tokens|Additions to .*|Changes to .*|Modifications to .*|Add new Section .*)\s*$') +section = re.compile('^(Name|Name Strings?|Contact|Notice|Number|Dependencies|Overview|Issues|IP Status|Status|Version|New Procedures and Functions|New Tokens|Additions to .*|Changes to .*|Modifications to .*|Add new Section .*)\s*$') token = re.compile('^\s+(([A-Z0-9][A-Z0-9_x]*):?\s+((?:0x)?[0-9A-F]+)([^\?]*))?\s*$') +match = [ 'Name', 'Name String', 'Contact', 'Notice', 'Name Strings', 'Version', 'Number', 'Dependencies', 'New Procedures and Functions', 'New Tokens'] if __name__ == '__main__': @@ -16,17 +17,22 @@ if __name__ == '__main__': for i in args: lines = open(i).readlines() f = open(i,'w') + + # Keep track of the current section as we iterate over the input current = '' for j in lines: + + # Detect the start of a new section m = section.match(j) if m: current = m.group(1).strip() - if current in [ 'Name', 'Name String', 'Name Strings', 'Number', 'Dependencies', 'New Procedures and Functions', 'New Tokens']: + if current in match: print >>f, j, continue + if current=='New Tokens': if token.match(j): print >>f, j, - elif current in [ 'Name', 'Name String', 'Name Strings', 'Number', 'Dependencies', 'New Procedures and Functions']: + elif current in match: print >>f, j, diff --git a/auto/bin/make_def_var.pl b/auto/bin/make_def_var.pl index e484194..2b2a1d9 100755 --- a/auto/bin/make_def_var.pl +++ b/auto/bin/make_def_var.pl @@ -19,7 +19,7 @@ our $type = shift; if (@ARGV) { - @extlist = @ARGV; + @extlist = @ARGV; foreach my $ext (sort @extlist) { diff --git a/auto/bin/make_init.pl b/auto/bin/make_init.pl index 70abc98..5e6200a 100755 --- a/auto/bin/make_init.pl +++ b/auto/bin/make_init.pl @@ -38,18 +38,17 @@ if (@ARGV) parse_ext($ext); #make_separator($extname); - print "#ifdef $extname\n\n"; my $extvar = $extname; my $extvardef = $extname; $extvar =~ s/GL(X*)_/GL$1EW_/; if (keys %$functions) { + print "#ifdef $extname\n\n"; print "static GLboolean _glewInit_$extname (" . $type . "EW_CONTEXT_ARG_DEF_INIT)\n{\n GLboolean r = GL_FALSE;\n"; output_decls($functions, \&make_pfn_def_init); print "\n return r;\n}\n\n"; + print "#endif /* $extname */\n\n"; } - #print "\nGLboolean " . prefix_varname($extvar) . " = GL_FALSE;\n\n"; - print "#endif /* $extname */\n\n"; } } diff --git a/auto/core/gl/GL_VERSION_4_2 b/auto/core/gl/GL_VERSION_4_2 index c94737a..d5c1708 100644 --- a/auto/core/gl/GL_VERSION_4_2 +++ b/auto/core/gl/GL_VERSION_4_2 @@ -3,6 +3,8 @@ https://www.opengl.org/registry/doc/glspec42.compatibility.20120427.pdf GL_COPY_READ_BUFFER_BINDING 0x8F36 GL_COPY_WRITE_BUFFER_BINDING 0x8F37 + GL_TRANSFORM_FEEDBACK_ACTIVE 0x8E24 + GL_TRANSFORM_FEEDBACK_PAUSED 0x8E23 GL_COMPRESSED_RGBA_BPTC_UNORM 0x8E8C GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM 0x8E8D GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT 0x8E8E diff --git a/auto/core/gl/GL_VERSION_4_5 b/auto/core/gl/GL_VERSION_4_5 index 341abfd..3c06e85 100644 --- a/auto/core/gl/GL_VERSION_4_5 +++ b/auto/core/gl/GL_VERSION_4_5 @@ -1,4 +1,8 @@ GL_VERSION_4_5 https://www.opengl.org/registry/doc/glspec45.compatibility.pdf + GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT 0x00000004 GLenum glGetGraphicsResetStatus (void) + void glGetnTexImage (GLenum tex, GLint level, GLenum format, GLenum type, GLsizei bufSize, GLvoid *pixels) + void glGetnCompressedTexImage (GLenum target, GLint lod, GLsizei bufSize, GLvoid *pixels) + void glGetnUniformdv (GLuint program, GLint location, GLsizei bufSize, GLdouble *params) diff --git a/auto/doc/index.html b/auto/doc/index.html index 8815623..7f288ff 100644 --- a/auto/doc/index.html +++ b/auto/doc/index.html @@ -13,7 +13,7 @@ Mac OS X, FreeBSD, Irix, and Solaris. GLEW is distributed as source and precompiled binaries.
The latest release is -1.12.0[26-01-15]: +1.13.0[08-10-15]:

@@ -27,8 +27,8 @@ The latest release is Source -ZIP |  -TGZ +ZIP |  +TGZ @@ -36,7 +36,7 @@ The latest release is Binaries -Windows 32-bit and 64-bit +Windows 32-bit and 64-bit @@ -60,8 +60,8 @@ An up-to-date copy is also available using git Unsupported snapshots are also available:

Supported Extensions

@@ -76,6 +76,7 @@ The latest release contains support for OpenGL 4.5 and the following extensions:

News