opengl32: Convert the XML parser to use XML::LibXML.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Alexandre Julliard 2017-10-10 10:16:03 +02:00
parent 2abeb7634c
commit fd3d5d6f82
5 changed files with 14045 additions and 11160 deletions

View file

@ -1,6 +1,6 @@
#!/usr/bin/perl -w
use strict;
use XML::Simple;
use XML::LibXML;
# This script is called thus :
#
@ -219,31 +219,12 @@ sub ConvertType($)
return $type;
}
#
# Used to convert some variable names
#
sub ConvertVarName($)
{
my ($type) = @_;
my %hash = ( "near" => "nearParam",
"far" => "farParam" );
foreach my $org (keys %hash) {
if ($type =~ /^(.*)$org(.*)$/) {
return "$1$hash{$org}$2";
}
}
return $type;
}
#
# This functions generates the thunk for a given function.
#
sub GenerateThunk($$$)
{
my ($name, $func_ref, $prefix) = @_;
my $ret = "";
my $call_arg = "";
my $trace_call_arg = "";
my $trace_arg = "";
@ -253,60 +234,35 @@ sub GenerateThunk($$$)
return "" if $name eq "glGetString";
return "" if $func_ref->[2] && $func_ref->[2]->[0] =~ /WGL_/;
$ret .= ConvertType($func_ref->[0]) . " WINAPI $name( ";
for (my $i = 0; $i < @{$func_ref->[1]}; $i++) {
my $type = $func_ref->[1]->[$i]->[0];
my $name = ConvertVarName($func_ref->[1]->[$i]->[1]);
my ($base_type, $type_specifier, $name_specifier) = ($type, $type, $name);
if ($type =~ /(.*) (.*)/) {
$base_type = $2;
} elsif ($type =~ /(.*)(\[.*)/) {
$base_type = $1;
$type_specifier = $1;
$name_specifier = $name . $2
}
$ret .= ConvertType($type_specifier) . " $name_specifier";
$call_arg .= $name;
if ($type =~ /\*/ || $type =~ /\[/) {
my $ret = get_func_proto( "%s WINAPI %s(%s)", $name, $func_ref );
foreach my $arg (@{$func_ref->[1]}) {
my $ptype = get_arg_type( $arg );
my $pname = get_arg_name( $arg );
my $param = $arg->textContent();
$call_arg .= " " . $pname . ",";
if ($param =~ /\*/ || $param =~ /\[/) {
$trace_arg .= "%p";
$trace_call_arg .= $name;
} elsif (defined $debug_conv{$base_type}) {
if ($debug_conv{$base_type} =~ /(.*),(.*)/) {
$trace_call_arg .= ", " . $pname;
} elsif (defined $debug_conv{$ptype}) {
if ($debug_conv{$ptype} =~ /(.*),(.*)/) {
$trace_arg .= $1;
$trace_call_arg .= sprintf $2, $name;
$trace_call_arg .= ", " . sprintf $2, $pname;
} else {
$trace_arg .= $debug_conv{$base_type};
$trace_call_arg .= $name;
$trace_arg .= $debug_conv{$ptype};
$trace_call_arg .= ", " . $pname;
}
}
else { printf "Unknown type %s\n", $type; }
if ($i+1 < @{$func_ref->[1]}) {
$ret .= ", ";
$call_arg .= ", ";
$trace_call_arg .= ", ";
$trace_arg .= ", ";
} else {
$ret .= " ";
$call_arg .= " ";
$trace_call_arg .= " ";
}
}
$ret .= 'void ' if (!@{$func_ref->[1]});
return "$ret) DECLSPEC_HIDDEN;\n" if $name eq "glGetStringi";
$ret .= ") {\n";
$ret .= " const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;\n";
if ($gen_traces) {
$ret .= " TRACE(\"($trace_arg)\\n\"";
if ($trace_arg ne "") {
$ret .= ", $trace_call_arg";
}
$ret .= ");\n";
else { printf "Unknown type %s in %s\n", $param, $name; }
$trace_arg .= ", ";
}
$call_arg =~ s/,$/ /;
$trace_arg =~ s/, $//;
return "$ret DECLSPEC_HIDDEN;\n" if $name eq "glGetStringi";
$ret .= "\n{\n const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;\n";
$ret .= " TRACE( \"($trace_arg)\\n\"$trace_call_arg );\n" if $gen_traces;
$ret .= " ";
if ($func_ref->[0] ne "void") {
$ret .= "return ";
}
$ret .= "funcs->$prefix.p_$name( $call_arg);\n";
$ret .= "return " unless is_void_func( $func_ref );
$ret .= "funcs->$prefix.p_$name($call_arg);\n";
$ret .= "}\n";
# Return this string....
@ -320,28 +276,13 @@ sub generate_null_func($$)
return "" if $name eq "glDebugEntry";
$ret = "static " . ConvertType($func_ref->[0]) . " null_$name( ";
for (my $i = 0; $i < @{$func_ref->[1]}; $i++) {
my $type = $func_ref->[1]->[$i]->[0];
my $name = ConvertVarName($func_ref->[1]->[$i]->[1]);
my $base_type;
if ($type =~ /(.*)(\[.*)/) {
$base_type = $1;
$name .= $2;
} else {
$base_type = $type;
}
$ret .= ConvertType($base_type) . " $name";
$ret .= "," if ($i+1 < @{$func_ref->[1]});
$ret .= " ";
}
$ret .= 'void ' if (!@{$func_ref->[1]});
$ret .= ") {";
$ret = get_func_proto( "static %s null_%s(%s)", $name, $func_ref );
$ret .= " {";
if ($name eq "glGetError")
{
$ret .= " return GL_INVALID_OPERATION;";
}
elsif ($func_ref->[0] ne "void")
elsif (!is_void_func( $func_ref ))
{
$ret .= " return 0;";
}
@ -355,33 +296,55 @@ sub generate_spec_entry($$)
my $args=" ";
foreach my $arg (@{$func->[1]})
{
my $type = $arg->[0];
if ($type =~ /\*/) {
my $ptype = get_arg_type( $arg );
my $param = $arg->textContent();
if ($param =~ /[[*]/) {
$args .= "ptr ";
} elsif (defined($arg_conv{$type})) {
$args .= "$@$arg_conv{$type}[0] ";
} elsif (defined($arg_conv{$ptype})) {
$args .= "$@$arg_conv{$ptype}[0] ";
} else {
die "No conversion for func $name type $type\n";
die "No conversion for func $name type $param\n";
}
}
$args = substr($args,1,-1);
return "@ stdcall $_($args)";
}
sub is_void_func($)
{
my $func = shift;
return 0 if @{$func->[0]->findnodes("./ptype")};
return $func->[0]->textContent() eq "void ";
}
sub get_arg_type($)
{
my $p = shift;
my @type = $p->findnodes("./ptype");
return @type ? $type[0]->textContent() : "GLint";
}
sub get_arg_name($)
{
my $p = shift;
my @name = $p->findnodes("./name");
return $name[0]->textContent();
}
sub get_func_proto($$$)
{
my ($format, $name, $func) = @_;
die "unknown func $name" unless defined $func->[0];
my $ret = sprintf "%-10s", ConvertType($func->[0]);
$ret .= " " . sprintf($format,$name) . "(";
for (my $i = 0; $i < @{$func->[1]}; $i++)
my $proto = ConvertType( $func->[0]->textContent() );
$proto =~ s/ $//;
my $args = "";
foreach my $arg (@{$func->[1]})
{
$ret .= ConvertType($func->[1]->[$i]->[0]);
$ret .= "," if ($i+1 < @{$func->[1]});
$args .= " " . ConvertType( $arg->textContent() ) . ",";
}
$ret .= "void" unless @{$func->[1]};
$ret .= ")";
return $ret;
$args =~ s/,$/ /;
$args ||= "void";
return sprintf $format, $proto, $name, $args;
}
#
@ -425,35 +388,11 @@ if ($version eq "1.0") {
# An element of the hash table is a reference to an array with these
# elements :
#
# - function name
# - XML node of the function prototype
#
# - return type
#
# - reference to an array giving the list of arguments (an empty array
# - reference to an array of XML nodes giving the list of arguments (an empty array
# for a 'void' function).
#
# The list of arguments is itself an array of reference to arrays. Each
# of these arrays represents the argument type and the argument name.
#
# An example :
#
# void glBitmap( GLsizei width, GLsizei height,
# GLfloat xorig, GLfloat yorig,
# GLfloat xmove, GLfloat ymove,
# const GLubyte *bitmap );
#
# Would give something like that :
#
# [ "glBitmap",
# "void",
# [ [ "GLsizei", "width" ],
# [ "GLsizei", "height" ],
# [ "GLfloat", "xorig" ],
# [ "GLfloat", "yorig" ],
# [ "GLfloat", "xmove" ],
# [ "GLfloat", "ymove" ],
# [ "GLubyte *", "bitmap"] ] ];
#
my %norm_functions;
my %ext_functions;
my %wgl_functions;
@ -501,133 +440,110 @@ my %supported_wgl_extensions =
my %enums;
sub parse_variable($)
{
my $p = shift;
my $ptype = '';
my $pname = '';
my $pnamebefore = '';
my $pnameafter = '';
my %supported_apis =
(
"gl" => 1,
);
while (my ($k, $v) = each(%$p)){
if ($k eq 'ptype') {
$ptype = ${$v}[0];
} elsif ($k eq 'name') {
$pname = ${$v}[0];
} elsif ($k eq 'content') {
if (ref($v) eq 'ARRAY') {
my @n = @{$v};
$pnamebefore = $n[0];
$pnameafter = $n[1] if (@n > 0);
} elsif ($v eq 'const ') {
$pnamebefore = $v;
} else {
$pnameafter = $v;
}
}
sub is_supported_api($)
{
my $api = shift;
foreach my $i (split /\|/, $api)
{
return 1 if defined $supported_apis{$i};
}
$ptype = $pnamebefore . $ptype . $pnameafter;
$ptype =~ s/ \*/\*/g;
$ptype =~ s/ $//g;
return [ $ptype, $pname ];
return 0;
}
sub parse_file($$)
{
my ($file, $generate_enums) = @_;
my $xml = new XML::Simple;
my $data = $xml->XMLin($file, ForceArray => 1);
my $xml = XML::LibXML->load_xml( location => $file );
my %functions;
# save all functions
for my $cmds (@{$data->{commands}}) {
for my $command ( @{$cmds->{'command'}} ) {
my $name = '';
my $ret = '';
my $params = [];
my @alias = '';
while (my ($k, $v) = each(%$command)){
if ($k eq 'param') {
push(@$params, parse_variable($_)) for (@{$v});
} elsif ($k eq 'proto') {
($ret, $name) = @{parse_variable(${$v}[0])};
}
}
$functions{$name} = [ $ret, $params ];
}
foreach my $command ($xml->findnodes("/registry/commands/command"))
{
my $proto = @{$command->findnodes("./proto")}[0];
my $name = @{$command->findnodes("./proto/name")}[0];
$proto->removeChild( $name );
my @params = $command->findnodes("./param");
$functions{$name->textContent()} = [ $proto, \@params ];
}
# save all enums (only GL)
if ($generate_enums) {
for my $enum ( @{$data->{'enums'}} ) {
if (ref($enum->{'enum'}) eq "HASH") {
while (my ($k, $v) = each(%{$enum->{'enum'}})){
$enums{$k} = $v->{'value'};
}
}
if ($generate_enums)
{
foreach my $enum ($xml->findnodes("/registry/enums/enum"))
{
$enums{$enum->{name}} = $enum->{value};
}
}
# generate norm functions
while (my ($k, $v) = each(%{$data->{feature}})) {
if ($norm_categories{$k}) {
for my $req (@{$v->{require}}) {
for(keys %{$req->{command}}) {
$norm_functions{$_} = $functions{$_};
foreach my $feature ($xml->findnodes("/registry/feature"))
{
if ($feature->{api} eq "wgl")
{
foreach my $cmd ($feature->findnodes("./require/command"))
{
my $name = $cmd->{name};
if (defined $remapped_wgl_functions{$name})
{
next unless $remapped_wgl_functions{$name};
$name = $remapped_wgl_functions{$name};
}
$wgl_functions{$name} = $functions{$cmd->{name}};
}
}
next unless defined $norm_categories{$feature->{name}};
foreach my $cmd ($feature->findnodes("./require/command"))
{
$norm_functions{$cmd->{name}} = $functions{$cmd->{name}};
}
}
# generate extension functions from norm functions, if they are newer than the category
my %features = %{$data->{feature}};
foreach (sort keys %features) {
my ($k, $v) = %features{$_};
if (!$norm_categories{$k} && $v->{api} =~ /^gl(\||$)/)
foreach my $feature ($xml->findnodes("/registry/feature"))
{
next if defined $norm_categories{$feature->{name}};
next unless is_supported_api( $feature->{api} );
foreach my $cmd ($feature->findnodes("./require/command"))
{
for my $req (@{$v->{require}}) {
for (keys %{$req->{command}}) {
if (!$ext_functions{$_} && !$norm_functions{$_}) {
$ext_functions{$_} = [ $functions{$_}[0], $functions{$_}[1], [ $k ] ];
}
}
}
}
elsif ($v->{api} eq "wgl")
{
for my $req (@{$v->{require}}) {
for (keys %{$req->{command}}) {
if (defined $remapped_wgl_functions{$_}) {
$wgl_functions{$remapped_wgl_functions{$_}} = $functions{$_} if $remapped_wgl_functions{$_};
}
else {
$wgl_functions{$_} = $functions{$_};
}
}
}
my $name = $cmd->{name};
next if $norm_functions{$name} || $ext_functions{$name};
$ext_functions{$name} = [ $functions{$name}[0], $functions{$name}[1], [ $feature->{name} ] ];
}
}
# generate extension functions
while (my ($k, $v) = each(%{${$data->{extensions}}[0]->{extension}})) {
if ($v->{supported} =~ /^gl(\||$)/) {
for my $req (@{$v->{require}}) {
if (!defined $req->{api} || $req->{api} =~ /^gl(\||$)/) {
for (keys %{$req->{command}}) {
if (!$ext_functions{$_} && !$norm_functions{$_}) {
$ext_functions{$_} = [$functions{$_}[0], $functions{$_}[1], [ $k ]];
}
elsif ($ext_functions{$_}) {
push @{$ext_functions{$_}->[2]}, $k;
}
}
}
foreach my $ext ($xml->findnodes("/registry/extensions/extension"))
{
if ($ext->{supported} eq "wgl")
{
next unless defined $supported_wgl_extensions{$ext->{name}};
foreach my $cmd ($ext->findnodes("./require/command"))
{
my $name = $cmd->{name};
$ext_functions{$name} = [ $functions{$name}[0], $functions{$name}[1], [ $ext->{name} ] ];
}
next;
}
elsif ($v->{supported} =~ /^wgl$/) {
for (keys %{${$v->{require}}[0]->{command}}) {
if (defined $supported_wgl_extensions{$k}) {
$ext_functions{$_} = [ $functions{$_}[0], $functions{$_}[1], [ $k ] ];
next unless is_supported_api( $ext->{supported} );
foreach my $req ($ext->findnodes("./require"))
{
next unless !$req->{api} || $req->{api} eq "gl";
foreach my $cmd ($req->findnodes("./command"))
{
my $name = $cmd->{name};
next if $norm_functions{$name};
if (!$ext_functions{$name})
{
$ext_functions{$name} = [ $functions{$name}[0], $functions{$name}[1], [ $ext->{name} ] ];
}
else
{
push @{$ext_functions{$name}->[2]}, $ext->{name};
}
}
}
@ -672,7 +588,7 @@ print HEADER " struct\n {\n";
foreach (sort keys %wgl_functions)
{
next unless defined $supported_wgl_functions{$_};
printf HEADER " %s;\n", get_func_proto("(WINE_GLAPI *p_%s)", $_, $wgl_functions{$_});
print HEADER get_func_proto(" %-10s (WINE_GLAPI *p_%s)(%s);\n", $_, $wgl_functions{$_});
}
print HEADER " } wgl;\n\n";
@ -680,14 +596,14 @@ print HEADER " struct\n {\n";
foreach (sort keys %norm_functions)
{
next if $_ eq "glDebugEntry";
printf HEADER " %s;\n", get_func_proto("(WINE_GLAPI *p_%s)", $_, $norm_functions{$_});
print HEADER get_func_proto(" %-10s (WINE_GLAPI *p_%s)(%s);\n", $_, $norm_functions{$_});
}
print HEADER " } gl;\n\n";
print HEADER " struct\n {\n";
foreach (sort keys %ext_functions)
{
printf HEADER " %s;\n", get_func_proto("(WINE_GLAPI *p_%s)", $_, $ext_functions{$_});
print HEADER get_func_proto(" %-10s (WINE_GLAPI *p_%s)(%s);\n", $_, $ext_functions{$_});
}
print HEADER " } ext;\n";
print HEADER "};\n\n";
@ -717,6 +633,9 @@ print HEADER "#ifndef GLAPIENTRY\n";
print HEADER "#define GLAPIENTRY __stdcall\n";
print HEADER "#endif\n\n";
print HEADER "#undef near\n";
print HEADER "#undef far\n\n";
foreach (sort keys %arg_conv)
{
next unless $arg_conv{$_}[1];
@ -734,7 +653,7 @@ print HEADER "\n";
foreach (sort keys %norm_functions)
{
printf HEADER "%s;\n", get_func_proto("GLAPIENTRY %s", $_, $norm_functions{$_});
printf HEADER "%s;\n", get_func_proto("%-10s GLAPIENTRY %s(%s)", $_, $norm_functions{$_});
}
print HEADER "\n#endif /* __WINE_WGL_H */\n";

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -7,6 +7,9 @@
#define GLAPIENTRY __stdcall
#endif
#undef near
#undef far
typedef unsigned int GLbitfield;
typedef unsigned char GLboolean;
typedef signed char GLbyte;
@ -5814,342 +5817,342 @@ typedef void GLvoid;
#define WGL_RENDERER_VERSION_WINE 0x8185
#define WGL_RENDERER_VIDEO_MEMORY_WINE 0x8187
void GLAPIENTRY glAccum(GLenum,GLfloat);
void GLAPIENTRY glAlphaFunc(GLenum,GLfloat);
GLboolean GLAPIENTRY glAreTexturesResident(GLsizei,const GLuint*,GLboolean*);
void GLAPIENTRY glArrayElement(GLint);
void GLAPIENTRY glBegin(GLenum);
void GLAPIENTRY glBindTexture(GLenum,GLuint);
void GLAPIENTRY glBitmap(GLsizei,GLsizei,GLfloat,GLfloat,GLfloat,GLfloat,const GLubyte*);
void GLAPIENTRY glBlendFunc(GLenum,GLenum);
void GLAPIENTRY glCallList(GLuint);
void GLAPIENTRY glCallLists(GLsizei,GLenum,const void*);
void GLAPIENTRY glClear(GLbitfield);
void GLAPIENTRY glClearAccum(GLfloat,GLfloat,GLfloat,GLfloat);
void GLAPIENTRY glClearColor(GLfloat,GLfloat,GLfloat,GLfloat);
void GLAPIENTRY glClearDepth(GLdouble);
void GLAPIENTRY glClearIndex(GLfloat);
void GLAPIENTRY glClearStencil(GLint);
void GLAPIENTRY glClipPlane(GLenum,const GLdouble*);
void GLAPIENTRY glColor3b(GLbyte,GLbyte,GLbyte);
void GLAPIENTRY glColor3bv(const GLbyte*);
void GLAPIENTRY glColor3d(GLdouble,GLdouble,GLdouble);
void GLAPIENTRY glColor3dv(const GLdouble*);
void GLAPIENTRY glColor3f(GLfloat,GLfloat,GLfloat);
void GLAPIENTRY glColor3fv(const GLfloat*);
void GLAPIENTRY glColor3i(GLint,GLint,GLint);
void GLAPIENTRY glColor3iv(const GLint*);
void GLAPIENTRY glColor3s(GLshort,GLshort,GLshort);
void GLAPIENTRY glColor3sv(const GLshort*);
void GLAPIENTRY glColor3ub(GLubyte,GLubyte,GLubyte);
void GLAPIENTRY glColor3ubv(const GLubyte*);
void GLAPIENTRY glColor3ui(GLuint,GLuint,GLuint);
void GLAPIENTRY glColor3uiv(const GLuint*);
void GLAPIENTRY glColor3us(GLushort,GLushort,GLushort);
void GLAPIENTRY glColor3usv(const GLushort*);
void GLAPIENTRY glColor4b(GLbyte,GLbyte,GLbyte,GLbyte);
void GLAPIENTRY glColor4bv(const GLbyte*);
void GLAPIENTRY glColor4d(GLdouble,GLdouble,GLdouble,GLdouble);
void GLAPIENTRY glColor4dv(const GLdouble*);
void GLAPIENTRY glColor4f(GLfloat,GLfloat,GLfloat,GLfloat);
void GLAPIENTRY glColor4fv(const GLfloat*);
void GLAPIENTRY glColor4i(GLint,GLint,GLint,GLint);
void GLAPIENTRY glColor4iv(const GLint*);
void GLAPIENTRY glColor4s(GLshort,GLshort,GLshort,GLshort);
void GLAPIENTRY glColor4sv(const GLshort*);
void GLAPIENTRY glColor4ub(GLubyte,GLubyte,GLubyte,GLubyte);
void GLAPIENTRY glColor4ubv(const GLubyte*);
void GLAPIENTRY glColor4ui(GLuint,GLuint,GLuint,GLuint);
void GLAPIENTRY glColor4uiv(const GLuint*);
void GLAPIENTRY glColor4us(GLushort,GLushort,GLushort,GLushort);
void GLAPIENTRY glColor4usv(const GLushort*);
void GLAPIENTRY glColorMask(GLboolean,GLboolean,GLboolean,GLboolean);
void GLAPIENTRY glColorMaterial(GLenum,GLenum);
void GLAPIENTRY glColorPointer(GLint,GLenum,GLsizei,const void*);
void GLAPIENTRY glCopyPixels(GLint,GLint,GLsizei,GLsizei,GLenum);
void GLAPIENTRY glCopyTexImage1D(GLenum,GLint,GLenum,GLint,GLint,GLsizei,GLint);
void GLAPIENTRY glCopyTexImage2D(GLenum,GLint,GLenum,GLint,GLint,GLsizei,GLsizei,GLint);
void GLAPIENTRY glCopyTexSubImage1D(GLenum,GLint,GLint,GLint,GLint,GLsizei);
void GLAPIENTRY glCopyTexSubImage2D(GLenum,GLint,GLint,GLint,GLint,GLint,GLsizei,GLsizei);
void GLAPIENTRY glCullFace(GLenum);
GLint GLAPIENTRY glDebugEntry(GLint,GLint);
void GLAPIENTRY glDeleteLists(GLuint,GLsizei);
void GLAPIENTRY glDeleteTextures(GLsizei,const GLuint*);
void GLAPIENTRY glDepthFunc(GLenum);
void GLAPIENTRY glDepthMask(GLboolean);
void GLAPIENTRY glDepthRange(GLdouble,GLdouble);
void GLAPIENTRY glDisable(GLenum);
void GLAPIENTRY glDisableClientState(GLenum);
void GLAPIENTRY glDrawArrays(GLenum,GLint,GLsizei);
void GLAPIENTRY glDrawBuffer(GLenum);
void GLAPIENTRY glDrawElements(GLenum,GLsizei,GLenum,const void*);
void GLAPIENTRY glDrawPixels(GLsizei,GLsizei,GLenum,GLenum,const void*);
void GLAPIENTRY glEdgeFlag(GLboolean);
void GLAPIENTRY glEdgeFlagPointer(GLsizei,const void*);
void GLAPIENTRY glEdgeFlagv(const GLboolean*);
void GLAPIENTRY glEnable(GLenum);
void GLAPIENTRY glEnableClientState(GLenum);
void GLAPIENTRY glAccum( GLenum op, GLfloat value );
void GLAPIENTRY glAlphaFunc( GLenum func, GLfloat ref );
GLboolean GLAPIENTRY glAreTexturesResident( GLsizei n, const GLuint *textures, GLboolean *residences );
void GLAPIENTRY glArrayElement( GLint i );
void GLAPIENTRY glBegin( GLenum mode );
void GLAPIENTRY glBindTexture( GLenum target, GLuint texture );
void GLAPIENTRY glBitmap( GLsizei width, GLsizei height, GLfloat xorig, GLfloat yorig, GLfloat xmove, GLfloat ymove, const GLubyte *bitmap );
void GLAPIENTRY glBlendFunc( GLenum sfactor, GLenum dfactor );
void GLAPIENTRY glCallList( GLuint list );
void GLAPIENTRY glCallLists( GLsizei n, GLenum type, const void *lists );
void GLAPIENTRY glClear( GLbitfield mask );
void GLAPIENTRY glClearAccum( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha );
void GLAPIENTRY glClearColor( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha );
void GLAPIENTRY glClearDepth( GLdouble depth );
void GLAPIENTRY glClearIndex( GLfloat c );
void GLAPIENTRY glClearStencil( GLint s );
void GLAPIENTRY glClipPlane( GLenum plane, const GLdouble *equation );
void GLAPIENTRY glColor3b( GLbyte red, GLbyte green, GLbyte blue );
void GLAPIENTRY glColor3bv( const GLbyte *v );
void GLAPIENTRY glColor3d( GLdouble red, GLdouble green, GLdouble blue );
void GLAPIENTRY glColor3dv( const GLdouble *v );
void GLAPIENTRY glColor3f( GLfloat red, GLfloat green, GLfloat blue );
void GLAPIENTRY glColor3fv( const GLfloat *v );
void GLAPIENTRY glColor3i( GLint red, GLint green, GLint blue );
void GLAPIENTRY glColor3iv( const GLint *v );
void GLAPIENTRY glColor3s( GLshort red, GLshort green, GLshort blue );
void GLAPIENTRY glColor3sv( const GLshort *v );
void GLAPIENTRY glColor3ub( GLubyte red, GLubyte green, GLubyte blue );
void GLAPIENTRY glColor3ubv( const GLubyte *v );
void GLAPIENTRY glColor3ui( GLuint red, GLuint green, GLuint blue );
void GLAPIENTRY glColor3uiv( const GLuint *v );
void GLAPIENTRY glColor3us( GLushort red, GLushort green, GLushort blue );
void GLAPIENTRY glColor3usv( const GLushort *v );
void GLAPIENTRY glColor4b( GLbyte red, GLbyte green, GLbyte blue, GLbyte alpha );
void GLAPIENTRY glColor4bv( const GLbyte *v );
void GLAPIENTRY glColor4d( GLdouble red, GLdouble green, GLdouble blue, GLdouble alpha );
void GLAPIENTRY glColor4dv( const GLdouble *v );
void GLAPIENTRY glColor4f( GLfloat red, GLfloat green, GLfloat blue, GLfloat alpha );
void GLAPIENTRY glColor4fv( const GLfloat *v );
void GLAPIENTRY glColor4i( GLint red, GLint green, GLint blue, GLint alpha );
void GLAPIENTRY glColor4iv( const GLint *v );
void GLAPIENTRY glColor4s( GLshort red, GLshort green, GLshort blue, GLshort alpha );
void GLAPIENTRY glColor4sv( const GLshort *v );
void GLAPIENTRY glColor4ub( GLubyte red, GLubyte green, GLubyte blue, GLubyte alpha );
void GLAPIENTRY glColor4ubv( const GLubyte *v );
void GLAPIENTRY glColor4ui( GLuint red, GLuint green, GLuint blue, GLuint alpha );
void GLAPIENTRY glColor4uiv( const GLuint *v );
void GLAPIENTRY glColor4us( GLushort red, GLushort green, GLushort blue, GLushort alpha );
void GLAPIENTRY glColor4usv( const GLushort *v );
void GLAPIENTRY glColorMask( GLboolean red, GLboolean green, GLboolean blue, GLboolean alpha );
void GLAPIENTRY glColorMaterial( GLenum face, GLenum mode );
void GLAPIENTRY glColorPointer( GLint size, GLenum type, GLsizei stride, const void *pointer );
void GLAPIENTRY glCopyPixels( GLint x, GLint y, GLsizei width, GLsizei height, GLenum type );
void GLAPIENTRY glCopyTexImage1D( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLint border );
void GLAPIENTRY glCopyTexImage2D( GLenum target, GLint level, GLenum internalformat, GLint x, GLint y, GLsizei width, GLsizei height, GLint border );
void GLAPIENTRY glCopyTexSubImage1D( GLenum target, GLint level, GLint xoffset, GLint x, GLint y, GLsizei width );
void GLAPIENTRY glCopyTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLint x, GLint y, GLsizei width, GLsizei height );
void GLAPIENTRY glCullFace( GLenum mode );
GLint GLAPIENTRY glDebugEntry( GLint unknown1, GLint unknown2 );
void GLAPIENTRY glDeleteLists( GLuint list, GLsizei range );
void GLAPIENTRY glDeleteTextures( GLsizei n, const GLuint *textures );
void GLAPIENTRY glDepthFunc( GLenum func );
void GLAPIENTRY glDepthMask( GLboolean flag );
void GLAPIENTRY glDepthRange( GLdouble near, GLdouble far );
void GLAPIENTRY glDisable( GLenum cap );
void GLAPIENTRY glDisableClientState( GLenum array );
void GLAPIENTRY glDrawArrays( GLenum mode, GLint first, GLsizei count );
void GLAPIENTRY glDrawBuffer( GLenum buf );
void GLAPIENTRY glDrawElements( GLenum mode, GLsizei count, GLenum type, const void *indices );
void GLAPIENTRY glDrawPixels( GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels );
void GLAPIENTRY glEdgeFlag( GLboolean flag );
void GLAPIENTRY glEdgeFlagPointer( GLsizei stride, const void *pointer );
void GLAPIENTRY glEdgeFlagv( const GLboolean *flag );
void GLAPIENTRY glEnable( GLenum cap );
void GLAPIENTRY glEnableClientState( GLenum array );
void GLAPIENTRY glEnd(void);
void GLAPIENTRY glEndList(void);
void GLAPIENTRY glEvalCoord1d(GLdouble);
void GLAPIENTRY glEvalCoord1dv(const GLdouble*);
void GLAPIENTRY glEvalCoord1f(GLfloat);
void GLAPIENTRY glEvalCoord1fv(const GLfloat*);
void GLAPIENTRY glEvalCoord2d(GLdouble,GLdouble);
void GLAPIENTRY glEvalCoord2dv(const GLdouble*);
void GLAPIENTRY glEvalCoord2f(GLfloat,GLfloat);
void GLAPIENTRY glEvalCoord2fv(const GLfloat*);
void GLAPIENTRY glEvalMesh1(GLenum,GLint,GLint);
void GLAPIENTRY glEvalMesh2(GLenum,GLint,GLint,GLint,GLint);
void GLAPIENTRY glEvalPoint1(GLint);
void GLAPIENTRY glEvalPoint2(GLint,GLint);
void GLAPIENTRY glFeedbackBuffer(GLsizei,GLenum,GLfloat*);
void GLAPIENTRY glEvalCoord1d( GLdouble u );
void GLAPIENTRY glEvalCoord1dv( const GLdouble *u );
void GLAPIENTRY glEvalCoord1f( GLfloat u );
void GLAPIENTRY glEvalCoord1fv( const GLfloat *u );
void GLAPIENTRY glEvalCoord2d( GLdouble u, GLdouble v );
void GLAPIENTRY glEvalCoord2dv( const GLdouble *u );
void GLAPIENTRY glEvalCoord2f( GLfloat u, GLfloat v );
void GLAPIENTRY glEvalCoord2fv( const GLfloat *u );
void GLAPIENTRY glEvalMesh1( GLenum mode, GLint i1, GLint i2 );
void GLAPIENTRY glEvalMesh2( GLenum mode, GLint i1, GLint i2, GLint j1, GLint j2 );
void GLAPIENTRY glEvalPoint1( GLint i );
void GLAPIENTRY glEvalPoint2( GLint i, GLint j );
void GLAPIENTRY glFeedbackBuffer( GLsizei size, GLenum type, GLfloat *buffer );
void GLAPIENTRY glFinish(void);
void GLAPIENTRY glFlush(void);
void GLAPIENTRY glFogf(GLenum,GLfloat);
void GLAPIENTRY glFogfv(GLenum,const GLfloat*);
void GLAPIENTRY glFogi(GLenum,GLint);
void GLAPIENTRY glFogiv(GLenum,const GLint*);
void GLAPIENTRY glFrontFace(GLenum);
void GLAPIENTRY glFrustum(GLdouble,GLdouble,GLdouble,GLdouble,GLdouble,GLdouble);
GLuint GLAPIENTRY glGenLists(GLsizei);
void GLAPIENTRY glGenTextures(GLsizei,GLuint*);
void GLAPIENTRY glGetBooleanv(GLenum,GLboolean*);
void GLAPIENTRY glGetClipPlane(GLenum,GLdouble*);
void GLAPIENTRY glGetDoublev(GLenum,GLdouble*);
void GLAPIENTRY glFogf( GLenum pname, GLfloat param );
void GLAPIENTRY glFogfv( GLenum pname, const GLfloat *params );
void GLAPIENTRY glFogi( GLenum pname, GLint param );
void GLAPIENTRY glFogiv( GLenum pname, const GLint *params );
void GLAPIENTRY glFrontFace( GLenum mode );
void GLAPIENTRY glFrustum( GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar );
GLuint GLAPIENTRY glGenLists( GLsizei range );
void GLAPIENTRY glGenTextures( GLsizei n, GLuint *textures );
void GLAPIENTRY glGetBooleanv( GLenum pname, GLboolean *data );
void GLAPIENTRY glGetClipPlane( GLenum plane, GLdouble *equation );
void GLAPIENTRY glGetDoublev( GLenum pname, GLdouble *data );
GLenum GLAPIENTRY glGetError(void);
void GLAPIENTRY glGetFloatv(GLenum,GLfloat*);
void GLAPIENTRY glGetIntegerv(GLenum,GLint*);
void GLAPIENTRY glGetLightfv(GLenum,GLenum,GLfloat*);
void GLAPIENTRY glGetLightiv(GLenum,GLenum,GLint*);
void GLAPIENTRY glGetMapdv(GLenum,GLenum,GLdouble*);
void GLAPIENTRY glGetMapfv(GLenum,GLenum,GLfloat*);
void GLAPIENTRY glGetMapiv(GLenum,GLenum,GLint*);
void GLAPIENTRY glGetMaterialfv(GLenum,GLenum,GLfloat*);
void GLAPIENTRY glGetMaterialiv(GLenum,GLenum,GLint*);
void GLAPIENTRY glGetPixelMapfv(GLenum,GLfloat*);
void GLAPIENTRY glGetPixelMapuiv(GLenum,GLuint*);
void GLAPIENTRY glGetPixelMapusv(GLenum,GLushort*);
void GLAPIENTRY glGetPointerv(GLenum,void**);
void GLAPIENTRY glGetPolygonStipple(GLubyte*);
const GLubyte* GLAPIENTRY glGetString(GLenum);
void GLAPIENTRY glGetTexEnvfv(GLenum,GLenum,GLfloat*);
void GLAPIENTRY glGetTexEnviv(GLenum,GLenum,GLint*);
void GLAPIENTRY glGetTexGendv(GLenum,GLenum,GLdouble*);
void GLAPIENTRY glGetTexGenfv(GLenum,GLenum,GLfloat*);
void GLAPIENTRY glGetTexGeniv(GLenum,GLenum,GLint*);
void GLAPIENTRY glGetTexImage(GLenum,GLint,GLenum,GLenum,void*);
void GLAPIENTRY glGetTexLevelParameterfv(GLenum,GLint,GLenum,GLfloat*);
void GLAPIENTRY glGetTexLevelParameteriv(GLenum,GLint,GLenum,GLint*);
void GLAPIENTRY glGetTexParameterfv(GLenum,GLenum,GLfloat*);
void GLAPIENTRY glGetTexParameteriv(GLenum,GLenum,GLint*);
void GLAPIENTRY glHint(GLenum,GLenum);
void GLAPIENTRY glIndexMask(GLuint);
void GLAPIENTRY glIndexPointer(GLenum,GLsizei,const void*);
void GLAPIENTRY glIndexd(GLdouble);
void GLAPIENTRY glIndexdv(const GLdouble*);
void GLAPIENTRY glIndexf(GLfloat);
void GLAPIENTRY glIndexfv(const GLfloat*);
void GLAPIENTRY glIndexi(GLint);
void GLAPIENTRY glIndexiv(const GLint*);
void GLAPIENTRY glIndexs(GLshort);
void GLAPIENTRY glIndexsv(const GLshort*);
void GLAPIENTRY glIndexub(GLubyte);
void GLAPIENTRY glIndexubv(const GLubyte*);
void GLAPIENTRY glGetFloatv( GLenum pname, GLfloat *data );
void GLAPIENTRY glGetIntegerv( GLenum pname, GLint *data );
void GLAPIENTRY glGetLightfv( GLenum light, GLenum pname, GLfloat *params );
void GLAPIENTRY glGetLightiv( GLenum light, GLenum pname, GLint *params );
void GLAPIENTRY glGetMapdv( GLenum target, GLenum query, GLdouble *v );
void GLAPIENTRY glGetMapfv( GLenum target, GLenum query, GLfloat *v );
void GLAPIENTRY glGetMapiv( GLenum target, GLenum query, GLint *v );
void GLAPIENTRY glGetMaterialfv( GLenum face, GLenum pname, GLfloat *params );
void GLAPIENTRY glGetMaterialiv( GLenum face, GLenum pname, GLint *params );
void GLAPIENTRY glGetPixelMapfv( GLenum map, GLfloat *values );
void GLAPIENTRY glGetPixelMapuiv( GLenum map, GLuint *values );
void GLAPIENTRY glGetPixelMapusv( GLenum map, GLushort *values );
void GLAPIENTRY glGetPointerv( GLenum pname, void **params );
void GLAPIENTRY glGetPolygonStipple( GLubyte *mask );
const GLubyte * GLAPIENTRY glGetString( GLenum name );
void GLAPIENTRY glGetTexEnvfv( GLenum target, GLenum pname, GLfloat *params );
void GLAPIENTRY glGetTexEnviv( GLenum target, GLenum pname, GLint *params );
void GLAPIENTRY glGetTexGendv( GLenum coord, GLenum pname, GLdouble *params );
void GLAPIENTRY glGetTexGenfv( GLenum coord, GLenum pname, GLfloat *params );
void GLAPIENTRY glGetTexGeniv( GLenum coord, GLenum pname, GLint *params );
void GLAPIENTRY glGetTexImage( GLenum target, GLint level, GLenum format, GLenum type, void *pixels );
void GLAPIENTRY glGetTexLevelParameterfv( GLenum target, GLint level, GLenum pname, GLfloat *params );
void GLAPIENTRY glGetTexLevelParameteriv( GLenum target, GLint level, GLenum pname, GLint *params );
void GLAPIENTRY glGetTexParameterfv( GLenum target, GLenum pname, GLfloat *params );
void GLAPIENTRY glGetTexParameteriv( GLenum target, GLenum pname, GLint *params );
void GLAPIENTRY glHint( GLenum target, GLenum mode );
void GLAPIENTRY glIndexMask( GLuint mask );
void GLAPIENTRY glIndexPointer( GLenum type, GLsizei stride, const void *pointer );
void GLAPIENTRY glIndexd( GLdouble c );
void GLAPIENTRY glIndexdv( const GLdouble *c );
void GLAPIENTRY glIndexf( GLfloat c );
void GLAPIENTRY glIndexfv( const GLfloat *c );
void GLAPIENTRY glIndexi( GLint c );
void GLAPIENTRY glIndexiv( const GLint *c );
void GLAPIENTRY glIndexs( GLshort c );
void GLAPIENTRY glIndexsv( const GLshort *c );
void GLAPIENTRY glIndexub( GLubyte c );
void GLAPIENTRY glIndexubv( const GLubyte *c );
void GLAPIENTRY glInitNames(void);
void GLAPIENTRY glInterleavedArrays(GLenum,GLsizei,const void*);
GLboolean GLAPIENTRY glIsEnabled(GLenum);
GLboolean GLAPIENTRY glIsList(GLuint);
GLboolean GLAPIENTRY glIsTexture(GLuint);
void GLAPIENTRY glLightModelf(GLenum,GLfloat);
void GLAPIENTRY glLightModelfv(GLenum,const GLfloat*);
void GLAPIENTRY glLightModeli(GLenum,GLint);
void GLAPIENTRY glLightModeliv(GLenum,const GLint*);
void GLAPIENTRY glLightf(GLenum,GLenum,GLfloat);
void GLAPIENTRY glLightfv(GLenum,GLenum,const GLfloat*);
void GLAPIENTRY glLighti(GLenum,GLenum,GLint);
void GLAPIENTRY glLightiv(GLenum,GLenum,const GLint*);
void GLAPIENTRY glLineStipple(GLint,GLushort);
void GLAPIENTRY glLineWidth(GLfloat);
void GLAPIENTRY glListBase(GLuint);
void GLAPIENTRY glInterleavedArrays( GLenum format, GLsizei stride, const void *pointer );
GLboolean GLAPIENTRY glIsEnabled( GLenum cap );
GLboolean GLAPIENTRY glIsList( GLuint list );
GLboolean GLAPIENTRY glIsTexture( GLuint texture );
void GLAPIENTRY glLightModelf( GLenum pname, GLfloat param );
void GLAPIENTRY glLightModelfv( GLenum pname, const GLfloat *params );
void GLAPIENTRY glLightModeli( GLenum pname, GLint param );
void GLAPIENTRY glLightModeliv( GLenum pname, const GLint *params );
void GLAPIENTRY glLightf( GLenum light, GLenum pname, GLfloat param );
void GLAPIENTRY glLightfv( GLenum light, GLenum pname, const GLfloat *params );
void GLAPIENTRY glLighti( GLenum light, GLenum pname, GLint param );
void GLAPIENTRY glLightiv( GLenum light, GLenum pname, const GLint *params );
void GLAPIENTRY glLineStipple( GLint factor, GLushort pattern );
void GLAPIENTRY glLineWidth( GLfloat width );
void GLAPIENTRY glListBase( GLuint base );
void GLAPIENTRY glLoadIdentity(void);
void GLAPIENTRY glLoadMatrixd(const GLdouble*);
void GLAPIENTRY glLoadMatrixf(const GLfloat*);
void GLAPIENTRY glLoadName(GLuint);
void GLAPIENTRY glLogicOp(GLenum);
void GLAPIENTRY glMap1d(GLenum,GLdouble,GLdouble,GLint,GLint,const GLdouble*);
void GLAPIENTRY glMap1f(GLenum,GLfloat,GLfloat,GLint,GLint,const GLfloat*);
void GLAPIENTRY glMap2d(GLenum,GLdouble,GLdouble,GLint,GLint,GLdouble,GLdouble,GLint,GLint,const GLdouble*);
void GLAPIENTRY glMap2f(GLenum,GLfloat,GLfloat,GLint,GLint,GLfloat,GLfloat,GLint,GLint,const GLfloat*);
void GLAPIENTRY glMapGrid1d(GLint,GLdouble,GLdouble);
void GLAPIENTRY glMapGrid1f(GLint,GLfloat,GLfloat);
void GLAPIENTRY glMapGrid2d(GLint,GLdouble,GLdouble,GLint,GLdouble,GLdouble);
void GLAPIENTRY glMapGrid2f(GLint,GLfloat,GLfloat,GLint,GLfloat,GLfloat);
void GLAPIENTRY glMaterialf(GLenum,GLenum,GLfloat);
void GLAPIENTRY glMaterialfv(GLenum,GLenum,const GLfloat*);
void GLAPIENTRY glMateriali(GLenum,GLenum,GLint);
void GLAPIENTRY glMaterialiv(GLenum,GLenum,const GLint*);
void GLAPIENTRY glMatrixMode(GLenum);
void GLAPIENTRY glMultMatrixd(const GLdouble*);
void GLAPIENTRY glMultMatrixf(const GLfloat*);
void GLAPIENTRY glNewList(GLuint,GLenum);
void GLAPIENTRY glNormal3b(GLbyte,GLbyte,GLbyte);
void GLAPIENTRY glNormal3bv(const GLbyte*);
void GLAPIENTRY glNormal3d(GLdouble,GLdouble,GLdouble);
void GLAPIENTRY glNormal3dv(const GLdouble*);
void GLAPIENTRY glNormal3f(GLfloat,GLfloat,GLfloat);
void GLAPIENTRY glNormal3fv(const GLfloat*);
void GLAPIENTRY glNormal3i(GLint,GLint,GLint);
void GLAPIENTRY glNormal3iv(const GLint*);
void GLAPIENTRY glNormal3s(GLshort,GLshort,GLshort);
void GLAPIENTRY glNormal3sv(const GLshort*);
void GLAPIENTRY glNormalPointer(GLenum,GLsizei,const void*);
void GLAPIENTRY glOrtho(GLdouble,GLdouble,GLdouble,GLdouble,GLdouble,GLdouble);
void GLAPIENTRY glPassThrough(GLfloat);
void GLAPIENTRY glPixelMapfv(GLenum,GLsizei,const GLfloat*);
void GLAPIENTRY glPixelMapuiv(GLenum,GLsizei,const GLuint*);
void GLAPIENTRY glPixelMapusv(GLenum,GLsizei,const GLushort*);
void GLAPIENTRY glPixelStoref(GLenum,GLfloat);
void GLAPIENTRY glPixelStorei(GLenum,GLint);
void GLAPIENTRY glPixelTransferf(GLenum,GLfloat);
void GLAPIENTRY glPixelTransferi(GLenum,GLint);
void GLAPIENTRY glPixelZoom(GLfloat,GLfloat);
void GLAPIENTRY glPointSize(GLfloat);
void GLAPIENTRY glPolygonMode(GLenum,GLenum);
void GLAPIENTRY glPolygonOffset(GLfloat,GLfloat);
void GLAPIENTRY glPolygonStipple(const GLubyte*);
void GLAPIENTRY glLoadMatrixd( const GLdouble *m );
void GLAPIENTRY glLoadMatrixf( const GLfloat *m );
void GLAPIENTRY glLoadName( GLuint name );
void GLAPIENTRY glLogicOp( GLenum opcode );
void GLAPIENTRY glMap1d( GLenum target, GLdouble u1, GLdouble u2, GLint stride, GLint order, const GLdouble *points );
void GLAPIENTRY glMap1f( GLenum target, GLfloat u1, GLfloat u2, GLint stride, GLint order, const GLfloat *points );
void GLAPIENTRY glMap2d( GLenum target, GLdouble u1, GLdouble u2, GLint ustride, GLint uorder, GLdouble v1, GLdouble v2, GLint vstride, GLint vorder, const GLdouble *points );
void GLAPIENTRY glMap2f( GLenum target, GLfloat u1, GLfloat u2, GLint ustride, GLint uorder, GLfloat v1, GLfloat v2, GLint vstride, GLint vorder, const GLfloat *points );
void GLAPIENTRY glMapGrid1d( GLint un, GLdouble u1, GLdouble u2 );
void GLAPIENTRY glMapGrid1f( GLint un, GLfloat u1, GLfloat u2 );
void GLAPIENTRY glMapGrid2d( GLint un, GLdouble u1, GLdouble u2, GLint vn, GLdouble v1, GLdouble v2 );
void GLAPIENTRY glMapGrid2f( GLint un, GLfloat u1, GLfloat u2, GLint vn, GLfloat v1, GLfloat v2 );
void GLAPIENTRY glMaterialf( GLenum face, GLenum pname, GLfloat param );
void GLAPIENTRY glMaterialfv( GLenum face, GLenum pname, const GLfloat *params );
void GLAPIENTRY glMateriali( GLenum face, GLenum pname, GLint param );
void GLAPIENTRY glMaterialiv( GLenum face, GLenum pname, const GLint *params );
void GLAPIENTRY glMatrixMode( GLenum mode );
void GLAPIENTRY glMultMatrixd( const GLdouble *m );
void GLAPIENTRY glMultMatrixf( const GLfloat *m );
void GLAPIENTRY glNewList( GLuint list, GLenum mode );
void GLAPIENTRY glNormal3b( GLbyte nx, GLbyte ny, GLbyte nz );
void GLAPIENTRY glNormal3bv( const GLbyte *v );
void GLAPIENTRY glNormal3d( GLdouble nx, GLdouble ny, GLdouble nz );
void GLAPIENTRY glNormal3dv( const GLdouble *v );
void GLAPIENTRY glNormal3f( GLfloat nx, GLfloat ny, GLfloat nz );
void GLAPIENTRY glNormal3fv( const GLfloat *v );
void GLAPIENTRY glNormal3i( GLint nx, GLint ny, GLint nz );
void GLAPIENTRY glNormal3iv( const GLint *v );
void GLAPIENTRY glNormal3s( GLshort nx, GLshort ny, GLshort nz );
void GLAPIENTRY glNormal3sv( const GLshort *v );
void GLAPIENTRY glNormalPointer( GLenum type, GLsizei stride, const void *pointer );
void GLAPIENTRY glOrtho( GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble zNear, GLdouble zFar );
void GLAPIENTRY glPassThrough( GLfloat token );
void GLAPIENTRY glPixelMapfv( GLenum map, GLsizei mapsize, const GLfloat *values );
void GLAPIENTRY glPixelMapuiv( GLenum map, GLsizei mapsize, const GLuint *values );
void GLAPIENTRY glPixelMapusv( GLenum map, GLsizei mapsize, const GLushort *values );
void GLAPIENTRY glPixelStoref( GLenum pname, GLfloat param );
void GLAPIENTRY glPixelStorei( GLenum pname, GLint param );
void GLAPIENTRY glPixelTransferf( GLenum pname, GLfloat param );
void GLAPIENTRY glPixelTransferi( GLenum pname, GLint param );
void GLAPIENTRY glPixelZoom( GLfloat xfactor, GLfloat yfactor );
void GLAPIENTRY glPointSize( GLfloat size );
void GLAPIENTRY glPolygonMode( GLenum face, GLenum mode );
void GLAPIENTRY glPolygonOffset( GLfloat factor, GLfloat units );
void GLAPIENTRY glPolygonStipple( const GLubyte *mask );
void GLAPIENTRY glPopAttrib(void);
void GLAPIENTRY glPopClientAttrib(void);
void GLAPIENTRY glPopMatrix(void);
void GLAPIENTRY glPopName(void);
void GLAPIENTRY glPrioritizeTextures(GLsizei,const GLuint*,const GLfloat*);
void GLAPIENTRY glPushAttrib(GLbitfield);
void GLAPIENTRY glPushClientAttrib(GLbitfield);
void GLAPIENTRY glPrioritizeTextures( GLsizei n, const GLuint *textures, const GLfloat *priorities );
void GLAPIENTRY glPushAttrib( GLbitfield mask );
void GLAPIENTRY glPushClientAttrib( GLbitfield mask );
void GLAPIENTRY glPushMatrix(void);
void GLAPIENTRY glPushName(GLuint);
void GLAPIENTRY glRasterPos2d(GLdouble,GLdouble);
void GLAPIENTRY glRasterPos2dv(const GLdouble*);
void GLAPIENTRY glRasterPos2f(GLfloat,GLfloat);
void GLAPIENTRY glRasterPos2fv(const GLfloat*);
void GLAPIENTRY glRasterPos2i(GLint,GLint);
void GLAPIENTRY glRasterPos2iv(const GLint*);
void GLAPIENTRY glRasterPos2s(GLshort,GLshort);
void GLAPIENTRY glRasterPos2sv(const GLshort*);
void GLAPIENTRY glRasterPos3d(GLdouble,GLdouble,GLdouble);
void GLAPIENTRY glRasterPos3dv(const GLdouble*);
void GLAPIENTRY glRasterPos3f(GLfloat,GLfloat,GLfloat);
void GLAPIENTRY glRasterPos3fv(const GLfloat*);
void GLAPIENTRY glRasterPos3i(GLint,GLint,GLint);
void GLAPIENTRY glRasterPos3iv(const GLint*);
void GLAPIENTRY glRasterPos3s(GLshort,GLshort,GLshort);
void GLAPIENTRY glRasterPos3sv(const GLshort*);
void GLAPIENTRY glRasterPos4d(GLdouble,GLdouble,GLdouble,GLdouble);
void GLAPIENTRY glRasterPos4dv(const GLdouble*);
void GLAPIENTRY glRasterPos4f(GLfloat,GLfloat,GLfloat,GLfloat);
void GLAPIENTRY glRasterPos4fv(const GLfloat*);
void GLAPIENTRY glRasterPos4i(GLint,GLint,GLint,GLint);
void GLAPIENTRY glRasterPos4iv(const GLint*);
void GLAPIENTRY glRasterPos4s(GLshort,GLshort,GLshort,GLshort);
void GLAPIENTRY glRasterPos4sv(const GLshort*);
void GLAPIENTRY glReadBuffer(GLenum);
void GLAPIENTRY glReadPixels(GLint,GLint,GLsizei,GLsizei,GLenum,GLenum,void*);
void GLAPIENTRY glRectd(GLdouble,GLdouble,GLdouble,GLdouble);
void GLAPIENTRY glRectdv(const GLdouble*,const GLdouble*);
void GLAPIENTRY glRectf(GLfloat,GLfloat,GLfloat,GLfloat);
void GLAPIENTRY glRectfv(const GLfloat*,const GLfloat*);
void GLAPIENTRY glRecti(GLint,GLint,GLint,GLint);
void GLAPIENTRY glRectiv(const GLint*,const GLint*);
void GLAPIENTRY glRects(GLshort,GLshort,GLshort,GLshort);
void GLAPIENTRY glRectsv(const GLshort*,const GLshort*);
GLint GLAPIENTRY glRenderMode(GLenum);
void GLAPIENTRY glRotated(GLdouble,GLdouble,GLdouble,GLdouble);
void GLAPIENTRY glRotatef(GLfloat,GLfloat,GLfloat,GLfloat);
void GLAPIENTRY glScaled(GLdouble,GLdouble,GLdouble);
void GLAPIENTRY glScalef(GLfloat,GLfloat,GLfloat);
void GLAPIENTRY glScissor(GLint,GLint,GLsizei,GLsizei);
void GLAPIENTRY glSelectBuffer(GLsizei,GLuint*);
void GLAPIENTRY glShadeModel(GLenum);
void GLAPIENTRY glStencilFunc(GLenum,GLint,GLuint);
void GLAPIENTRY glStencilMask(GLuint);
void GLAPIENTRY glStencilOp(GLenum,GLenum,GLenum);
void GLAPIENTRY glTexCoord1d(GLdouble);
void GLAPIENTRY glTexCoord1dv(const GLdouble*);
void GLAPIENTRY glTexCoord1f(GLfloat);
void GLAPIENTRY glTexCoord1fv(const GLfloat*);
void GLAPIENTRY glTexCoord1i(GLint);
void GLAPIENTRY glTexCoord1iv(const GLint*);
void GLAPIENTRY glTexCoord1s(GLshort);
void GLAPIENTRY glTexCoord1sv(const GLshort*);
void GLAPIENTRY glTexCoord2d(GLdouble,GLdouble);
void GLAPIENTRY glTexCoord2dv(const GLdouble*);
void GLAPIENTRY glTexCoord2f(GLfloat,GLfloat);
void GLAPIENTRY glTexCoord2fv(const GLfloat*);
void GLAPIENTRY glTexCoord2i(GLint,GLint);
void GLAPIENTRY glTexCoord2iv(const GLint*);
void GLAPIENTRY glTexCoord2s(GLshort,GLshort);
void GLAPIENTRY glTexCoord2sv(const GLshort*);
void GLAPIENTRY glTexCoord3d(GLdouble,GLdouble,GLdouble);
void GLAPIENTRY glTexCoord3dv(const GLdouble*);
void GLAPIENTRY glTexCoord3f(GLfloat,GLfloat,GLfloat);
void GLAPIENTRY glTexCoord3fv(const GLfloat*);
void GLAPIENTRY glTexCoord3i(GLint,GLint,GLint);
void GLAPIENTRY glTexCoord3iv(const GLint*);
void GLAPIENTRY glTexCoord3s(GLshort,GLshort,GLshort);
void GLAPIENTRY glTexCoord3sv(const GLshort*);
void GLAPIENTRY glTexCoord4d(GLdouble,GLdouble,GLdouble,GLdouble);
void GLAPIENTRY glTexCoord4dv(const GLdouble*);
void GLAPIENTRY glTexCoord4f(GLfloat,GLfloat,GLfloat,GLfloat);
void GLAPIENTRY glTexCoord4fv(const GLfloat*);
void GLAPIENTRY glTexCoord4i(GLint,GLint,GLint,GLint);
void GLAPIENTRY glTexCoord4iv(const GLint*);
void GLAPIENTRY glTexCoord4s(GLshort,GLshort,GLshort,GLshort);
void GLAPIENTRY glTexCoord4sv(const GLshort*);
void GLAPIENTRY glTexCoordPointer(GLint,GLenum,GLsizei,const void*);
void GLAPIENTRY glTexEnvf(GLenum,GLenum,GLfloat);
void GLAPIENTRY glTexEnvfv(GLenum,GLenum,const GLfloat*);
void GLAPIENTRY glTexEnvi(GLenum,GLenum,GLint);
void GLAPIENTRY glTexEnviv(GLenum,GLenum,const GLint*);
void GLAPIENTRY glTexGend(GLenum,GLenum,GLdouble);
void GLAPIENTRY glTexGendv(GLenum,GLenum,const GLdouble*);
void GLAPIENTRY glTexGenf(GLenum,GLenum,GLfloat);
void GLAPIENTRY glTexGenfv(GLenum,GLenum,const GLfloat*);
void GLAPIENTRY glTexGeni(GLenum,GLenum,GLint);
void GLAPIENTRY glTexGeniv(GLenum,GLenum,const GLint*);
void GLAPIENTRY glTexImage1D(GLenum,GLint,GLint,GLsizei,GLint,GLenum,GLenum,const void*);
void GLAPIENTRY glTexImage2D(GLenum,GLint,GLint,GLsizei,GLsizei,GLint,GLenum,GLenum,const void*);
void GLAPIENTRY glTexParameterf(GLenum,GLenum,GLfloat);
void GLAPIENTRY glTexParameterfv(GLenum,GLenum,const GLfloat*);
void GLAPIENTRY glTexParameteri(GLenum,GLenum,GLint);
void GLAPIENTRY glTexParameteriv(GLenum,GLenum,const GLint*);
void GLAPIENTRY glTexSubImage1D(GLenum,GLint,GLint,GLsizei,GLenum,GLenum,const void*);
void GLAPIENTRY glTexSubImage2D(GLenum,GLint,GLint,GLint,GLsizei,GLsizei,GLenum,GLenum,const void*);
void GLAPIENTRY glTranslated(GLdouble,GLdouble,GLdouble);
void GLAPIENTRY glTranslatef(GLfloat,GLfloat,GLfloat);
void GLAPIENTRY glVertex2d(GLdouble,GLdouble);
void GLAPIENTRY glVertex2dv(const GLdouble*);
void GLAPIENTRY glVertex2f(GLfloat,GLfloat);
void GLAPIENTRY glVertex2fv(const GLfloat*);
void GLAPIENTRY glVertex2i(GLint,GLint);
void GLAPIENTRY glVertex2iv(const GLint*);
void GLAPIENTRY glVertex2s(GLshort,GLshort);
void GLAPIENTRY glVertex2sv(const GLshort*);
void GLAPIENTRY glVertex3d(GLdouble,GLdouble,GLdouble);
void GLAPIENTRY glVertex3dv(const GLdouble*);
void GLAPIENTRY glVertex3f(GLfloat,GLfloat,GLfloat);
void GLAPIENTRY glVertex3fv(const GLfloat*);
void GLAPIENTRY glVertex3i(GLint,GLint,GLint);
void GLAPIENTRY glVertex3iv(const GLint*);
void GLAPIENTRY glVertex3s(GLshort,GLshort,GLshort);
void GLAPIENTRY glVertex3sv(const GLshort*);
void GLAPIENTRY glVertex4d(GLdouble,GLdouble,GLdouble,GLdouble);
void GLAPIENTRY glVertex4dv(const GLdouble*);
void GLAPIENTRY glVertex4f(GLfloat,GLfloat,GLfloat,GLfloat);
void GLAPIENTRY glVertex4fv(const GLfloat*);
void GLAPIENTRY glVertex4i(GLint,GLint,GLint,GLint);
void GLAPIENTRY glVertex4iv(const GLint*);
void GLAPIENTRY glVertex4s(GLshort,GLshort,GLshort,GLshort);
void GLAPIENTRY glVertex4sv(const GLshort*);
void GLAPIENTRY glVertexPointer(GLint,GLenum,GLsizei,const void*);
void GLAPIENTRY glViewport(GLint,GLint,GLsizei,GLsizei);
void GLAPIENTRY glPushName( GLuint name );
void GLAPIENTRY glRasterPos2d( GLdouble x, GLdouble y );
void GLAPIENTRY glRasterPos2dv( const GLdouble *v );
void GLAPIENTRY glRasterPos2f( GLfloat x, GLfloat y );
void GLAPIENTRY glRasterPos2fv( const GLfloat *v );
void GLAPIENTRY glRasterPos2i( GLint x, GLint y );
void GLAPIENTRY glRasterPos2iv( const GLint *v );
void GLAPIENTRY glRasterPos2s( GLshort x, GLshort y );
void GLAPIENTRY glRasterPos2sv( const GLshort *v );
void GLAPIENTRY glRasterPos3d( GLdouble x, GLdouble y, GLdouble z );
void GLAPIENTRY glRasterPos3dv( const GLdouble *v );
void GLAPIENTRY glRasterPos3f( GLfloat x, GLfloat y, GLfloat z );
void GLAPIENTRY glRasterPos3fv( const GLfloat *v );
void GLAPIENTRY glRasterPos3i( GLint x, GLint y, GLint z );
void GLAPIENTRY glRasterPos3iv( const GLint *v );
void GLAPIENTRY glRasterPos3s( GLshort x, GLshort y, GLshort z );
void GLAPIENTRY glRasterPos3sv( const GLshort *v );
void GLAPIENTRY glRasterPos4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
void GLAPIENTRY glRasterPos4dv( const GLdouble *v );
void GLAPIENTRY glRasterPos4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
void GLAPIENTRY glRasterPos4fv( const GLfloat *v );
void GLAPIENTRY glRasterPos4i( GLint x, GLint y, GLint z, GLint w );
void GLAPIENTRY glRasterPos4iv( const GLint *v );
void GLAPIENTRY glRasterPos4s( GLshort x, GLshort y, GLshort z, GLshort w );
void GLAPIENTRY glRasterPos4sv( const GLshort *v );
void GLAPIENTRY glReadBuffer( GLenum src );
void GLAPIENTRY glReadPixels( GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels );
void GLAPIENTRY glRectd( GLdouble x1, GLdouble y1, GLdouble x2, GLdouble y2 );
void GLAPIENTRY glRectdv( const GLdouble *v1, const GLdouble *v2 );
void GLAPIENTRY glRectf( GLfloat x1, GLfloat y1, GLfloat x2, GLfloat y2 );
void GLAPIENTRY glRectfv( const GLfloat *v1, const GLfloat *v2 );
void GLAPIENTRY glRecti( GLint x1, GLint y1, GLint x2, GLint y2 );
void GLAPIENTRY glRectiv( const GLint *v1, const GLint *v2 );
void GLAPIENTRY glRects( GLshort x1, GLshort y1, GLshort x2, GLshort y2 );
void GLAPIENTRY glRectsv( const GLshort *v1, const GLshort *v2 );
GLint GLAPIENTRY glRenderMode( GLenum mode );
void GLAPIENTRY glRotated( GLdouble angle, GLdouble x, GLdouble y, GLdouble z );
void GLAPIENTRY glRotatef( GLfloat angle, GLfloat x, GLfloat y, GLfloat z );
void GLAPIENTRY glScaled( GLdouble x, GLdouble y, GLdouble z );
void GLAPIENTRY glScalef( GLfloat x, GLfloat y, GLfloat z );
void GLAPIENTRY glScissor( GLint x, GLint y, GLsizei width, GLsizei height );
void GLAPIENTRY glSelectBuffer( GLsizei size, GLuint *buffer );
void GLAPIENTRY glShadeModel( GLenum mode );
void GLAPIENTRY glStencilFunc( GLenum func, GLint ref, GLuint mask );
void GLAPIENTRY glStencilMask( GLuint mask );
void GLAPIENTRY glStencilOp( GLenum fail, GLenum zfail, GLenum zpass );
void GLAPIENTRY glTexCoord1d( GLdouble s );
void GLAPIENTRY glTexCoord1dv( const GLdouble *v );
void GLAPIENTRY glTexCoord1f( GLfloat s );
void GLAPIENTRY glTexCoord1fv( const GLfloat *v );
void GLAPIENTRY glTexCoord1i( GLint s );
void GLAPIENTRY glTexCoord1iv( const GLint *v );
void GLAPIENTRY glTexCoord1s( GLshort s );
void GLAPIENTRY glTexCoord1sv( const GLshort *v );
void GLAPIENTRY glTexCoord2d( GLdouble s, GLdouble t );
void GLAPIENTRY glTexCoord2dv( const GLdouble *v );
void GLAPIENTRY glTexCoord2f( GLfloat s, GLfloat t );
void GLAPIENTRY glTexCoord2fv( const GLfloat *v );
void GLAPIENTRY glTexCoord2i( GLint s, GLint t );
void GLAPIENTRY glTexCoord2iv( const GLint *v );
void GLAPIENTRY glTexCoord2s( GLshort s, GLshort t );
void GLAPIENTRY glTexCoord2sv( const GLshort *v );
void GLAPIENTRY glTexCoord3d( GLdouble s, GLdouble t, GLdouble r );
void GLAPIENTRY glTexCoord3dv( const GLdouble *v );
void GLAPIENTRY glTexCoord3f( GLfloat s, GLfloat t, GLfloat r );
void GLAPIENTRY glTexCoord3fv( const GLfloat *v );
void GLAPIENTRY glTexCoord3i( GLint s, GLint t, GLint r );
void GLAPIENTRY glTexCoord3iv( const GLint *v );
void GLAPIENTRY glTexCoord3s( GLshort s, GLshort t, GLshort r );
void GLAPIENTRY glTexCoord3sv( const GLshort *v );
void GLAPIENTRY glTexCoord4d( GLdouble s, GLdouble t, GLdouble r, GLdouble q );
void GLAPIENTRY glTexCoord4dv( const GLdouble *v );
void GLAPIENTRY glTexCoord4f( GLfloat s, GLfloat t, GLfloat r, GLfloat q );
void GLAPIENTRY glTexCoord4fv( const GLfloat *v );
void GLAPIENTRY glTexCoord4i( GLint s, GLint t, GLint r, GLint q );
void GLAPIENTRY glTexCoord4iv( const GLint *v );
void GLAPIENTRY glTexCoord4s( GLshort s, GLshort t, GLshort r, GLshort q );
void GLAPIENTRY glTexCoord4sv( const GLshort *v );
void GLAPIENTRY glTexCoordPointer( GLint size, GLenum type, GLsizei stride, const void *pointer );
void GLAPIENTRY glTexEnvf( GLenum target, GLenum pname, GLfloat param );
void GLAPIENTRY glTexEnvfv( GLenum target, GLenum pname, const GLfloat *params );
void GLAPIENTRY glTexEnvi( GLenum target, GLenum pname, GLint param );
void GLAPIENTRY glTexEnviv( GLenum target, GLenum pname, const GLint *params );
void GLAPIENTRY glTexGend( GLenum coord, GLenum pname, GLdouble param );
void GLAPIENTRY glTexGendv( GLenum coord, GLenum pname, const GLdouble *params );
void GLAPIENTRY glTexGenf( GLenum coord, GLenum pname, GLfloat param );
void GLAPIENTRY glTexGenfv( GLenum coord, GLenum pname, const GLfloat *params );
void GLAPIENTRY glTexGeni( GLenum coord, GLenum pname, GLint param );
void GLAPIENTRY glTexGeniv( GLenum coord, GLenum pname, const GLint *params );
void GLAPIENTRY glTexImage1D( GLenum target, GLint level, GLint internalformat, GLsizei width, GLint border, GLenum format, GLenum type, const void *pixels );
void GLAPIENTRY glTexImage2D( GLenum target, GLint level, GLint internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, const void *pixels );
void GLAPIENTRY glTexParameterf( GLenum target, GLenum pname, GLfloat param );
void GLAPIENTRY glTexParameterfv( GLenum target, GLenum pname, const GLfloat *params );
void GLAPIENTRY glTexParameteri( GLenum target, GLenum pname, GLint param );
void GLAPIENTRY glTexParameteriv( GLenum target, GLenum pname, const GLint *params );
void GLAPIENTRY glTexSubImage1D( GLenum target, GLint level, GLint xoffset, GLsizei width, GLenum format, GLenum type, const void *pixels );
void GLAPIENTRY glTexSubImage2D( GLenum target, GLint level, GLint xoffset, GLint yoffset, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels );
void GLAPIENTRY glTranslated( GLdouble x, GLdouble y, GLdouble z );
void GLAPIENTRY glTranslatef( GLfloat x, GLfloat y, GLfloat z );
void GLAPIENTRY glVertex2d( GLdouble x, GLdouble y );
void GLAPIENTRY glVertex2dv( const GLdouble *v );
void GLAPIENTRY glVertex2f( GLfloat x, GLfloat y );
void GLAPIENTRY glVertex2fv( const GLfloat *v );
void GLAPIENTRY glVertex2i( GLint x, GLint y );
void GLAPIENTRY glVertex2iv( const GLint *v );
void GLAPIENTRY glVertex2s( GLshort x, GLshort y );
void GLAPIENTRY glVertex2sv( const GLshort *v );
void GLAPIENTRY glVertex3d( GLdouble x, GLdouble y, GLdouble z );
void GLAPIENTRY glVertex3dv( const GLdouble *v );
void GLAPIENTRY glVertex3f( GLfloat x, GLfloat y, GLfloat z );
void GLAPIENTRY glVertex3fv( const GLfloat *v );
void GLAPIENTRY glVertex3i( GLint x, GLint y, GLint z );
void GLAPIENTRY glVertex3iv( const GLint *v );
void GLAPIENTRY glVertex3s( GLshort x, GLshort y, GLshort z );
void GLAPIENTRY glVertex3sv( const GLshort *v );
void GLAPIENTRY glVertex4d( GLdouble x, GLdouble y, GLdouble z, GLdouble w );
void GLAPIENTRY glVertex4dv( const GLdouble *v );
void GLAPIENTRY glVertex4f( GLfloat x, GLfloat y, GLfloat z, GLfloat w );
void GLAPIENTRY glVertex4fv( const GLfloat *v );
void GLAPIENTRY glVertex4i( GLint x, GLint y, GLint z, GLint w );
void GLAPIENTRY glVertex4iv( const GLint *v );
void GLAPIENTRY glVertex4s( GLshort x, GLshort y, GLshort z, GLshort w );
void GLAPIENTRY glVertex4sv( const GLshort *v );
void GLAPIENTRY glVertexPointer( GLint size, GLenum type, GLsizei stride, const void *pointer );
void GLAPIENTRY glViewport( GLint x, GLint y, GLsizei width, GLsizei height );
#endif /* __WINE_WGL_H */

File diff suppressed because it is too large Load diff