Merge https://github.com/nigels-com/glew.git into master HEAD at Sun Dec 6 17:44:18 GMT 2015

This commit is contained in:
omniavinco 2015-12-07 02:44:18 +09:00
commit 9ec6e6c1cd
165 changed files with 711 additions and 652 deletions

View File

@ -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"

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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";
}
}

View File

@ -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);
}
}

View File

@ -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";

45
auto/bin/make_enable_index.pl Executable file
View File

@ -0,0 +1,45 @@
#!/usr/bin/perl
##
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
##
## 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";
}

View File

@ -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";

View File

@ -26,7 +26,7 @@ if (@ARGV)
print "<table border=\"0\" width=\"100%\" cellpadding=\"1\" cellspacing=\"0\" align=\"center\">\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/;

38
auto/bin/make_index.pl Executable file
View File

@ -0,0 +1,38 @@
#!/usr/bin/perl
##
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
##
## 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";
}
}

View File

@ -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;

View File

@ -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";

View File

@ -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";

43
auto/bin/make_initd.pl Executable file
View File

@ -0,0 +1,43 @@
#!/usr/bin/perl
##
## Copyright (C) 2002-2008, Marcelo E. Magallon <mmagallo[]debian org>
## Copyright (C) 2002-2008, Milan Ikits <milan ikits[]ieee org>
##
## 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";
}
}

View File

@ -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,9 +42,12 @@ if (@ARGV)
#my $pextvar = prefix_varname($extvar);
if (length($extstring) && $extstring !~ /^GL_/ || keys %$functions)
{
print "#ifdef $extname\n";
}
if (length($extstring))
if (length($extstring) && $extstring !~ /^GL_/)
{
print " " . $extvar . " = _glewSearchExtension(\"$extstring\", extStart, extEnd);\n";
}
@ -53,14 +56,18 @@ if (@ARGV)
{
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";
}
}
if (length($extstring) && $extstring !~ /^GL_/ || keys %$functions)
{
print "#endif /* $extname */\n";
}
}
}

View File

@ -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;

View File

@ -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);
}
}

View File

@ -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";

View File

@ -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/;

View File

@ -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

View File

@ -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);

View File

@ -1,4 +1,5 @@
GLX_ATI_pixel_format_float
GLX_ATI_pixel_format_float
GLX_RGBA_FLOAT_ATI_BIT 0x00000100

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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

View File

@ -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);

View File

@ -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

View File

@ -1,4 +1,5 @@
GL_APPLE_pixel_buffer
GL_APPLE_pixel_buffer
GL_MIN_PBUFFER_VIEWPORT_DIMS_APPLE 0x8A10

View File

@ -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

View File

@ -1,3 +1,4 @@
GL_ARB_draw_instanced
http://www.opengl.org/registry/specs/ARB/draw_instanced.txt
GL_ARB_draw_instanced

View File

@ -1,6 +1,7 @@
GL_ARB_imaging
GL_ARB_imaging
GL_CONSTANT_COLOR 0x8001
GL_ONE_MINUS_CONSTANT_COLOR 0x8002
GL_CONSTANT_ALPHA 0x8003

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -1,3 +1,4 @@
GL_ATI_shader_texture_lod
GL_ATI_shader_texture_lod

View File

@ -1,4 +1,5 @@
GL_ATI_texture_compression_3dc
GL_ATI_texture_compression_3dc
GL_COMPRESSED_LUMINANCE_ALPHA_3DC_ATI 0x8837

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1,3 +1,4 @@
GL_NV_fragment_program4
http://developer.download.nvidia.com/opengl/specs/GL_NV_fragment_program4.txt
GL_NV_gpu_program4

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1,3 +1,4 @@
GL_NV_geometry_shader4
http://developer.download.nvidia.com/opengl/specs/GL_NV_geometry_shader4.txt
GL_NV_geometry_shader4

View File

@ -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

Some files were not shown because too many files have changed in this diff Show More