mirror of
https://github.com/nigels-com/glew.git
synced 2025-04-20 23:52:55 +00:00
Merge 80e905a30a
into 66c5229ec2
This commit is contained in:
commit
53cfa16de7
@ -113,7 +113,7 @@ $(EXT)/.dummy: $(REGISTRY)/.dummy
|
|||||||
@echo "Creating descriptors"
|
@echo "Creating descriptors"
|
||||||
@echo "--------------------------------------------------------------------"
|
@echo "--------------------------------------------------------------------"
|
||||||
rm -rf $(EXT)
|
rm -rf $(EXT)
|
||||||
$(BIN)/update_ext.sh $(EXT) $(REGISTRY) $(BLACKLIST)
|
$(BIN)/update_ext.sh $(EXT) $(REGISTRY) $(BLACKLIST) $(CORE)
|
||||||
$(BIN)/$(FILTER) $(EXT)
|
$(BIN)/$(FILTER) $(EXT)
|
||||||
ifeq ($(patsubst Darwin%,Darwin,$(SYSTEM)), Darwin)
|
ifeq ($(patsubst Darwin%,Darwin,$(SYSTEM)), Darwin)
|
||||||
find $(CORE) -maxdepth 1 -type f | grep -v VERSION | grep -v "~" | \
|
find $(CORE) -maxdepth 1 -type f | grep -v VERSION | grep -v "~" | \
|
||||||
@ -183,15 +183,23 @@ $(I.DEST)/glxew.h: $(EXT)/.dummy
|
|||||||
perl -e "s/GLXEW_VAR_EXPORT GLboolean __GLXEW_VERSION_1_2;/GLXEW_VAR_EXPORT GLboolean __GLXEW_VERSION_1_0;\nGLXEW_VAR_EXPORT GLboolean __GLXEW_VERSION_1_1;\nGLXEW_VAR_EXPORT GLboolean __GLXEW_VERSION_1_2;/" -pi $@
|
perl -e "s/GLXEW_VAR_EXPORT GLboolean __GLXEW_VERSION_1_2;/GLXEW_VAR_EXPORT GLboolean __GLXEW_VERSION_1_0;\nGLXEW_VAR_EXPORT GLboolean __GLXEW_VERSION_1_1;\nGLXEW_VAR_EXPORT GLboolean __GLXEW_VERSION_1_2;/" -pi $@
|
||||||
cat $(SRC)/glxew_tail.h >> $@
|
cat $(SRC)/glxew_tail.h >> $@
|
||||||
|
|
||||||
$(S.DEST)/glew.c: $(EXT)/.dummy
|
$(SRC)/glew.gperf: $(EXT)/.dummy
|
||||||
|
@echo "--------------------------------------------------------------------"
|
||||||
|
@echo "Creating glew.gperf"
|
||||||
|
@echo "--------------------------------------------------------------------"
|
||||||
|
$(BIN)/make_gperf.pl $(GL_EXT_SPEC) $(WGL_EXT_SPEC) $(GLX_EXT_SPEC) > $@
|
||||||
|
|
||||||
|
$(SRC)/glew_init_hash.c: $(SRC)/glew.gperf
|
||||||
|
gperf -m 10 --output-file=$@ $(SRC)/glew.gperf
|
||||||
|
|
||||||
|
$(S.DEST)/glew.c: $(EXT)/.dummy $(SRC)/glew_init_hash.c
|
||||||
@echo "--------------------------------------------------------------------"
|
@echo "--------------------------------------------------------------------"
|
||||||
@echo "Creating glew.c"
|
@echo "Creating glew.c"
|
||||||
@echo "--------------------------------------------------------------------"
|
@echo "--------------------------------------------------------------------"
|
||||||
cp -f $(SRC)/glew_license.h $@
|
cp -f $(SRC)/glew_license.h $@
|
||||||
cat $(SRC)/glew_head.c >> $@
|
cat $(SRC)/glew_head.c >> $@
|
||||||
echo -e "\n#if !defined(_WIN32) || !defined(GLEW_MX)" >> $@
|
echo -e "\n#if !defined(_WIN32) || !defined(GLEW_MX)" >> $@
|
||||||
$(BIN)/make_def_fun.pl GL $(GL_CORE_SPEC) >> $@
|
$(BIN)/make_def_fun.pl GL $(GL_CORE_SPEC) $(GL_EXT_SPEC) >> $@
|
||||||
$(BIN)/make_def_fun.pl GL $(GL_EXT_SPEC) >> $@
|
|
||||||
echo -e "\n#endif /* !WIN32 || !GLEW_MX */" >> $@
|
echo -e "\n#endif /* !WIN32 || !GLEW_MX */" >> $@
|
||||||
echo -e "\n#if !defined(GLEW_MX)" >> $@;
|
echo -e "\n#if !defined(GLEW_MX)" >> $@;
|
||||||
echo -e "\nGLboolean __GLEW_VERSION_1_1 = GL_FALSE;" >> $@
|
echo -e "\nGLboolean __GLEW_VERSION_1_1 = GL_FALSE;" >> $@
|
||||||
@ -200,8 +208,10 @@ $(S.DEST)/glew.c: $(EXT)/.dummy
|
|||||||
echo -e "\n#endif /* !GLEW_MX */\n" >> $@;
|
echo -e "\n#endif /* !GLEW_MX */\n" >> $@;
|
||||||
$(BIN)/make_init.pl GL $(GL_CORE_SPEC) >> $@
|
$(BIN)/make_init.pl GL $(GL_CORE_SPEC) >> $@
|
||||||
$(BIN)/make_init.pl GL $(GL_EXT_SPEC) >> $@
|
$(BIN)/make_init.pl GL $(GL_EXT_SPEC) >> $@
|
||||||
|
cat $(SRC)/glew_init_hash.c | grep -v '^#line' >> $@
|
||||||
cat $(SRC)/glew_init_gl.c >> $@
|
cat $(SRC)/glew_init_gl.c >> $@
|
||||||
$(BIN)/make_list.pl $(GL_CORE_SPEC) | grep -v '\"GL_VERSION' >> $@
|
$(BIN)/make_list.pl $(GL_CORE_SPEC) >> $@
|
||||||
|
cat $(SRC)/glew_init_glext.c >> $@
|
||||||
$(BIN)/make_list.pl $(GL_EXT_SPEC) >> $@
|
$(BIN)/make_list.pl $(GL_EXT_SPEC) >> $@
|
||||||
echo -e "\n return GLEW_OK;\n}\n" >> $@
|
echo -e "\n return GLEW_OK;\n}\n" >> $@
|
||||||
echo -e "\n#if defined(_WIN32) && ! defined(GLEW_OSMESA)" >> $@
|
echo -e "\n#if defined(_WIN32) && ! defined(GLEW_OSMESA)" >> $@
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
my %regex = (
|
my %regex = (
|
||||||
extname => qr/^[A-Z][A-Za-z0-9_]+$/,
|
extname => qr/^[A-Z][A-Za-z0-9_]+$/,
|
||||||
exturl => qr/^http.+$/,
|
exturl => qr/^http.+$/,
|
||||||
function => qr/^(.+) ([a-z][a-z0-9_]*) \((.+)\)$/i,
|
function => qr/^(.+) ([a-z][a-z0-9_]*) \((.+)\)\s*(~.*)?$/i,
|
||||||
token => qr/^([A-Z][A-Z0-9_x]*)\s+((?:0x)?[0-9A-Fa-f]+|[A-Z][A-Z0-9_]*)$/,
|
token => qr/^([A-Z][A-Z0-9_x]*)\s+((?:0x)?[0-9A-Fa-f]+|[A-Z][A-Z0-9_]*)$/,
|
||||||
type => qr/^typedef\s+(.+)$/,
|
type => qr/^typedef\s+(.+)$/,
|
||||||
exact => qr/.*;$/,
|
exact => qr/.*;$/,
|
||||||
@ -119,10 +119,11 @@ sub parse_ext($)
|
|||||||
}
|
}
|
||||||
elsif (/$regex{function}/)
|
elsif (/$regex{function}/)
|
||||||
{
|
{
|
||||||
my ($return, $name, $parms) = ($1, $2, $3);
|
my ($return, $name, $parms, $deleted) = ($1, $2, $3, $4);
|
||||||
$functions{$name} = {
|
$functions{$name} = {
|
||||||
rtype => $return,
|
rtype => $return,
|
||||||
parms => $parms,
|
parms => $parms,
|
||||||
|
deleted => $deleted,
|
||||||
};
|
};
|
||||||
} else {
|
} else {
|
||||||
print STDERR "'$_' matched no regex.\n";
|
print STDERR "'$_' matched no regex.\n";
|
||||||
|
@ -12,9 +12,18 @@ use warnings;
|
|||||||
|
|
||||||
do 'bin/make.pl';
|
do 'bin/make.pl';
|
||||||
|
|
||||||
|
our %defined = ();
|
||||||
|
|
||||||
# function pointer declaration
|
# function pointer declaration
|
||||||
sub make_pfn_decl($%)
|
sub make_pfn_decl($%)
|
||||||
{
|
{
|
||||||
|
our %defined;
|
||||||
|
|
||||||
|
if( $defined{$_[0]} ) # avoid duplicate definitions
|
||||||
|
{
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
$defined{$_[0]} = 1;
|
||||||
return "PFN" . (uc $_[0]) . "PROC " . prefixname($_[0]) . " = NULL;";
|
return "PFN" . (uc $_[0]) . "PROC " . prefixname($_[0]) . " = NULL;";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
41
auto/bin/make_gperf.pl
Executable file
41
auto/bin/make_gperf.pl
Executable file
@ -0,0 +1,41 @@
|
|||||||
|
#!/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';
|
||||||
|
|
||||||
|
my @extlist = ();
|
||||||
|
my %extensions = ();
|
||||||
|
|
||||||
|
our $type = shift;
|
||||||
|
|
||||||
|
if (@ARGV)
|
||||||
|
{
|
||||||
|
@extlist = @ARGV;
|
||||||
|
|
||||||
|
print "%struct-type\n";
|
||||||
|
print "%compare-lengths\n";
|
||||||
|
print "%define initializer-suffix ,NULL\n";
|
||||||
|
print "%7bit\n";
|
||||||
|
print "struct initflag { const char *name; GLboolean *flag; };\n";
|
||||||
|
print "%%\n";
|
||||||
|
|
||||||
|
foreach my $ext (sort @extlist)
|
||||||
|
{
|
||||||
|
my ($extname, $exturl, $extstring, $types, $tokens, $functions, $exacts) = parse_ext($ext);
|
||||||
|
|
||||||
|
my $extvar = $extname;
|
||||||
|
$extvar =~ s/GL(X*)_/GL$1EW_/;
|
||||||
|
my $prefix = $extvar;
|
||||||
|
$prefix =~ s/_.*//;
|
||||||
|
print $extname . ", " . $prefix . "_GET_REF(__" . $extvar . ")\n";
|
||||||
|
}
|
||||||
|
}
|
@ -24,20 +24,93 @@ sub make_type($$)
|
|||||||
return "@_;"
|
return "@_;"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sub make_condition($)
|
||||||
|
{
|
||||||
|
my $condition = "";
|
||||||
|
my $needop = 0;
|
||||||
|
|
||||||
|
for my $tok (split(/\s+/, $_[0])) {
|
||||||
|
if ($tok eq "~") {
|
||||||
|
# ignore
|
||||||
|
} elsif ($tok eq '&&') {
|
||||||
|
$condition .= ' && ';
|
||||||
|
$needop = 0;
|
||||||
|
} elsif ($tok eq '||') {
|
||||||
|
$condition .= ") || (";
|
||||||
|
$needop = 0;
|
||||||
|
} else {
|
||||||
|
if ($needop) {
|
||||||
|
$condition .= ' && ';
|
||||||
|
}
|
||||||
|
if ($tok =~ /^!/) {
|
||||||
|
$condition .= '!';
|
||||||
|
$tok =~ s/^!//;
|
||||||
|
}
|
||||||
|
if ($tok =~ /^\d/) {
|
||||||
|
# GL Version
|
||||||
|
$tok =~ s/[.]/_/g;
|
||||||
|
$condition .= "GL_VERSION_${tok}";
|
||||||
|
} elsif ($tok eq "core") {
|
||||||
|
$condition .= " 0 ";
|
||||||
|
} elsif ($tok eq "forward") {
|
||||||
|
$condition .= " 0 ";
|
||||||
|
}
|
||||||
|
$needop = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
# optimize expression
|
||||||
|
$condition = "(" . $condition . ")";
|
||||||
|
$condition =~ s/[(][^)]* 0 [^)]*[)]/ 0 /g;
|
||||||
|
$condition =~ s/\|\|\s*0\s*//g;
|
||||||
|
$condition =~ s/\s*0\s*\|\|//g;
|
||||||
|
$condition =~ s/\s+0\s+/ 0 /g;
|
||||||
|
|
||||||
|
if ($condition eq " 0 ") {
|
||||||
|
return "1";
|
||||||
|
} else {
|
||||||
|
return "!($condition)";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
# function pointer type declaration
|
# function pointer type declaration
|
||||||
sub make_pfn_type($%)
|
sub make_pfn_type($%)
|
||||||
{
|
{
|
||||||
our $api;
|
our $api;
|
||||||
return join(' ', "typedef", $_[1]->{rtype},
|
my $prefix = "";
|
||||||
|
my $suffix = "";
|
||||||
|
|
||||||
|
if ($_[1]->{deleted})
|
||||||
|
{
|
||||||
|
$prefix = "#if " . make_condition($_[1]->{deleted}) . "\n";
|
||||||
|
if ($prefix eq "#if 1\n") {
|
||||||
|
$prefix = ""; # if optimized away
|
||||||
|
} else {
|
||||||
|
$suffix = "\n#endif";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $prefix . join(' ', "typedef", $_[1]->{rtype},
|
||||||
"($api * PFN" . (uc $_[0]) . "PROC)",
|
"($api * PFN" . (uc $_[0]) . "PROC)",
|
||||||
"(" . $_[1]->{parms} . ")") . ";";
|
"(" . $_[1]->{parms} . ")") . ";" . $suffix;
|
||||||
}
|
}
|
||||||
|
|
||||||
# function name alias
|
# function name alias
|
||||||
sub make_pfn_alias($%)
|
sub make_pfn_alias($%)
|
||||||
{
|
{
|
||||||
our $type;
|
our $type;
|
||||||
return join(" ", "#define", $_[0], $type . "EW_GET_FUN(" . prefixname($_[0]) . ")")
|
my $prefix = "";
|
||||||
|
my $suffix = "";
|
||||||
|
|
||||||
|
if ($_[1]->{deleted})
|
||||||
|
{
|
||||||
|
$prefix = "#if " . make_condition($_[1]->{deleted}) . "\n";
|
||||||
|
if ($prefix eq "#if 1\n") {
|
||||||
|
$prefix = ""; # if optimized away
|
||||||
|
} else {
|
||||||
|
$suffix = "\n#endif";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $prefix . join(" ", "#define", $_[0], $type . "EW_GET_FUN(" . prefixname($_[0]) . ")") . $suffix;
|
||||||
}
|
}
|
||||||
|
|
||||||
my @extlist = ();
|
my @extlist = ();
|
||||||
|
@ -18,7 +18,42 @@ do 'bin/make.pl';
|
|||||||
sub make_pfn_def_init($%)
|
sub make_pfn_def_init($%)
|
||||||
{
|
{
|
||||||
#my $name = prefixname($_[0]);
|
#my $name = prefixname($_[0]);
|
||||||
return " r = ((" . $_[0] . " = (PFN" . (uc $_[0]) . "PROC)glewGetProcAddress((const GLubyte*)\"" . $_[0] . "\")) == NULL) || r;";
|
my $condition = "";
|
||||||
|
if ($_[1]{deleted}) {
|
||||||
|
my $needop = 0;
|
||||||
|
|
||||||
|
for my $tok (split(/\s+/, $_[1]{deleted})) {
|
||||||
|
if ($tok eq "~") {
|
||||||
|
# ignore
|
||||||
|
} elsif ($tok eq '&&') {
|
||||||
|
$condition .= ' && ';
|
||||||
|
$needop = 0;
|
||||||
|
} elsif ($tok eq '||') {
|
||||||
|
$condition .= ') || (';
|
||||||
|
$needop = 0;
|
||||||
|
} else {
|
||||||
|
if ($needop) {
|
||||||
|
$condition .= ' && ';
|
||||||
|
}
|
||||||
|
if ($tok =~ /^!/) {
|
||||||
|
$condition .= '!';
|
||||||
|
$tok =~ s/^!//;
|
||||||
|
}
|
||||||
|
if ($tok =~ /^\d/) {
|
||||||
|
# GL Version
|
||||||
|
$tok =~ s/[.]/_/g;
|
||||||
|
$condition .= "GLEW_VERSION_${tok}";
|
||||||
|
} elsif ($tok eq "core") {
|
||||||
|
$condition .= "(context_profile & GL_CONTEXT_CORE_PROFILE_BIT)";
|
||||||
|
} elsif ($tok eq "forward") {
|
||||||
|
$condition .= "(context_flags & GL_CONTEXT_FLAG_FORWARD_COMPATIBLE_BIT)";
|
||||||
|
}
|
||||||
|
$needop = 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$condition = "if( !(($condition)) ) ";
|
||||||
|
}
|
||||||
|
return " ${condition}r = ((" . $_[0] . " = (PFN" . (uc $_[0]) . "PROC)glewGetProcAddress((const GLubyte*)\"" . $_[0] . "\")) == NULL) || r;";
|
||||||
}
|
}
|
||||||
|
|
||||||
#-------------------------------------------------------------------------------
|
#-------------------------------------------------------------------------------
|
||||||
@ -46,6 +81,7 @@ if (@ARGV)
|
|||||||
print "#ifdef $extname\n\n";
|
print "#ifdef $extname\n\n";
|
||||||
print "static GLboolean _glewInit_$extname (" . $type .
|
print "static GLboolean _glewInit_$extname (" . $type .
|
||||||
"EW_CONTEXT_ARG_DEF_INIT)\n{\n GLboolean r = GL_FALSE;\n";
|
"EW_CONTEXT_ARG_DEF_INIT)\n{\n GLboolean r = GL_FALSE;\n";
|
||||||
|
print "#ifdef GLEW_MX\n (void)ctx;\n#endif\n (void)context_profile;\n (void)context_flags;\n";
|
||||||
output_decls($functions, \&make_pfn_def_init);
|
output_decls($functions, \&make_pfn_def_init);
|
||||||
print "\n return r;\n}\n\n";
|
print "\n return r;\n}\n\n";
|
||||||
print "#endif /* $extname */\n\n";
|
print "#endif /* $extname */\n\n";
|
||||||
|
@ -44,11 +44,6 @@ if (@ARGV)
|
|||||||
|
|
||||||
print "#ifdef $extname\n";
|
print "#ifdef $extname\n";
|
||||||
|
|
||||||
if (length($extstring))
|
|
||||||
{
|
|
||||||
print " " . $extvar . " = _glewSearchExtension(\"$extstring\", extStart, extEnd);\n";
|
|
||||||
}
|
|
||||||
|
|
||||||
if (keys %$functions)
|
if (keys %$functions)
|
||||||
{
|
{
|
||||||
if ($extname =~ /WGL_.*/)
|
if ($extname =~ /WGL_.*/)
|
||||||
|
@ -12,10 +12,19 @@ use warnings;
|
|||||||
|
|
||||||
do 'bin/make.pl';
|
do 'bin/make.pl';
|
||||||
|
|
||||||
|
our %defined = ();
|
||||||
|
|
||||||
# function pointer declaration
|
# function pointer declaration
|
||||||
sub make_pfn_decl($%)
|
sub make_pfn_decl($%)
|
||||||
{
|
{
|
||||||
our $export;
|
our $export;
|
||||||
|
our %defined;
|
||||||
|
|
||||||
|
if( $defined{$_[0]} ) # avoid duplicate definitions
|
||||||
|
{
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
$defined{$_[0]} = 1;
|
||||||
return $export . " PFN" . (uc $_[0]) . "PROC " . prefixname($_[0]) . ";";
|
return $export . " PFN" . (uc $_[0]) . "PROC " . prefixname($_[0]) . ";";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -307,8 +307,10 @@ sub parse_spec($)
|
|||||||
|
|
||||||
my @speclist = ();
|
my @speclist = ();
|
||||||
my %extensions = ();
|
my %extensions = ();
|
||||||
|
my %fcn_in_core = ();
|
||||||
|
|
||||||
my $ext_dir = shift;
|
my $ext_dir = shift;
|
||||||
|
my $core_dir = shift;
|
||||||
my $reg_http = "http://www.opengl.org/registry/specs/";
|
my $reg_http = "http://www.opengl.org/registry/specs/";
|
||||||
|
|
||||||
# Take command line arguments or read list from file
|
# Take command line arguments or read list from file
|
||||||
@ -320,6 +322,24 @@ if (@ARGV)
|
|||||||
@speclist = split "\n", (<>);
|
@speclist = split "\n", (<>);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# Get functions moved to the GL core
|
||||||
|
my %core_fnc = ();
|
||||||
|
foreach my $spec (<$core_dir/GL_VERSION_*>)
|
||||||
|
{
|
||||||
|
my $vsn = $spec;
|
||||||
|
$vsn =~ s/.*\/GL_VERSION_(\d+)_(\d+)/$1.$2/;
|
||||||
|
|
||||||
|
open SPEC, "<$spec";
|
||||||
|
while (<SPEC>)
|
||||||
|
{
|
||||||
|
if ($_ =~ qr/^(.+) ([a-z][a-z0-9_]*) \((.+)\)\s*(~.*)?$/i )
|
||||||
|
{
|
||||||
|
$core_fnc{$2} = $vsn;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
close SPEC;
|
||||||
|
}
|
||||||
|
|
||||||
foreach my $spec (sort @speclist)
|
foreach my $spec (sort @speclist)
|
||||||
{
|
{
|
||||||
my ($extname, $extnames, $tokens, $functions) = parse_spec($spec);
|
my ($extname, $extnames, $tokens, $functions) = parse_spec($spec);
|
||||||
@ -370,7 +390,13 @@ foreach my $spec (sort @speclist)
|
|||||||
{
|
{
|
||||||
if ($function =~ /^$prefix.*/i)
|
if ($function =~ /^$prefix.*/i)
|
||||||
{
|
{
|
||||||
print EXT "\t" . ${$functions}{$function}{rtype} . " " . $function . " (" . ${$functions}{$function}{parms} . ")" . "\n";
|
my $deleter = "";
|
||||||
|
|
||||||
|
if ($core_fnc{$function})
|
||||||
|
{
|
||||||
|
$deleter = " ~ " . $core_fnc{$function};
|
||||||
|
}
|
||||||
|
print EXT "\t" . ${$functions}{$function}{rtype} . " " . $function . " (" . ${$functions}{$function}{parms} . ")" . $deleter . "\n";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
close EXT;
|
close EXT;
|
||||||
|
@ -20,6 +20,6 @@ if [ ! -d $1 ] ; then
|
|||||||
|
|
||||||
# Parse each of the extensions in the registry
|
# Parse each of the extensions in the registry
|
||||||
find $2 -name doc -type d -prune -o -name "*.txt" -print | \
|
find $2 -name doc -type d -prune -o -name "*.txt" -print | \
|
||||||
grep -v -f $3 | sort | bin/parse_spec.pl $1
|
grep -v -f $3 | sort | bin/parse_spec.pl $1 $4
|
||||||
|
|
||||||
fi
|
fi
|
||||||
|
@ -99,7 +99,7 @@ http://www.opengl.org/documentation/specs/version1.3/glspec13.pdf
|
|||||||
GL_CLAMP_TO_BORDER 0x812D
|
GL_CLAMP_TO_BORDER 0x812D
|
||||||
|
|
||||||
void glActiveTexture (GLenum texture)
|
void glActiveTexture (GLenum texture)
|
||||||
void glClientActiveTexture (GLenum texture)
|
void glClientActiveTexture (GLenum texture) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glCompressedTexImage1D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data)
|
void glCompressedTexImage1D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLint border, GLsizei imageSize, const void *data)
|
||||||
void glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data)
|
void glCompressedTexImage2D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLsizei imageSize, const void *data)
|
||||||
void glCompressedTexImage3D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data)
|
void glCompressedTexImage3D (GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLint border, GLsizei imageSize, const void *data)
|
||||||
@ -107,40 +107,40 @@ http://www.opengl.org/documentation/specs/version1.3/glspec13.pdf
|
|||||||
void glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data)
|
void glCompressedTexSubImage2D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data)
|
||||||
void glCompressedTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data)
|
void glCompressedTexSubImage3D (GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data)
|
||||||
void glGetCompressedTexImage (GLenum target, GLint lod, void *img)
|
void glGetCompressedTexImage (GLenum target, GLint lod, void *img)
|
||||||
void glLoadTransposeMatrixd (const GLdouble m[16])
|
void glLoadTransposeMatrixd (const GLdouble m[16]) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glLoadTransposeMatrixf (const GLfloat m[16])
|
void glLoadTransposeMatrixf (const GLfloat m[16]) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glMultTransposeMatrixd (const GLdouble m[16])
|
void glMultTransposeMatrixd (const GLdouble m[16]) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glMultTransposeMatrixf (const GLfloat m[16])
|
void glMultTransposeMatrixf (const GLfloat m[16]) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glMultiTexCoord1d (GLenum target, GLdouble s)
|
void glMultiTexCoord1d (GLenum target, GLdouble s) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glMultiTexCoord1dv (GLenum target, const GLdouble *v)
|
void glMultiTexCoord1dv (GLenum target, const GLdouble *v) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glMultiTexCoord1f (GLenum target, GLfloat s)
|
void glMultiTexCoord1f (GLenum target, GLfloat s) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glMultiTexCoord1fv (GLenum target, const GLfloat *v)
|
void glMultiTexCoord1fv (GLenum target, const GLfloat *v) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glMultiTexCoord1i (GLenum target, GLint s)
|
void glMultiTexCoord1i (GLenum target, GLint s) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glMultiTexCoord1iv (GLenum target, const GLint *v)
|
void glMultiTexCoord1iv (GLenum target, const GLint *v) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glMultiTexCoord1s (GLenum target, GLshort s)
|
void glMultiTexCoord1s (GLenum target, GLshort s) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glMultiTexCoord1sv (GLenum target, const GLshort *v)
|
void glMultiTexCoord1sv (GLenum target, const GLshort *v) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glMultiTexCoord2d (GLenum target, GLdouble s, GLdouble t)
|
void glMultiTexCoord2d (GLenum target, GLdouble s, GLdouble t) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glMultiTexCoord2dv (GLenum target, const GLdouble *v)
|
void glMultiTexCoord2dv (GLenum target, const GLdouble *v) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glMultiTexCoord2f (GLenum target, GLfloat s, GLfloat t)
|
void glMultiTexCoord2f (GLenum target, GLfloat s, GLfloat t) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glMultiTexCoord2fv (GLenum target, const GLfloat *v)
|
void glMultiTexCoord2fv (GLenum target, const GLfloat *v) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glMultiTexCoord2i (GLenum target, GLint s, GLint t)
|
void glMultiTexCoord2i (GLenum target, GLint s, GLint t) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glMultiTexCoord2iv (GLenum target, const GLint *v)
|
void glMultiTexCoord2iv (GLenum target, const GLint *v) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glMultiTexCoord2s (GLenum target, GLshort s, GLshort t)
|
void glMultiTexCoord2s (GLenum target, GLshort s, GLshort t) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glMultiTexCoord2sv (GLenum target, const GLshort *v)
|
void glMultiTexCoord2sv (GLenum target, const GLshort *v) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glMultiTexCoord3d (GLenum target, GLdouble s, GLdouble t, GLdouble r)
|
void glMultiTexCoord3d (GLenum target, GLdouble s, GLdouble t, GLdouble r) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glMultiTexCoord3dv (GLenum target, const GLdouble *v)
|
void glMultiTexCoord3dv (GLenum target, const GLdouble *v) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glMultiTexCoord3f (GLenum target, GLfloat s, GLfloat t, GLfloat r)
|
void glMultiTexCoord3f (GLenum target, GLfloat s, GLfloat t, GLfloat r) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glMultiTexCoord3fv (GLenum target, const GLfloat *v)
|
void glMultiTexCoord3fv (GLenum target, const GLfloat *v) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glMultiTexCoord3i (GLenum target, GLint s, GLint t, GLint r)
|
void glMultiTexCoord3i (GLenum target, GLint s, GLint t, GLint r) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glMultiTexCoord3iv (GLenum target, const GLint *v)
|
void glMultiTexCoord3iv (GLenum target, const GLint *v) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glMultiTexCoord3s (GLenum target, GLshort s, GLshort t, GLshort r)
|
void glMultiTexCoord3s (GLenum target, GLshort s, GLshort t, GLshort r) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glMultiTexCoord3sv (GLenum target, const GLshort *v)
|
void glMultiTexCoord3sv (GLenum target, const GLshort *v) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glMultiTexCoord4d (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q)
|
void glMultiTexCoord4d (GLenum target, GLdouble s, GLdouble t, GLdouble r, GLdouble q) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glMultiTexCoord4dv (GLenum target, const GLdouble *v)
|
void glMultiTexCoord4dv (GLenum target, const GLdouble *v) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glMultiTexCoord4f (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q)
|
void glMultiTexCoord4f (GLenum target, GLfloat s, GLfloat t, GLfloat r, GLfloat q) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glMultiTexCoord4fv (GLenum target, const GLfloat *v)
|
void glMultiTexCoord4fv (GLenum target, const GLfloat *v) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glMultiTexCoord4i (GLenum target, GLint s, GLint t, GLint r, GLint q)
|
void glMultiTexCoord4i (GLenum target, GLint s, GLint t, GLint r, GLint q) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glMultiTexCoord4iv (GLenum target, const GLint *v)
|
void glMultiTexCoord4iv (GLenum target, const GLint *v) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glMultiTexCoord4s (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q)
|
void glMultiTexCoord4s (GLenum target, GLshort s, GLshort t, GLshort r, GLshort q) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glMultiTexCoord4sv (GLenum target, const GLshort *v)
|
void glMultiTexCoord4sv (GLenum target, const GLshort *v) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glSampleCoverage (GLclampf value, GLboolean invert)
|
void glSampleCoverage (GLclampf value, GLboolean invert)
|
||||||
|
@ -42,48 +42,48 @@ http://www.opengl.org/documentation/specs/version1.4/glspec14.pdf
|
|||||||
GL_MIRRORED_REPEAT 0x8370
|
GL_MIRRORED_REPEAT 0x8370
|
||||||
void glBlendEquation (GLenum mode)
|
void glBlendEquation (GLenum mode)
|
||||||
void glBlendColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
|
void glBlendColor (GLclampf red, GLclampf green, GLclampf blue, GLclampf alpha)
|
||||||
void glFogCoordf (GLfloat coord)
|
void glFogCoordf (GLfloat coord) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glFogCoordfv (const GLfloat *coord)
|
void glFogCoordfv (const GLfloat *coord) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glFogCoordd (GLdouble coord)
|
void glFogCoordd (GLdouble coord) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glFogCoorddv (const GLdouble *coord)
|
void glFogCoorddv (const GLdouble *coord) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glFogCoordPointer (GLenum type, GLsizei stride, const void *pointer)
|
void glFogCoordPointer (GLenum type, GLsizei stride, const void *pointer) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glMultiDrawArrays (GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount)
|
void glMultiDrawArrays (GLenum mode, const GLint *first, const GLsizei *count, GLsizei drawcount)
|
||||||
void glMultiDrawElements (GLenum mode, const GLsizei *count, GLenum type, const void *const* indices, GLsizei drawcount)
|
void glMultiDrawElements (GLenum mode, const GLsizei *count, GLenum type, const void *const* indices, GLsizei drawcount)
|
||||||
void glPointParameteri (GLenum pname, GLint param)
|
void glPointParameteri (GLenum pname, GLint param)
|
||||||
void glPointParameteriv (GLenum pname, const GLint *params)
|
void glPointParameteriv (GLenum pname, const GLint *params)
|
||||||
void glPointParameterf (GLenum pname, GLfloat param)
|
void glPointParameterf (GLenum pname, GLfloat param)
|
||||||
void glPointParameterfv (GLenum pname, const GLfloat *params)
|
void glPointParameterfv (GLenum pname, const GLfloat *params)
|
||||||
void glSecondaryColor3b (GLbyte red, GLbyte green, GLbyte blue)
|
void glSecondaryColor3b (GLbyte red, GLbyte green, GLbyte blue) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glSecondaryColor3bv (const GLbyte *v)
|
void glSecondaryColor3bv (const GLbyte *v) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glSecondaryColor3d (GLdouble red, GLdouble green, GLdouble blue)
|
void glSecondaryColor3d (GLdouble red, GLdouble green, GLdouble blue) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glSecondaryColor3dv (const GLdouble *v)
|
void glSecondaryColor3dv (const GLdouble *v) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glSecondaryColor3f (GLfloat red, GLfloat green, GLfloat blue)
|
void glSecondaryColor3f (GLfloat red, GLfloat green, GLfloat blue) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glSecondaryColor3fv (const GLfloat *v)
|
void glSecondaryColor3fv (const GLfloat *v) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glSecondaryColor3i (GLint red, GLint green, GLint blue)
|
void glSecondaryColor3i (GLint red, GLint green, GLint blue) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glSecondaryColor3iv (const GLint *v)
|
void glSecondaryColor3iv (const GLint *v) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glSecondaryColor3s (GLshort red, GLshort green, GLshort blue)
|
void glSecondaryColor3s (GLshort red, GLshort green, GLshort blue) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glSecondaryColor3sv (const GLshort *v)
|
void glSecondaryColor3sv (const GLshort *v) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glSecondaryColor3ub (GLubyte red, GLubyte green, GLubyte blue)
|
void glSecondaryColor3ub (GLubyte red, GLubyte green, GLubyte blue) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glSecondaryColor3ubv (const GLubyte *v)
|
void glSecondaryColor3ubv (const GLubyte *v) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glSecondaryColor3ui (GLuint red, GLuint green, GLuint blue)
|
void glSecondaryColor3ui (GLuint red, GLuint green, GLuint blue) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glSecondaryColor3uiv (const GLuint *v)
|
void glSecondaryColor3uiv (const GLuint *v) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glSecondaryColor3us (GLushort red, GLushort green, GLushort blue)
|
void glSecondaryColor3us (GLushort red, GLushort green, GLushort blue) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glSecondaryColor3usv (const GLushort *v)
|
void glSecondaryColor3usv (const GLushort *v) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glSecondaryColorPointer (GLint size, GLenum type, GLsizei stride, const void *pointer)
|
void glSecondaryColorPointer (GLint size, GLenum type, GLsizei stride, const void *pointer) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glBlendFuncSeparate (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha)
|
void glBlendFuncSeparate (GLenum sfactorRGB, GLenum dfactorRGB, GLenum sfactorAlpha, GLenum dfactorAlpha)
|
||||||
void glWindowPos2d (GLdouble x, GLdouble y)
|
void glWindowPos2d (GLdouble x, GLdouble y) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glWindowPos2f (GLfloat x, GLfloat y)
|
void glWindowPos2f (GLfloat x, GLfloat y) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glWindowPos2i (GLint x, GLint y)
|
void glWindowPos2i (GLint x, GLint y) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glWindowPos2s (GLshort x, GLshort y)
|
void glWindowPos2s (GLshort x, GLshort y) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glWindowPos2dv (const GLdouble *p)
|
void glWindowPos2dv (const GLdouble *p) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glWindowPos2fv (const GLfloat *p)
|
void glWindowPos2fv (const GLfloat *p) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glWindowPos2iv (const GLint *p)
|
void glWindowPos2iv (const GLint *p) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glWindowPos2sv (const GLshort *p)
|
void glWindowPos2sv (const GLshort *p) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glWindowPos3d (GLdouble x, GLdouble y, GLdouble z)
|
void glWindowPos3d (GLdouble x, GLdouble y, GLdouble z) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glWindowPos3f (GLfloat x, GLfloat y, GLfloat z)
|
void glWindowPos3f (GLfloat x, GLfloat y, GLfloat z) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glWindowPos3i (GLint x, GLint y, GLint z)
|
void glWindowPos3i (GLint x, GLint y, GLint z) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glWindowPos3s (GLshort x, GLshort y, GLshort z)
|
void glWindowPos3s (GLshort x, GLshort y, GLshort z) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glWindowPos3dv (const GLdouble *p)
|
void glWindowPos3dv (const GLdouble *p) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glWindowPos3fv (const GLfloat *p)
|
void glWindowPos3fv (const GLfloat *p) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glWindowPos3iv (const GLint *p)
|
void glWindowPos3iv (const GLint *p) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
void glWindowPos3sv (const GLshort *p)
|
void glWindowPos3sv (const GLshort *p) ~ 3.0 forward !3.2 || 3.2 core
|
||||||
|
@ -106,18 +106,6 @@ https://www.opengl.org/registry/doc/glspec30.20080923.pdf
|
|||||||
GL_QUERY_NO_WAIT 0x8E14
|
GL_QUERY_NO_WAIT 0x8E14
|
||||||
GL_QUERY_BY_REGION_WAIT 0x8E15
|
GL_QUERY_BY_REGION_WAIT 0x8E15
|
||||||
GL_QUERY_BY_REGION_NO_WAIT 0x8E16
|
GL_QUERY_BY_REGION_NO_WAIT 0x8E16
|
||||||
void glColorMaski (GLuint buf, GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
|
|
||||||
void glGetBooleani_v (GLenum pname, GLuint index, GLboolean* data)
|
|
||||||
void glEnablei (GLenum cap, GLuint index)
|
|
||||||
void glDisablei (GLenum cap, GLuint index)
|
|
||||||
GLboolean glIsEnabledi (GLenum cap, GLuint index)
|
|
||||||
void glBeginTransformFeedback (GLenum primitiveMode)
|
|
||||||
void glEndTransformFeedback (void)
|
|
||||||
void glTransformFeedbackVaryings (GLuint program, GLsizei count, const GLchar *const* varyings, GLenum bufferMode)
|
|
||||||
void glGetTransformFeedbackVarying (GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name)
|
|
||||||
void glClampColor (GLenum target, GLenum clamp)
|
|
||||||
void glBeginConditionalRender (GLuint id, GLenum mode)
|
|
||||||
void glEndConditionalRender (void)
|
|
||||||
void glVertexAttribI1i (GLuint index, GLint v0)
|
void glVertexAttribI1i (GLuint index, GLint v0)
|
||||||
void glVertexAttribI2i (GLuint index, GLint v0, GLint v1)
|
void glVertexAttribI2i (GLuint index, GLint v0, GLint v1)
|
||||||
void glVertexAttribI3i (GLuint index, GLint v0, GLint v1, GLint v2)
|
void glVertexAttribI3i (GLuint index, GLint v0, GLint v1, GLint v2)
|
||||||
@ -139,11 +127,22 @@ https://www.opengl.org/registry/doc/glspec30.20080923.pdf
|
|||||||
void glVertexAttribI4ubv (GLuint index, const GLubyte* v0)
|
void glVertexAttribI4ubv (GLuint index, const GLubyte* v0)
|
||||||
void glVertexAttribI4usv (GLuint index, const GLushort* v0)
|
void glVertexAttribI4usv (GLuint index, const GLushort* v0)
|
||||||
void glVertexAttribIPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const void*pointer)
|
void glVertexAttribIPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const void*pointer)
|
||||||
void glGetVertexAttribIiv (GLuint index, GLenum pname, GLint* params)
|
void* glMapBufferRange (GLenum target, GLintptr offset, GLsizeiptr length, GLbitfield access)
|
||||||
void glGetVertexAttribIuiv (GLuint index, GLenum pname, GLuint* params)
|
void glFlushMappedBufferRange (GLenum target, GLintptr offset, GLsizeiptr length)
|
||||||
void glGetUniformuiv (GLuint program, GLint location, GLuint* params)
|
void glGenVertexArrays (GLsizei n, GLuint* arrays)
|
||||||
void glBindFragDataLocation (GLuint program, GLuint colorNumber, const GLchar* name)
|
void glDeleteVertexArrays (GLsizei n, const GLuint* arrays)
|
||||||
GLint glGetFragDataLocation (GLuint program, const GLchar* name)
|
void glBindVertexArray (GLuint array)
|
||||||
|
void glBeginQuery (GLenum target, GLuint id)
|
||||||
|
void glEndQuery (GLenum target)
|
||||||
|
void glGenQueries (GLsizei n, GLuint* ids)
|
||||||
|
void glDeleteQueries (GLsizei n, const GLuint* ids)
|
||||||
|
void glBeginConditionalRender (GLuint id, GLenum mode)
|
||||||
|
void glEndConditionalRender (void)
|
||||||
|
void glBeginTransformFeedback (GLenum primitiveMode)
|
||||||
|
void glEndTransformFeedback (void)
|
||||||
|
void glBindBufferRange (GLenum target, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)
|
||||||
|
void glBindBufferBase (GLenum target, GLuint index, GLuint buffer)
|
||||||
|
void glClampColor (GLenum target, GLenum clamp)
|
||||||
void glUniform1ui (GLint location, GLuint v0)
|
void glUniform1ui (GLint location, GLuint v0)
|
||||||
void glUniform2ui (GLint location, GLuint v0, GLuint v1)
|
void glUniform2ui (GLint location, GLuint v0, GLuint v1)
|
||||||
void glUniform3ui (GLint location, GLuint v0, GLuint v1, GLuint v2)
|
void glUniform3ui (GLint location, GLuint v0, GLuint v1, GLuint v2)
|
||||||
@ -152,12 +151,46 @@ https://www.opengl.org/registry/doc/glspec30.20080923.pdf
|
|||||||
void glUniform2uiv (GLint location, GLsizei count, const GLuint* value)
|
void glUniform2uiv (GLint location, GLsizei count, const GLuint* value)
|
||||||
void glUniform3uiv (GLint location, GLsizei count, const GLuint* value)
|
void glUniform3uiv (GLint location, GLsizei count, const GLuint* value)
|
||||||
void glUniform4uiv (GLint location, GLsizei count, const GLuint* value)
|
void glUniform4uiv (GLint location, GLsizei count, const GLuint* value)
|
||||||
|
void glTransformFeedbackVaryings (GLuint program, GLsizei count, const GLchar *const* varyings, GLenum bufferMode)
|
||||||
|
void glGetTransformFeedbackVarying (GLuint program, GLuint index, GLsizei bufSize, GLsizei * length, GLsizei * size, GLenum * type, GLchar * name)
|
||||||
void glTexParameterIiv (GLenum target, GLenum pname, const GLint* params)
|
void glTexParameterIiv (GLenum target, GLenum pname, const GLint* params)
|
||||||
void glTexParameterIuiv (GLenum target, GLenum pname, const GLuint* params)
|
void glTexParameterIuiv (GLenum target, GLenum pname, const GLuint* params)
|
||||||
void glGetTexParameterIiv (GLenum target, GLenum pname, GLint* params)
|
void glGenerateMipmap (GLenum target)
|
||||||
void glGetTexParameterIuiv (GLenum target, GLenum pname, GLuint* params)
|
void glBindFragDataLocation (GLuint program, GLuint colorNumber, const GLchar* name)
|
||||||
|
GLint glGetFragDataLocation (GLuint program, const GLchar* name)
|
||||||
|
void glEnablei (GLenum cap, GLuint index)
|
||||||
|
void glDisablei (GLenum cap, GLuint index)
|
||||||
|
void glColorMaski (GLuint buf, GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha)
|
||||||
void glClearBufferiv (GLenum buffer, GLint drawBuffer, const GLint* value)
|
void glClearBufferiv (GLenum buffer, GLint drawBuffer, const GLint* value)
|
||||||
void glClearBufferuiv (GLenum buffer, GLint drawBuffer, const GLuint* value)
|
void glClearBufferuiv (GLenum buffer, GLint drawBuffer, const GLuint* value)
|
||||||
void glClearBufferfv (GLenum buffer, GLint drawBuffer, const GLfloat* value)
|
void glClearBufferfv (GLenum buffer, GLint drawBuffer, const GLfloat* value)
|
||||||
void glClearBufferfi (GLenum buffer, GLint drawBuffer, GLfloat depth, GLint stencil)
|
void glClearBufferfi (GLenum buffer, GLint drawBuffer, GLfloat depth, GLint stencil)
|
||||||
|
void glBlitFramebuffer (GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)
|
||||||
|
void glBindFramebuffer (GLenum target, GLuint framebuffer)
|
||||||
|
void glDeleteFramebuffers (GLsizei n, const GLuint* framebuffers)
|
||||||
|
void glGenFramebuffers (GLsizei n, GLuint* framebuffers)
|
||||||
|
void glBindRenderbuffer (GLenum target, GLuint renderbuffer)
|
||||||
|
void glDeleteRenderbuffers (GLsizei n, const GLuint* renderbuffers)
|
||||||
|
void glGenRenderbuffers (GLsizei n, GLuint* renderbuffers)
|
||||||
|
void glRenderbufferStorageMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
|
||||||
|
void glRenderbufferStorage (GLenum target, GLenum internalformat, GLsizei width, GLsizei height)
|
||||||
|
void glFramebufferRenderbuffer (GLenum target, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
|
||||||
|
void glFramebufferTexture1D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
|
||||||
|
void glFramebufferTexture2D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level)
|
||||||
|
void glFramebufferTexture3D (GLenum target, GLenum attachment, GLenum textarget, GLuint texture, GLint level, GLint layer)
|
||||||
|
void glFramebufferTextureLayer (GLenum target, GLenum attachment, GLuint texture, GLint level, GLint layer)
|
||||||
|
GLenum glCheckFramebufferStatus (GLenum target)
|
||||||
|
void glGetBooleani_v (GLenum pname, GLuint index, GLboolean* data)
|
||||||
|
void glGetIntegeri_v (GLenum pname, GLuint index, GLint *data)
|
||||||
|
GLboolean glIsEnabledi (GLenum cap, GLuint index)
|
||||||
|
void glGetTexParameterIiv (GLenum target, GLenum pname, GLint* params)
|
||||||
|
void glGetTexParameterIuiv (GLenum target, GLenum pname, GLuint* params)
|
||||||
|
void glGetFramebufferAttachmentParameteriv (GLenum target, GLenum attachment, GLenum pname, GLint *params)
|
||||||
|
void glGetRenderbufferParameteriv (GLenum target, GLenum pname, GLint *params)
|
||||||
const GLubyte* glGetStringi (GLenum name, GLuint index)
|
const GLubyte* glGetStringi (GLenum name, GLuint index)
|
||||||
|
GLboolean glIsVertexArray (GLuint array)
|
||||||
|
void glGetVertexAttribIiv (GLuint index, GLenum pname, GLint* params)
|
||||||
|
void glGetVertexAttribIuiv (GLuint index, GLenum pname, GLuint* params)
|
||||||
|
void glGetUniformuiv (GLuint program, GLint location, GLuint* params)
|
||||||
|
GLboolean glIsFramebuffer (GLuint framebuffer)
|
||||||
|
GLboolean glIsRenderbuffer (GLuint renderbuffer)
|
||||||
|
@ -37,5 +37,13 @@ https://www.opengl.org/registry/doc/glspec31.20090528.pdf
|
|||||||
GL_BUFFER_MAP_OFFSET 0x9121
|
GL_BUFFER_MAP_OFFSET 0x9121
|
||||||
void glDrawArraysInstanced (GLenum mode, GLint first, GLsizei count, GLsizei primcount)
|
void glDrawArraysInstanced (GLenum mode, GLint first, GLsizei count, GLsizei primcount)
|
||||||
void glDrawElementsInstanced (GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount)
|
void glDrawElementsInstanced (GLenum mode, GLsizei count, GLenum type, const void* indices, GLsizei primcount)
|
||||||
|
void glCopyBufferSubData (GLenum readtarget, GLenum writetarget, GLintptr readoffset, GLintptr writeoffset, GLsizeiptr size)
|
||||||
void glTexBuffer (GLenum target, GLenum internalFormat, GLuint buffer)
|
void glTexBuffer (GLenum target, GLenum internalFormat, GLuint buffer)
|
||||||
void glPrimitiveRestartIndex (GLuint buffer)
|
void glPrimitiveRestartIndex (GLuint buffer)
|
||||||
|
GLuint glGetUniformBlockIndex (GLuint program, const GLchar* uniformBlockName)
|
||||||
|
void glGetActiveUniformBlockName (GLuint program, GLuint uniformBlockIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformBlockName)
|
||||||
|
void glGetActiveUniformBlockiv (GLuint program, GLuint uniformBlockIndex, GLenum pname, GLint *params)
|
||||||
|
void glGetUniformIndices (GLuint program, GLsizei uniformCount, const GLchar* const * uniformNames, GLuint* uniformIndices)
|
||||||
|
void glGetActiveUniformName (GLuint program, GLuint uniformIndex, GLsizei bufSize, GLsizei* length, GLchar* uniformName)
|
||||||
|
void glGetActiveUniformsiv (GLuint program, GLsizei uniformCount, const GLuint* uniformIndices, GLenum pname, GLint* params)
|
||||||
|
void glUniformBlockBinding (GLuint program, GLuint uniformBlockIndex, GLuint uniformBlockBinding)
|
||||||
|
@ -23,6 +23,22 @@ https://www.opengl.org/registry/doc/glspec32.compatibility.20091207.pdf
|
|||||||
GL_MAX_GEOMETRY_OUTPUT_COMPONENTS 0x9124
|
GL_MAX_GEOMETRY_OUTPUT_COMPONENTS 0x9124
|
||||||
GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125
|
GL_MAX_FRAGMENT_INPUT_COMPONENTS 0x9125
|
||||||
GL_CONTEXT_PROFILE_MASK 0x9126
|
GL_CONTEXT_PROFILE_MASK 0x9126
|
||||||
|
void glDrawElementsBaseVertex (GLenum mode, GLsizei count, GLenum type, const void *indices, GLint basevertex)
|
||||||
|
void glDrawElementsInstancedBaseVertex (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount, GLint basevertex)
|
||||||
|
void glDrawRangeElementsBaseVertex (GLenum mode, GLuint start, GLuint end, GLsizei count, GLenum type, const void *indices, GLint basevertex)
|
||||||
|
void glMultiDrawElementsBaseVertex (GLenum mode, const GLsizei* count, GLenum type, const void *const *indices, GLsizei primcount, const GLint *basevertex)
|
||||||
|
void glProvokingVertex (GLenum mode)
|
||||||
|
void glGetMultisamplefv (GLenum pname, GLuint index, GLfloat* val)
|
||||||
|
void glSampleMaski (GLuint index, GLbitfield mask)
|
||||||
|
void glTexImage2DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations)
|
||||||
|
void glTexImage3DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations)
|
||||||
void glGetInteger64i_v (GLenum pname, GLuint index, GLint64 * data)
|
void glGetInteger64i_v (GLenum pname, GLuint index, GLint64 * data)
|
||||||
void glGetBufferParameteri64v (GLenum target, GLenum value, GLint64 * data)
|
void glGetBufferParameteri64v (GLenum target, GLenum value, GLint64 * data)
|
||||||
void glFramebufferTexture (GLenum target, GLenum attachment, GLuint texture, GLint level)
|
void glFramebufferTexture (GLenum target, GLenum attachment, GLuint texture, GLint level)
|
||||||
|
GLenum glClientWaitSync (GLsync GLsync,GLbitfield flags,GLuint64 timeout)
|
||||||
|
void glDeleteSync (GLsync GLsync)
|
||||||
|
GLsync glFenceSync (GLenum condition,GLbitfield flags)
|
||||||
|
void glGetInteger64v (GLenum pname, GLint64* params)
|
||||||
|
void glGetSynciv (GLsync GLsync,GLenum pname,GLsizei bufSize,GLsizei* length, GLint *values)
|
||||||
|
GLboolean glIsSync (GLsync GLsync)
|
||||||
|
void glWaitSync (GLsync GLsync,GLbitfield flags,GLuint64 timeout)
|
||||||
|
@ -4,3 +4,22 @@ https://www.opengl.org/registry/doc/glspec33.compatibility.20100311.pdf
|
|||||||
GL_RGB10_A2UI 0x906F
|
GL_RGB10_A2UI 0x906F
|
||||||
GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE
|
GL_VERTEX_ATTRIB_ARRAY_DIVISOR 0x88FE
|
||||||
void glVertexAttribDivisor (GLuint index, GLuint divisor)
|
void glVertexAttribDivisor (GLuint index, GLuint divisor)
|
||||||
|
void glBindFragDataLocationIndexed (GLuint program, GLuint colorNumber, GLuint index, const GLchar * name)
|
||||||
|
GLint glGetFragDataIndex (GLuint program, const GLchar * name)
|
||||||
|
void glBindSampler (GLuint unit, GLuint sampler)
|
||||||
|
void glDeleteSamplers (GLsizei count, const GLuint * samplers)
|
||||||
|
void glGenSamplers (GLsizei count, GLuint* samplers)
|
||||||
|
void glGetSamplerParameterIiv (GLuint sampler, GLenum pname, GLint* params)
|
||||||
|
void glGetSamplerParameterIuiv (GLuint sampler, GLenum pname, GLuint* params)
|
||||||
|
void glGetSamplerParameterfv (GLuint sampler, GLenum pname, GLfloat* params)
|
||||||
|
void glGetSamplerParameteriv (GLuint sampler, GLenum pname, GLint* params)
|
||||||
|
GLboolean glIsSampler (GLuint sampler)
|
||||||
|
void glSamplerParameterIiv (GLuint sampler, GLenum pname, const GLint* params)
|
||||||
|
void glSamplerParameterIuiv (GLuint sampler, GLenum pname, const GLuint* params)
|
||||||
|
void glSamplerParameterf (GLuint sampler, GLenum pname, GLfloat param)
|
||||||
|
void glSamplerParameterfv (GLuint sampler, GLenum pname, const GLfloat* params)
|
||||||
|
void glSamplerParameteri (GLuint sampler, GLenum pname, GLint param)
|
||||||
|
void glSamplerParameteriv (GLuint sampler, GLenum pname, const GLint* params)
|
||||||
|
void glGetQueryObjecti64v (GLuint id, GLenum pname, GLint64* params)
|
||||||
|
void glGetQueryObjectui64v (GLuint id, GLenum pname, GLuint64* params)
|
||||||
|
void glQueryCounter (GLuint id, GLenum target)
|
||||||
|
@ -18,3 +18,44 @@ https://www.opengl.org/registry/doc/glspec40.compatibility.20100311.pdf
|
|||||||
void glBlendEquationi (GLuint buf, GLenum mode)
|
void glBlendEquationi (GLuint buf, GLenum mode)
|
||||||
void glBlendFuncSeparatei (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
|
void glBlendFuncSeparatei (GLuint buf, GLenum srcRGB, GLenum dstRGB, GLenum srcAlpha, GLenum dstAlpha)
|
||||||
void glBlendFunci (GLuint buf, GLenum src, GLenum dst)
|
void glBlendFunci (GLuint buf, GLenum src, GLenum dst)
|
||||||
|
void glDrawArraysIndirect (GLenum mode, const void *indirect)
|
||||||
|
void glDrawElementsIndirect (GLenum mode, GLenum type, const void *indirect)
|
||||||
|
void glGetUniformdv (GLuint program, GLint location, GLdouble* params)
|
||||||
|
void glUniform1d (GLint location, GLdouble x)
|
||||||
|
void glUniform1dv (GLint location, GLsizei count, const GLdouble* value)
|
||||||
|
void glUniform2d (GLint location, GLdouble x, GLdouble y)
|
||||||
|
void glUniform2dv (GLint location, GLsizei count, const GLdouble* value)
|
||||||
|
void glUniform3d (GLint location, GLdouble x, GLdouble y, GLdouble z)
|
||||||
|
void glUniform3dv (GLint location, GLsizei count, const GLdouble* value)
|
||||||
|
void glUniform4d (GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
|
||||||
|
void glUniform4dv (GLint location, GLsizei count, const GLdouble* value)
|
||||||
|
void glUniformMatrix2dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value)
|
||||||
|
void glUniformMatrix2x3dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value)
|
||||||
|
void glUniformMatrix2x4dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value)
|
||||||
|
void glUniformMatrix3dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value)
|
||||||
|
void glUniformMatrix3x2dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value)
|
||||||
|
void glUniformMatrix3x4dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value)
|
||||||
|
void glUniformMatrix4dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value)
|
||||||
|
void glUniformMatrix4x2dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value)
|
||||||
|
void glUniformMatrix4x3dv (GLint location, GLsizei count, GLboolean transpose, const GLdouble* value)
|
||||||
|
void glGetActiveSubroutineName (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei* length, GLchar *name)
|
||||||
|
void glGetActiveSubroutineUniformName (GLuint program, GLenum shadertype, GLuint index, GLsizei bufsize, GLsizei* length, GLchar *name)
|
||||||
|
void glGetActiveSubroutineUniformiv (GLuint program, GLenum shadertype, GLuint index, GLenum pname, GLint* values)
|
||||||
|
void glGetProgramStageiv (GLuint program, GLenum shadertype, GLenum pname, GLint* values)
|
||||||
|
GLuint glGetSubroutineIndex (GLuint program, GLenum shadertype, const GLchar* name)
|
||||||
|
GLint glGetSubroutineUniformLocation (GLuint program, GLenum shadertype, const GLchar* name)
|
||||||
|
void glGetUniformSubroutineuiv (GLenum shadertype, GLint location, GLuint* params)
|
||||||
|
void glUniformSubroutinesuiv (GLenum shadertype, GLsizei count, const GLuint* indices)
|
||||||
|
void glPatchParameterfv (GLenum pname, const GLfloat* values)
|
||||||
|
void glPatchParameteri (GLenum pname, GLint value)
|
||||||
|
void glBindTransformFeedback (GLenum target, GLuint id)
|
||||||
|
void glDeleteTransformFeedbacks (GLsizei n, const GLuint* ids)
|
||||||
|
void glDrawTransformFeedback (GLenum mode, GLuint id)
|
||||||
|
void glGenTransformFeedbacks (GLsizei n, GLuint* ids)
|
||||||
|
GLboolean glIsTransformFeedback (GLuint id)
|
||||||
|
void glPauseTransformFeedback (void)
|
||||||
|
void glResumeTransformFeedback (void)
|
||||||
|
void glBeginQueryIndexed (GLenum target, GLuint index, GLuint id)
|
||||||
|
void glDrawTransformFeedbackStream (GLenum mode, GLuint id, GLuint stream)
|
||||||
|
void glEndQueryIndexed (GLenum target, GLuint index)
|
||||||
|
void glGetQueryIndexediv (GLenum target, GLuint index, GLenum pname, GLint* params)
|
||||||
|
@ -1,2 +1,91 @@
|
|||||||
GL_VERSION_4_1
|
GL_VERSION_4_1
|
||||||
https://www.opengl.org/registry/doc/glspec41.compatibility.20100725.pdf
|
https://www.opengl.org/registry/doc/glspec41.compatibility.20100725.pdf
|
||||||
|
|
||||||
|
void glClearDepthf (GLclampf d)
|
||||||
|
void glDepthRangef (GLclampf n, GLclampf f)
|
||||||
|
void glGetShaderPrecisionFormat (GLenum shadertype, GLenum precisiontype, GLint* range, GLint *precision)
|
||||||
|
void glReleaseShaderCompiler (void)
|
||||||
|
void glShaderBinary (GLsizei count, const GLuint* shaders, GLenum binaryformat, const void*binary, GLsizei length)
|
||||||
|
void glGetProgramBinary (GLuint program, GLsizei bufSize, GLsizei* length, GLenum *binaryFormat, void*binary)
|
||||||
|
void glProgramBinary (GLuint program, GLenum binaryFormat, const void *binary, GLsizei length)
|
||||||
|
void glProgramParameteri (GLuint program, GLenum pname, GLint value)
|
||||||
|
void glActiveShaderProgram (GLuint pipeline, GLuint program)
|
||||||
|
void glBindProgramPipeline (GLuint pipeline)
|
||||||
|
GLuint glCreateShaderProgramv (GLenum type, GLsizei count, const GLchar * const * strings)
|
||||||
|
void glDeleteProgramPipelines (GLsizei n, const GLuint* pipelines)
|
||||||
|
void glGenProgramPipelines (GLsizei n, GLuint* pipelines)
|
||||||
|
void glGetProgramPipelineInfoLog (GLuint pipeline, GLsizei bufSize, GLsizei* length, GLchar *infoLog)
|
||||||
|
void glGetProgramPipelineiv (GLuint pipeline, GLenum pname, GLint* params)
|
||||||
|
GLboolean glIsProgramPipeline (GLuint pipeline)
|
||||||
|
void glProgramUniform1d (GLuint program, GLint location, GLdouble x)
|
||||||
|
void glProgramUniform1dv (GLuint program, GLint location, GLsizei count, const GLdouble* value)
|
||||||
|
void glProgramUniform1f (GLuint program, GLint location, GLfloat x)
|
||||||
|
void glProgramUniform1fv (GLuint program, GLint location, GLsizei count, const GLfloat* value)
|
||||||
|
void glProgramUniform1i (GLuint program, GLint location, GLint x)
|
||||||
|
void glProgramUniform1iv (GLuint program, GLint location, GLsizei count, const GLint* value)
|
||||||
|
void glProgramUniform1ui (GLuint program, GLint location, GLuint x)
|
||||||
|
void glProgramUniform1uiv (GLuint program, GLint location, GLsizei count, const GLuint* value)
|
||||||
|
void glProgramUniform2d (GLuint program, GLint location, GLdouble x, GLdouble y)
|
||||||
|
void glProgramUniform2dv (GLuint program, GLint location, GLsizei count, const GLdouble* value)
|
||||||
|
void glProgramUniform2f (GLuint program, GLint location, GLfloat x, GLfloat y)
|
||||||
|
void glProgramUniform2fv (GLuint program, GLint location, GLsizei count, const GLfloat* value)
|
||||||
|
void glProgramUniform2i (GLuint program, GLint location, GLint x, GLint y)
|
||||||
|
void glProgramUniform2iv (GLuint program, GLint location, GLsizei count, const GLint* value)
|
||||||
|
void glProgramUniform2ui (GLuint program, GLint location, GLuint x, GLuint y)
|
||||||
|
void glProgramUniform2uiv (GLuint program, GLint location, GLsizei count, const GLuint* value)
|
||||||
|
void glProgramUniform3d (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z)
|
||||||
|
void glProgramUniform3dv (GLuint program, GLint location, GLsizei count, const GLdouble* value)
|
||||||
|
void glProgramUniform3f (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z)
|
||||||
|
void glProgramUniform3fv (GLuint program, GLint location, GLsizei count, const GLfloat* value)
|
||||||
|
void glProgramUniform3i (GLuint program, GLint location, GLint x, GLint y, GLint z)
|
||||||
|
void glProgramUniform3iv (GLuint program, GLint location, GLsizei count, const GLint* value)
|
||||||
|
void glProgramUniform3ui (GLuint program, GLint location, GLuint x, GLuint y, GLuint z)
|
||||||
|
void glProgramUniform3uiv (GLuint program, GLint location, GLsizei count, const GLuint* value)
|
||||||
|
void glProgramUniform4d (GLuint program, GLint location, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
|
||||||
|
void glProgramUniform4dv (GLuint program, GLint location, GLsizei count, const GLdouble* value)
|
||||||
|
void glProgramUniform4f (GLuint program, GLint location, GLfloat x, GLfloat y, GLfloat z, GLfloat w)
|
||||||
|
void glProgramUniform4fv (GLuint program, GLint location, GLsizei count, const GLfloat* value)
|
||||||
|
void glProgramUniform4i (GLuint program, GLint location, GLint x, GLint y, GLint z, GLint w)
|
||||||
|
void glProgramUniform4iv (GLuint program, GLint location, GLsizei count, const GLint* value)
|
||||||
|
void glProgramUniform4ui (GLuint program, GLint location, GLuint x, GLuint y, GLuint z, GLuint w)
|
||||||
|
void glProgramUniform4uiv (GLuint program, GLint location, GLsizei count, const GLuint* value)
|
||||||
|
void glProgramUniformMatrix2dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value)
|
||||||
|
void glProgramUniformMatrix2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
|
||||||
|
void glProgramUniformMatrix2x3dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value)
|
||||||
|
void glProgramUniformMatrix2x3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
|
||||||
|
void glProgramUniformMatrix2x4dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value)
|
||||||
|
void glProgramUniformMatrix2x4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
|
||||||
|
void glProgramUniformMatrix3dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value)
|
||||||
|
void glProgramUniformMatrix3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
|
||||||
|
void glProgramUniformMatrix3x2dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value)
|
||||||
|
void glProgramUniformMatrix3x2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
|
||||||
|
void glProgramUniformMatrix3x4dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value)
|
||||||
|
void glProgramUniformMatrix3x4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
|
||||||
|
void glProgramUniformMatrix4dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value)
|
||||||
|
void glProgramUniformMatrix4fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
|
||||||
|
void glProgramUniformMatrix4x2dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value)
|
||||||
|
void glProgramUniformMatrix4x2fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
|
||||||
|
void glProgramUniformMatrix4x3dv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLdouble* value)
|
||||||
|
void glProgramUniformMatrix4x3fv (GLuint program, GLint location, GLsizei count, GLboolean transpose, const GLfloat* value)
|
||||||
|
void glUseProgramStages (GLuint pipeline, GLbitfield stages, GLuint program)
|
||||||
|
void glValidateProgramPipeline (GLuint pipeline)
|
||||||
|
void glGetVertexAttribLdv (GLuint index, GLenum pname, GLdouble* params)
|
||||||
|
void glVertexAttribL1d (GLuint index, GLdouble x)
|
||||||
|
void glVertexAttribL1dv (GLuint index, const GLdouble* v)
|
||||||
|
void glVertexAttribL2d (GLuint index, GLdouble x, GLdouble y)
|
||||||
|
void glVertexAttribL2dv (GLuint index, const GLdouble* v)
|
||||||
|
void glVertexAttribL3d (GLuint index, GLdouble x, GLdouble y, GLdouble z)
|
||||||
|
void glVertexAttribL3dv (GLuint index, const GLdouble* v)
|
||||||
|
void glVertexAttribL4d (GLuint index, GLdouble x, GLdouble y, GLdouble z, GLdouble w)
|
||||||
|
void glVertexAttribL4dv (GLuint index, const GLdouble* v)
|
||||||
|
void glVertexAttribLPointer (GLuint index, GLint size, GLenum type, GLsizei stride, const void* pointer)
|
||||||
|
void glDepthRangeArrayv (GLuint first, GLsizei count, const GLclampd * v)
|
||||||
|
void glDepthRangeIndexed (GLuint index, GLclampd n, GLclampd f)
|
||||||
|
void glGetDoublei_v (GLenum target, GLuint index, GLdouble* data)
|
||||||
|
void glGetFloati_v (GLenum target, GLuint index, GLfloat* data)
|
||||||
|
void glScissorArrayv (GLuint first, GLsizei count, const GLint * v)
|
||||||
|
void glScissorIndexed (GLuint index, GLint left, GLint bottom, GLsizei width, GLsizei height)
|
||||||
|
void glScissorIndexedv (GLuint index, const GLint * v)
|
||||||
|
void glViewportArrayv (GLuint first, GLsizei count, const GLfloat * v)
|
||||||
|
void glViewportIndexedf (GLuint index, GLfloat x, GLfloat y, GLfloat w, GLfloat h)
|
||||||
|
void glViewportIndexedfv (GLuint index, const GLfloat * v)
|
||||||
|
@ -9,4 +9,18 @@ https://www.opengl.org/registry/doc/glspec42.compatibility.20120427.pdf
|
|||||||
GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM 0x8E8D
|
GL_COMPRESSED_SRGB_ALPHA_BPTC_UNORM 0x8E8D
|
||||||
GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT 0x8E8E
|
GL_COMPRESSED_RGB_BPTC_SIGNED_FLOAT 0x8E8E
|
||||||
GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT 0x8E8F
|
GL_COMPRESSED_RGB_BPTC_UNSIGNED_FLOAT 0x8E8F
|
||||||
|
void glGetActiveAtomicCounterBufferiv (GLuint program, GLuint bufferIndex, GLenum pname, GLint* params)
|
||||||
|
void glTexStorage1D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width)
|
||||||
|
void glTexStorage2D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height)
|
||||||
|
void glTexStorage3D (GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth)
|
||||||
|
void glTextureStorage1DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width)
|
||||||
|
void glTextureStorage2DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height)
|
||||||
|
void glTextureStorage3DEXT (GLuint texture, GLenum target, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth)
|
||||||
|
void glDrawTransformFeedbackInstanced (GLenum mode, GLuint id, GLsizei primcount)
|
||||||
|
void glDrawTransformFeedbackStreamInstanced (GLenum mode, GLuint id, GLuint stream, GLsizei primcount)
|
||||||
|
void glDrawArraysInstancedBaseInstance (GLenum mode, GLint first, GLsizei count, GLsizei primcount, GLuint baseinstance)
|
||||||
|
void glDrawElementsInstancedBaseInstance (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount, GLuint baseinstance)
|
||||||
|
void glDrawElementsInstancedBaseVertexBaseInstance (GLenum mode, GLsizei count, GLenum type, const void *indices, GLsizei primcount, GLint basevertex, GLuint baseinstance)
|
||||||
|
void glBindImageTexture (GLuint unit, GLuint texture, GLint level, GLboolean layered, GLint layer, GLenum access, GLenum format)
|
||||||
|
void glMemoryBarrier (GLbitfield barriers)
|
||||||
|
void glGetInternalformativ (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint* params)
|
||||||
|
@ -3,3 +3,49 @@ https://www.opengl.org/registry/doc/glspec43.compatibility.20130214.pdf
|
|||||||
|
|
||||||
GL_VERTEX_ATTRIB_ARRAY_LONG 0x874E
|
GL_VERTEX_ATTRIB_ARRAY_LONG 0x874E
|
||||||
GL_NUM_SHADING_LANGUAGE_VERSIONS 0x82E9
|
GL_NUM_SHADING_LANGUAGE_VERSIONS 0x82E9
|
||||||
|
void glClearBufferData (GLenum target, GLenum internalformat, GLenum format, GLenum type, const void *data)
|
||||||
|
void glClearBufferSubData (GLenum target, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data)
|
||||||
|
void glClearNamedBufferDataEXT (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data)
|
||||||
|
void glClearNamedBufferSubDataEXT (GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data)
|
||||||
|
void glDispatchCompute (GLuint num_groups_x, GLuint num_groups_y, GLuint num_groups_z)
|
||||||
|
void glDispatchComputeIndirect (GLintptr indirect)
|
||||||
|
void glCopyImageSubData (GLuint srcName, GLenum srcTarget, GLint srcLevel, GLint srcX, GLint srcY, GLint srcZ, GLuint dstName, GLenum dstTarget, GLint dstLevel, GLint dstX, GLint dstY, GLint dstZ, GLsizei srcWidth, GLsizei srcHeight, GLsizei srcDepth)
|
||||||
|
void glDebugMessageCallback (GLDEBUGPROC callback, const void *userParam)
|
||||||
|
void glDebugMessageControl (GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint* ids, GLboolean enabled)
|
||||||
|
void glDebugMessageInsert (GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* buf)
|
||||||
|
GLuint glGetDebugMessageLog (GLuint count, GLsizei bufSize, GLenum* sources, GLenum* types, GLuint* ids, GLenum* severities, GLsizei* lengths, GLchar* messageLog)
|
||||||
|
void glGetObjectLabel (GLenum identifier, GLuint name, GLsizei bufSize, GLsizei* length, GLchar *label)
|
||||||
|
void glGetObjectPtrLabel (const void *ptr, GLsizei bufSize, GLsizei* length, GLchar *label)
|
||||||
|
void glObjectLabel (GLenum identifier, GLuint name, GLsizei length, const GLchar* label)
|
||||||
|
void glObjectPtrLabel (const void *ptr, GLsizei length, const GLchar* label)
|
||||||
|
void glPopDebugGroup (void)
|
||||||
|
void glPushDebugGroup (GLenum source, GLuint id, GLsizei length, const GLchar * message)
|
||||||
|
void glFramebufferParameteri (GLenum target, GLenum pname, GLint param)
|
||||||
|
void glGetFramebufferParameteriv (GLenum target, GLenum pname, GLint* params)
|
||||||
|
void glGetInternalformati64v (GLenum target, GLenum internalformat, GLenum pname, GLsizei bufSize, GLint64* params)
|
||||||
|
void glInvalidateBufferData (GLuint buffer)
|
||||||
|
void glInvalidateBufferSubData (GLuint buffer, GLintptr offset, GLsizeiptr length)
|
||||||
|
void glInvalidateFramebuffer (GLenum target, GLsizei numAttachments, const GLenum* attachments)
|
||||||
|
void glInvalidateSubFramebuffer (GLenum target, GLsizei numAttachments, const GLenum* attachments, GLint x, GLint y, GLsizei width, GLsizei height)
|
||||||
|
void glInvalidateTexImage (GLuint texture, GLint level)
|
||||||
|
void glInvalidateTexSubImage (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth)
|
||||||
|
void glMultiDrawArraysIndirect (GLenum mode, const void *indirect, GLsizei primcount, GLsizei stride)
|
||||||
|
void glMultiDrawElementsIndirect (GLenum mode, GLenum type, const void *indirect, GLsizei primcount, GLsizei stride)
|
||||||
|
void glGetProgramInterfaceiv (GLuint program, GLenum programInterface, GLenum pname, GLint* params)
|
||||||
|
GLuint glGetProgramResourceIndex (GLuint program, GLenum programInterface, const GLchar* name)
|
||||||
|
GLint glGetProgramResourceLocation (GLuint program, GLenum programInterface, const GLchar* name)
|
||||||
|
GLint glGetProgramResourceLocationIndex (GLuint program, GLenum programInterface, const GLchar* name)
|
||||||
|
void glGetProgramResourceName (GLuint program, GLenum programInterface, GLuint index, GLsizei bufSize, GLsizei* length, GLchar *name)
|
||||||
|
void glGetProgramResourceiv (GLuint program, GLenum programInterface, GLuint index, GLsizei propCount, const GLenum* props, GLsizei bufSize, GLsizei *length, GLint *params)
|
||||||
|
void glShaderStorageBlockBinding (GLuint program, GLuint storageBlockIndex, GLuint storageBlockBinding)
|
||||||
|
void glTexBufferRange (GLenum target, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size)
|
||||||
|
void glTexStorage2DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations)
|
||||||
|
void glTexStorage3DMultisample (GLenum target, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations)
|
||||||
|
void glTextureView (GLuint texture, GLenum target, GLuint origtexture, GLenum internalformat, GLuint minlevel, GLuint numlevels, GLuint minlayer, GLuint numlayers)
|
||||||
|
void glBindVertexBuffer (GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride)
|
||||||
|
void glVertexAttribBinding (GLuint attribindex, GLuint bindingindex)
|
||||||
|
void glVertexAttribFormat (GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset)
|
||||||
|
void glVertexAttribIFormat (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset)
|
||||||
|
void glVertexAttribLFormat (GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset)
|
||||||
|
void glVertexBindingDivisor (GLuint bindingindex, GLuint divisor)
|
||||||
|
typedef void (GLAPIENTRY *GLDEBUGPROC)(GLenum source, GLenum type, GLuint id, GLenum severity, GLsizei length, const GLchar* message, const void* userParam)
|
||||||
|
@ -4,4 +4,12 @@ https://www.opengl.org/registry/doc/glspec44.compatibility.pdf
|
|||||||
GL_MAX_VERTEX_ATTRIB_STRIDE 0x82E5
|
GL_MAX_VERTEX_ATTRIB_STRIDE 0x82E5
|
||||||
GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED 0x8221
|
GL_PRIMITIVE_RESTART_FOR_PATCHES_SUPPORTED 0x8221
|
||||||
GL_TEXTURE_BUFFER_BINDING 0x8C2A
|
GL_TEXTURE_BUFFER_BINDING 0x8C2A
|
||||||
|
void glBufferStorage (GLenum target, GLsizeiptr size, const void *data, GLbitfield flags)
|
||||||
|
void glClearTexImage (GLuint texture, GLint level, GLenum format, GLenum type, const void *data)
|
||||||
|
void glClearTexSubImage (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *data)
|
||||||
|
void glBindBuffersBase (GLenum target, GLuint first, GLsizei count, const GLuint* buffers)
|
||||||
|
void glBindBuffersRange (GLenum target, GLuint first, GLsizei count, const GLuint* buffers, const GLintptr *offsets, const GLsizeiptr *sizes)
|
||||||
|
void glBindImageTextures (GLuint first, GLsizei count, const GLuint* textures)
|
||||||
|
void glBindSamplers (GLuint first, GLsizei count, const GLuint* samplers)
|
||||||
|
void glBindTextures (GLuint first, GLsizei count, const GLuint* textures)
|
||||||
|
void glBindVertexBuffers (GLuint first, GLsizei count, const GLuint* buffers, const GLintptr *offsets, const GLsizei *strides)
|
||||||
|
@ -1,8 +1,114 @@
|
|||||||
GL_VERSION_4_5
|
GL_VERSION_4_5
|
||||||
https://www.opengl.org/registry/doc/glspec45.compatibility.pdf
|
https://www.opengl.org/registry/doc/glspec45.compatibility.pdf
|
||||||
|
|
||||||
GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT 0x00000004
|
GL_CONTEXT_FLAG_ROBUST_ACCESS_BIT 0x00000004
|
||||||
GLenum glGetGraphicsResetStatus (void)
|
GLenum glGetGraphicsResetStatus (void)
|
||||||
void glGetnTexImage (GLenum tex, GLint level, GLenum format, GLenum type, GLsizei bufSize, GLvoid *pixels)
|
void glClipControl (GLenum origin, GLenum depth)
|
||||||
void glGetnCompressedTexImage (GLenum target, GLint lod, GLsizei bufSize, GLvoid *pixels)
|
void glMemoryBarrierByRegion (GLbitfield barriers)
|
||||||
void glGetnUniformdv (GLuint program, GLint location, GLsizei bufSize, GLdouble *params)
|
void glBindTextureUnit (GLuint unit, GLuint texture)
|
||||||
|
void glBlitNamedFramebuffer (GLuint readFramebuffer, GLuint drawFramebuffer, GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter)
|
||||||
|
GLenum glCheckNamedFramebufferStatus (GLuint framebuffer, GLenum target)
|
||||||
|
void glClearNamedBufferData (GLuint buffer, GLenum internalformat, GLenum format, GLenum type, const void *data)
|
||||||
|
void glClearNamedBufferSubData (GLuint buffer, GLenum internalformat, GLintptr offset, GLsizeiptr size, GLenum format, GLenum type, const void *data)
|
||||||
|
void glClearNamedFramebufferfi (GLuint framebuffer, GLenum buffer, GLfloat depth, GLint stencil)
|
||||||
|
void glClearNamedFramebufferfv (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLfloat* value)
|
||||||
|
void glClearNamedFramebufferiv (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLint* value)
|
||||||
|
void glClearNamedFramebufferuiv (GLuint framebuffer, GLenum buffer, GLint drawbuffer, const GLuint* value)
|
||||||
|
void glCompressedTextureSubImage1D (GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLsizei imageSize, const void *data)
|
||||||
|
void glCompressedTextureSubImage2D (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLsizei imageSize, const void *data)
|
||||||
|
void glCompressedTextureSubImage3D (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLsizei imageSize, const void *data)
|
||||||
|
void glCopyNamedBufferSubData (GLuint readBuffer, GLuint writeBuffer, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size)
|
||||||
|
void glCopyTextureSubImage1D (GLuint texture, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width)
|
||||||
|
void glCopyTextureSubImage2D (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height)
|
||||||
|
void glCopyTextureSubImage3D (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLint x, GLint y, GLsizei width, GLsizei height)
|
||||||
|
void glCreateBuffers (GLsizei n, GLuint* buffers)
|
||||||
|
void glCreateFramebuffers (GLsizei n, GLuint* framebuffers)
|
||||||
|
void glCreateProgramPipelines (GLsizei n, GLuint* pipelines)
|
||||||
|
void glCreateQueries (GLenum target, GLsizei n, GLuint* ids)
|
||||||
|
void glCreateRenderbuffers (GLsizei n, GLuint* renderbuffers)
|
||||||
|
void glCreateSamplers (GLsizei n, GLuint* samplers)
|
||||||
|
void glCreateTextures (GLenum target, GLsizei n, GLuint* textures)
|
||||||
|
void glCreateTransformFeedbacks (GLsizei n, GLuint* ids)
|
||||||
|
void glCreateVertexArrays (GLsizei n, GLuint* arrays)
|
||||||
|
void glDisableVertexArrayAttrib (GLuint vaobj, GLuint index)
|
||||||
|
void glEnableVertexArrayAttrib (GLuint vaobj, GLuint index)
|
||||||
|
void glFlushMappedNamedBufferRange (GLuint buffer, GLintptr offset, GLsizeiptr length)
|
||||||
|
void glGenerateTextureMipmap (GLuint texture)
|
||||||
|
void glGetCompressedTextureImage (GLuint texture, GLint level, GLsizei bufSize, void *pixels)
|
||||||
|
void glGetNamedBufferParameteri64v (GLuint buffer, GLenum pname, GLint64* params)
|
||||||
|
void glGetNamedBufferParameteriv (GLuint buffer, GLenum pname, GLint* params)
|
||||||
|
void glGetNamedBufferPointerv (GLuint buffer, GLenum pname, void** params)
|
||||||
|
void glGetNamedBufferSubData (GLuint buffer, GLintptr offset, GLsizeiptr size, void *data)
|
||||||
|
void glGetNamedFramebufferAttachmentParameteriv (GLuint framebuffer, GLenum attachment, GLenum pname, GLint* params)
|
||||||
|
void glGetNamedFramebufferParameteriv (GLuint framebuffer, GLenum pname, GLint* param)
|
||||||
|
void glGetNamedRenderbufferParameteriv (GLuint renderbuffer, GLenum pname, GLint* params)
|
||||||
|
void glGetQueryBufferObjecti64v (GLuint id,GLuint buffer,GLenum pname,GLintptr offset)
|
||||||
|
void glGetQueryBufferObjectiv (GLuint id,GLuint buffer,GLenum pname,GLintptr offset)
|
||||||
|
void glGetQueryBufferObjectui64v (GLuint id,GLuint buffer,GLenum pname,GLintptr offset)
|
||||||
|
void glGetQueryBufferObjectuiv (GLuint id,GLuint buffer,GLenum pname,GLintptr offset)
|
||||||
|
void glGetTextureImage (GLuint texture, GLint level, GLenum format, GLenum type, GLsizei bufSize, void *pixels)
|
||||||
|
void glGetTextureLevelParameterfv (GLuint texture, GLint level, GLenum pname, GLfloat* params)
|
||||||
|
void glGetTextureLevelParameteriv (GLuint texture, GLint level, GLenum pname, GLint* params)
|
||||||
|
void glGetTextureParameterIiv (GLuint texture, GLenum pname, GLint* params)
|
||||||
|
void glGetTextureParameterIuiv (GLuint texture, GLenum pname, GLuint* params)
|
||||||
|
void glGetTextureParameterfv (GLuint texture, GLenum pname, GLfloat* params)
|
||||||
|
void glGetTextureParameteriv (GLuint texture, GLenum pname, GLint* params)
|
||||||
|
void glGetTransformFeedbacki64_v (GLuint xfb, GLenum pname, GLuint index, GLint64* param)
|
||||||
|
void glGetTransformFeedbacki_v (GLuint xfb, GLenum pname, GLuint index, GLint* param)
|
||||||
|
void glGetTransformFeedbackiv (GLuint xfb, GLenum pname, GLint* param)
|
||||||
|
void glGetVertexArrayIndexed64iv (GLuint vaobj, GLuint index, GLenum pname, GLint64* param)
|
||||||
|
void glGetVertexArrayIndexediv (GLuint vaobj, GLuint index, GLenum pname, GLint* param)
|
||||||
|
void glGetVertexArrayiv (GLuint vaobj, GLenum pname, GLint* param)
|
||||||
|
void glInvalidateNamedFramebufferData (GLuint framebuffer, GLsizei numAttachments, const GLenum* attachments)
|
||||||
|
void glInvalidateNamedFramebufferSubData (GLuint framebuffer, GLsizei numAttachments, const GLenum* attachments, GLint x, GLint y, GLsizei width, GLsizei height)
|
||||||
|
void * glMapNamedBuffer (GLuint buffer, GLenum access)
|
||||||
|
void * glMapNamedBufferRange (GLuint buffer, GLintptr offset, GLsizeiptr length, GLbitfield access)
|
||||||
|
void glNamedBufferData (GLuint buffer, GLsizeiptr size, const void *data, GLenum usage)
|
||||||
|
void glNamedBufferStorage (GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags)
|
||||||
|
void glNamedBufferSubData (GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data)
|
||||||
|
void glNamedFramebufferDrawBuffer (GLuint framebuffer, GLenum mode)
|
||||||
|
void glNamedFramebufferDrawBuffers (GLuint framebuffer, GLsizei n, const GLenum* bufs)
|
||||||
|
void glNamedFramebufferParameteri (GLuint framebuffer, GLenum pname, GLint param)
|
||||||
|
void glNamedFramebufferReadBuffer (GLuint framebuffer, GLenum mode)
|
||||||
|
void glNamedFramebufferRenderbuffer (GLuint framebuffer, GLenum attachment, GLenum renderbuffertarget, GLuint renderbuffer)
|
||||||
|
void glNamedFramebufferTexture (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level)
|
||||||
|
void glNamedFramebufferTextureLayer (GLuint framebuffer, GLenum attachment, GLuint texture, GLint level, GLint layer)
|
||||||
|
void glNamedRenderbufferStorage (GLuint renderbuffer, GLenum internalformat, GLsizei width, GLsizei height)
|
||||||
|
void glNamedRenderbufferStorageMultisample (GLuint renderbuffer, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height)
|
||||||
|
void glTextureBuffer (GLuint texture, GLenum internalformat, GLuint buffer)
|
||||||
|
void glTextureBufferRange (GLuint texture, GLenum internalformat, GLuint buffer, GLintptr offset, GLsizeiptr size)
|
||||||
|
void glTextureParameterIiv (GLuint texture, GLenum pname, const GLint* params)
|
||||||
|
void glTextureParameterIuiv (GLuint texture, GLenum pname, const GLuint* params)
|
||||||
|
void glTextureParameterf (GLuint texture, GLenum pname, GLfloat param)
|
||||||
|
void glTextureParameterfv (GLuint texture, GLenum pname, const GLfloat* param)
|
||||||
|
void glTextureParameteri (GLuint texture, GLenum pname, GLint param)
|
||||||
|
void glTextureParameteriv (GLuint texture, GLenum pname, const GLint* param)
|
||||||
|
void glTextureStorage1D (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width)
|
||||||
|
void glTextureStorage2D (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height)
|
||||||
|
void glTextureStorage2DMultisample (GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLboolean fixedsamplelocations)
|
||||||
|
void glTextureStorage3D (GLuint texture, GLsizei levels, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth)
|
||||||
|
void glTextureStorage3DMultisample (GLuint texture, GLsizei samples, GLenum internalformat, GLsizei width, GLsizei height, GLsizei depth, GLboolean fixedsamplelocations)
|
||||||
|
void glTextureSubImage1D (GLuint texture, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels)
|
||||||
|
void glTextureSubImage2D (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels)
|
||||||
|
void glTextureSubImage3D (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, const void *pixels)
|
||||||
|
void glTransformFeedbackBufferBase (GLuint xfb, GLuint index, GLuint buffer)
|
||||||
|
void glTransformFeedbackBufferRange (GLuint xfb, GLuint index, GLuint buffer, GLintptr offset, GLsizeiptr size)
|
||||||
|
GLboolean glUnmapNamedBuffer (GLuint buffer)
|
||||||
|
void glVertexArrayAttribBinding (GLuint vaobj, GLuint attribindex, GLuint bindingindex)
|
||||||
|
void glVertexArrayAttribFormat (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLboolean normalized, GLuint relativeoffset)
|
||||||
|
void glVertexArrayAttribIFormat (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset)
|
||||||
|
void glVertexArrayAttribLFormat (GLuint vaobj, GLuint attribindex, GLint size, GLenum type, GLuint relativeoffset)
|
||||||
|
void glVertexArrayBindingDivisor (GLuint vaobj, GLuint bindingindex, GLuint divisor)
|
||||||
|
void glVertexArrayElementBuffer (GLuint vaobj, GLuint buffer)
|
||||||
|
void glVertexArrayVertexBuffer (GLuint vaobj, GLuint bindingindex, GLuint buffer, GLintptr offset, GLsizei stride)
|
||||||
|
void glVertexArrayVertexBuffers (GLuint vaobj, GLuint first, GLsizei count, const GLuint* buffers, const GLintptr *offsets, const GLsizei *strides)
|
||||||
|
void glGetCompressedTextureSubImage (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLsizei bufSize, void *pixels)
|
||||||
|
void glGetTextureSubImage (GLuint texture, GLint level, GLint xoffset, GLint yoffset, GLint zoffset, GLsizei width, GLsizei height, GLsizei depth, GLenum format, GLenum type, GLsizei bufSize, void *pixels)
|
||||||
|
void glGetnUniformfv (GLuint program, GLint location, GLsizei bufSize, GLfloat* params)
|
||||||
|
void glGetnUniformiv (GLuint program, GLint location, GLsizei bufSize, GLint* params)
|
||||||
|
void glGetnUniformuiv (GLuint program, GLint location, GLsizei bufSize, GLuint* params)
|
||||||
|
void glReadnPixels (GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, GLsizei bufSize, void *data)
|
||||||
|
void glTextureBarrier (void)
|
||||||
|
void glGetnTexImage (GLenum tex, GLint level, GLenum format, GLenum type, GLsizei bufSize, GLvoid *pixels)
|
||||||
|
void glGetnCompressedTexImage (GLenum target, GLint lod, GLsizei bufSize, GLvoid *pixels)
|
||||||
|
void glGetnUniformdv (GLuint program, GLint location, GLsizei bufSize, GLdouble *params)
|
||||||
|
@ -10,6 +10,7 @@
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include <stddef.h> /* For size_t */
|
#include <stddef.h> /* For size_t */
|
||||||
|
extern int memcmp(const void *, const void *, size_t);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Define glewGetContext and related helper macros.
|
* Define glewGetContext and related helper macros.
|
||||||
@ -17,26 +18,26 @@
|
|||||||
#ifdef GLEW_MX
|
#ifdef GLEW_MX
|
||||||
# define glewGetContext() ctx
|
# define glewGetContext() ctx
|
||||||
# ifdef _WIN32
|
# ifdef _WIN32
|
||||||
# define GLEW_CONTEXT_ARG_DEF_INIT GLEWContext* ctx
|
# define GLEW_CONTEXT_ARG_DEF_INIT GLEWContext* ctx, GLint context_profile, GLint context_flags
|
||||||
# define GLEW_CONTEXT_ARG_VAR_INIT ctx
|
# define GLEW_CONTEXT_ARG_VAR_INIT ctx, context_profile, context_flags
|
||||||
# define wglewGetContext() ctx
|
# define wglewGetContext() ctx
|
||||||
# define WGLEW_CONTEXT_ARG_DEF_INIT WGLEWContext* ctx
|
# define WGLEW_CONTEXT_ARG_DEF_INIT WGLEWContext* ctx, GLint context_profile, GLint context_flags
|
||||||
# define WGLEW_CONTEXT_ARG_DEF_LIST WGLEWContext* ctx
|
# define WGLEW_CONTEXT_ARG_DEF_LIST WGLEWContext* ctx
|
||||||
# else /* _WIN32 */
|
# else /* _WIN32 */
|
||||||
# define GLEW_CONTEXT_ARG_DEF_INIT void
|
# define GLEW_CONTEXT_ARG_DEF_INIT GLEWContext *ctx, GLint context_profile, GLint context_flags
|
||||||
# define GLEW_CONTEXT_ARG_VAR_INIT
|
# define GLEW_CONTEXT_ARG_VAR_INIT ctx, context_profile, context_flags
|
||||||
# define glxewGetContext() ctx
|
# define glxewGetContext() ctx
|
||||||
# define GLXEW_CONTEXT_ARG_DEF_INIT void
|
# define GLXEW_CONTEXT_ARG_DEF_INIT GLXEWContext* ctx, GLint context_profile, GLint context_flags
|
||||||
# define GLXEW_CONTEXT_ARG_DEF_LIST GLXEWContext* ctx
|
# define GLXEW_CONTEXT_ARG_DEF_LIST GLXEWContext* ctx
|
||||||
# endif /* _WIN32 */
|
# endif /* _WIN32 */
|
||||||
# define GLEW_CONTEXT_ARG_DEF_LIST GLEWContext* ctx
|
# define GLEW_CONTEXT_ARG_DEF_LIST GLEWContext* ctx
|
||||||
#else /* GLEW_MX */
|
#else /* GLEW_MX */
|
||||||
# define GLEW_CONTEXT_ARG_DEF_INIT void
|
# define GLEW_CONTEXT_ARG_DEF_INIT GLint context_profile, GLint context_flags
|
||||||
# define GLEW_CONTEXT_ARG_VAR_INIT
|
# define GLEW_CONTEXT_ARG_VAR_INIT context_profile, context_flags
|
||||||
# define GLEW_CONTEXT_ARG_DEF_LIST void
|
# define GLEW_CONTEXT_ARG_DEF_LIST void
|
||||||
# define WGLEW_CONTEXT_ARG_DEF_INIT void
|
# define WGLEW_CONTEXT_ARG_DEF_INIT GLint context_profile, GLint context_flags
|
||||||
# define WGLEW_CONTEXT_ARG_DEF_LIST void
|
# define WGLEW_CONTEXT_ARG_DEF_LIST void
|
||||||
# define GLXEW_CONTEXT_ARG_DEF_INIT void
|
# define GLXEW_CONTEXT_ARG_DEF_INIT GLint context_profile, GLint context_flags
|
||||||
# define GLXEW_CONTEXT_ARG_DEF_LIST void
|
# define GLXEW_CONTEXT_ARG_DEF_LIST void
|
||||||
#endif /* GLEW_MX */
|
#endif /* GLEW_MX */
|
||||||
|
|
||||||
@ -163,28 +164,41 @@ void* NSGLGetProcAddress (const GLubyte *name)
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#undef GLEW_GET_VAR
|
#undef GLEW_GET_VAR
|
||||||
|
#undef GLEW_GET_REF
|
||||||
#ifdef GLEW_MX
|
#ifdef GLEW_MX
|
||||||
# define GLEW_GET_VAR(x) (glewGetContext()->x)
|
# define GLEW_GET_VAR(x) (glewGetContext()->x)
|
||||||
|
# define GLEW_GET_REF(x) (&((GLEWContext *)0)->x)
|
||||||
#else /* GLEW_MX */
|
#else /* GLEW_MX */
|
||||||
# define GLEW_GET_VAR(x) (x)
|
# define GLEW_GET_VAR(x) (x)
|
||||||
|
# define GLEW_GET_REF(x) (&(x))
|
||||||
#endif /* GLEW_MX */
|
#endif /* GLEW_MX */
|
||||||
|
|
||||||
#ifdef WGLEW_GET_VAR
|
#ifdef WGLEW_GET_VAR
|
||||||
# undef WGLEW_GET_VAR
|
# undef WGLEW_GET_VAR
|
||||||
|
# undef WGLEW_GET_REF
|
||||||
# ifdef GLEW_MX
|
# ifdef GLEW_MX
|
||||||
# define WGLEW_GET_VAR(x) (wglewGetContext()->x)
|
# define WGLEW_GET_VAR(x) (wglewGetContext()->x)
|
||||||
|
# define WGLEW_GET_REF(x) (&((WGLEWContext *)0)->x)
|
||||||
# else /* GLEW_MX */
|
# else /* GLEW_MX */
|
||||||
# define WGLEW_GET_VAR(x) (x)
|
# define WGLEW_GET_VAR(x) (x)
|
||||||
|
# define WGLEW_GET_REF(x) (&(x))
|
||||||
# endif /* GLEW_MX */
|
# endif /* GLEW_MX */
|
||||||
|
#else
|
||||||
|
# define WGLEW_GET_REF(x) (NULL)
|
||||||
#endif /* WGLEW_GET_VAR */
|
#endif /* WGLEW_GET_VAR */
|
||||||
|
|
||||||
#ifdef GLXEW_GET_VAR
|
#ifdef GLXEW_GET_VAR
|
||||||
# undef GLXEW_GET_VAR
|
# undef GLXEW_GET_VAR
|
||||||
|
# undef GLXEW_GET_REF
|
||||||
# ifdef GLEW_MX
|
# ifdef GLEW_MX
|
||||||
# define GLXEW_GET_VAR(x) (glxewGetContext()->x)
|
# define GLXEW_GET_VAR(x) (glxewGetContext()->x)
|
||||||
|
# define GLXEW_GET_REF(x) (&((GLXEWContext *)0)->x)
|
||||||
# else /* GLEW_MX */
|
# else /* GLEW_MX */
|
||||||
# define GLXEW_GET_VAR(x) (x)
|
# define GLXEW_GET_VAR(x) (x)
|
||||||
|
# define GLXEW_GET_REF(x) (&(x))
|
||||||
# endif /* GLEW_MX */
|
# endif /* GLEW_MX */
|
||||||
|
#else
|
||||||
|
# define GLXEW_GET_REF(x) (NULL)
|
||||||
#endif /* GLXEW_GET_VAR */
|
#endif /* GLXEW_GET_VAR */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1,14 +1,57 @@
|
|||||||
/* ------------------------------------------------------------------------- */
|
/* ------------------------------------------------------------------------- */
|
||||||
|
|
||||||
|
static
|
||||||
|
GLboolean glewGetVersion(GLint *major, GLint *minor)
|
||||||
|
{
|
||||||
|
const GLubyte* s;
|
||||||
|
GLuint dot;
|
||||||
|
|
||||||
|
s = glGetString(GL_VERSION);
|
||||||
|
dot = _glewStrCLen(s, '.');
|
||||||
|
if (dot == 0)
|
||||||
|
return GL_FALSE;
|
||||||
|
|
||||||
|
*major = s[dot-1]-'0';
|
||||||
|
*minor = s[dot+1]-'0';
|
||||||
|
|
||||||
|
if (*minor < 0 || *minor > 9)
|
||||||
|
*minor = 0;
|
||||||
|
if (*major<0 || *major>9)
|
||||||
|
return GL_FALSE;
|
||||||
|
|
||||||
|
return GL_TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
GLboolean GLEWAPIENTRY glewGetExtension (const char* name)
|
GLboolean GLEWAPIENTRY glewGetExtension (const char* name)
|
||||||
{
|
{
|
||||||
|
GLint major, minor;
|
||||||
const GLubyte* start;
|
const GLubyte* start;
|
||||||
const GLubyte* end;
|
const GLubyte* end;
|
||||||
start = (const GLubyte*)glGetString(GL_EXTENSIONS);
|
GLint numExts, ext;
|
||||||
if (start == 0)
|
|
||||||
|
if (!glewGetVersion(&major, &minor))
|
||||||
return GL_FALSE;
|
return GL_FALSE;
|
||||||
end = start + _glewStrLen(start);
|
|
||||||
return _glewSearchExtension(name, start, end);
|
if (major < 3)
|
||||||
|
{
|
||||||
|
start = (const GLubyte*)glGetString(GL_EXTENSIONS);
|
||||||
|
if (start == 0)
|
||||||
|
return GL_FALSE;
|
||||||
|
end = start + _glewStrLen(start);
|
||||||
|
return _glewSearchExtension(name, start, end);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
glGetIntegerv(GL_NUM_EXTENSIONS, &numExts);
|
||||||
|
for (ext = 0; ext < numExts; ext++)
|
||||||
|
{
|
||||||
|
start = (const GLubyte *)glGetStringi(GL_EXTENSIONS, ext);
|
||||||
|
end = start + _glewStrLen(start);
|
||||||
|
if (_glewSearchExtension(name, start, end))
|
||||||
|
return GL_TRUE;
|
||||||
|
}
|
||||||
|
return GL_FALSE;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ------------------------------------------------------------------------- */
|
/* ------------------------------------------------------------------------- */
|
||||||
@ -18,26 +61,17 @@ static
|
|||||||
#endif
|
#endif
|
||||||
GLenum GLEWAPIENTRY glewContextInit (GLEW_CONTEXT_ARG_DEF_LIST)
|
GLenum GLEWAPIENTRY glewContextInit (GLEW_CONTEXT_ARG_DEF_LIST)
|
||||||
{
|
{
|
||||||
const GLubyte* s;
|
|
||||||
GLuint dot;
|
|
||||||
GLint major, minor;
|
GLint major, minor;
|
||||||
const GLubyte* extStart;
|
const GLubyte* extStart;
|
||||||
const GLubyte* extEnd;
|
const GLubyte* extEnd;
|
||||||
|
GLint numExts, ext;
|
||||||
|
GLint context_flags = 0;
|
||||||
|
GLint context_profile = GL_CONTEXT_COMPATIBILITY_PROFILE_BIT;
|
||||||
|
|
||||||
/* query opengl version */
|
/* query opengl version */
|
||||||
s = glGetString(GL_VERSION);
|
if (!glewGetVersion(&major, &minor))
|
||||||
dot = _glewStrCLen(s, '.');
|
|
||||||
if (dot == 0)
|
|
||||||
return GLEW_ERROR_NO_GL_VERSION;
|
return GLEW_ERROR_NO_GL_VERSION;
|
||||||
|
|
||||||
major = s[dot-1]-'0';
|
|
||||||
minor = s[dot+1]-'0';
|
|
||||||
|
|
||||||
if (minor < 0 || minor > 9)
|
|
||||||
minor = 0;
|
|
||||||
if (major<0 || major>9)
|
|
||||||
return GLEW_ERROR_NO_GL_VERSION;
|
|
||||||
|
|
||||||
|
|
||||||
if (major == 1 && minor == 0)
|
if (major == 1 && minor == 0)
|
||||||
{
|
{
|
||||||
return GLEW_ERROR_GL_VERSION_10_ONLY;
|
return GLEW_ERROR_GL_VERSION_10_ONLY;
|
||||||
@ -64,10 +98,11 @@ 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;
|
GLEW_VERSION_1_1 = GLEW_VERSION_1_2 == GL_TRUE || ( major == 1 && minor >= 1 ) ? GL_TRUE : GL_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* query opengl extensions string */
|
if( GLEW_VERSION_3_0 )
|
||||||
extStart = glGetString(GL_EXTENSIONS);
|
glGetIntegerv(GL_CONTEXT_FLAGS, &context_flags);
|
||||||
if (extStart == 0)
|
if( GLEW_VERSION_3_2 )
|
||||||
extStart = (const GLubyte*)"";
|
glGetIntegerv(GL_CONTEXT_PROFILE_MASK, &context_profile);
|
||||||
extEnd = extStart + _glewStrLen(extStart);
|
else if( GLEW_VERSION_3_1 && !glewGetExtension("GL_ARB_compatibility"))
|
||||||
|
context_profile = GL_CONTEXT_CORE_PROFILE_BIT;
|
||||||
|
|
||||||
/* initialize extensions */
|
/* initialize core functions */
|
||||||
|
48
auto/src/glew_init_glext.c
Normal file
48
auto/src/glew_init_glext.c
Normal file
@ -0,0 +1,48 @@
|
|||||||
|
|
||||||
|
/* query opengl extensions string(s) */
|
||||||
|
if(GLEW_VERSION_3_0)
|
||||||
|
{
|
||||||
|
GLuint len;
|
||||||
|
struct initflag *ptr;
|
||||||
|
|
||||||
|
glGetIntegerv(GL_NUM_EXTENSIONS, &numExts);
|
||||||
|
for (ext = 0; ext < numExts; ext++)
|
||||||
|
{
|
||||||
|
extStart = glGetStringi(GL_EXTENSIONS, ext);
|
||||||
|
len = _glewStrLen(extStart);
|
||||||
|
ptr = in_word_set(extStart, len);
|
||||||
|
|
||||||
|
if (ptr != NULL && ptr->flag != NULL) {
|
||||||
|
#ifdef GLEW_MX
|
||||||
|
*(GLboolean *)((char *)ctx + (size_t)(ptr->flag)) = GL_TRUE;
|
||||||
|
#else
|
||||||
|
*ptr->flag = GL_TRUE;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
extStart += len + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
extStart = glGetString(GL_EXTENSIONS);
|
||||||
|
if (extStart == 0)
|
||||||
|
extStart = (const GLubyte*)"";
|
||||||
|
extEnd = extStart + _glewStrLen(extStart);
|
||||||
|
|
||||||
|
while (extStart < extEnd)
|
||||||
|
{
|
||||||
|
GLuint len = _glewStrCLen(extStart, ' ');
|
||||||
|
struct initflag *ptr = in_word_set(extStart, len);
|
||||||
|
|
||||||
|
if (ptr != NULL && ptr->flag != NULL) {
|
||||||
|
#ifdef GLEW_MX
|
||||||
|
*(GLboolean *)((char *)ctx + (size_t)(ptr->flag)) = GL_TRUE;
|
||||||
|
#else
|
||||||
|
*ptr->flag = GL_TRUE;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
extStart += len + 1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* initialize extensions */
|
@ -21,6 +21,8 @@ GLenum glxewInit (GLXEW_CONTEXT_ARG_DEF_LIST)
|
|||||||
int major, minor;
|
int major, minor;
|
||||||
const GLubyte* extStart;
|
const GLubyte* extStart;
|
||||||
const GLubyte* extEnd;
|
const GLubyte* extEnd;
|
||||||
|
GLint context_profile = 0, context_flags = 0;
|
||||||
|
|
||||||
/* initialize core GLX 1.2 */
|
/* initialize core GLX 1.2 */
|
||||||
if (_glewInit_GLX_VERSION_1_2(GLEW_CONTEXT_ARG_VAR_INIT)) return GLEW_ERROR_GLX_VERSION_11_ONLY;
|
if (_glewInit_GLX_VERSION_1_2(GLEW_CONTEXT_ARG_VAR_INIT)) return GLEW_ERROR_GLX_VERSION_11_ONLY;
|
||||||
/* initialize flags */
|
/* initialize flags */
|
||||||
@ -54,4 +56,20 @@ GLenum glxewInit (GLXEW_CONTEXT_ARG_DEF_LIST)
|
|||||||
if (extStart == 0)
|
if (extStart == 0)
|
||||||
extStart = (const GLubyte *)"";
|
extStart = (const GLubyte *)"";
|
||||||
extEnd = extStart + _glewStrLen(extStart);
|
extEnd = extStart + _glewStrLen(extStart);
|
||||||
|
|
||||||
|
while (extStart < extEnd)
|
||||||
|
{
|
||||||
|
GLuint len = _glewStrCLen(extStart, ' ');
|
||||||
|
struct initflag *ptr = in_word_set(extStart, len);
|
||||||
|
|
||||||
|
if (ptr != NULL && ptr->flag != NULL) {
|
||||||
|
#ifdef GLEW_MX
|
||||||
|
*(GLboolean *)((char *)ctx + (size_t)(ptr->flag)) = GL_TRUE;
|
||||||
|
#else
|
||||||
|
*ptr->flag = GL_TRUE;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
extStart += len + 1;
|
||||||
|
}
|
||||||
|
|
||||||
/* initialize extensions */
|
/* initialize extensions */
|
||||||
|
@ -29,6 +29,8 @@ GLenum GLEWAPIENTRY wglewInit (WGLEW_CONTEXT_ARG_DEF_LIST)
|
|||||||
GLboolean crippled;
|
GLboolean crippled;
|
||||||
const GLubyte* extStart;
|
const GLubyte* extStart;
|
||||||
const GLubyte* extEnd;
|
const GLubyte* extEnd;
|
||||||
|
GLint context_profile = 0, context_flags = 0;
|
||||||
|
|
||||||
/* find wgl extension string query functions */
|
/* find wgl extension string query functions */
|
||||||
_wglewGetExtensionsStringARB = (PFNWGLGETEXTENSIONSSTRINGARBPROC)glewGetProcAddress((const GLubyte*)"wglGetExtensionsStringARB");
|
_wglewGetExtensionsStringARB = (PFNWGLGETEXTENSIONSSTRINGARBPROC)glewGetProcAddress((const GLubyte*)"wglGetExtensionsStringARB");
|
||||||
_wglewGetExtensionsStringEXT = (PFNWGLGETEXTENSIONSSTRINGEXTPROC)glewGetProcAddress((const GLubyte*)"wglGetExtensionsStringEXT");
|
_wglewGetExtensionsStringEXT = (PFNWGLGETEXTENSIONSSTRINGEXTPROC)glewGetProcAddress((const GLubyte*)"wglGetExtensionsStringEXT");
|
||||||
@ -41,5 +43,21 @@ GLenum GLEWAPIENTRY wglewInit (WGLEW_CONTEXT_ARG_DEF_LIST)
|
|||||||
else
|
else
|
||||||
extStart = (const GLubyte*)_wglewGetExtensionsStringARB(wglGetCurrentDC());
|
extStart = (const GLubyte*)_wglewGetExtensionsStringARB(wglGetCurrentDC());
|
||||||
extEnd = extStart + _glewStrLen(extStart);
|
extEnd = extStart + _glewStrLen(extStart);
|
||||||
|
|
||||||
|
while (extStart < extEnd)
|
||||||
|
{
|
||||||
|
GLuint len = _glewStrCLen(extStart, ' ');
|
||||||
|
struct initflag *ptr = in_word_set(extStart, len);
|
||||||
|
|
||||||
|
if (ptr != NULL && ptr->flag != NULL) {
|
||||||
|
#ifdef GLEW_MX
|
||||||
|
*(GLboolean *)((char *)ctx + (size_t)(ptr->flag)) = GL_TRUE;
|
||||||
|
#else
|
||||||
|
*ptr->flag = GL_TRUE;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
extStart += len + 1;
|
||||||
|
}
|
||||||
|
|
||||||
/* initialize extensions */
|
/* initialize extensions */
|
||||||
crippled = _wglewGetExtensionsStringARB == NULL && _wglewGetExtensionsStringEXT == NULL;
|
crippled = _wglewGetExtensionsStringARB == NULL && _wglewGetExtensionsStringEXT == NULL;
|
||||||
|
Loading…
Reference in New Issue
Block a user