diff --git a/.travis.yml b/.travis.yml index 5f3029f..769a9ab 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,7 +1,6 @@ language: cpp -#sudo: false +sudo: false install: -- sudo apt-get install git cmake dos2unix libosmesa-dev script: - make -C auto clobber - make extensions @@ -11,6 +10,12 @@ script: - pushd build/cmake; git clean -xdf .; cmake -G 'Unix Makefiles' . ; make; popd - pushd build/cmake; git clean -xdf .; cmake -G 'Unix Makefiles' -DGLEW_OSMESA=1 .; make; popd addons: + apt: + packages: + - git + - cmake + - dos2unix + - libosmesa6-dev artifacts: bucket: glew s3_region: "us-east-1" diff --git a/Makefile b/Makefile index 8bdb0e1..7f97342 100644 --- a/Makefile +++ b/Makefile @@ -81,7 +81,7 @@ endif INCLUDE = -Iinclude CFLAGS = $(OPT) $(WARN) $(INCLUDE) $(CFLAGS.EXTRA) -all debug: glew.lib glew.lib.mx glew.bin +all debug: glew.lib glew.bin # GLEW shared and static libraries @@ -96,11 +96,6 @@ LIB.OBJS := $(LIB.OBJS:.c=.o) LIB.SOBJS := $(addprefix tmp/$(SYSTEM)/default/shared/,$(LIB.SRCS.NAMES)) LIB.SOBJS := $(LIB.SOBJS:.c=.o) -LIB.OBJS.MX := $(addprefix tmp/$(SYSTEM)/mx/static/,$(LIB.SRCS.NAMES)) -LIB.OBJS.MX := $(LIB.OBJS.MX:.c=.o) -LIB.SOBJS.MX := $(addprefix tmp/$(SYSTEM)/mx/shared/,$(LIB.SRCS.NAMES)) -LIB.SOBJS.MX := $(LIB.SOBJS.MX:.c=.o) - glew.lib: lib lib/$(LIB.SHARED) lib/$(LIB.STATIC) glew.pc lib: @@ -150,54 +145,6 @@ glew.pc: glew.pc.in -e "s|@requireslib@|$(LIBGLU)|g" \ < $< > $@ -# GLEW MX static and shared libraries - -glew.lib.mx: lib lib/$(LIB.SHARED.MX) lib/$(LIB.STATIC.MX) glewmx.pc - -lib/$(LIB.STATIC.MX): $(LIB.OBJS.MX) -ifneq ($(AR),) - $(AR) $(ARFLAGS) $@ $^ -else ifneq ($(LIBTOOL),) - $(LIBTOOL) $@ $^ -endif -ifneq ($(STRIP),) - $(STRIP) -x $@ -endif - -lib/$(LIB.SHARED.MX): $(LIB.SOBJS.MX) - $(LD) $(LDFLAGS.SO.MX) -o $@ $^ $(LIB.LDFLAGS) $(LIB.LIBS) -ifneq ($(LN),) - $(LN) $(LIB.SHARED.MX) lib/$(LIB.SONAME.MX) - $(LN) $(LIB.SHARED.MX) lib/$(LIB.DEVLNK.MX) -endif -ifneq ($(STRIP),) - $(STRIP) -x $@ -endif - -tmp/$(SYSTEM)/mx/static/glew.o: src/glew.c include/GL/glew.h include/GL/wglew.h include/GL/glxew.h - @mkdir -p $(dir $@) - $(CC) -DGLEW_NO_GLU -DGLEW_MX -DGLEW_STATIC $(CFLAGS) $(CFLAGS.SO) -o $@ -c $< - -tmp/$(SYSTEM)/mx/shared/glew.o: src/glew.c include/GL/glew.h include/GL/wglew.h include/GL/glxew.h - @mkdir -p $(dir $@) - $(CC) -DGLEW_NO_GLU -DGLEW_MX -DGLEW_BUILD $(CFLAGS) $(CFLAGS.SO) -o $@ -c $< - -# Force re-write of glewmx.pc, GLEW_DEST can vary - -.PHONY: glewmx.pc - -glewmx.pc: glew.pc.in - sed \ - -e "s|@prefix@|$(GLEW_PREFIX)|g" \ - -e "s|@libdir@|$(LIBDIR)|g" \ - -e "s|@exec_prefix@|$(BINDIR)|g" \ - -e "s|@includedir@|$(INCDIR)|g" \ - -e "s|@version@|$(GLEW_VERSION)|g" \ - -e "s|@cflags@|-DGLEW_MX|g" \ - -e "s|@libname@|$(NAME)mx|g" \ - -e "s|@requireslib@|$(LIBGLU)|g" \ - < $< > $@ - # GLEW utility programs BIN.LIBS = -Llib $(LDFLAGS.DYNAMIC) -l$(NAME) $(LDFLAGS.EXTRA) $(LDFLAGS.GL) @@ -245,12 +192,10 @@ $(VISUALINFO.BIN.OBJ): $(VISUALINFO.BIN.SRC) include/GL/glew.h include/GL/wglew. # Install targets -install.all: install install.mx install.bin +install.all: install install.bin install: install.include install.lib install.pkgconfig -install.mx: install.include install.lib.mx install.pkgconfig.mx - install.lib: glew.lib $(INSTALL) -d -m 0755 "$(DESTDIR)$(LIBDIR)" # runtime @@ -273,27 +218,6 @@ ifneq ($(LN),) endif $(INSTALL) -m 0644 lib/$(LIB.STATIC) "$(DESTDIR)$(LIBDIR)/" -install.lib.mx: glew.lib.mx - $(INSTALL) -d -m 0755 "$(DESTDIR)$(LIBDIR)" -# runtime -ifeq ($(filter-out mingw% cygwin,$(SYSTEM)),) - $(INSTALL) -d -m 0755 "$(DESTDIR)$(BINDIR)" - $(INSTALL) -m 0755 lib/$(LIB.SHARED.MX) "$(DESTDIR)$(BINDIR)/" -else - $(INSTALL) -m 0644 lib/$(LIB.SHARED.MX) "$(DESTDIR)$(LIBDIR)/" -endif -ifneq ($(LN),) - $(LN) $(LIB.SHARED.MX) "$(DESTDIR)$(LIBDIR)/$(LIB.SONAME.MX)" -endif -# development files -ifeq ($(filter-out mingw% cygwin,$(SYSTEM)),) - $(INSTALL) -m 0644 lib/$(LIB.DEVLNK.MX) "$(DESTDIR)$(LIBDIR)/" -endif -ifneq ($(LN),) - $(LN) $(LIB.SHARED.MX) "$(DESTDIR)$(LIBDIR)/$(LIB.DEVLNK.MX)" -endif - $(INSTALL) -m 0644 lib/$(LIB.STATIC.MX) "$(DESTDIR)$(LIBDIR)/" - install.bin: glew.bin $(INSTALL) -d -m 0755 "$(DESTDIR)$(BINDIR)" $(INSTALL) -s -m 0755 bin/$(GLEWINFO.BIN) bin/$(VISUALINFO.BIN) "$(DESTDIR)$(BINDIR)/" @@ -309,30 +233,25 @@ install.pkgconfig: glew.pc $(INSTALL) -d -m 0755 "$(DESTDIR)$(LIBDIR)/pkgconfig" $(INSTALL) -m 0644 glew.pc "$(DESTDIR)$(LIBDIR)/pkgconfig/" -install.pkgconfig.mx: glewmx.pc - $(INSTALL) -d -m 0755 "$(DESTDIR)$(LIBDIR)" - $(INSTALL) -d -m 0755 "$(DESTDIR)$(LIBDIR)/pkgconfig" - $(INSTALL) -m 0644 glewmx.pc "$(DESTDIR)$(LIBDIR)/pkgconfig/" - uninstall: $(RM) "$(DESTDIR)$(INCDIR)/wglew.h" $(RM) "$(DESTDIR)$(INCDIR)/glew.h" $(RM) "$(DESTDIR)$(INCDIR)/glxew.h" - $(RM) "$(DESTDIR)$(LIBDIR)/$(LIB.DEVLNK)" "$(DESTDIR)$(LIBDIR)/$(LIB.DEVLNK.MX)" + $(RM) "$(DESTDIR)$(LIBDIR)/$(LIB.DEVLNK)" ifeq ($(filter-out mingw% cygwin,$(SYSTEM)),) - $(RM) "$(DESTDIR)$(BINDIR)/$(LIB.SHARED)" "$(DESTDIR)$(BINDIR)/$(LIB.SHARED.MX)" + $(RM) "$(DESTDIR)$(BINDIR)/$(LIB.SHARED)" else - $(RM) "$(DESTDIR)$(LIBDIR)/$(LIB.SONAME)" "$(DESTDIR)$(LIBDIR)/$(LIB.SONAME.MX)" - $(RM) "$(DESTDIR)$(LIBDIR)/$(LIB.SHARED)" "$(DESTDIR)$(LIBDIR)/$(LIB.SHARED.MX)" + $(RM) "$(DESTDIR)$(LIBDIR)/$(LIB.SONAME)" + $(RM) "$(DESTDIR)$(LIBDIR)/$(LIB.SHARED)" endif - $(RM) "$(DESTDIR)$(LIBDIR)/$(LIB.STATIC)" "$(DESTDIR)$(LIBDIR)/$(LIB.STATIC.MX)" + $(RM) "$(DESTDIR)$(LIBDIR)/$(LIB.STATIC)" $(RM) "$(DESTDIR)$(BINDIR)/$(GLEWINFO.BIN)" "$(DESTDIR)$(BINDIR)/$(VISUALINFO.BIN)" clean: $(RM) -r tmp/ $(RM) -r lib/ $(RM) -r bin/ - $(RM) glew.pc glewmx.pc + $(RM) glew.pc distclean: clean find . -name \*~ | xargs $(RM) diff --git a/auto/Makefile b/auto/Makefile index 953660e..33663ac 100644 --- a/auto/Makefile +++ b/auto/Makefile @@ -198,6 +198,15 @@ $(S.DEST)/glew.c: $(EXT)/.dummy $(BIN)/make_def_var.pl GL $(GL_CORE_SPEC) >> $@ $(BIN)/make_def_var.pl GL $(GL_EXT_SPEC) >> $@ echo -e "\n#endif /* !GLEW_MX */\n" >> $@; + echo -e "\nstatic const char * _glewExtensionLookup[] = {" >> $@; + $(BIN)/make_index.pl $(GL_CORE_SPEC) $(GL_EXT_SPEC) >> $@ + echo -e " NULL\n};\n" >> $@; + echo -e "\n#if !defined(GLEW_MX)" >> $@; + $(BIN)/make_enable_index.pl $(GL_CORE_SPEC) $(GL_EXT_SPEC) >> $@ + echo -e "\n#endif /* !GLEW_MX */\n" >> $@; + $(BIN)/make_initd.pl GL $(GL_CORE_SPEC) >> $@ + $(BIN)/make_initd.pl GL $(GL_EXT_SPEC) >> $@ + echo -e "" >> $@; $(BIN)/make_init.pl GL $(GL_CORE_SPEC) >> $@ $(BIN)/make_init.pl GL $(GL_EXT_SPEC) >> $@ cat $(SRC)/glew_init_gl.c >> $@ @@ -241,7 +250,7 @@ $(S.DEST)/glew.c: $(EXT)/.dummy 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/GLEW_ARB_vertex_shader = !_glewInit_GL_ARB_vertex_shader\(\);/{ GLEW_ARB_vertex_shader = !_glewInit_GL_ARB_vertex_shader(); _glewInit_GL_ARB_vertex_program(); }/g" -pi $@ perl -e "s/\(\(glColorSubTable = /((glBlendEquation = (PFNGLBLENDEQUATIONPROC)glewGetProcAddress((const GLubyte*)\"glBlendEquation\")) == NULL) || r;\n r = ((glColorSubTable = /g" -pi $@ rm -f $@.bak diff --git a/auto/bin/filter_gl_ext.sh b/auto/bin/filter_gl_ext.sh index 72fde80..502b3da 100755 --- a/auto/bin/filter_gl_ext.sh +++ b/auto/bin/filter_gl_ext.sh @@ -18,11 +18,13 @@ set -e mv tmp $1/GL_NV_texture_compression_vtc # remove duplicates from GL_ARB_vertex_program and GL_ARB_fragment_program - grep -v -F -f $1/GL_ARB_vertex_program $1/GL_ARB_fragment_program > tmp + tail -n +5 $1/GL_ARB_vertex_program > patterns + grep -v -F -f patterns $1/GL_ARB_fragment_program > tmp mv tmp $1/GL_ARB_fragment_program # remove duplicates from GLX_EXT_visual_rating and GLX_EXT_visual_info - grep -v -F -f $1/GLX_EXT_visual_info $1/GLX_EXT_visual_rating > tmp + tail -n +5 $1/GLX_EXT_visual_info > patterns + grep -v -F -f patterns $1/GLX_EXT_visual_rating > tmp mv tmp $1/GLX_EXT_visual_rating # GL_EXT_draw_buffers2 and GL_EXT_transform_feedback both define glGetBooleanIndexedvEXT but with different parameter names @@ -58,7 +60,8 @@ EOT EOT # remove duplicates from GL_NV_present_video and GLX_NV_present_video - grep -v -F -f $1/GLX_NV_present_video $1/GL_NV_present_video > tmp + tail -n +5 $1/GLX_NV_present_video > patterns + grep -v -F -f patterns $1/GL_NV_present_video > tmp mv tmp $1/GL_NV_present_video # fix WGL_NV_present_video @@ -180,20 +183,23 @@ EOT # remove triplicates in GL_ARB_shader_objects, GL_ARB_fragment_shader, # and GL_ARB_vertex_shader - grep -v -F -f $1/GL_ARB_shader_objects $1/GL_ARB_fragment_shader > tmp + tail -n +5 $1/GL_ARB_shader_objects > patterns + grep -v -F -f patterns $1/GL_ARB_fragment_shader > tmp mv tmp $1/GL_ARB_fragment_shader - grep -v -F -f $1/GL_ARB_shader_objects $1/GL_ARB_vertex_shader > tmp + grep -v -F -f patterns $1/GL_ARB_vertex_shader > tmp mv tmp $1/GL_ARB_vertex_shader # remove duplicates in GL_ARB_vertex_program and GL_ARB_vertex_shader - grep -v -F -f $1/GL_ARB_vertex_program $1/GL_ARB_vertex_shader > tmp + tail -n +5 $1/GL_ARB_vertex_program > patterns + grep -v -F -f patterns $1/GL_ARB_vertex_shader > tmp mv tmp $1/GL_ARB_vertex_shader # remove triplicates in GL_ARB_fragment_program, GL_ARB_fragment_shader, # and GL_ARB_vertex_shader - grep -v -F -f $1/GL_ARB_fragment_program $1/GL_ARB_fragment_shader > tmp + tail -n +5 $1/GL_ARB_fragment_program > patterns + grep -v -F -f patterns $1/GL_ARB_fragment_shader > tmp mv tmp $1/GL_ARB_fragment_shader - grep -v -F -f $1/GL_ARB_fragment_program $1/GL_ARB_vertex_shader > tmp + grep -v -F -f patterns $1/GL_ARB_vertex_shader > tmp mv tmp $1/GL_ARB_vertex_shader # remove duplicates in GL_EXT_direct_state_access @@ -246,7 +252,7 @@ EOT EOT # Filter out GL_NV_gpu_program_fp64 enums and functions - head -n3 $1/GL_NV_gpu_program_fp64 > tmp + head -n4 $1/GL_NV_gpu_program_fp64 > tmp mv tmp $1/GL_NV_gpu_program_fp64 # Filter glGetUniformui64vNV from GL_NV_shader_buffer_load @@ -258,7 +264,7 @@ EOT mv tmp $1/GLX_ARB_create_context # Filter only profile related enumerations for GLX_ARB_create_context_profile - head -n3 $1/GLX_ARB_create_context_profile > tmp + head -n4 $1/GLX_ARB_create_context_profile > tmp grep "_PROFILE_" $1/GLX_ARB_create_context_profile >> tmp mv tmp $1/GLX_ARB_create_context_profile @@ -267,7 +273,7 @@ EOT mv tmp $1/WGL_ARB_create_context # Filter only profile related enumerations for WGL_ARB_create_context_profile - head -n3 $1/WGL_ARB_create_context_profile > tmp + head -n4 $1/WGL_ARB_create_context_profile > tmp grep "_PROFILE_" $1/WGL_ARB_create_context_profile >> tmp mv tmp $1/WGL_ARB_create_context_profile @@ -471,11 +477,11 @@ EOT for i in $1/GL_ANGLE_*; do perl -e 's#http://www.opengl.org/registry/specs/ANGLE/.*#https://code.google.com/p/angleproject/source/browse/\#git%2Fextensions#g' -pi $i; done # Filter out GL_NV_blend_equation_advanced_coherent enums and functions - head -n3 $1/GL_NV_blend_equation_advanced_coherent > tmp + head -n4 $1/GL_NV_blend_equation_advanced_coherent > tmp mv tmp $1/GL_NV_blend_equation_advanced_coherent # Filter out GL_AMD_gpu_shader_int64 enums and functions - head -n3 $1/GL_AMD_gpu_shader_int64 > tmp + head -n4 $1/GL_AMD_gpu_shader_int64 > tmp mv tmp $1/GL_AMD_gpu_shader_int64 # Filter out GL_NO_ERROR enum from GL_KHR_robustness diff --git a/auto/bin/make.pl b/auto/bin/make.pl index 1bd5d40..6aa1e83 100755 --- a/auto/bin/make.pl +++ b/auto/bin/make.pl @@ -69,6 +69,7 @@ sub parse_ext($) my $filename = shift; my %functions = (); my %tokens = (); + my @reuse = (); # Extensions to reuse my @types = (); my @exacts = (); my $extname = ""; # Full extension name GL_FOO_extension @@ -77,9 +78,10 @@ sub parse_ext($) open EXT, "<$filename" or return; - # As of GLEW 1.5.3 the first three lines _must_ be + # As of GLEW 1.14.0 the first four lines _must_ be # the extension name, the URL and the GL extension - # string (which might be different to the name) + # string (which might be different to the name), + # and the reused extensions # # For example GL_NV_geometry_program4 is available # iff GL_NV_gpu_program4 appears in the extension @@ -94,6 +96,7 @@ sub parse_ext($) $extname = readline(*EXT); $exturl = readline(*EXT); $extstring = readline(*EXT); + @reuse = split(" ", readline(*EXT)); chomp($extname); chomp($exturl); @@ -132,7 +135,7 @@ sub parse_ext($) close EXT; - return ($extname, $exturl, $extstring, \@types, \%tokens, \%functions, \@exacts); + return ($extname, $exturl, $extstring, \@reuse, \@types, \%tokens, \%functions, \@exacts); } sub output_tokens($$) @@ -207,3 +210,14 @@ sub output_exacts($$) } } +sub output_reuse($$) +{ + my ($tbl, $fnc) = @_; + if (scalar @{$tbl}) + { + local $, = "\n"; + print "\n"; + print map { &{$fnc}($_) } sort @{$tbl}; + print "\n"; + } +} diff --git a/auto/bin/make_def_fun.pl b/auto/bin/make_def_fun.pl index 40e67d5..2ed8b4e 100755 --- a/auto/bin/make_def_fun.pl +++ b/auto/bin/make_def_fun.pl @@ -29,7 +29,7 @@ if (@ARGV) foreach my $ext (sort @extlist) { - my ($extname, $exturl, $extstring, $types, $tokens, $functions, $exacts) = parse_ext($ext); + my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext); output_decls($functions, \&make_pfn_decl); } } diff --git a/auto/bin/make_def_var.pl b/auto/bin/make_def_var.pl index 2b2a1d9..7c8bc5f 100755 --- a/auto/bin/make_def_var.pl +++ b/auto/bin/make_def_var.pl @@ -23,7 +23,7 @@ if (@ARGV) foreach my $ext (sort @extlist) { - my ($extname, $exturl, $extstring, $types, $tokens, $functions, $exacts) = parse_ext($ext); + my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext); my $extvar = $extname; $extvar =~ s/GL(X*)_/GL$1EW_/; print "GLboolean " . prefix_varname($extvar) . " = GL_FALSE;\n"; diff --git a/auto/bin/make_enable_index.pl b/auto/bin/make_enable_index.pl new file mode 100755 index 0000000..226612d --- /dev/null +++ b/auto/bin/make_enable_index.pl @@ -0,0 +1,45 @@ +#!/usr/bin/perl +## +## Copyright (C) 2002-2008, Marcelo E. Magallon +## Copyright (C) 2002-2008, Milan Ikits +## +## This program is distributed under the terms and conditions of the GNU +## General Public License Version 2 as published by the Free Software +## Foundation or, at your option, any later version. + +use strict; +use warnings; + +do 'bin/make.pl'; + +## +## Make Extension-enabled Index +## + +my @extlist = (); + +if (@ARGV) +{ + @extlist = @ARGV; + + print "/* Detected in the extension string or strings */\n"; + print "static GLboolean _glewExtensionString[" . scalar @extlist . "];\n"; + + print "/* Detected via extension string or experimental mode */\n"; + print "static GLboolean* _glewExtensionEnabled[] = {\n";; + + foreach my $ext (sort @extlist) + { + my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = + parse_ext($ext); + + my $extvar = $extname; + $extvar =~ s/GL(X*)_/GL$1EW_/; + + print "#ifdef $extname\n"; + print " &__$extvar,\n"; + print "#endif\n"; + } + + print " NULL\n};\n"; +} diff --git a/auto/bin/make_header.pl b/auto/bin/make_header.pl index 934ef77..5c7f94a 100755 --- a/auto/bin/make_header.pl +++ b/auto/bin/make_header.pl @@ -52,7 +52,7 @@ if (@ARGV) foreach my $ext (sort @extlist) { - my ($extname, $exturl, $extstring, $types, $tokens, $functions, $exacts) = parse_ext($ext); + my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext); make_separator($extname); print "#ifndef $extname\n#define $extname 1\n"; diff --git a/auto/bin/make_html.pl b/auto/bin/make_html.pl index ee58196..486e7fd 100755 --- a/auto/bin/make_html.pl +++ b/auto/bin/make_html.pl @@ -26,7 +26,7 @@ if (@ARGV) print "\n"; foreach my $ext (sort @extlist) { - my ($extname, $exturl, $extstring, $types, $tokens, $functions, $exacts) = parse_ext($ext); + my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext); $cur_group = $extname; $cur_group =~ s/^(?:W?)GL(?:X?)_([A-Z0-9]+?)_.*$/$1/; $extname =~ s/^(?:W?)GL(?:X?)_(.*)$/$1/; diff --git a/auto/bin/make_index.pl b/auto/bin/make_index.pl new file mode 100755 index 0000000..bfaf300 --- /dev/null +++ b/auto/bin/make_index.pl @@ -0,0 +1,38 @@ +#!/usr/bin/perl +## +## Copyright (C) 2002-2008, Marcelo E. Magallon +## Copyright (C) 2002-2008, Milan Ikits +## +## This program is distributed under the terms and conditions of the GNU +## General Public License Version 2 as published by the Free Software +## Foundation or, at your option, any later version. + +use strict; +use warnings; + +do 'bin/make.pl'; + +## +## Make Index +## +## Output sorted array of extension strings for indexing into extension +## enable/disable flags. This provides a way to convert an extension string +## into an integer index. +## + +my @extlist = (); + +if (@ARGV) +{ + @extlist = @ARGV; + + foreach my $ext (sort @extlist) + { + my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = + parse_ext($ext); + + print "#ifdef $extname\n"; + print " \"$extname\",\n"; + print "#endif\n"; + } +} diff --git a/auto/bin/make_info.pl b/auto/bin/make_info.pl index 5d0c7f6..78295fc 100755 --- a/auto/bin/make_info.pl +++ b/auto/bin/make_info.pl @@ -32,7 +32,7 @@ if (@ARGV) foreach my $ext (sort @extlist) { - my ($extname, $exturl, $extstring, $types, $tokens, $functions, $exacts) = parse_ext($ext); + my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext); my $extvar = $extname; $extvar =~ s/GL(X*)_/GL$1EW_/; my $extpre = $extname; diff --git a/auto/bin/make_info_list.pl b/auto/bin/make_info_list.pl index a55106d..5bc65fa 100755 --- a/auto/bin/make_info_list.pl +++ b/auto/bin/make_info_list.pl @@ -38,7 +38,7 @@ if (@ARGV) foreach my $ext (sort @extlist) { - my ($extname, $exturl, $extstring, $types, $tokens, $functions, $exacts) = parse_ext($ext); + my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext); print "#ifdef $extname\n"; print " _glewInfo_$extname();\n"; diff --git a/auto/bin/make_init.pl b/auto/bin/make_init.pl index 5e6200a..343a1ad 100755 --- a/auto/bin/make_init.pl +++ b/auto/bin/make_init.pl @@ -21,6 +21,11 @@ sub make_pfn_def_init($%) return " r = ((" . $_[0] . " = (PFN" . (uc $_[0]) . "PROC)glewGetProcAddress((const GLubyte*)\"" . $_[0] . "\")) == NULL) || r;"; } +sub make_reuse_call($%) +{ + return " r = _glewInit_" . $_[0] . "() || r;"; +} + #------------------------------------------------------------------------------- my @extlist = (); @@ -34,18 +39,18 @@ if (@ARGV) foreach my $ext (sort @extlist) { - my ($extname, $exturl, $extstring, $types, $tokens, $functions, $exacts) = + my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext); #make_separator($extname); my $extvar = $extname; my $extvardef = $extname; $extvar =~ s/GL(X*)_/GL$1EW_/; - if (keys %$functions) + if (keys %$functions or keys @$reuse) { print "#ifdef $extname\n\n"; - print "static GLboolean _glewInit_$extname (" . $type . - "EW_CONTEXT_ARG_DEF_INIT)\n{\n GLboolean r = GL_FALSE;\n"; + print "static GLboolean _glewInit_$extname ()\n{\n GLboolean r = GL_FALSE;\n"; + output_reuse($reuse, \&make_reuse_call); output_decls($functions, \&make_pfn_def_init); print "\n return r;\n}\n\n"; print "#endif /* $extname */\n\n"; diff --git a/auto/bin/make_initd.pl b/auto/bin/make_initd.pl new file mode 100755 index 0000000..35c3b5d --- /dev/null +++ b/auto/bin/make_initd.pl @@ -0,0 +1,43 @@ +#!/usr/bin/perl +## +## Copyright (C) 2002-2008, Marcelo E. Magallon +## Copyright (C) 2002-2008, Milan Ikits +## +## This program is distributed under the terms and conditions of the GNU +## General Public License Version 2 as published by the Free Software +## Foundation or, at your option, any later version. + +use strict; +use warnings; + +do 'bin/make.pl'; + +## Output declarations for the _glewInit_[extension] functions defined +## by make_init.pl script. These are necessary for for initializers to +## call each other, such as a core GL 3 context that depends on certain +## extensions. + +#------------------------------------------------------------------------------- + +my @extlist = (); +my %extensions = (); + +our $type = shift; + +if (@ARGV) +{ + @extlist = @ARGV; + + foreach my $ext (sort @extlist) + { + my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = + parse_ext($ext); + + #print "#ifdef $extname\n\n"; + if (keys %$functions) + { + print "static GLboolean _glewInit_$extname ();\n"; + } + #print "#endif /* $extname */\n\n"; + } +} diff --git a/auto/bin/make_list.pl b/auto/bin/make_list.pl index 75dc060..3d0ddce 100755 --- a/auto/bin/make_list.pl +++ b/auto/bin/make_list.pl @@ -32,7 +32,7 @@ if (@ARGV) foreach my $ext (sort @extlist) { - my ($extname, $exturl, $extstring, $types, $tokens, $functions, $exacts) = parse_ext($ext); + my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext); my $extvar = $extname; $extvar =~ s/GL(X*)_/GL$1EW_/; @@ -42,25 +42,32 @@ if (@ARGV) #my $pextvar = prefix_varname($extvar); - print "#ifdef $extname\n"; - - if (length($extstring)) + if (length($extstring) && $extstring !~ /^GL_/ || keys %$functions) { - print " " . $extvar . " = _glewSearchExtension(\"$extstring\", extStart, extEnd);\n"; + print "#ifdef $extname\n"; + } + + if (length($extstring) && $extstring !~ /^GL_/) + { + print " " . $extvar . " = _glewSearchExtension(\"$extstring\", extStart, extEnd);\n"; } if (keys %$functions) { if ($extname =~ /WGL_.*/) { - print " if (glewExperimental || " . $extvar . "|| crippled) " . $extvar . "= !_glewInit_$extname(GLEW_CONTEXT_ARG_VAR_INIT);\n"; + print " if (glewExperimental || " . $extvar . "|| crippled) " . $extvar . "= !_glewInit_$extname();\n"; } else { - print " if (glewExperimental || " . $extvar . ") " . $extvar . " = !_glewInit_$extname(GLEW_CONTEXT_ARG_VAR_INIT);\n"; + print " if (glewExperimental || " . $extvar . ") " . $extvar . " = !_glewInit_$extname();\n"; } } - print "#endif /* $extname */\n"; + + if (length($extstring) && $extstring !~ /^GL_/ || keys %$functions) + { + print "#endif /* $extname */\n"; + } } } diff --git a/auto/bin/make_str.pl b/auto/bin/make_str.pl index ac4a366..5b83ef8 100755 --- a/auto/bin/make_str.pl +++ b/auto/bin/make_str.pl @@ -22,7 +22,7 @@ if (@ARGV) my $curexttype = ""; foreach my $ext (sort @extlist) { - my ($extname, $exturl, $extstring, $types, $tokens, $functions, $exacts) = parse_ext($ext); + my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext); my $exttype = $extname; $exttype =~ s/(W*?)GL(X*?)_(.*?_)(.*)/$3/; my $extrem = $extname; diff --git a/auto/bin/make_struct_fun.pl b/auto/bin/make_struct_fun.pl index c885960..3eedafe 100755 --- a/auto/bin/make_struct_fun.pl +++ b/auto/bin/make_struct_fun.pl @@ -30,7 +30,7 @@ if (@ARGV) foreach my $ext (sort @extlist) { - my ($extname, $exturl, $extstring, $types, $tokens, $functions, $exacts) = parse_ext($ext); + my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext); output_decls($functions, \&make_pfn_decl); } } diff --git a/auto/bin/make_struct_var.pl b/auto/bin/make_struct_var.pl index c7ba2f4..c88b559 100755 --- a/auto/bin/make_struct_var.pl +++ b/auto/bin/make_struct_var.pl @@ -23,7 +23,7 @@ if (@ARGV) foreach my $ext (sort @extlist) { - my ($extname, $exturl, $extstring, $types, $tokens, $functions, $exacts) = parse_ext($ext); + my ($extname, $exturl, $extstring, $reuse, $types, $tokens, $functions, $exacts) = parse_ext($ext); my $extvar = $extname; $extvar =~ s/GL(X*)_/GL$1EW_/; print $export . " GLboolean " . prefix_varname($extvar) . ";\n"; diff --git a/auto/bin/parse_spec.pl b/auto/bin/parse_spec.pl index 00fdde9..efbf1bf 100755 --- a/auto/bin/parse_spec.pl +++ b/auto/bin/parse_spec.pl @@ -333,6 +333,7 @@ foreach my $spec (sort @speclist) $specname =~ s/registry\/gl\/specs\///; print EXT $reg_http . $specname . "\n"; # Extension info URL print EXT $ext . "\n"; # Extension string + print EXT "\n"; # Resuses nothing by default my $prefix = $ext; $prefix =~ s/^(.+?)(_.+)$/$1/; diff --git a/auto/core/gl/GLX_AMD_gpu_association b/auto/core/gl/GLX_AMD_gpu_association index 002164e..72264a9 100644 --- a/auto/core/gl/GLX_AMD_gpu_association +++ b/auto/core/gl/GLX_AMD_gpu_association @@ -1,6 +1,7 @@ GLX_AMD_gpu_association http://www.opengl.org/registry/specs/AMD/glx_gpu_association.txt GLX_AMD_gpu_association + GLX_GPU_VENDOR_AMD 0x1F00 GLX_GPU_RENDERER_STRING_AMD 0x1F01 GLX_GPU_OPENGL_VERSION_STRING_AMD 0x1F02 diff --git a/auto/core/gl/GLX_ARB_get_proc_address b/auto/core/gl/GLX_ARB_get_proc_address index 5c066d7..e2cb2c5 100644 --- a/auto/core/gl/GLX_ARB_get_proc_address +++ b/auto/core/gl/GLX_ARB_get_proc_address @@ -1,4 +1,5 @@ GLX_ARB_get_proc_address http://oss.sgi.com/projects/ogl-sample/registry/ARB/get_proc_address.txt GLX_ARB_get_proc_address + extern void ( * glXGetProcAddressARB (const GLubyte *procName)) (void); diff --git a/auto/core/gl/GLX_ATI_pixel_format_float b/auto/core/gl/GLX_ATI_pixel_format_float index 854ca71..5336da4 100644 --- a/auto/core/gl/GLX_ATI_pixel_format_float +++ b/auto/core/gl/GLX_ATI_pixel_format_float @@ -1,4 +1,5 @@ GLX_ATI_pixel_format_float GLX_ATI_pixel_format_float + GLX_RGBA_FLOAT_ATI_BIT 0x00000100 diff --git a/auto/core/gl/GLX_ATI_render_texture b/auto/core/gl/GLX_ATI_render_texture index 254eb9f..6b35814 100644 --- a/auto/core/gl/GLX_ATI_render_texture +++ b/auto/core/gl/GLX_ATI_render_texture @@ -1,6 +1,7 @@ GLX_ATI_render_texture GLX_ATI_render_texture + GLX_BIND_TO_TEXTURE_RGB_ATI 0x9800 GLX_BIND_TO_TEXTURE_RGBA_ATI 0x9801 GLX_TEXTURE_FORMAT_ATI 0x9802 diff --git a/auto/core/gl/GLX_EXT_create_context_es2_profile b/auto/core/gl/GLX_EXT_create_context_es2_profile index 3093baa..aea21df 100644 --- a/auto/core/gl/GLX_EXT_create_context_es2_profile +++ b/auto/core/gl/GLX_EXT_create_context_es2_profile @@ -1,4 +1,5 @@ GLX_EXT_create_context_es2_profile http://www.opengl.org/registry/specs/EXT/glx_create_context_es2_profile.txt GLX_EXT_create_context_es2_profile + GLX_CONTEXT_ES2_PROFILE_BIT_EXT 0x00000004 diff --git a/auto/core/gl/GLX_EXT_create_context_es_profile b/auto/core/gl/GLX_EXT_create_context_es_profile index 845f65e..ea13e6e 100644 --- a/auto/core/gl/GLX_EXT_create_context_es_profile +++ b/auto/core/gl/GLX_EXT_create_context_es_profile @@ -1,4 +1,5 @@ GLX_EXT_create_context_es_profile http://www.opengl.org/registry/specs/EXT/glx_create_context_es_profile.txt GLX_EXT_create_context_es_profile + GLX_CONTEXT_ES_PROFILE_BIT_EXT 0x00000004 diff --git a/auto/core/gl/GLX_EXT_fbconfig_packed_float b/auto/core/gl/GLX_EXT_fbconfig_packed_float index 7c7822d..ffd47e3 100644 --- a/auto/core/gl/GLX_EXT_fbconfig_packed_float +++ b/auto/core/gl/GLX_EXT_fbconfig_packed_float @@ -1,5 +1,6 @@ GLX_EXT_fbconfig_packed_float http://developer.download.nvidia.com/opengl/specs/GL_EXT_packed_float.txt GLX_EXT_fbconfig_packed_float + GLX_RGBA_UNSIGNED_FLOAT_TYPE_EXT 0x20B1 GLX_RGBA_UNSIGNED_FLOAT_BIT_EXT 0x00000008 diff --git a/auto/core/gl/GLX_EXT_framebuffer_sRGB b/auto/core/gl/GLX_EXT_framebuffer_sRGB index f51c484..83743bb 100644 --- a/auto/core/gl/GLX_EXT_framebuffer_sRGB +++ b/auto/core/gl/GLX_EXT_framebuffer_sRGB @@ -1,4 +1,5 @@ GLX_EXT_framebuffer_sRGB http://developer.download.nvidia.com/opengl/specs/GL_EXT_framebuffer_sRGB.txt GLX_EXT_framebuffer_sRGB + GLX_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20B2 diff --git a/auto/core/gl/GLX_MESA_swap_control b/auto/core/gl/GLX_MESA_swap_control index 4416519..eb6e933 100644 --- a/auto/core/gl/GLX_MESA_swap_control +++ b/auto/core/gl/GLX_MESA_swap_control @@ -1,5 +1,6 @@ GLX_MESA_swap_control http://cgit.freedesktop.org/mesa/mesa/plain/docs/MESA_swap_control.spec GLX_MESA_swap_control + int glXGetSwapIntervalMESA (void) int glXSwapIntervalMESA (unsigned int interval) diff --git a/auto/core/gl/GLX_NV_float_buffer b/auto/core/gl/GLX_NV_float_buffer index cc9185e..19b71e2 100644 --- a/auto/core/gl/GLX_NV_float_buffer +++ b/auto/core/gl/GLX_NV_float_buffer @@ -1,4 +1,5 @@ GLX_NV_float_buffer http://cvs1.nvidia.com/inc/GL/glxtokens.h GLX_NV_float_buffer + GLX_FLOAT_COMPONENTS_NV 0x20B0 diff --git a/auto/core/gl/GLX_NV_vertex_array_range b/auto/core/gl/GLX_NV_vertex_array_range index 11afe17..9250ec2 100644 --- a/auto/core/gl/GLX_NV_vertex_array_range +++ b/auto/core/gl/GLX_NV_vertex_array_range @@ -1,5 +1,6 @@ GLX_NV_vertex_array_range http://oss.sgi.com/projects/ogl-sample/registry/NV/vertex_array_range.txt GLX_NV_vertex_array_range + void * glXAllocateMemoryNV (GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority) void glXFreeMemoryNV (void *pointer) diff --git a/auto/core/gl/GLX_SGIS_shared_multisample b/auto/core/gl/GLX_SGIS_shared_multisample index 274e90f..a2f4e12 100644 --- a/auto/core/gl/GLX_SGIS_shared_multisample +++ b/auto/core/gl/GLX_SGIS_shared_multisample @@ -1,5 +1,6 @@ GLX_SGIS_shared_multisample GLX_SGIS_shared_multisample + GLX_MULTISAMPLE_SUB_RECT_WIDTH_SGIS 0x8026 GLX_MULTISAMPLE_SUB_RECT_HEIGHT_SGIS 0x8027 diff --git a/auto/core/gl/GLX_SGIX_hyperpipe b/auto/core/gl/GLX_SGIX_hyperpipe index 79ec302..80fd7d6 100644 --- a/auto/core/gl/GLX_SGIX_hyperpipe +++ b/auto/core/gl/GLX_SGIX_hyperpipe @@ -1,6 +1,7 @@ GLX_SGIX_hyperpipe http://oss.sgi.com/projects/ogl-sample/registry/SGIX/hyperpipe_group.txt GLX_SGIX_hyperpipe + GLX_HYPERPIPE_ID_SGIX 0x8030 GLX_HYPERPIPE_PIPE_NAME_LENGTH_SGIX 80 GLX_HYPERPIPE_DISPLAY_PIPE_SGIX 0x00000001 diff --git a/auto/core/gl/GLX_SGIX_swap_barrier b/auto/core/gl/GLX_SGIX_swap_barrier index 57dd60d..95a65c1 100644 --- a/auto/core/gl/GLX_SGIX_swap_barrier +++ b/auto/core/gl/GLX_SGIX_swap_barrier @@ -1,5 +1,6 @@ GLX_SGIX_swap_barrier http://oss.sgi.com/projects/ogl-sample/registry/SGIX/swap_barrier.txt GLX_SGIX_swap_barrier + void glXBindSwapBarrierSGIX (Display *dpy, GLXDrawable drawable, int barrier) Bool glXQueryMaxSwapBarriersSGIX (Display *dpy, int screen, int *max) diff --git a/auto/core/gl/GLX_SGIX_swap_group b/auto/core/gl/GLX_SGIX_swap_group index 3530604..1eb1cff 100644 --- a/auto/core/gl/GLX_SGIX_swap_group +++ b/auto/core/gl/GLX_SGIX_swap_group @@ -1,4 +1,5 @@ GLX_SGIX_swap_group http://oss.sgi.com/projects/ogl-sample/registry/SGIX/swap_group.txt GLX_SGIX_swap_group + void glXJoinSwapGroupSGIX (Display *dpy, GLXDrawable drawable, GLXDrawable member) diff --git a/auto/core/gl/GLX_SGI_video_sync b/auto/core/gl/GLX_SGI_video_sync index dcdb968..74f1356 100644 --- a/auto/core/gl/GLX_SGI_video_sync +++ b/auto/core/gl/GLX_SGI_video_sync @@ -1,5 +1,6 @@ GLX_SGI_video_sync http://www.opengl.org/registry/specs/SGI/video_sync.txt GLX_SGI_video_sync + int glXGetVideoSyncSGI (unsigned int* count) int glXWaitVideoSyncSGI (int divisor, int remainder, unsigned int* count) diff --git a/auto/core/gl/GLX_SUN_video_resize b/auto/core/gl/GLX_SUN_video_resize index 0a0cefe..3a5a176 100644 --- a/auto/core/gl/GLX_SUN_video_resize +++ b/auto/core/gl/GLX_SUN_video_resize @@ -1,6 +1,7 @@ GLX_SUN_video_resize http://wwws.sun.com/software/graphics/opengl/extensions/glx_sun_video_resize.txt GLX_SUN_video_resize + GL_VIDEO_RESIZE_COMPENSATION_SUN 0x85CD GLX_VIDEO_RESIZE_SUN 0x8171 int glXVideoResizeSUN (Display* display, GLXDrawable window, float factor) diff --git a/auto/core/gl/GLX_VERSION_1_2 b/auto/core/gl/GLX_VERSION_1_2 index 39d7a09..8a12e84 100644 --- a/auto/core/gl/GLX_VERSION_1_2 +++ b/auto/core/gl/GLX_VERSION_1_2 @@ -1,4 +1,5 @@ GLX_VERSION_1_2 http://www.opengl.org/documentation/specs/glx/glx1.2.ps GLX_VERSION_1_2 + Display* glXGetCurrentDisplay (void) diff --git a/auto/core/gl/GLX_VERSION_1_3 b/auto/core/gl/GLX_VERSION_1_3 index 46eedb9..1cf24be 100644 --- a/auto/core/gl/GLX_VERSION_1_3 +++ b/auto/core/gl/GLX_VERSION_1_3 @@ -1,6 +1,7 @@ GLX_VERSION_1_3 http://www.opengl.org/documentation/specs/glx/glx1.3.pdf GLX_VERSION_1_3 + GLX_WINDOW_BIT 0x00000001 GLX_PIXMAP_BIT 0x00000002 GLX_PBUFFER_BIT 0x00000004 diff --git a/auto/core/gl/GLX_VERSION_1_4 b/auto/core/gl/GLX_VERSION_1_4 index 1382621..9b9de3e 100644 --- a/auto/core/gl/GLX_VERSION_1_4 +++ b/auto/core/gl/GLX_VERSION_1_4 @@ -1,6 +1,7 @@ GLX_VERSION_1_4 http://www.opengl.org/documentation/specs/glx/glx1.4.pdf GLX_VERSION_1_4 + GLX_SAMPLE_BUFFERS 100000 GLX_SAMPLES 100001 extern void ( * glXGetProcAddress (const GLubyte *procName)) (void); diff --git a/auto/core/gl/GL_APPLE_float_pixels b/auto/core/gl/GL_APPLE_float_pixels index 2bf7458..3eacd42 100644 --- a/auto/core/gl/GL_APPLE_float_pixels +++ b/auto/core/gl/GL_APPLE_float_pixels @@ -1,6 +1,7 @@ GL_APPLE_float_pixels http://www.opengl.org/registry/specs/APPLE/float_pixels.txt GL_APPLE_float_pixels + GL_HALF_APPLE 0x140B GL_COLOR_FLOAT_APPLE 0x8A0F GL_RGBA_FLOAT32_APPLE 0x8814 diff --git a/auto/core/gl/GL_APPLE_pixel_buffer b/auto/core/gl/GL_APPLE_pixel_buffer index 7449f29..1a8ad97 100644 --- a/auto/core/gl/GL_APPLE_pixel_buffer +++ b/auto/core/gl/GL_APPLE_pixel_buffer @@ -1,4 +1,5 @@ GL_APPLE_pixel_buffer GL_APPLE_pixel_buffer + GL_MIN_PBUFFER_VIEWPORT_DIMS_APPLE 0x8A10 diff --git a/auto/core/gl/GL_APPLE_texture_range b/auto/core/gl/GL_APPLE_texture_range index 9e3a678..e2bf85c 100644 --- a/auto/core/gl/GL_APPLE_texture_range +++ b/auto/core/gl/GL_APPLE_texture_range @@ -1,6 +1,7 @@ GL_APPLE_texture_range http://www.opengl.org/registry/specs/APPLE/texture_range.txt GL_APPLE_texture_range + GL_TEXTURE_STORAGE_HINT_APPLE 0x85BC GL_STORAGE_PRIVATE_APPLE 0x85BD GL_STORAGE_CACHED_APPLE 0x85BE diff --git a/auto/core/gl/GL_ARB_draw_instanced b/auto/core/gl/GL_ARB_draw_instanced index 4140bea..a730952 100644 --- a/auto/core/gl/GL_ARB_draw_instanced +++ b/auto/core/gl/GL_ARB_draw_instanced @@ -1,3 +1,4 @@ GL_ARB_draw_instanced http://www.opengl.org/registry/specs/ARB/draw_instanced.txt GL_ARB_draw_instanced + diff --git a/auto/core/gl/GL_ARB_imaging b/auto/core/gl/GL_ARB_imaging index c23a566..727adf0 100644 --- a/auto/core/gl/GL_ARB_imaging +++ b/auto/core/gl/GL_ARB_imaging @@ -1,6 +1,7 @@ GL_ARB_imaging GL_ARB_imaging + GL_CONSTANT_COLOR 0x8001 GL_ONE_MINUS_CONSTANT_COLOR 0x8002 GL_CONSTANT_ALPHA 0x8003 diff --git a/auto/core/gl/GL_ARB_instanced_arrays b/auto/core/gl/GL_ARB_instanced_arrays index b1c8873..1487d39 100644 --- a/auto/core/gl/GL_ARB_instanced_arrays +++ b/auto/core/gl/GL_ARB_instanced_arrays @@ -1,6 +1,7 @@ GL_ARB_instanced_arrays http://www.opengl.org/registry/specs/ARB/instanced_arrays.txt GL_ARB_instanced_arrays + GL_VERTEX_ATTRIB_ARRAY_DIVISOR_ARB 0x88FE void glVertexAttribDivisorARB (GLuint index, GLuint divisor) void glDrawArraysInstancedARB (GLenum mode, GLint first, GLsizei count, GLsizei primcount) diff --git a/auto/core/gl/GL_ARB_internalformat_query2 b/auto/core/gl/GL_ARB_internalformat_query2 index 1210966..7af5091 100644 --- a/auto/core/gl/GL_ARB_internalformat_query2 +++ b/auto/core/gl/GL_ARB_internalformat_query2 @@ -1,6 +1,7 @@ GL_ARB_internalformat_query2 http://www.opengl.org/registry/specs/ARB/internalformat_query2.txt GL_ARB_internalformat_query2 + GL_INTERNALFORMAT_SUPPORTED 0x826F GL_INTERNALFORMAT_PREFERRED 0x8270 GL_INTERNALFORMAT_RED_SIZE 0x8271 diff --git a/auto/core/gl/GL_ARB_matrix_palette b/auto/core/gl/GL_ARB_matrix_palette index 2e22824..98b0d0b 100644 --- a/auto/core/gl/GL_ARB_matrix_palette +++ b/auto/core/gl/GL_ARB_matrix_palette @@ -1,6 +1,7 @@ GL_ARB_matrix_palette http://oss.sgi.com/projects/ogl-sample/registry/ARB/matrix_palette.txt GL_ARB_matrix_palette + GL_MATRIX_PALETTE_ARB 0x8840 GL_MAX_MATRIX_PALETTE_STACK_DEPTH_ARB 0x8841 GL_MAX_PALETTE_MATRICES_ARB 0x8842 diff --git a/auto/core/gl/GL_ARB_multitexture b/auto/core/gl/GL_ARB_multitexture index ee80791..46a9546 100644 --- a/auto/core/gl/GL_ARB_multitexture +++ b/auto/core/gl/GL_ARB_multitexture @@ -1,6 +1,7 @@ GL_ARB_multitexture http://oss.sgi.com/projects/ogl-sample/registry/ARB/multitexture.txt GL_ARB_multitexture + GL_TEXTURE0_ARB 0x84C0 GL_TEXTURE1_ARB 0x84C1 GL_TEXTURE2_ARB 0x84C2 diff --git a/auto/core/gl/GL_ARB_robustness b/auto/core/gl/GL_ARB_robustness index 3e4f976..82d48d8 100644 --- a/auto/core/gl/GL_ARB_robustness +++ b/auto/core/gl/GL_ARB_robustness @@ -1,6 +1,7 @@ GL_ARB_robustness http://www.opengl.org/registry/specs/ARB/robustness.txt GL_ARB_robustness + GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT_ARB 0x00000004 GL_LOSE_CONTEXT_ON_RESET_ARB 0x8252 GL_GUILTY_CONTEXT_RESET_ARB 0x8253 diff --git a/auto/core/gl/GL_ARB_separate_shader_objects b/auto/core/gl/GL_ARB_separate_shader_objects index 57ec75a..3d3d869 100644 --- a/auto/core/gl/GL_ARB_separate_shader_objects +++ b/auto/core/gl/GL_ARB_separate_shader_objects @@ -1,6 +1,7 @@ GL_ARB_separate_shader_objects http://www.opengl.org/registry/specs/ARB/separate_shader_objects.txt GL_ARB_separate_shader_objects + GL_VERTEX_SHADER_BIT 0x00000001 GL_FRAGMENT_SHADER_BIT 0x00000002 GL_GEOMETRY_SHADER_BIT 0x00000004 diff --git a/auto/core/gl/GL_ARB_vertex_attrib_64bit b/auto/core/gl/GL_ARB_vertex_attrib_64bit index a30aa06..68117c5 100644 --- a/auto/core/gl/GL_ARB_vertex_attrib_64bit +++ b/auto/core/gl/GL_ARB_vertex_attrib_64bit @@ -1,6 +1,7 @@ GL_ARB_vertex_attrib_64bit http://www.opengl.org/registry/specs/ARB/vertex_attrib_64bit.txt GL_ARB_vertex_attrib_64bit + void glGetVertexAttribLdv (GLuint index, GLenum pname, GLdouble* params) void glVertexAttribL1d (GLuint index, GLdouble x) void glVertexAttribL1dv (GLuint index, const GLdouble* v) diff --git a/auto/core/gl/GL_ARB_vertex_blend b/auto/core/gl/GL_ARB_vertex_blend index 7beb75a..f4b3f58 100644 --- a/auto/core/gl/GL_ARB_vertex_blend +++ b/auto/core/gl/GL_ARB_vertex_blend @@ -1,6 +1,7 @@ GL_ARB_vertex_blend http://oss.sgi.com/projects/ogl-sample/registry/ARB/vertex_blend.txt GL_ARB_vertex_blend + GL_MAX_VERTEX_UNITS_ARB 0x86A4 GL_ACTIVE_VERTEX_UNITS_ARB 0x86A5 GL_WEIGHT_SUM_UNITY_ARB 0x86A6 diff --git a/auto/core/gl/GL_ATIX_point_sprites b/auto/core/gl/GL_ATIX_point_sprites index 0f4f574..d2434e7 100644 --- a/auto/core/gl/GL_ATIX_point_sprites +++ b/auto/core/gl/GL_ATIX_point_sprites @@ -1,6 +1,7 @@ GL_ATIX_point_sprites http://www.ati.com/developer/atiopengl.pdf GL_ATIX_point_sprites + GL_TEXTURE_POINT_MODE_ATIX 0x60B0 GL_TEXTURE_POINT_ONE_COORD_ATIX 0x60B1 GL_TEXTURE_POINT_SPRITE_ATIX 0x60B2 diff --git a/auto/core/gl/GL_ATIX_texture_env_combine3 b/auto/core/gl/GL_ATIX_texture_env_combine3 index 537426b..77f425d 100644 --- a/auto/core/gl/GL_ATIX_texture_env_combine3 +++ b/auto/core/gl/GL_ATIX_texture_env_combine3 @@ -1,6 +1,7 @@ GL_ATIX_texture_env_combine3 http://www.ati.com/developer/atiopengl.pdf GL_ATIX_texture_env_combine3 + GL_MODULATE_ADD_ATIX 0x8744 GL_MODULATE_SIGNED_ADD_ATIX 0x8745 GL_MODULATE_SUBTRACT_ATIX 0x8746 diff --git a/auto/core/gl/GL_ATIX_texture_env_route b/auto/core/gl/GL_ATIX_texture_env_route index 939ae09..d972fd1 100644 --- a/auto/core/gl/GL_ATIX_texture_env_route +++ b/auto/core/gl/GL_ATIX_texture_env_route @@ -1,6 +1,7 @@ GL_ATIX_texture_env_route http://www.ati.com/developer/sdk/RadeonSDK/Html/Info/ATIX_texture_env_route.txt GL_ATIX_texture_env_route + GL_SECONDARY_COLOR_ATIX 0x8747 GL_TEXTURE_OUTPUT_RGB_ATIX 0x8748 GL_TEXTURE_OUTPUT_ALPHA_ATIX 0x8749 diff --git a/auto/core/gl/GL_ATIX_vertex_shader_output_point_size b/auto/core/gl/GL_ATIX_vertex_shader_output_point_size index 277a313..85a6d58 100644 --- a/auto/core/gl/GL_ATIX_vertex_shader_output_point_size +++ b/auto/core/gl/GL_ATIX_vertex_shader_output_point_size @@ -1,4 +1,5 @@ GL_ATIX_vertex_shader_output_point_size http://www.ati.com/developer/atiopengl.pdf GL_ATIX_vertex_shader_output_point_size + GL_OUTPUT_POINT_SIZE_ATIX 0x610E diff --git a/auto/core/gl/GL_ATI_envmap_bumpmap b/auto/core/gl/GL_ATI_envmap_bumpmap index fbd9925..09a4112 100644 --- a/auto/core/gl/GL_ATI_envmap_bumpmap +++ b/auto/core/gl/GL_ATI_envmap_bumpmap @@ -1,6 +1,7 @@ GL_ATI_envmap_bumpmap http://oss.sgi.com/projects/ogl-sample/registry/ATI/envmap_bumpmap.txt GL_ATI_envmap_bumpmap + GL_BUMP_ROT_MATRIX_ATI 0x8775 GL_BUMP_ROT_MATRIX_SIZE_ATI 0x8776 GL_BUMP_NUM_TEX_UNITS_ATI 0x8777 diff --git a/auto/core/gl/GL_ATI_map_object_buffer b/auto/core/gl/GL_ATI_map_object_buffer index f401aad..6a683d0 100644 --- a/auto/core/gl/GL_ATI_map_object_buffer +++ b/auto/core/gl/GL_ATI_map_object_buffer @@ -1,5 +1,6 @@ GL_ATI_map_object_buffer http://www.opengl.org/registry/specs/ATI/map_object_buffer.txt GL_ATI_map_object_buffer + void * glMapObjectBufferATI (GLuint buffer) void glUnmapObjectBufferATI (GLuint buffer) diff --git a/auto/core/gl/GL_ATI_pn_triangles b/auto/core/gl/GL_ATI_pn_triangles index a61e27a..ca3923d 100644 --- a/auto/core/gl/GL_ATI_pn_triangles +++ b/auto/core/gl/GL_ATI_pn_triangles @@ -1,6 +1,7 @@ GL_ATI_pn_triangles http://www.opengl.org/registry/specs/ATI/pn_triangles.txt GL_ATI_pn_triangles + GL_PN_TRIANGLES_ATI 0x87F0 GL_MAX_PN_TRIANGLES_TESSELATION_LEVEL_ATI 0x87F1 GL_PN_TRIANGLES_POINT_MODE_ATI 0x87F2 diff --git a/auto/core/gl/GL_ATI_separate_stencil b/auto/core/gl/GL_ATI_separate_stencil index be55bb4..b7237e5 100644 --- a/auto/core/gl/GL_ATI_separate_stencil +++ b/auto/core/gl/GL_ATI_separate_stencil @@ -1,6 +1,7 @@ GL_ATI_separate_stencil http://www.opengl.org/registry/specs/ATI/separate_stencil.txt GL_ATI_separate_stencil + GL_STENCIL_BACK_FUNC_ATI 0x8800 GL_STENCIL_BACK_FAIL_ATI 0x8801 GL_STENCIL_BACK_PASS_DEPTH_FAIL_ATI 0x8802 diff --git a/auto/core/gl/GL_ATI_shader_texture_lod b/auto/core/gl/GL_ATI_shader_texture_lod index 5fbc624..e6e6c04 100644 --- a/auto/core/gl/GL_ATI_shader_texture_lod +++ b/auto/core/gl/GL_ATI_shader_texture_lod @@ -1,3 +1,4 @@ GL_ATI_shader_texture_lod GL_ATI_shader_texture_lod + diff --git a/auto/core/gl/GL_ATI_texture_compression_3dc b/auto/core/gl/GL_ATI_texture_compression_3dc index 2548b30..fc3ee44 100644 --- a/auto/core/gl/GL_ATI_texture_compression_3dc +++ b/auto/core/gl/GL_ATI_texture_compression_3dc @@ -1,4 +1,5 @@ GL_ATI_texture_compression_3dc GL_ATI_texture_compression_3dc + GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI 0x8837 diff --git a/auto/core/gl/GL_ATI_vertex_streams b/auto/core/gl/GL_ATI_vertex_streams index 060f844..f6e64fd 100644 --- a/auto/core/gl/GL_ATI_vertex_streams +++ b/auto/core/gl/GL_ATI_vertex_streams @@ -1,6 +1,7 @@ GL_ATI_vertex_streams http://www.opengl.org/registry/specs/ATI/vertex_streams.txt GL_ATI_vertex_streams + GL_MAX_VERTEX_STREAMS_ATI 0x876B GL_VERTEX_SOURCE_ATI 0x876C GL_VERTEX_STREAM0_ATI 0x876D diff --git a/auto/core/gl/GL_EXT_Cg_shader b/auto/core/gl/GL_EXT_Cg_shader index 34d3152..b2df900 100644 --- a/auto/core/gl/GL_EXT_Cg_shader +++ b/auto/core/gl/GL_EXT_Cg_shader @@ -1,5 +1,6 @@ GL_EXT_Cg_shader http://download.nvidia.com/developer/GLSL/GLSL%20Release%20Notes%20for%20Release%2060.pdf GL_EXT_Cg_shader + GL_CG_VERTEX_SHADER_EXT 0x890E GL_CG_FRAGMENT_SHADER_EXT 0x890F diff --git a/auto/core/gl/GL_EXT_bindable_uniform b/auto/core/gl/GL_EXT_bindable_uniform index 809123b..00ec270 100644 --- a/auto/core/gl/GL_EXT_bindable_uniform +++ b/auto/core/gl/GL_EXT_bindable_uniform @@ -1,6 +1,7 @@ GL_EXT_bindable_uniform http://developer.download.nvidia.com/opengl/specs/GL_EXT_bindable_uniform.txt GL_EXT_bindable_uniform + GL_MAX_VERTEX_BINDABLE_UNIFORMS_EXT 0x8DE2 GL_MAX_FRAGMENT_BINDABLE_UNIFORMS_EXT 0x8DE3 GL_MAX_GEOMETRY_BINDABLE_UNIFORMS_EXT 0x8DE4 diff --git a/auto/core/gl/GL_EXT_debug_marker b/auto/core/gl/GL_EXT_debug_marker index 9d0628c..ce9ffe4 100644 --- a/auto/core/gl/GL_EXT_debug_marker +++ b/auto/core/gl/GL_EXT_debug_marker @@ -1,6 +1,7 @@ GL_EXT_debug_marker http://www.khronos.org/registry/gles/extensions/EXT/EXT_debug_marker.txt GL_EXT_debug_marker + void glInsertEventMarkerEXT (GLsizei length, const GLchar* marker) void glPushGroupMarkerEXT (GLsizei length, const GLchar* marker) void glPopGroupMarkerEXT (void) diff --git a/auto/core/gl/GL_EXT_depth_bounds_test b/auto/core/gl/GL_EXT_depth_bounds_test index 62528b7..da2a453 100644 --- a/auto/core/gl/GL_EXT_depth_bounds_test +++ b/auto/core/gl/GL_EXT_depth_bounds_test @@ -1,6 +1,7 @@ GL_EXT_depth_bounds_test http://www.nvidia.com/dev_content/nvopenglspecs/GL_EXT_depth_bounds_test.txt GL_EXT_depth_bounds_test + GL_DEPTH_BOUNDS_TEST_EXT 0x8890 GL_DEPTH_BOUNDS_EXT 0x8891 void glDepthBoundsEXT (GLclampd zmin, GLclampd zmax) diff --git a/auto/core/gl/GL_EXT_draw_instanced b/auto/core/gl/GL_EXT_draw_instanced index e8e5425..ca7f17e 100644 --- a/auto/core/gl/GL_EXT_draw_instanced +++ b/auto/core/gl/GL_EXT_draw_instanced @@ -1,5 +1,6 @@ GL_EXT_draw_instanced http://developer.download.nvidia.com/opengl/specs/GL_EXT_draw_instanced.txt GL_EXT_draw_instanced + void glDrawArraysInstancedEXT (GLenum mode, GLint start, GLsizei count, GLsizei primcount) void glDrawElementsInstancedEXT (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount) diff --git a/auto/core/gl/GL_EXT_draw_range_elements b/auto/core/gl/GL_EXT_draw_range_elements index d495fe7..f5346de 100644 --- a/auto/core/gl/GL_EXT_draw_range_elements +++ b/auto/core/gl/GL_EXT_draw_range_elements @@ -1,6 +1,7 @@ GL_EXT_draw_range_elements http://oss.sgi.com/projects/ogl-sample/registry/EXT/draw_range_elements.txt GL_EXT_draw_range_elements + GL_MAX_ELEMENTS_VERTICES_EXT 0x80E8 GL_MAX_ELEMENTS_INDICES_EXT 0x80E9 void glDrawRangeElementsEXT (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices) diff --git a/auto/core/gl/GL_EXT_fog_coord b/auto/core/gl/GL_EXT_fog_coord index 5210d54..148866a 100644 --- a/auto/core/gl/GL_EXT_fog_coord +++ b/auto/core/gl/GL_EXT_fog_coord @@ -1,6 +1,7 @@ GL_EXT_fog_coord http://oss.sgi.com/projects/ogl-sample/registry/EXT/fog_coord.txt GL_EXT_fog_coord + GL_FOG_COORDINATE_SOURCE_EXT 0x8450 GL_FOG_COORDINATE_EXT 0x8451 GL_FRAGMENT_DEPTH_EXT 0x8452 diff --git a/auto/core/gl/GL_EXT_framebuffer_sRGB b/auto/core/gl/GL_EXT_framebuffer_sRGB index 4ca897b..2f4c6ff 100644 --- a/auto/core/gl/GL_EXT_framebuffer_sRGB +++ b/auto/core/gl/GL_EXT_framebuffer_sRGB @@ -1,5 +1,6 @@ GL_EXT_framebuffer_sRGB http://developer.download.nvidia.com/opengl/specs/GL_EXT_framebuffer_sRGB.txt GL_EXT_framebuffer_sRGB + GL_FRAMEBUFFER_SRGB_EXT 0x8DB9 GL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x8DBA diff --git a/auto/core/gl/GL_EXT_geometry_shader4 b/auto/core/gl/GL_EXT_geometry_shader4 index f6f6785..a463c4c 100644 --- a/auto/core/gl/GL_EXT_geometry_shader4 +++ b/auto/core/gl/GL_EXT_geometry_shader4 @@ -1,6 +1,7 @@ GL_EXT_geometry_shader4 http://developer.download.nvidia.com/opengl/specs/GL_EXT_geometry_shader4.txt GL_EXT_geometry_shader4 + GL_GEOMETRY_SHADER_EXT 0x8DD9 GL_MAX_GEOMETRY_VARYING_COMPONENTS_EXT 0x8DDD GL_MAX_VERTEX_VARYING_COMPONENTS_EXT 0x8DDE diff --git a/auto/core/gl/GL_EXT_gpu_program_parameters b/auto/core/gl/GL_EXT_gpu_program_parameters index 9048c98..298bc36 100644 --- a/auto/core/gl/GL_EXT_gpu_program_parameters +++ b/auto/core/gl/GL_EXT_gpu_program_parameters @@ -1,5 +1,6 @@ GL_EXT_gpu_program_parameters http://developer.download.nvidia.com/opengl/specs/GL_EXT_gpu_program_parameters.txt GL_EXT_gpu_program_parameters + void glProgramEnvParameters4fvEXT (GLenum target, GLuint index, GLsizei count, const GLfloat* params) void glProgramLocalParameters4fvEXT (GLenum target, GLuint index, GLsizei count, const GLfloat* params) diff --git a/auto/core/gl/GL_EXT_gpu_shader4 b/auto/core/gl/GL_EXT_gpu_shader4 index e6b254d..7e95dbc 100644 --- a/auto/core/gl/GL_EXT_gpu_shader4 +++ b/auto/core/gl/GL_EXT_gpu_shader4 @@ -1,6 +1,7 @@ GL_EXT_gpu_shader4 http://developer.download.nvidia.com/opengl/specs/GL_EXT_gpu_shader4.txt GL_EXT_gpu_shader4 + GL_SAMPLER_1D_ARRAY_EXT 0x8DC0 GL_SAMPLER_2D_ARRAY_EXT 0x8DC1 GL_SAMPLER_BUFFER_EXT 0x8DC2 diff --git a/auto/core/gl/GL_EXT_packed_float b/auto/core/gl/GL_EXT_packed_float index bcb2255..15ac680 100644 --- a/auto/core/gl/GL_EXT_packed_float +++ b/auto/core/gl/GL_EXT_packed_float @@ -1,6 +1,7 @@ GL_EXT_packed_float http://developer.download.nvidia.com/opengl/specs/GL_EXT_packed_float.txt GL_EXT_packed_float + GL_R11F_G11F_B10F_EXT 0x8C3A GL_UNSIGNED_INT_10F_11F_11F_REV_EXT 0x8C3B GL_RGBA_SIGNED_COMPONENTS_EXT 0x8C3C diff --git a/auto/core/gl/GL_EXT_pixel_buffer_object b/auto/core/gl/GL_EXT_pixel_buffer_object index a7f8f2c..f685e4c 100644 --- a/auto/core/gl/GL_EXT_pixel_buffer_object +++ b/auto/core/gl/GL_EXT_pixel_buffer_object @@ -1,6 +1,7 @@ GL_EXT_pixel_buffer_object http://www.nvidia.com/dev_content/nvopenglspecs/GL_EXT_pixel_buffer_object.txt GL_EXT_pixel_buffer_object + GL_PIXEL_PACK_BUFFER_EXT 0x88EB GL_PIXEL_UNPACK_BUFFER_EXT 0x88EC GL_PIXEL_PACK_BUFFER_BINDING_EXT 0x88ED diff --git a/auto/core/gl/GL_EXT_secondary_color b/auto/core/gl/GL_EXT_secondary_color index 34a2a78..505761d 100644 --- a/auto/core/gl/GL_EXT_secondary_color +++ b/auto/core/gl/GL_EXT_secondary_color @@ -1,6 +1,7 @@ GL_EXT_secondary_color http://oss.sgi.com/projects/ogl-sample/registry/EXT/secondary_color.txt GL_EXT_secondary_color + GL_COLOR_SUM_EXT 0x8458 GL_CURRENT_SECONDARY_COLOR_EXT 0x8459 GL_SECONDARY_COLOR_ARRAY_SIZE_EXT 0x845A diff --git a/auto/core/gl/GL_EXT_texture_array b/auto/core/gl/GL_EXT_texture_array index 11877f0..c5c2c9f 100644 --- a/auto/core/gl/GL_EXT_texture_array +++ b/auto/core/gl/GL_EXT_texture_array @@ -1,6 +1,7 @@ GL_EXT_texture_array http://developer.download.nvidia.com/opengl/specs/GL_EXT_texture_array.txt GL_EXT_texture_array + GL_TEXTURE_1D_ARRAY_EXT 0x8C18 GL_PROXY_TEXTURE_1D_ARRAY_EXT 0x8C19 GL_TEXTURE_2D_ARRAY_EXT 0x8C1A diff --git a/auto/core/gl/GL_EXT_texture_buffer_object b/auto/core/gl/GL_EXT_texture_buffer_object index c00e1f3..81b5835 100644 --- a/auto/core/gl/GL_EXT_texture_buffer_object +++ b/auto/core/gl/GL_EXT_texture_buffer_object @@ -1,6 +1,7 @@ GL_EXT_texture_buffer_object http://developer.download.nvidia.com/opengl/specs/GL_EXT_texture_buffer_object.txt GL_EXT_texture_buffer_object + GL_TEXTURE_BUFFER_EXT 0x8C2A GL_MAX_TEXTURE_BUFFER_SIZE_EXT 0x8C2B GL_TEXTURE_BINDING_BUFFER_EXT 0x8C2C diff --git a/auto/core/gl/GL_EXT_texture_compression_latc b/auto/core/gl/GL_EXT_texture_compression_latc index ddf8d26..e8fcacc 100644 --- a/auto/core/gl/GL_EXT_texture_compression_latc +++ b/auto/core/gl/GL_EXT_texture_compression_latc @@ -1,6 +1,7 @@ GL_EXT_texture_compression_latc http://developer.download.nvidia.com/opengl/specs/GL_EXT_texture_compression_latc.txt GL_EXT_texture_compression_latc + GL_COMPRESSED_LUMINANCE_LATC1_EXT 0x8C70 GL_COMPRESSED_SIGNED_LUMINANCE_LATC1_EXT 0x8C71 GL_COMPRESSED_LUMINANCE_ALPHA_LATC2_EXT 0x8C72 diff --git a/auto/core/gl/GL_EXT_texture_compression_rgtc b/auto/core/gl/GL_EXT_texture_compression_rgtc index 7c5c57f..054b7f0 100644 --- a/auto/core/gl/GL_EXT_texture_compression_rgtc +++ b/auto/core/gl/GL_EXT_texture_compression_rgtc @@ -1,6 +1,7 @@ GL_EXT_texture_compression_rgtc http://developer.download.nvidia.com/opengl/specs/GL_EXT_texture_compression_rgtc.txt GL_EXT_texture_compression_rgtc + GL_COMPRESSED_RED_RGTC1_EXT 0x8DBB GL_COMPRESSED_SIGNED_RED_RGTC1_EXT 0x8DBC GL_COMPRESSED_RED_GREEN_RGTC2_EXT 0x8DBD diff --git a/auto/core/gl/GL_EXT_texture_cube_map b/auto/core/gl/GL_EXT_texture_cube_map index 5909f48..73a2c73 100644 --- a/auto/core/gl/GL_EXT_texture_cube_map +++ b/auto/core/gl/GL_EXT_texture_cube_map @@ -1,6 +1,7 @@ GL_EXT_texture_cube_map http://www.nvidia.com/dev_content/nvopenglspecs/GL_EXT_texture_cube_map.txt GL_EXT_texture_cube_map + GL_NORMAL_MAP_EXT 0x8511 GL_REFLECTION_MAP_EXT 0x8512 GL_TEXTURE_CUBE_MAP_EXT 0x8513 diff --git a/auto/core/gl/GL_EXT_texture_edge_clamp b/auto/core/gl/GL_EXT_texture_edge_clamp index 4df0997..c0b3e2a 100644 --- a/auto/core/gl/GL_EXT_texture_edge_clamp +++ b/auto/core/gl/GL_EXT_texture_edge_clamp @@ -1,4 +1,5 @@ GL_EXT_texture_edge_clamp http://www.opengl.org/developers/documentation/Version1.2/1.2specs/texture_edge_clamp.txt GL_EXT_texture_edge_clamp + GL_CLAMP_TO_EDGE_EXT 0x812F diff --git a/auto/core/gl/GL_EXT_texture_integer b/auto/core/gl/GL_EXT_texture_integer index 1c57e40..43219cf 100644 --- a/auto/core/gl/GL_EXT_texture_integer +++ b/auto/core/gl/GL_EXT_texture_integer @@ -1,6 +1,7 @@ GL_EXT_texture_integer http://developer.download.nvidia.com/opengl/specs/GL_EXT_texture_integer.txt GL_EXT_texture_integer + GL_RGBA32UI_EXT 0x8D70 GL_RGB32UI_EXT 0x8D71 GL_ALPHA32UI_EXT 0x8D72 diff --git a/auto/core/gl/GL_EXT_texture_rectangle b/auto/core/gl/GL_EXT_texture_rectangle index 4028a9e..1394311 100644 --- a/auto/core/gl/GL_EXT_texture_rectangle +++ b/auto/core/gl/GL_EXT_texture_rectangle @@ -1,6 +1,7 @@ GL_EXT_texture_rectangle http://developer.apple.com/opengl/extensions/ext_texture_rectangle.html GL_EXT_texture_rectangle + GL_TEXTURE_RECTANGLE_EXT 0x84F5 GL_TEXTURE_BINDING_RECTANGLE_EXT 0x84F6 GL_PROXY_TEXTURE_RECTANGLE_EXT 0x84F7 diff --git a/auto/core/gl/GL_EXT_texture_shared_exponent b/auto/core/gl/GL_EXT_texture_shared_exponent index 4ff7efc..4c7d461 100644 --- a/auto/core/gl/GL_EXT_texture_shared_exponent +++ b/auto/core/gl/GL_EXT_texture_shared_exponent @@ -1,6 +1,7 @@ GL_EXT_texture_shared_exponent http://developer.download.nvidia.com/opengl/specs/GL_EXT_texture_shared_exponent.txt GL_EXT_texture_shared_exponent + GL_RGB9_E5_EXT 0x8C3D GL_UNSIGNED_INT_5_9_9_9_REV_EXT 0x8C3E GL_TEXTURE_SHARED_SIZE_EXT 0x8C3F diff --git a/auto/core/gl/GL_EXT_timer_query b/auto/core/gl/GL_EXT_timer_query index 390e6fc..530ba35 100644 --- a/auto/core/gl/GL_EXT_timer_query +++ b/auto/core/gl/GL_EXT_timer_query @@ -1,6 +1,7 @@ GL_EXT_timer_query http://www.nvidia.com/dev_content/nvopenglspecs/GL_EXT_timer_query.txt GL_EXT_timer_query + GL_TIME_ELAPSED_EXT 0x88BF void glGetQueryObjecti64vEXT (GLuint id, GLenum pname, GLint64EXT *params) void glGetQueryObjectui64vEXT (GLuint id, GLenum pname, GLuint64EXT *params) diff --git a/auto/core/gl/GL_EXT_vertex_shader b/auto/core/gl/GL_EXT_vertex_shader index 651fbc2..8d3314f 100644 --- a/auto/core/gl/GL_EXT_vertex_shader +++ b/auto/core/gl/GL_EXT_vertex_shader @@ -1,6 +1,7 @@ GL_EXT_vertex_shader http://oss.sgi.com/projects/ogl-sample/registry/EXT/vertex_shader.txt GL_EXT_vertex_shader + GL_VERTEX_SHADER_EXT 0x8780 GL_VERTEX_SHADER_BINDING_EXT 0x8781 GL_OP_INDEX_EXT 0x8782 diff --git a/auto/core/gl/GL_KTX_buffer_region b/auto/core/gl/GL_KTX_buffer_region index adc6c6f..ef281b1 100644 --- a/auto/core/gl/GL_KTX_buffer_region +++ b/auto/core/gl/GL_KTX_buffer_region @@ -1,6 +1,7 @@ GL_KTX_buffer_region GL_KTX_buffer_region + GL_KTX_FRONT_REGION 0x0 GL_KTX_BACK_REGION 0x1 GL_KTX_Z_REGION 0x2 diff --git a/auto/core/gl/GL_NVX_gpu_memory_info b/auto/core/gl/GL_NVX_gpu_memory_info index 6dd7bdd..a8d97b9 100644 --- a/auto/core/gl/GL_NVX_gpu_memory_info +++ b/auto/core/gl/GL_NVX_gpu_memory_info @@ -1,6 +1,7 @@ GL_NVX_gpu_memory_info http://developer.download.nvidia.com/opengl/specs/GL_NVX_gpu_memory_info.txt GL_NVX_gpu_memory_info + GL_GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX 0x9047 GL_GPU_MEMORY_INFO_TOTAL_AVAILABLE_MEMORY_NVX 0x9048 GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX 0x9049 diff --git a/auto/core/gl/GL_NV_depth_buffer_float b/auto/core/gl/GL_NV_depth_buffer_float index 493b245..421d266 100644 --- a/auto/core/gl/GL_NV_depth_buffer_float +++ b/auto/core/gl/GL_NV_depth_buffer_float @@ -1,6 +1,7 @@ GL_NV_depth_buffer_float http://developer.download.nvidia.com/opengl/specs/GL_NV_depth_buffer_float.txt GL_NV_depth_buffer_float + GL_DEPTH_COMPONENT32F_NV 0x8DAB GL_DEPTH32F_STENCIL8_NV 0x8DAC GL_FLOAT_32_UNSIGNED_INT_24_8_REV_NV 0x8DAD diff --git a/auto/core/gl/GL_NV_depth_range_unclamped b/auto/core/gl/GL_NV_depth_range_unclamped index 62b4e59..b63a0ee 100644 --- a/auto/core/gl/GL_NV_depth_range_unclamped +++ b/auto/core/gl/GL_NV_depth_range_unclamped @@ -1,6 +1,7 @@ GL_NV_depth_range_unclamped GL_NV_depth_range_unclamped + GL_SAMPLE_COUNT_BITS_NV 0x8864 GL_CURRENT_SAMPLE_COUNT_QUERY_NV 0x8865 GL_QUERY_RESULT_NV 0x8866 diff --git a/auto/core/gl/GL_NV_fragment_program2 b/auto/core/gl/GL_NV_fragment_program2 index 7fb59ee..79d4b63 100644 --- a/auto/core/gl/GL_NV_fragment_program2 +++ b/auto/core/gl/GL_NV_fragment_program2 @@ -1,6 +1,7 @@ GL_NV_fragment_program2 http://www.nvidia.com/dev_content/nvopenglspecs/GL_NV_fragment_program2.txt GL_NV_fragment_program2 + GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 0x88F4 GL_MAX_PROGRAM_CALL_DEPTH_NV 0x88F5 GL_MAX_PROGRAM_IF_DEPTH_NV 0x88F6 diff --git a/auto/core/gl/GL_NV_fragment_program4 b/auto/core/gl/GL_NV_fragment_program4 index 0ae2598..edd4383 100644 --- a/auto/core/gl/GL_NV_fragment_program4 +++ b/auto/core/gl/GL_NV_fragment_program4 @@ -1,3 +1,4 @@ GL_NV_fragment_program4 http://developer.download.nvidia.com/opengl/specs/GL_NV_fragment_program4.txt GL_NV_gpu_program4 + diff --git a/auto/core/gl/GL_NV_fragment_program_option b/auto/core/gl/GL_NV_fragment_program_option index 7af9731..01b8ed6 100644 --- a/auto/core/gl/GL_NV_fragment_program_option +++ b/auto/core/gl/GL_NV_fragment_program_option @@ -1,3 +1,4 @@ GL_NV_fragment_program_option http://www.nvidia.com/dev_content/nvopenglspecs/GL_NV_fragment_program_option.txt GL_NV_fragment_program_option + diff --git a/auto/core/gl/GL_NV_framebuffer_multisample_coverage b/auto/core/gl/GL_NV_framebuffer_multisample_coverage index d1d0660..526d0f0 100644 --- a/auto/core/gl/GL_NV_framebuffer_multisample_coverage +++ b/auto/core/gl/GL_NV_framebuffer_multisample_coverage @@ -1,6 +1,7 @@ GL_NV_framebuffer_multisample_coverage http://developer.download.nvidia.com/opengl/specs/GL_NV_framebuffer_multisample_coverage.txt GL_NV_framebuffer_multisample_coverage + GL_RENDERBUFFER_COVERAGE_SAMPLES_NV 0x8CAB GL_RENDERBUFFER_COLOR_SAMPLES_NV 0x8E10 GL_MAX_MULTISAMPLE_COVERAGE_MODES_NV 0x8E11 diff --git a/auto/core/gl/GL_NV_geometry_program4 b/auto/core/gl/GL_NV_geometry_program4 index 3f82b19..a6cb164 100644 --- a/auto/core/gl/GL_NV_geometry_program4 +++ b/auto/core/gl/GL_NV_geometry_program4 @@ -1,6 +1,7 @@ GL_NV_geometry_program4 http://developer.download.nvidia.com/opengl/specs/GL_NV_geometry_program4.txt GL_NV_gpu_program4 + GL_GEOMETRY_PROGRAM_NV 0x8C26 GL_MAX_PROGRAM_OUTPUT_VERTICES_NV 0x8C27 GL_MAX_PROGRAM_TOTAL_OUTPUT_COMPONENTS_NV 0x8C28 diff --git a/auto/core/gl/GL_NV_geometry_shader4 b/auto/core/gl/GL_NV_geometry_shader4 index 2040c0d..1b00429 100644 --- a/auto/core/gl/GL_NV_geometry_shader4 +++ b/auto/core/gl/GL_NV_geometry_shader4 @@ -1,3 +1,4 @@ GL_NV_geometry_shader4 http://developer.download.nvidia.com/opengl/specs/GL_NV_geometry_shader4.txt GL_NV_geometry_shader4 + diff --git a/auto/core/gl/GL_NV_gpu_program4 b/auto/core/gl/GL_NV_gpu_program4 index 030f68e..19f7169 100644 --- a/auto/core/gl/GL_NV_gpu_program4 +++ b/auto/core/gl/GL_NV_gpu_program4 @@ -1,6 +1,7 @@ GL_NV_gpu_program4 http://developer.download.nvidia.com/opengl/specs/GL_NV_gpu_program4.txt GL_NV_gpu_program4 + GL_MIN_PROGRAM_TEXEL_OFFSET_NV 0x8904 GL_MAX_PROGRAM_TEXEL_OFFSET_NV 0x8905 GL_PROGRAM_ATTRIB_COMPONENTS_NV 0x8906 diff --git a/auto/core/gl/GL_NV_gpu_program5 b/auto/core/gl/GL_NV_gpu_program5 index 18bb28f..68079f3 100644 --- a/auto/core/gl/GL_NV_gpu_program5 +++ b/auto/core/gl/GL_NV_gpu_program5 @@ -1,6 +1,7 @@ GL_NV_gpu_program5 http://www.opengl.org/registry/specs/NV/gpu_program5.txt GL_NV_gpu_program5 + GL_MAX_GEOMETRY_PROGRAM_INVOCATIONS_NV 0x8E5A GL_MIN_FRAGMENT_INTERPOLATION_OFFSET_NV 0x8E5B GL_MAX_FRAGMENT_INTERPOLATION_OFFSET_NV 0x8E5C diff --git a/auto/core/gl/GL_NV_parameter_buffer_object b/auto/core/gl/GL_NV_parameter_buffer_object index d2525a1..91494e3 100644 --- a/auto/core/gl/GL_NV_parameter_buffer_object +++ b/auto/core/gl/GL_NV_parameter_buffer_object @@ -1,6 +1,7 @@ GL_NV_parameter_buffer_object http://developer.download.nvidia.com/opengl/specs/GL_NV_parameter_buffer_object.txt GL_NV_parameter_buffer_object + GL_VERTEX_PROGRAM_PARAMETER_BUFFER_NV 0x8DA2 GL_GEOMETRY_PROGRAM_PARAMETER_BUFFER_NV 0x8DA3 GL_FRAGMENT_PROGRAM_PARAMETER_BUFFER_NV 0x8DA4 diff --git a/auto/core/gl/GL_NV_present_video b/auto/core/gl/GL_NV_present_video index 893c74c..1a5b8ce 100644 --- a/auto/core/gl/GL_NV_present_video +++ b/auto/core/gl/GL_NV_present_video @@ -1,6 +1,7 @@ GL_NV_present_video http://www.opengl.org/registry/specs/NV/present_video.txt GL_NV_present_video + GL_FRAME_NV 0x8E26 GL_FIELDS_NV 0x8E27 GL_CURRENT_TIME_NV 0x8E28 diff --git a/auto/core/gl/GL_NV_tessellation_program5 b/auto/core/gl/GL_NV_tessellation_program5 index b663c97..75fd3c7 100644 --- a/auto/core/gl/GL_NV_tessellation_program5 +++ b/auto/core/gl/GL_NV_tessellation_program5 @@ -1,6 +1,7 @@ GL_NV_tessellation_program5 http://www.opengl.org/registry/specs/NV/tessellation_program5.txt GL_NV_gpu_program5 + GL_MAX_PROGRAM_PATCH_ATTRIBS_NV 0x86D8 GL_TESS_CONTROL_PROGRAM_NV 0x891E GL_TESS_EVALUATION_PROGRAM_NV 0x891F diff --git a/auto/core/gl/GL_NV_transform_feedback b/auto/core/gl/GL_NV_transform_feedback index fce4757..5f1816e 100644 --- a/auto/core/gl/GL_NV_transform_feedback +++ b/auto/core/gl/GL_NV_transform_feedback @@ -1,6 +1,7 @@ GL_NV_transform_feedback http://developer.download.nvidia.com/opengl/specs/GL_NV_transform_feedback.txt GL_NV_transform_feedback + GL_BACK_PRIMARY_COLOR_NV 0x8C77 GL_BACK_SECONDARY_COLOR_NV 0x8C78 GL_TEXTURE_COORD_NV 0x8C79 diff --git a/auto/core/gl/GL_NV_vdpau_interop b/auto/core/gl/GL_NV_vdpau_interop index 12251ad..f52949c 100644 --- a/auto/core/gl/GL_NV_vdpau_interop +++ b/auto/core/gl/GL_NV_vdpau_interop @@ -1,6 +1,7 @@ GL_NV_vdpau_interop http://www.opengl.org/registry/specs/NV/vdpau_interop.txt GL_NV_vdpau_interop + GL_SURFACE_STATE_NV 0x86EB GL_SURFACE_REGISTERED_NV 0x86FD GL_SURFACE_MAPPED_NV 0x8700 diff --git a/auto/core/gl/GL_NV_vertex_program2_option b/auto/core/gl/GL_NV_vertex_program2_option index 1fecc4c..3e3e0b7 100644 --- a/auto/core/gl/GL_NV_vertex_program2_option +++ b/auto/core/gl/GL_NV_vertex_program2_option @@ -1,5 +1,6 @@ GL_NV_vertex_program2_option http://www.nvidia.com/dev_content/nvopenglspecs/GL_NV_vertex_program2_option.txt GL_NV_vertex_program2_option + GL_MAX_PROGRAM_EXEC_INSTRUCTIONS_NV 0x88F4 GL_MAX_PROGRAM_CALL_DEPTH_NV 0x88F5 diff --git a/auto/core/gl/GL_NV_vertex_program3 b/auto/core/gl/GL_NV_vertex_program3 index 6510e06..fbd3899 100644 --- a/auto/core/gl/GL_NV_vertex_program3 +++ b/auto/core/gl/GL_NV_vertex_program3 @@ -1,4 +1,5 @@ GL_NV_vertex_program3 http://www.nvidia.com/dev_content/nvopenglspecs/GL_NV_vertex_program3.txt GL_NV_vertex_program3 + MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8B4C diff --git a/auto/core/gl/GL_NV_vertex_program4 b/auto/core/gl/GL_NV_vertex_program4 index c51d08a..b1ff7f8 100644 --- a/auto/core/gl/GL_NV_vertex_program4 +++ b/auto/core/gl/GL_NV_vertex_program4 @@ -1,4 +1,5 @@ GL_NV_vertex_program4 http://developer.download.nvidia.com/opengl/specs/GL_NV_vertex_program4.txt GL_NV_gpu_program4 + GL_VERTEX_ATTRIB_ARRAY_INTEGER_NV 0x88FD diff --git a/auto/core/gl/GL_SGIX_shadow b/auto/core/gl/GL_SGIX_shadow index 2b34cc8..3580721 100644 --- a/auto/core/gl/GL_SGIX_shadow +++ b/auto/core/gl/GL_SGIX_shadow @@ -1,6 +1,7 @@ GL_SGIX_shadow http://oss.sgi.com/projects/ogl-sample/registry/SGIX/shadow.txt GL_SGIX_shadow + GL_TEXTURE_COMPARE_SGIX 0x819A GL_TEXTURE_COMPARE_OPERATOR_SGIX 0x819B GL_TEXTURE_LEQUAL_R_SGIX 0x819C diff --git a/auto/core/gl/GL_SUN_read_video_pixels b/auto/core/gl/GL_SUN_read_video_pixels index 1de7cc8..871e6f9 100644 --- a/auto/core/gl/GL_SUN_read_video_pixels +++ b/auto/core/gl/GL_SUN_read_video_pixels @@ -1,4 +1,5 @@ GL_SUN_read_video_pixels http://wwws.sun.com/software/graphics/opengl/extensions/gl_sun_read_video_pixels.txt GL_SUN_read_video_pixels + void glReadVideoPixelsSUN (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void* pixels) diff --git a/auto/core/gl/GL_VERSION_1_2 b/auto/core/gl/GL_VERSION_1_2 index f868670..fe610b6 100644 --- a/auto/core/gl/GL_VERSION_1_2 +++ b/auto/core/gl/GL_VERSION_1_2 @@ -1,6 +1,7 @@ GL_VERSION_1_2 http://www.opengl.org/documentation/specs/version1.2/opengl1.2.1.pdf + GL_UNSIGNED_BYTE_3_3_2 0x8032 GL_UNSIGNED_SHORT_4_4_4_4 0x8033 GL_UNSIGNED_SHORT_5_5_5_1 0x8034 diff --git a/auto/core/gl/GL_VERSION_1_2_1 b/auto/core/gl/GL_VERSION_1_2_1 index a6ecf24..42634cb 100644 --- a/auto/core/gl/GL_VERSION_1_2_1 +++ b/auto/core/gl/GL_VERSION_1_2_1 @@ -1,3 +1,4 @@ GL_VERSION_1_2_1 http://www.opengl.org/documentation/specs/version1.2/opengl1.2.1.pdf + diff --git a/auto/core/gl/GL_VERSION_1_3 b/auto/core/gl/GL_VERSION_1_3 index 0c531d4..d6342fa 100644 --- a/auto/core/gl/GL_VERSION_1_3 +++ b/auto/core/gl/GL_VERSION_1_3 @@ -1,6 +1,7 @@ GL_VERSION_1_3 http://www.opengl.org/documentation/specs/version1.3/glspec13.pdf + GL_TEXTURE0 0x84C0 GL_TEXTURE1 0x84C1 GL_TEXTURE2 0x84C2 diff --git a/auto/core/gl/GL_VERSION_1_4 b/auto/core/gl/GL_VERSION_1_4 index 2c9ba46..8d0724a 100644 --- a/auto/core/gl/GL_VERSION_1_4 +++ b/auto/core/gl/GL_VERSION_1_4 @@ -1,6 +1,7 @@ GL_VERSION_1_4 http://www.opengl.org/documentation/specs/version1.4/glspec14.pdf + GL_GENERATE_MIPMAP 0x8191 GL_GENERATE_MIPMAP_HINT 0x8192 GL_DEPTH_COMPONENT16 0x81A5 diff --git a/auto/core/gl/GL_VERSION_1_5 b/auto/core/gl/GL_VERSION_1_5 index ad53e9f..439ecb6 100644 --- a/auto/core/gl/GL_VERSION_1_5 +++ b/auto/core/gl/GL_VERSION_1_5 @@ -1,6 +1,7 @@ GL_VERSION_1_5 http://www.opengl.org/documentation/specs/version1.5/glspec15.pdf + GL_BUFFER_SIZE 0x8764 GL_BUFFER_USAGE 0x8765 GL_QUERY_COUNTER_BITS 0x8864 diff --git a/auto/core/gl/GL_VERSION_2_0 b/auto/core/gl/GL_VERSION_2_0 index f6479d0..5bf6988 100644 --- a/auto/core/gl/GL_VERSION_2_0 +++ b/auto/core/gl/GL_VERSION_2_0 @@ -1,6 +1,7 @@ GL_VERSION_2_0 http://www.opengl.org/documentation/specs/version2.0/glspec20.pdf + GL_BLEND_EQUATION_RGB GL_BLEND_EQUATION GL_VERTEX_ATTRIB_ARRAY_ENABLED 0x8622 GL_VERTEX_ATTRIB_ARRAY_SIZE 0x8623 diff --git a/auto/core/gl/GL_VERSION_2_1 b/auto/core/gl/GL_VERSION_2_1 index 51aa95b..88ecce8 100644 --- a/auto/core/gl/GL_VERSION_2_1 +++ b/auto/core/gl/GL_VERSION_2_1 @@ -1,6 +1,7 @@ GL_VERSION_2_1 http://www.opengl.org/documentation/specs/version2.1/glspec21.pdf + GL_CURRENT_RASTER_SECONDARY_COLOR 0x845F GL_PIXEL_PACK_BUFFER 0x88EB GL_PIXEL_UNPACK_BUFFER 0x88EC diff --git a/auto/core/gl/GL_VERSION_3_0 b/auto/core/gl/GL_VERSION_3_0 index c87cdab..4be5db0 100644 --- a/auto/core/gl/GL_VERSION_3_0 +++ b/auto/core/gl/GL_VERSION_3_0 @@ -1,6 +1,7 @@ GL_VERSION_3_0 https://www.opengl.org/registry/doc/glspec30.20080923.pdf +GL_ARB_framebuffer_object GL_ARB_map_buffer_range GL_ARB_uniform_buffer_object GL_ARB_vertex_array_object GL_COMPARE_REF_TO_TEXTURE GL_COMPARE_R_TO_TEXTURE_ARB GL_CLIP_DISTANCE0 GL_CLIP_PLANE0 GL_CLIP_DISTANCE1 GL_CLIP_PLANE1 diff --git a/auto/core/gl/GL_VERSION_3_1 b/auto/core/gl/GL_VERSION_3_1 index a829a77..c546704 100644 --- a/auto/core/gl/GL_VERSION_3_1 +++ b/auto/core/gl/GL_VERSION_3_1 @@ -1,6 +1,7 @@ GL_VERSION_3_1 https://www.opengl.org/registry/doc/glspec31.20090528.pdf +GL_ARB_copy_buffer GL_SAMPLER_2D_RECT 0x8B63 GL_SAMPLER_2D_RECT_SHADOW 0x8B64 GL_SAMPLER_BUFFER 0x8DC2 diff --git a/auto/core/gl/GL_VERSION_3_2 b/auto/core/gl/GL_VERSION_3_2 index 85cea08..a987541 100644 --- a/auto/core/gl/GL_VERSION_3_2 +++ b/auto/core/gl/GL_VERSION_3_2 @@ -1,6 +1,7 @@ GL_VERSION_3_2 https://www.opengl.org/registry/doc/glspec32.compatibility.20091207.pdf +GL_ARB_draw_elements_base_vertex GL_ARB_provoking_vertex GL_ARB_sync GL_ARB_texture_multisample GL_CONTEXT_CORE_PROFILE_BIT 0x00000001 GL_CONTEXT_COMPATIBILITY_PROFILE_BIT 0x00000002 GL_LINES_ADJACENCY 0x000A diff --git a/auto/core/gl/GL_VERSION_3_3 b/auto/core/gl/GL_VERSION_3_3 index bbd6914..a80dbcc 100644 --- a/auto/core/gl/GL_VERSION_3_3 +++ b/auto/core/gl/GL_VERSION_3_3 @@ -1,6 +1,7 @@ GL_VERSION_3_3 https://www.opengl.org/registry/doc/glspec33.compatibility.20100311.pdf + GL_RGB10_A2UI 0x906F GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE void glVertexAttribDivisor (GLuint index, GLuint divisor) diff --git a/auto/core/gl/GL_VERSION_4_0 b/auto/core/gl/GL_VERSION_4_0 index a3a0dc2..3715b40 100644 --- a/auto/core/gl/GL_VERSION_4_0 +++ b/auto/core/gl/GL_VERSION_4_0 @@ -1,6 +1,7 @@ GL_VERSION_4_0 https://www.opengl.org/registry/doc/glspec40.compatibility.20100311.pdf + GL_SAMPLE_SHADING 0x8C36 GL_MIN_SAMPLE_SHADING_VALUE 0x8C37 GL_MIN_PROGRAM_TEXTURE_GATHER_OFFSET 0x8E5E diff --git a/auto/core/gl/GL_VERSION_4_1 b/auto/core/gl/GL_VERSION_4_1 index 91da382..6153c27 100644 --- a/auto/core/gl/GL_VERSION_4_1 +++ b/auto/core/gl/GL_VERSION_4_1 @@ -1,2 +1,3 @@ GL_VERSION_4_1 https://www.opengl.org/registry/doc/glspec41.compatibility.20100725.pdf + diff --git a/auto/core/gl/GL_VERSION_4_2 b/auto/core/gl/GL_VERSION_4_2 index d5c1708..ff12b4c 100644 --- a/auto/core/gl/GL_VERSION_4_2 +++ b/auto/core/gl/GL_VERSION_4_2 @@ -1,6 +1,7 @@ GL_VERSION_4_2 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 diff --git a/auto/core/gl/GL_VERSION_4_3 b/auto/core/gl/GL_VERSION_4_3 index dc2b408..32fc35b 100644 --- a/auto/core/gl/GL_VERSION_4_3 +++ b/auto/core/gl/GL_VERSION_4_3 @@ -1,5 +1,6 @@ GL_VERSION_4_3 https://www.opengl.org/registry/doc/glspec43.compatibility.20130214.pdf + GL_VERTEX_ATTRIB_ARRAY_LONG 0x874E GL_NUM_SHADING_LANGUAGE_VERSIONS 0x82E9 diff --git a/auto/core/gl/GL_VERSION_4_4 b/auto/core/gl/GL_VERSION_4_4 index 959c146..cf6416e 100644 --- a/auto/core/gl/GL_VERSION_4_4 +++ b/auto/core/gl/GL_VERSION_4_4 @@ -1,6 +1,7 @@ GL_VERSION_4_4 https://www.opengl.org/registry/doc/glspec44.compatibility.pdf + GL_MAX_VERTEX_ATTRIB_STRIDE 0x82E5 GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED 0x8221 GL_TEXTURE_BUFFER_BINDING 0x8C2A diff --git a/auto/core/gl/GL_VERSION_4_5 b/auto/core/gl/GL_VERSION_4_5 index 3c06e85..1ecda61 100644 --- a/auto/core/gl/GL_VERSION_4_5 +++ b/auto/core/gl/GL_VERSION_4_5 @@ -1,6 +1,7 @@ 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) diff --git a/auto/core/gl/GL_WIN_swap_hint b/auto/core/gl/GL_WIN_swap_hint index 6916189..9bb490b 100644 --- a/auto/core/gl/GL_WIN_swap_hint +++ b/auto/core/gl/GL_WIN_swap_hint @@ -1,4 +1,5 @@ GL_WIN_swap_hint http://msdn.microsoft.com/library/default.asp?url=/library/en-us/opengl/glfunc01_16zy.asp GL_WIN_swap_hint + void glAddSwapHintRectWIN (GLint x, GLint y, GLsizei width, GLsizei height) diff --git a/auto/core/gl/WGL_ARB_create_context b/auto/core/gl/WGL_ARB_create_context index 20b3119..7e7c163 100644 --- a/auto/core/gl/WGL_ARB_create_context +++ b/auto/core/gl/WGL_ARB_create_context @@ -1,6 +1,7 @@ WGL_ARB_create_context http://www.opengl.org/registry/specs/ARB/wgl_create_context.txt WGL_ARB_create_context + WGL_CONTEXT_DEBUG_BIT_ARB 0x0001 WGL_CONTEXT_FORWARD_COMPATIBLE_BIT_ARB 0x0002 WGL_CONTEXT_MAJOR_VERSION_ARB 0x2091 diff --git a/auto/core/gl/WGL_ATI_render_texture_rectangle b/auto/core/gl/WGL_ATI_render_texture_rectangle index 55df114..aba7be1 100644 --- a/auto/core/gl/WGL_ATI_render_texture_rectangle +++ b/auto/core/gl/WGL_ATI_render_texture_rectangle @@ -1,4 +1,5 @@ WGL_ATI_render_texture_rectangle WGL_ATI_render_texture_rectangle + WGL_TEXTURE_RECTANGLE_ATI 0x21A5 diff --git a/auto/core/gl/WGL_EXT_create_context_es2_profile b/auto/core/gl/WGL_EXT_create_context_es2_profile index ca9881a..3105737 100644 --- a/auto/core/gl/WGL_EXT_create_context_es2_profile +++ b/auto/core/gl/WGL_EXT_create_context_es2_profile @@ -1,4 +1,5 @@ WGL_EXT_create_context_es2_profile http://www.opengl.org/registry/specs/EXT/wgl_create_context_es2_profile.txt WGL_EXT_create_context_es2_profile + WGL_CONTEXT_ES2_PROFILE_BIT_EXT 0x00000004 diff --git a/auto/core/gl/WGL_EXT_create_context_es_profile b/auto/core/gl/WGL_EXT_create_context_es_profile index 6eb7cdd..5c7ce7e 100644 --- a/auto/core/gl/WGL_EXT_create_context_es_profile +++ b/auto/core/gl/WGL_EXT_create_context_es_profile @@ -1,4 +1,5 @@ WGL_EXT_create_context_es_profile http://www.opengl.org/registry/specs/EXT/wgl_create_context_es_profile.txt WGL_EXT_create_context_es_profile + WGL_CONTEXT_ES_PROFILE_BIT_EXT 0x00000004 diff --git a/auto/core/gl/WGL_EXT_framebuffer_sRGB b/auto/core/gl/WGL_EXT_framebuffer_sRGB index e4a4032..5f2f5b8 100644 --- a/auto/core/gl/WGL_EXT_framebuffer_sRGB +++ b/auto/core/gl/WGL_EXT_framebuffer_sRGB @@ -1,4 +1,5 @@ WGL_EXT_framebuffer_sRGB http://developer.download.nvidia.com/opengl/specs/GL_EXT_framebuffer_sRGB.txt WGL_EXT_framebuffer_sRGB + WGL_FRAMEBUFFER_SRGB_CAPABLE_EXT 0x20A9 diff --git a/auto/core/gl/WGL_EXT_pixel_format_packed_float b/auto/core/gl/WGL_EXT_pixel_format_packed_float index 30925fc..662a993 100644 --- a/auto/core/gl/WGL_EXT_pixel_format_packed_float +++ b/auto/core/gl/WGL_EXT_pixel_format_packed_float @@ -1,4 +1,5 @@ WGL_EXT_pixel_format_packed_float http://developer.download.nvidia.com/opengl/specs/GL_EXT_packed_float.txt WGL_EXT_pixel_format_packed_float + WGL_TYPE_RGBA_UNSIGNED_FLOAT_EXT 0x20A8 diff --git a/auto/core/gl/WGL_NV_gpu_affinity b/auto/core/gl/WGL_NV_gpu_affinity index f722204..61ed3f1 100644 --- a/auto/core/gl/WGL_NV_gpu_affinity +++ b/auto/core/gl/WGL_NV_gpu_affinity @@ -1,6 +1,7 @@ WGL_NV_gpu_affinity http://developer.download.nvidia.com/opengl/specs/WGL_nv_gpu_affinity.txt WGL_NV_gpu_affinity + WGL_ERROR_INCOMPATIBLE_AFFINITY_MASKS_NV 0x20D0 WGL_ERROR_MISSING_AFFINITY_MASK_NV 0x20D1 BOOL wglEnumGpusNV (UINT iGpuIndex, HGPUNV *phGpu) diff --git a/auto/core/gl/WGL_NV_vertex_array_range b/auto/core/gl/WGL_NV_vertex_array_range index ca22d31..27b43ce 100644 --- a/auto/core/gl/WGL_NV_vertex_array_range +++ b/auto/core/gl/WGL_NV_vertex_array_range @@ -1,5 +1,6 @@ WGL_NV_vertex_array_range http://oss.sgi.com/projects/ogl-sample/registry/NV/vertex_array_range.txt WGL_NV_vertex_array_range + void * wglAllocateMemoryNV (GLsizei size, GLfloat readFrequency, GLfloat writeFrequency, GLfloat priority) void wglFreeMemoryNV (void *pointer) diff --git a/auto/doc/advanced.html b/auto/doc/advanced.html index 4bf2aa8..740a797 100644 --- a/auto/doc/advanced.html +++ b/auto/doc/advanced.html @@ -110,45 +110,6 @@ WGL_ATI_pixel_format_float
WGL_NV_float_buffer

-

Multiple Rendering Contexts (GLEW MX)

- -

Starting with release 1.2.0, thread-safe support for multiple -rendering contexts, possibly with different capabilities, is -available. Since this is not required by most users, it is not added -to the binary releases to maintain compatibility between different -versions. To include multi-context support, you have to do the -following:

-
    -
  1. Compile and use GLEW with the GLEW_MX preprocessor token -defined.
  2. -
  3. For each rendering context, create a GLEWContext object -that will be available as long as the rendering context exists.
  4. -
  5. Define a macro or function called glewGetContext() that -returns a pointer to the GLEWContext object associated with -the rendering context from which OpenGL/WGL/GLX calls are issued. This -dispatch mechanism is primitive, but generic. -
  6. Make sure that you call glewInit() after creating the -GLEWContext object in each rendering context. Note, that the -GLEWContext pointer returned by glewGetContext() has -to reside in global or thread-local memory. -
- -

Note that according to the MSDN -WGL documentation, you have to initialize the entry points for -every rendering context that use pixel formats with different -capabilities For example, the pixel formats provided by the generic -software OpenGL implementation by Microsoft vs. the hardware -accelerated pixel formats have different capabilities. GLEW by -default ignores this requirement, and does not define per-context -entry points (you can however do this using the steps described -above). Assuming a global namespace for the entry points works in -most situations, because typically all hardware accelerated pixel -formats provide the same entry points and capabilities. This means -that unless you use the multi-context version of GLEW, you need to -call glewInit() only once in your program, or more precisely, -once per process.

-

Separate Namespace

diff --git a/auto/doc/index.html b/auto/doc/index.html index 7f288ff..88eef1a 100644 --- a/auto/doc/index.html +++ b/auto/doc/index.html @@ -60,8 +60,8 @@ An up-to-date copy is also available using git Unsupported snapshots are also available:

Supported Extensions

diff --git a/auto/src/glew.rc b/auto/src/glew.rc index c5afe1c..e930220 100644 --- a/auto/src/glew.rc +++ b/auto/src/glew.rc @@ -1,34 +1,18 @@ #include -#ifdef GLEW_MX -# ifdef GLEW_STATIC -# ifdef _DEBUG -# define FILENAME "glew32mxsd.dll" -# else -# define FILENAME "glew32mxs.dll" -# endif -# else -# ifdef _DEBUG -# define FILENAME "glew32mxd.dll" -# else -# define FILENAME "glew32mx.dll" -# endif -# endif +#ifdef GLEW_STATIC +# ifdef _DEBUG +# define FILENAME "glew32sd.dll" +# else +# define FILENAME "glew32s.dll" +# endif #else -# ifdef GLEW_STATIC -# ifdef _DEBUG -# define FILENAME "glew32sd.dll" -# else -# define FILENAME "glew32s.dll" -# endif -# else -# ifdef _DEBUG -# define FILENAME "glew32d.dll" -# else -# define FILENAME "glew32.dll" -# endif -# endif +# ifdef _DEBUG +# define FILENAME "glew32d.dll" +# else +# define FILENAME "glew32.dll" +# endif #endif ///////////////////////////////////////////////////////////////////////////// diff --git a/auto/src/glew_head.c b/auto/src/glew_head.c index 1b4ed77..e8672cb 100644 --- a/auto/src/glew_head.c +++ b/auto/src/glew_head.c @@ -10,35 +10,8 @@ #endif #include /* For size_t */ - -/* - * Define glewGetContext and related helper macros. - */ -#ifdef GLEW_MX -# define glewGetContext() ctx -# ifdef _WIN32 -# define GLEW_CONTEXT_ARG_DEF_INIT GLEWContext* ctx -# define GLEW_CONTEXT_ARG_VAR_INIT ctx -# define wglewGetContext() ctx -# define WGLEW_CONTEXT_ARG_DEF_INIT WGLEWContext* ctx -# define WGLEW_CONTEXT_ARG_DEF_LIST WGLEWContext* ctx -# else /* _WIN32 */ -# define GLEW_CONTEXT_ARG_DEF_INIT void -# define GLEW_CONTEXT_ARG_VAR_INIT -# define glxewGetContext() ctx -# define GLXEW_CONTEXT_ARG_DEF_INIT void -# define GLXEW_CONTEXT_ARG_DEF_LIST GLXEWContext* ctx -# endif /* _WIN32 */ -# define GLEW_CONTEXT_ARG_DEF_LIST GLEWContext* ctx -#else /* GLEW_MX */ -# define GLEW_CONTEXT_ARG_DEF_INIT void -# define GLEW_CONTEXT_ARG_VAR_INIT -# define GLEW_CONTEXT_ARG_DEF_LIST void -# define WGLEW_CONTEXT_ARG_DEF_INIT void -# define WGLEW_CONTEXT_ARG_DEF_LIST void -# define GLXEW_CONTEXT_ARG_DEF_INIT void -# define GLXEW_CONTEXT_ARG_DEF_LIST void -#endif /* GLEW_MX */ +#include /* For malloc, free */ +#include /* For memset */ #if defined(GLEW_REGAL) @@ -163,34 +136,23 @@ void* NSGLGetProcAddress (const GLubyte *name) */ #undef GLEW_GET_VAR -#ifdef GLEW_MX -# define GLEW_GET_VAR(x) (glewGetContext()->x) -#else /* GLEW_MX */ # define GLEW_GET_VAR(x) (x) -#endif /* GLEW_MX */ #ifdef WGLEW_GET_VAR # undef WGLEW_GET_VAR -# ifdef GLEW_MX -# define WGLEW_GET_VAR(x) (wglewGetContext()->x) -# else /* GLEW_MX */ -# define WGLEW_GET_VAR(x) (x) -# endif /* GLEW_MX */ +# define WGLEW_GET_VAR(x) (x) #endif /* WGLEW_GET_VAR */ #ifdef GLXEW_GET_VAR # undef GLXEW_GET_VAR -# ifdef GLEW_MX -# define GLXEW_GET_VAR(x) (glxewGetContext()->x) -# else /* GLEW_MX */ -# define GLXEW_GET_VAR(x) (x) -# endif /* GLEW_MX */ +# define GLXEW_GET_VAR(x) (x) #endif /* GLXEW_GET_VAR */ /* * GLEW, just like OpenGL or GLU, does not rely on the standard C library. * These functions implement the functionality required in this file. */ + static GLuint _glewStrLen (const GLubyte* s) { GLuint i=0; @@ -207,6 +169,23 @@ static GLuint _glewStrCLen (const GLubyte* s, GLubyte c) return (s[i] == '\0' || s[i] == c) ? i : 0; } +static GLubyte *_glewStrDup (const GLubyte *s) +{ + int n = _glewStrLen(s); + GLubyte *dup = malloc(n+1); + if (dup) + { + GLubyte *i = dup; + for (;;) + { + *i = *s; + if (*i) { ++i; ++s; } else break; + } + } + return dup; +} + +#if !defined(__APPLE__) || defined(GLEW_APPLE_GLX) static GLboolean _glewStrSame (const GLubyte* a, const GLubyte* b, GLuint n) { GLuint i=0; @@ -215,6 +194,7 @@ static GLboolean _glewStrSame (const GLubyte* a, const GLubyte* b, GLuint n) while (i < n && a[i] != '\0' && b[i] != '\0' && a[i] == b[i]) i++; return i == n ? GL_TRUE : GL_FALSE; } +#endif static GLboolean _glewStrSame1 (const GLubyte** a, GLuint* na, const GLubyte* b, GLuint nb) { @@ -275,6 +255,7 @@ static GLboolean _glewStrSame3 (const GLubyte** a, GLuint* na, const GLubyte* b, * other extension names. Could use strtok() but the constant * string returned by glGetString might be in read-only memory. */ +#if !defined(__APPLE__) || defined(GLEW_APPLE_GLX) static GLboolean _glewSearchExtension (const char* name, const GLubyte *start, const GLubyte *end) { const GLubyte* p; @@ -288,3 +269,4 @@ static GLboolean _glewSearchExtension (const char* name, const GLubyte *start, c } return GL_FALSE; } +#endif diff --git a/auto/src/glew_init_gl.c b/auto/src/glew_init_gl.c index c438792..3a30e58 100644 --- a/auto/src/glew_init_gl.c +++ b/auto/src/glew_init_gl.c @@ -1,28 +1,70 @@ /* ------------------------------------------------------------------------- */ +static int _glewExtensionCompare(const void *a, const void *b) +{ + return strcmp((const char *) a, *(const char * const *) b); +} + +static GLboolean *_glewGetExtensionString(const char *name) +{ + const char **n = (const char **) bsearch(name, _glewExtensionLookup, sizeof(_glewExtensionLookup)/sizeof(char *)-1, sizeof(char *), _glewExtensionCompare); + int i; + + if (n) + { + i = n-_glewExtensionLookup; + return _glewExtensionString+i; + } + + return NULL; +} + +static GLboolean *_glewGetExtensionEnable(const char *name) +{ + const char **n = (const char **) bsearch(name, _glewExtensionLookup, sizeof(_glewExtensionLookup)/sizeof(char *)-1, sizeof(char *), _glewExtensionCompare); + int i; + + if (n) + { + i = n-_glewExtensionLookup; + return _glewExtensionEnabled[i]; + } + + return NULL; +} + +static char *_glewNextSpace(char *i) +{ + char *j = i; + if (j) + while (*j!=' ' && *j) ++j; + return j; +} + +static char *_glewNextNonSpace(char *i) +{ + char *j = i; + if (j) + while (*j==' ') ++j; + return j; +} + GLboolean GLEWAPIENTRY glewGetExtension (const char* name) -{ - const GLubyte* start; - const GLubyte* end; - start = (const GLubyte*)glGetString(GL_EXTENSIONS); - if (start == 0) - return GL_FALSE; - end = start + _glewStrLen(start); - return _glewSearchExtension(name, start, end); +{ + GLboolean *enable = _glewGetExtensionString(name); + if (enable) + return *enable; + return GL_FALSE; } /* ------------------------------------------------------------------------- */ -#ifndef GLEW_MX -static -#endif -GLenum GLEWAPIENTRY glewContextInit (GLEW_CONTEXT_ARG_DEF_LIST) +static GLenum GLEWAPIENTRY glewContextInit () { const GLubyte* s; GLuint dot; GLint major, minor; - const GLubyte* extStart; - const GLubyte* extEnd; + /* query opengl version */ s = glGetString(GL_VERSION); dot = _glewStrCLen(s, '.'); @@ -37,7 +79,6 @@ GLenum GLEWAPIENTRY glewContextInit (GLEW_CONTEXT_ARG_DEF_LIST) if (major<0 || major>9) return GLEW_ERROR_NO_GL_VERSION; - if (major == 1 && minor == 0) { return GLEW_ERROR_GL_VERSION_10_ONLY; @@ -64,10 +105,67 @@ GLenum GLEWAPIENTRY glewContextInit (GLEW_CONTEXT_ARG_DEF_LIST) GLEW_VERSION_1_1 = GLEW_VERSION_1_2 == GL_TRUE || ( major == 1 && minor >= 1 ) ? GL_TRUE : GL_FALSE; } - /* query opengl extensions string */ - extStart = glGetString(GL_EXTENSIONS); - if (extStart == 0) - extStart = (const GLubyte*)""; - extEnd = extStart + _glewStrLen(extStart); + memset(_glewExtensionString,0,sizeof(_glewExtensionString)); - /* initialize extensions */ + if (GLEW_VERSION_3_0) + { + GLint n = 0; + GLint i; + PFNGLGETSTRINGIPROC getStringi; + const char *ext; + GLboolean *enable; + + glGetIntegerv(GL_NUM_EXTENSIONS, &n); + + /* glGetStringi is OpenGL 3.0 */ + getStringi = (PFNGLGETSTRINGIPROC) glewGetProcAddress((const GLubyte*)"glGetStringi"); + if (getStringi) + for (i = 0; ix)) -#ifdef _WIN32 -# define GLEW_GET_FUN(x) glewGetContext()->x -#else -# define GLEW_GET_FUN(x) x -#endif - -#else /* GLEW_MX */ - GLEWAPI GLenum GLEWAPIENTRY glewInit (void); GLEWAPI GLboolean GLEWAPIENTRY glewIsSupported (const char *name); #define glewIsExtensionSupported(x) glewIsSupported(x) @@ -51,8 +32,6 @@ GLEWAPI GLboolean GLEWAPIENTRY glewIsSupported (const char *name); #define GLEW_GET_VAR(x) (*(const GLboolean*)&x) #define GLEW_GET_FUN(x) x -#endif /* GLEW_MX */ - GLEWAPI GLboolean glewExperimental; GLEWAPI GLboolean GLEWAPIENTRY glewGetExtension (const char *name); GLEWAPI const GLubyte * GLEWAPIENTRY glewGetErrorString (GLenum error); diff --git a/auto/src/glewinfo.rc b/auto/src/glewinfo.rc index 7a2d920..2f46bc5 100644 --- a/auto/src/glewinfo.rc +++ b/auto/src/glewinfo.rc @@ -1,18 +1,10 @@ #include -#ifdef GLEW_MX -# ifdef _DEBUG -# define FILENAME "glewinfo-mxd.exe" -# else -# define FILENAME "glewinfo-mx.exe" -# endif +#ifdef _DEBUG +# define FILENAME "glewinfod.exe" #else -# ifdef _DEBUG -# define FILENAME "glewinfod.exe" -# else -# define FILENAME "glewinfo.exe" -# endif +# define FILENAME "glewinfo.exe" #endif ///////////////////////////////////////////////////////////////////////////// diff --git a/auto/src/glewinfo_head.c b/auto/src/glewinfo_head.c index fd4bead..6a8347b 100644 --- a/auto/src/glewinfo_head.c +++ b/auto/src/glewinfo_head.c @@ -21,18 +21,6 @@ static FILE* f; -#ifdef GLEW_MX -GLEWContext _glewctx; -#define glewGetContext() (&_glewctx) -#if defined(_WIN32) -WGLEWContext _wglewctx; -#define wglewGetContext() (&_wglewctx) -#elif !defined(GLEW_OSMESA) && !defined(__APPLE__) && !defined(__HAIKU__) || defined(GLEW_APPLE_GLX) -GLXEWContext _glxewctx; -#define glxewGetContext() (&_glxewctx) -#endif -#endif - /* Command-line parameters for GL context creation */ struct createParams diff --git a/auto/src/glewinfo_tail.c b/auto/src/glewinfo_tail.c index 1999b06..e69f96d 100644 --- a/auto/src/glewinfo_tail.c +++ b/auto/src/glewinfo_tail.c @@ -46,18 +46,7 @@ int main (int argc, char** argv) return 1; } glewExperimental = GL_TRUE; -#ifdef GLEW_MX - err = glewContextInit(glewGetContext()); -#if defined(GLEW_OSMESA) -#elif defined(_WIN32) - err = err || wglewContextInit(wglewGetContext()); -#elif !defined(__HAIKU__) && !defined(__APPLE__) || defined(GLEW_APPLE_GLX) - err = err || glxewContextInit(glxewGetContext()); -#endif - -#else err = glewInit(); -#endif if (GLEW_OK != err) { fprintf(stderr, "Error [main]: glewInit failed: %s\n", glewGetErrorString(err)); diff --git a/auto/src/glxew_mid.h b/auto/src/glxew_mid.h index e9a3391..7fcf5d6 100644 --- a/auto/src/glxew_mid.h +++ b/auto/src/glxew_mid.h @@ -1,9 +1,4 @@ /* ------------------------------------------------------------------------- */ -#ifdef GLEW_MX -#define GLXEW_FUN_EXPORT GLEW_FUN_EXPORT -#define GLXEW_VAR_EXPORT -#else #define GLXEW_FUN_EXPORT GLEW_FUN_EXPORT #define GLXEW_VAR_EXPORT GLEW_VAR_EXPORT -#endif /* GLEW_MX */ diff --git a/auto/src/glxew_tail.h b/auto/src/glxew_tail.h index e086253..4026fa7 100644 --- a/auto/src/glxew_tail.h +++ b/auto/src/glxew_tail.h @@ -1,27 +1,11 @@ /* ------------------------------------------------------------------------ */ -#ifdef GLEW_MX - -typedef struct GLXEWContextStruct GLXEWContext; -GLEWAPI GLenum GLEWAPIENTRY glxewContextInit (GLXEWContext *ctx); -GLEWAPI GLboolean GLEWAPIENTRY glxewContextIsSupported (const GLXEWContext *ctx, const char *name); - -#define glxewInit() glxewContextInit(glxewGetContext()) -#define glxewIsSupported(x) glxewContextIsSupported(glxewGetContext(), x) - -#define GLXEW_GET_VAR(x) (*(const GLboolean*)&(glxewGetContext()->x)) -#define GLXEW_GET_FUN(x) x - -#else /* GLEW_MX */ - GLEWAPI GLenum GLEWAPIENTRY glxewInit (); GLEWAPI GLboolean GLEWAPIENTRY glxewIsSupported (const char *name); #define GLXEW_GET_VAR(x) (*(const GLboolean*)&x) #define GLXEW_GET_FUN(x) x -#endif /* GLEW_MX */ - GLEWAPI GLboolean GLEWAPIENTRY glxewGetExtension (const char *name); #ifdef __cplusplus diff --git a/auto/src/visualinfo.rc b/auto/src/visualinfo.rc index ed747df..5719592 100644 --- a/auto/src/visualinfo.rc +++ b/auto/src/visualinfo.rc @@ -1,18 +1,10 @@ #include -#ifdef GLEW_MX -# ifdef _DEBUG -# define FILENAME "visualinfo-mxd.exe" -# else -# define FILENAME "visualinfo-mx.exe" -# endif +#ifdef _DEBUG +# define FILENAME "visualinfod.exe" #else -# ifdef _DEBUG -# define FILENAME "visualinfod.exe" -# else -# define FILENAME "visualinfo.exe" -# endif +# define FILENAME "visualinfo.exe" #endif ///////////////////////////////////////////////////////////////////////////// diff --git a/auto/src/wglew_mid.h b/auto/src/wglew_mid.h index a0a5ade..25b1037 100644 --- a/auto/src/wglew_mid.h +++ b/auto/src/wglew_mid.h @@ -1,9 +1,4 @@ /* ------------------------------------------------------------------------- */ -#ifdef GLEW_MX -#define WGLEW_FUN_EXPORT -#define WGLEW_VAR_EXPORT -#else #define WGLEW_FUN_EXPORT GLEW_FUN_EXPORT #define WGLEW_VAR_EXPORT GLEW_VAR_EXPORT -#endif /* GLEW_MX */ diff --git a/auto/src/wglew_tail.h b/auto/src/wglew_tail.h index f48f36c..3810662 100644 --- a/auto/src/wglew_tail.h +++ b/auto/src/wglew_tail.h @@ -1,27 +1,11 @@ /* ------------------------------------------------------------------------- */ -#ifdef GLEW_MX - -typedef struct WGLEWContextStruct WGLEWContext; -GLEWAPI GLenum GLEWAPIENTRY wglewContextInit (WGLEWContext *ctx); -GLEWAPI GLboolean GLEWAPIENTRY wglewContextIsSupported (const WGLEWContext *ctx, const char *name); - -#define wglewInit() wglewContextInit(wglewGetContext()) -#define wglewIsSupported(x) wglewContextIsSupported(wglewGetContext(), x) - -#define WGLEW_GET_VAR(x) (*(const GLboolean*)&(wglewGetContext()->x)) -#define WGLEW_GET_FUN(x) wglewGetContext()->x - -#else /* GLEW_MX */ - GLEWAPI GLenum GLEWAPIENTRY wglewInit (); GLEWAPI GLboolean GLEWAPIENTRY wglewIsSupported (const char *name); #define WGLEW_GET_VAR(x) (*(const GLboolean*)&x) #define WGLEW_GET_FUN(x) x -#endif /* GLEW_MX */ - GLEWAPI GLboolean GLEWAPIENTRY wglewGetExtension (const char *name); #ifdef __cplusplus diff --git a/build/cmake/CMakeLists.txt b/build/cmake/CMakeLists.txt index 1f458a7..353be7f 100644 --- a/build/cmake/CMakeLists.txt +++ b/build/cmake/CMakeLists.txt @@ -84,20 +84,11 @@ set_target_properties (glew_s PROPERTIES COMPILE_DEFINITIONS "GLEW_STATIC" OUTPU target_link_libraries (glew ${GLEW_LIBRARIES}) target_link_libraries (glew_s ${GLEW_LIBRARIES}) -add_library(glewmx SHARED ${GLEW_SRC_FILES}) -set_target_properties (glewmx PROPERTIES COMPILE_DEFINITIONS "GLEW_BUILD;GLEW_MX" OUTPUT_NAME "${GLEW_LIB_NAME}mx" PREFIX "${DLL_PREFIX}") -add_library(glewmx_s STATIC ${GLEW_SRC_FILES}) -set_target_properties (glewmx_s PROPERTIES COMPILE_DEFINITIONS "GLEW_STATIC;GLEW_MX" OUTPUT_NAME "${GLEW_LIB_NAME}mx" PREFIX lib) -target_link_libraries (glewmx ${GLEW_LIBRARIES}) -target_link_libraries (glewmx_s ${GLEW_LIBRARIES}) - if(CMAKE_VERSION VERSION_LESS 2.8.12) set(MAYBE_EXPORT "") else() target_compile_definitions(glew_s INTERFACE "GLEW_STATIC") - target_compile_definitions(glewmx INTERFACE "GLEW_MX") - target_compile_definitions(glewmx_s INTERFACE "GLEW_STATIC;GLEW_MX") - foreach(t glew glew_s glewmx glewmx_s) + foreach(t glew glew_s ) target_include_directories(${t} PUBLIC $) endforeach() set(MAYBE_EXPORT EXPORT glew-targets) @@ -105,11 +96,11 @@ endif() set(targets_to_install "") if(NOT DEFINED BUILD_SHARED_LIBS OR BUILD_SHARED_LIBS) - list(APPEND targets_to_install glew glewmx) + list(APPEND targets_to_install glew ) endif() if(NOT DEFINED BUILD_SHARED_LIBS OR NOT BUILD_SHARED_LIBS) - list(APPEND targets_to_install glew_s glewmx_s) + list(APPEND targets_to_install glew_s ) endif() install ( TARGETS ${targets_to_install} @@ -148,11 +139,8 @@ set (libname ${GLEW_LIB_NAME}) set (cflags) set (requireslib glu) configure_file (${GLEW_DIR}/glew.pc.in ${GLEW_DIR}/glew.pc @ONLY) -set (cflags "-DGLEW_MX") -set (libname ${GLEW_LIB_NAME}mx) -configure_file (${GLEW_DIR}/glew.pc.in ${GLEW_DIR}/glewmx.pc @ONLY) -install(FILES ${GLEW_DIR}/glew.pc ${GLEW_DIR}/glewmx.pc +install(FILES ${GLEW_DIR}/glew.pc DESTINATION lib/pkgconfig ) diff --git a/build/cmake/glew-config.cmake b/build/cmake/glew-config.cmake index 29efcbe..0b79c0b 100644 --- a/build/cmake/glew-config.cmake +++ b/build/cmake/glew-config.cmake @@ -1,23 +1,23 @@ # This config-module creates the following import libraries: # -# - GLEW::glew and GLEW::glewmx shared libs -# - GLEW::glew_s and GLEW::glewmx_s static libs +# - GLEW::glew shared lib +# - GLEW::glew_s static lib # -# Additionally GLEW::GLEW and GLEW::GLEWMX will be created as an +# Additionally GLEW::GLEW will be created as an # copy of either the shared (default) or the static libs. # # Dependending on the setting of BUILD_SHARED_LIBS at GLEW build time # either the static or shared versions may not be available. # # Set GLEW_USE_STATIC_LIBS to OFF or ON to force using the shared -# or static libs for GLEW::GLEW and GLEW::GLEWMX +# or static lib for GLEW::GLEW # include(${CMAKE_CURRENT_LIST_DIR}/glew-targets.cmake) include(${CMAKE_CURRENT_LIST_DIR}/CopyImportedTargetProperties.cmake) -# decide which import library (glew/glew_s and glewmx/glewmx_s) -# needs to be copied to GLEW::GLEW and GLEW::GLEWMX +# decide which import library (glew/glew_s) +# needs to be copied to GLEW::GLEW set(_glew_target_postfix "") set(_glew_target_type SHARED) if(DEFINED GLEW_USE_STATIC_LIBS) @@ -37,7 +37,7 @@ endif() # CMake doesn't allow creating ALIAS lib for an IMPORTED lib # so create imported ones and copy the properties -foreach(_glew_target glew glewmx) +foreach(_glew_target glew) set(_glew_src_target "GLEW::${_glew_target}${_glew_target_postfix}") string(TOUPPER "GLEW::${_glew_target}" _glew_dest_target) if(TARGET ${_glew_dest_target}) diff --git a/config/Makefile.linux-mingw-w64 b/config/Makefile.linux-mingw-w64 index bedf166..57cd203 100644 --- a/config/Makefile.linux-mingw-w64 +++ b/config/Makefile.linux-mingw-w64 @@ -9,7 +9,7 @@ CC := i686-w64-mingw32-gcc LD := i686-w64-mingw32-ld LN := STRIP := -LDFLAGS.GL = -lopengl32 -lgdi32 -luser32 -lkernel32 +LDFLAGS.GL = -lopengl32 -lgdi32 -lmsvcrt -luser32 -lkernel32 WARN = -Wall -W POPT = -O2 BIN.SUFFIX = .exe diff --git a/config/Makefile.linux-mingw32 b/config/Makefile.linux-mingw32 index fdb2239..049ee74 100644 --- a/config/Makefile.linux-mingw32 +++ b/config/Makefile.linux-mingw32 @@ -10,7 +10,7 @@ CC := $(HOST)-gcc LD := $(HOST)-ld LN := STRIP := -LDFLAGS.GL = -lopengl32 -lgdi32 -luser32 -lkernel32 +LDFLAGS.GL = -lopengl32 -lgdi32 -lmsvcrt -luser32 -lkernel32 WARN = -Wall -W POPT = -O2 BIN.SUFFIX = .exe diff --git a/config/Makefile.linux-mingw64 b/config/Makefile.linux-mingw64 index 0e19f6c..c5c386c 100644 --- a/config/Makefile.linux-mingw64 +++ b/config/Makefile.linux-mingw64 @@ -10,7 +10,7 @@ CC := $(HOST)-gcc LD := $(HOST)-ld LN := STRIP := -LDFLAGS.GL = -lopengl32 -lgdi32 -luser32 -lkernel32 +LDFLAGS.GL = -lopengl32 -lgdi32 -lmsvcrt -luser32 -lkernel32 WARN = -Wall -W POPT = -O2 BIN.SUFFIX = .exe diff --git a/config/version b/config/version index b8e1df7..cdf3520 100644 --- a/config/version +++ b/config/version @@ -1,5 +1,5 @@ -GLEW_MAJOR = 1 -GLEW_MINOR = 13 +GLEW_MAJOR = 2 +GLEW_MINOR = 0 GLEW_MICRO = 0 GLEW_VERSION = $(GLEW_MAJOR).$(GLEW_MINOR).$(GLEW_MICRO) GLEW_NAME = GLEW diff --git a/doc/advanced.html b/doc/advanced.html index 8165a72..ffd1242 100644 --- a/doc/advanced.html +++ b/doc/advanced.html @@ -204,45 +204,6 @@ WGL_ATI_pixel_format_float
WGL_NV_float_buffer

-

Multiple Rendering Contexts (GLEW MX)

- -

Starting with release 1.2.0, thread-safe support for multiple -rendering contexts, possibly with different capabilities, is -available. Since this is not required by most users, it is not added -to the binary releases to maintain compatibility between different -versions. To include multi-context support, you have to do the -following:

-
    -
  1. Compile and use GLEW with the GLEW_MX preprocessor token -defined.
  2. -
  3. For each rendering context, create a GLEWContext object -that will be available as long as the rendering context exists.
  4. -
  5. Define a macro or function called glewGetContext() that -returns a pointer to the GLEWContext object associated with -the rendering context from which OpenGL/WGL/GLX calls are issued. This -dispatch mechanism is primitive, but generic. -
  6. Make sure that you call glewInit() after creating the -GLEWContext object in each rendering context. Note, that the -GLEWContext pointer returned by glewGetContext() has -to reside in global or thread-local memory. -
- -

Note that according to the MSDN -WGL documentation, you have to initialize the entry points for -every rendering context that use pixel formats with different -capabilities For example, the pixel formats provided by the generic -software OpenGL implementation by Microsoft vs. the hardware -accelerated pixel formats have different capabilities. GLEW by -default ignores this requirement, and does not define per-context -entry points (you can however do this using the steps described -above). Assuming a global namespace for the entry points works in -most situations, because typically all hardware accelerated pixel -formats provide the same entry points and capabilities. This means -that unless you use the multi-context version of GLEW, you need to -call glewInit() only once in your program, or more precisely, -once per process.

-

Separate Namespace

diff --git a/doc/glew.html b/doc/glew.html index 0e9c2a8..0db0667 100644 --- a/doc/glew.html +++ b/doc/glew.html @@ -471,214 +471,216 @@ THE POSSIBILITY OF SUCH DAMAGE.

- - - - - - - - - + + + + + + + + + + - + - + - - - - + + + + - - + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + - - - + + + - - + + - - + + - - - - - - - + + + + + + + - + - + - - - - - - - - - - - - - - + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - + - - - - - - - + + + + + + + - - - + + +
362 INTEL_performance_query
363 INTEL_texture_scissor

364 KHR_blend_equation_advanced
365 KHR_blend_equation_advanced_coherent
366 KHR_context_flush_control
367 KHR_debug
368 KHR_no_error
369 KHR_robust_buffer_access_behavior
370 KHR_robustness
371 KHR_texture_compression_astc_hdr
372 KHR_texture_compression_astc_ldr
378 KHR_blend_equation_advanced
379 KHR_blend_equation_advanced_coherent
380 KHR_context_flush_control
381 KHR_debug
382 KHR_no_error
383 KHR_robust_buffer_access_behavior
384 KHR_robustness
385 KHR_texture_compression_astc_hdr
386 KHR_texture_compression_astc_ldr
387 KHR_texture_compression_astc_sliced_3d

373 KTX_buffer_region
388 KTX_buffer_region

374 MESAX_texture_stack
389 MESAX_texture_stack

375 MESA_pack_invert
376 MESA_resize_buffers
377 MESA_window_pos
378 MESA_ycbcr_texture
390 MESA_pack_invert
391 MESA_resize_buffers
392 MESA_window_pos
393 MESA_ycbcr_texture

379 NVX_conditional_render
380 NVX_gpu_memory_info
394 NVX_conditional_render
395 NVX_gpu_memory_info

381 NV_bindless_multi_draw_indirect
382 NV_bindless_multi_draw_indirect_count
383 NV_bindless_texture
384 NV_blend_equation_advanced
385 NV_blend_equation_advanced_coherent
386 NV_blend_square
387 NV_compute_program5
388 NV_conditional_render
389 NV_conservative_raster
390 NV_copy_depth_to_color
391 NV_copy_image
392 NV_deep_texture3D
393 NV_depth_buffer_float
394 NV_depth_clamp
395 NV_depth_range_unclamped
396 NV_draw_texture
397 NV_evaluators
398 NV_explicit_multisample
399 NV_fence
400 NV_fill_rectangle
401 NV_float_buffer
402 NV_fog_distance
403 NV_fragment_coverage_to_color
404 NV_fragment_program
405 NV_fragment_program2
406 NV_fragment_program4
407 NV_fragment_program_option
408 NV_fragment_shader_interlock
409 NV_framebuffer_mixed_samples
410 NV_framebuffer_multisample_coverage
411 NV_geometry_program4
412 NV_geometry_shader4
413 NV_geometry_shader_passthrough
414 NV_gpu_program4
415 NV_gpu_program5
416 NV_gpu_program5_mem_extended
417 NV_gpu_program_fp64
418 NV_gpu_shader5
419 NV_half_float
420 NV_internalformat_sample_query
421 NV_light_max_exponent
422 NV_multisample_coverage
423 NV_multisample_filter_hint
424 NV_occlusion_query
425 NV_packed_depth_stencil
426 NV_parameter_buffer_object
427 NV_parameter_buffer_object2
428 NV_path_rendering
429 NV_path_rendering_shared_edge
430 NV_pixel_data_range
431 NV_point_sprite
432 NV_present_video
433 NV_primitive_restart
434 NV_register_combiners
435 NV_register_combiners2
436 NV_sample_locations
437 NV_sample_mask_override_coverage
438 NV_shader_atomic_counters
439 NV_shader_atomic_float
440 NV_shader_atomic_fp16_vector
441 NV_shader_atomic_int64
442 NV_shader_buffer_load
443 NV_shader_storage_buffer_object
444 NV_shader_thread_group
445 NV_shader_thread_shuffle
446 NV_tessellation_program5
447 NV_texgen_emboss
448 NV_texgen_reflection
449 NV_texture_barrier
450 NV_texture_compression_vtc
451 NV_texture_env_combine4
452 NV_texture_expand_normal
453 NV_texture_multisample
454 NV_texture_rectangle
455 NV_texture_shader
456 NV_texture_shader2
457 NV_texture_shader3
458 NV_transform_feedback
459 NV_transform_feedback2
460 NV_uniform_buffer_unified_memory
461 NV_vdpau_interop
462 NV_vertex_array_range
463 NV_vertex_array_range2
464 NV_vertex_attrib_integer_64bit
465 NV_vertex_buffer_unified_memory
466 NV_vertex_program
467 NV_vertex_program1_1
468 NV_vertex_program2
469 NV_vertex_program2_option
470 NV_vertex_program3
471 NV_vertex_program4
472 NV_video_capture
473 NV_viewport_array2
396 NV_bindless_multi_draw_indirect
397 NV_bindless_multi_draw_indirect_count
398 NV_bindless_texture
399 NV_blend_equation_advanced
400 NV_blend_equation_advanced_coherent
401 NV_blend_square
402 NV_compute_program5
403 NV_conditional_render
404 NV_conservative_raster
405 NV_conservative_raster_dilate
406 NV_copy_depth_to_color
407 NV_copy_image
408 NV_deep_texture3D
409 NV_depth_buffer_float
410 NV_depth_clamp
411 NV_depth_range_unclamped
412 NV_draw_texture
413 NV_evaluators
414 NV_explicit_multisample
415 NV_fence
416 NV_fill_rectangle
417 NV_float_buffer
418 NV_fog_distance
419 NV_fragment_coverage_to_color
420 NV_fragment_program
421 NV_fragment_program2
422 NV_fragment_program4
423 NV_fragment_program_option
424 NV_fragment_shader_interlock
425 NV_framebuffer_mixed_samples
426 NV_framebuffer_multisample_coverage
427 NV_geometry_program4
428 NV_geometry_shader4
429 NV_geometry_shader_passthrough
430 NV_gpu_program4
431 NV_gpu_program5
432 NV_gpu_program5_mem_extended
433 NV_gpu_program_fp64
434 NV_gpu_shader5
435 NV_half_float
436 NV_internalformat_sample_query
437 NV_light_max_exponent
438 NV_multisample_coverage
439 NV_multisample_filter_hint
440 NV_occlusion_query
441 NV_packed_depth_stencil
442 NV_parameter_buffer_object
443 NV_parameter_buffer_object2
444 NV_path_rendering
445 NV_path_rendering_shared_edge
446 NV_pixel_data_range
447 NV_point_sprite
448 NV_present_video
449 NV_primitive_restart
450 NV_register_combiners
451 NV_register_combiners2
452 NV_sample_locations
453 NV_sample_mask_override_coverage
454 NV_shader_atomic_counters
455 NV_shader_atomic_float
456 NV_shader_atomic_fp16_vector
457 NV_shader_atomic_int64
458 NV_shader_buffer_load
459 NV_shader_storage_buffer_object
460 NV_shader_thread_group
461 NV_shader_thread_shuffle
462 NV_tessellation_program5
463 NV_texgen_emboss
464 NV_texgen_reflection
465 NV_texture_barrier
466 NV_texture_compression_vtc
467 NV_texture_env_combine4
468 NV_texture_expand_normal
469 NV_texture_multisample
470 NV_texture_rectangle
471 NV_texture_shader
472 NV_texture_shader2
473 NV_texture_shader3
474 NV_transform_feedback
475 NV_transform_feedback2
476 NV_uniform_buffer_unified_memory
477 NV_vdpau_interop
478 NV_vertex_array_range
479 NV_vertex_array_range2
480 NV_vertex_attrib_integer_64bit
481 NV_vertex_buffer_unified_memory
482 NV_vertex_program
483 NV_vertex_program1_1
484 NV_vertex_program2
485 NV_vertex_program2_option
486 NV_vertex_program3
487 NV_vertex_program4
488 NV_video_capture
489 NV_viewport_array2

474 OES_byte_coordinates
475 OES_compressed_paletted_texture
476 OES_read_format
477 OES_single_precision
490 OES_byte_coordinates
491 OES_compressed_paletted_texture
492 OES_read_format
493 OES_single_precision

478 OML_interlace
479 OML_resample
480 OML_subsample
494 OML_interlace
495 OML_resample
496 OML_subsample

481 OVR_multiview
482 OVR_multiview2
497 OVR_multiview
498 OVR_multiview2

483 PGI_misc_hints
484 PGI_vertex_hints
499 PGI_misc_hints
500 PGI_vertex_hints

485 REGAL_ES1_0_compatibility
486 REGAL_ES1_1_compatibility
487 REGAL_enable
488 REGAL_error_string
489 REGAL_extension_query
490 REGAL_log
491 REGAL_proc_address
501 REGAL_ES1_0_compatibility
502 REGAL_ES1_1_compatibility
503 REGAL_enable
504 REGAL_error_string
505 REGAL_extension_query
506 REGAL_log
507 REGAL_proc_address

492 REND_screen_coordinates
508 REND_screen_coordinates

493 S3_s3tc
509 S3_s3tc

494 SGIS_color_range
495 SGIS_detail_texture
496 SGIS_fog_function
497 SGIS_generate_mipmap
498 SGIS_multisample
499 SGIS_pixel_texture
500 SGIS_point_line_texgen
501 SGIS_sharpen_texture
502 SGIS_texture4D
503 SGIS_texture_border_clamp
504 SGIS_texture_edge_clamp
505 SGIS_texture_filter4
506 SGIS_texture_lod
507 SGIS_texture_select
510 SGIS_color_range
511 SGIS_detail_texture
512 SGIS_fog_function
513 SGIS_generate_mipmap
514 SGIS_multisample
515 SGIS_pixel_texture
516 SGIS_point_line_texgen
517 SGIS_sharpen_texture
518 SGIS_texture4D
519 SGIS_texture_border_clamp
520 SGIS_texture_edge_clamp
521 SGIS_texture_filter4
522 SGIS_texture_lod
523 SGIS_texture_select

508 SGIX_async
509 SGIX_async_histogram
510 SGIX_async_pixel
511 SGIX_blend_alpha_minmax
512 SGIX_clipmap
513 SGIX_convolution_accuracy
514 SGIX_depth_texture
515 SGIX_flush_raster
516 SGIX_fog_offset
517 SGIX_fog_texture
518 SGIX_fragment_specular_lighting
519 SGIX_framezoom
520 SGIX_interlace
521 SGIX_ir_instrument1
522 SGIX_list_priority
523 SGIX_pixel_texture
524 SGIX_pixel_texture_bits
525 SGIX_reference_plane
526 SGIX_resample
527 SGIX_shadow
528 SGIX_shadow_ambient
529 SGIX_sprite
530 SGIX_tag_sample_buffer
531 SGIX_texture_add_env
532 SGIX_texture_coordinate_clamp
533 SGIX_texture_lod_bias
534 SGIX_texture_multi_buffer
535 SGIX_texture_range
536 SGIX_texture_scale_bias
537 SGIX_vertex_preclip
538 SGIX_vertex_preclip_hint
539 SGIX_ycrcb
524 SGIX_async
525 SGIX_async_histogram
526 SGIX_async_pixel
527 SGIX_blend_alpha_minmax
528 SGIX_clipmap
529 SGIX_convolution_accuracy
530 SGIX_depth_texture
531 SGIX_flush_raster
532 SGIX_fog_offset
533 SGIX_fog_texture
534 SGIX_fragment_specular_lighting
535 SGIX_framezoom
536 SGIX_interlace
537 SGIX_ir_instrument1
538 SGIX_list_priority
539 SGIX_pixel_texture
540 SGIX_pixel_texture_bits
541 SGIX_reference_plane
542 SGIX_resample
543 SGIX_shadow
544 SGIX_shadow_ambient
545 SGIX_sprite
546 SGIX_tag_sample_buffer
547 SGIX_texture_add_env
548 SGIX_texture_coordinate_clamp
549 SGIX_texture_lod_bias
550 SGIX_texture_multi_buffer
551 SGIX_texture_range
552 SGIX_texture_scale_bias
553 SGIX_vertex_preclip
554 SGIX_vertex_preclip_hint
555 SGIX_ycrcb

540 SGI_color_matrix
541 SGI_color_table
542 SGI_texture_color_table
556 SGI_color_matrix
557 SGI_color_table
558 SGI_texture_color_table

543 SUNX_constant_data
559 SUNX_constant_data

544 SUN_convolution_border_modes
545 SUN_global_alpha
546 SUN_mesh_array
547 SUN_read_video_pixels
548 SUN_slice_accum
549 SUN_triangle_list
550 SUN_vertex
560 SUN_convolution_border_modes
561 SUN_global_alpha
562 SUN_mesh_array
563 SUN_read_video_pixels
564 SUN_slice_accum
565 SUN_triangle_list
566 SUN_vertex

551 WIN_phong_shading
552 WIN_specular_fog
553 WIN_swap_hint
567 WIN_phong_shading
568 WIN_specular_fog
569 WIN_swap_hint