opengl32: Get type definitions from the XML files.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Alexandre Julliard 2017-10-09 15:21:31 +02:00
parent fd3d5d6f82
commit bbb71620cd
8 changed files with 184 additions and 225 deletions

View File

@ -83,140 +83,80 @@ my %cat_1_5 = ( %cat_1_4, "GL_VERSION_1_5" => 1 );
my %norm_categories = ();
#
# This hash table gives the conversion between OpenGL types and what
# is used by the TRACE printfs
# This hash table gives the conversion between OpenGL types and
# the .spec type and debug format
#
my %debug_conv =
("GLbitfield" => "%d",
"GLboolean" => "%d",
"GLbyte" => "%d",
"GLclampd" => "%f",
"GLclampf" => "%f",
"GLclampx" => "%d",
"GLdouble" => "%f",
"GLenum" => "%d",
"GLfloat" => "%f",
"GLfixed" => "%d",
"GLint" => "%d",
"GLshort" => "%d",
"GLsizei" => "%d",
"GLstring" => "%s",
"GLsync" => "%p",
"GLubyte" => "%d",
"GLuint" => "%d",
"GLushort" => "%d",
"GLhalfNV" => "%d",
"GLintptrARB" => "%ld",
"GLsizeiptrARB" => "%ld",
"GLintptr" => "%ld",
"GLsizeiptr" => "%ld",
"GLhandleARB" => "%d",
"GLcharARB" => "%c",
"GLuint64" => "%s,wine_dbgstr_longlong(%s)",
"GLint64" => "%s,wine_dbgstr_longlong(%s)",
"GLuint64EXT" => "%s,wine_dbgstr_longlong(%s)",
"GLint64EXT" => "%s,wine_dbgstr_longlong(%s)",
"GLvoid" => "(void)",
"_GLfuncptr" => "%p",
"GLDEBUGPROC" => "%p",
"GLDEBUGPROCARB" => "%p",
"GLDEBUGPROCAMD" => "%p",
"GLDEBUGPROCKHR" => "%p",
"GLeglClientBufferEXT" => "%p",
"GLvdpauSurfaceNV" => "%ld",
"GLVULKANPROCNV" => "%p",
"int" => "%d",
"unsigned int" => "%u",
"UINT" => "%u",
"DWORD" => "%u",
"BOOL" => "%u",
"INT64" => "%s,wine_dbgstr_longlong(%s)",
"UINT64" => "%s,wine_dbgstr_longlong(%s)",
"LPVOID" => "%p",
"HANDLE" => "%p",
"HDC" => "%p",
"HGLRC" => "%p",
"HPBUFFERARB" => "%p",
"HPBUFFEREXT" => "%p",
my %arg_types =
(
"GLbitfield" => [ "long", "%d" ],
"GLboolean" => [ "long", "%d" ],
"GLbyte" => [ "long", "%d" ],
"GLchar" => [ "long", "%c" ],
"GLcharARB" => [ "long", "%c" ],
"GLclampd" => [ "double", "%f" ],
"GLclampf" => [ "float", "%f" ],
"GLclampx" => [ "long", "%d" ],
"GLdouble" => [ "double", "%f" ],
"GLeglClientBufferEXT" => [ "ptr", "%p" ],
"GLenum" => [ "long", "%d" ],
"GLfixed" => [ "long", "%d" ],
"GLfloat" => [ "float", "%f" ],
"GLhalfNV" => [ "long", "%d" ],
"GLhandleARB" => [ "long", "%d" ],
"GLint" => [ "long", "%d" ],
"GLint64" => [ "int64", "wine_dbgstr_longlong(%s)" ],
"GLint64EXT" => [ "int64", "wine_dbgstr_longlong(%s)" ],
"GLintptr" => [ "long", "%ld" ],
"GLintptrARB" => [ "long", "%ld" ],
"GLshort" => [ "long", "%d" ],
"GLsizei" => [ "long", "%d" ],
"GLsizeiptr" => [ "long", "%ld" ],
"GLsizeiptrARB" => [ "long", "%ld" ],
"GLstring" => [ "str", "wine_dbgstr_a(%s)" ],
"GLsync" => [ "ptr", "%p" ],
"GLubyte" => [ "long", "%d" ],
"GLuint" => [ "long", "%d" ],
"GLuint64" => [ "int64", "wine_dbgstr_longlong(%s)" ],
"GLuint64EXT" => [ "int64", "wine_dbgstr_longlong(%s)" ],
"GLushort" => [ "long", "%d" ],
"GLvdpauSurfaceNV" => [ "long", "%ld" ],
"GLDEBUGPROC" => [ "ptr", "%p" ],
"GLDEBUGPROCARB" => [ "ptr", "%p" ],
"GLDEBUGPROCAMD" => [ "ptr", "%p" ],
"GLDEBUGPROCKHR" => [ "ptr", "%p" ],
"GLVULKANPROCNV" => [ "ptr", "%p" ],
"HDC" => [ "long", "%p" ],
"HGLRC" => [ "long", "%p" ],
"HPBUFFERARB" => [ "long", "%p" ],
"HENHMETAFILE" => [ "long", "%p" ],
"LPGLYPHMETRICSFLOAT" => [ "ptr", "%p" ],
"LPCSTR" => [ "str", "wine_dbgstr_a(%s)" ],
"UINT" => [ "long", "%u" ],
"DWORD" => [ "long", "%u" ],
"BOOL" => [ "long", "%u" ],
"FLOAT" => [ "float", "%f" ],
);
#
# This hash table gives the conversion between OpenGL types and what
# is used in the .spec and header files.
#
my %arg_conv =
("GLbitfield" => [ "long", "unsigned int" ],
"GLboolean" => [ "long", "unsigned char" ],
"GLbyte" => [ "long", "signed char" ],
"GLchar" => [ "long", "char" ],
"GLclampd" => [ "double", "double" ],
"GLclampf" => [ "float", "float" ],
"GLclampx" => [ "long", "int" ],
"GLdouble" => [ "double", "double" ],
"GLenum" => [ "long", "unsigned int" ],
"GLfloat" => [ "float", "float" ],
"GLfixed" => [ "long", "int" ],
"GLint" => [ "long", "int" ],
"GLint64" => [ "int64", "INT64" ],
"GLint64EXT" => [ "int64", "INT64" ],
"GLintptr" => [ "long", "INT_PTR" ],
"GLshort" => [ "long", "short" ],
"GLsizei" => [ "long", "int" ],
"GLsizeiptr" => [ "long", "INT_PTR" ],
"GLstring" => [ "str", "const unsigned char *" ],
"GLsync" => [ "ptr", "struct __GLsync *" ],
"GLubyte" => [ "long", "unsigned char" ],
"GLuint" => [ "long", "unsigned int" ],
"GLuint64" => [ "int64", "UINT64" ],
"GLuint64EXT" => [ "int64", "UINT64" ],
"GLushort" => [ "long", "unsigned short" ],
"GLvoid" => [ "void", "void" ],
"GLcharARB" => [ "long", "char" ],
"GLhandleARB" => [ "long", "unsigned int" ],
"GLintptrARB" => [ "long", "INT_PTR" ],
"GLsizeiptrARB" => [ "long", "INT_PTR" ],
"GLhalfNV" => [ "long", "unsigned short" ],
"GLvdpauSurfaceNV" => [ "long", "INT_PTR" ],
"HDC" => [ "long" ],
"HGLRC" => [ "long" ],
"HENHMETAFILE" => [ "long" ],
"LPGLYPHMETRICSFLOAT" => [ "ptr" ],
"LPCSTR" => [ "str" ],
"int" => [ "long" ],
"INT" => [ "long" ],
"BOOL" => [ "long" ],
"DWORD" => [ "long" ],
"FLOAT" => [ "float" ],
"UINT" => [ "long" ],
my %remap_types =
(
"HGLRC" => "struct wgl_context *",
"HPBUFFERARB" => "struct wgl_pbuffer *",
);
#
# Used to convert some types
#
sub ConvertType($)
{
my ($type) = @_;
my $arg = shift;
my $ret = $arg->textContent();
my @type = $arg->findnodes("./ptype");
my %hash = (
"struct _cl_context" => "void",
"struct _cl_event" => "void",
"HGLRC" => "struct wgl_context *",
"GLDEBUGPROC" => "void *",
"GLDEBUGPROCARB" => "void *",
"GLDEBUGPROCAMD" => "void *",
"GLDEBUGPROCKHR" => "void *",
"GLeglClientBufferEXT" => "void *",
"GLVULKANPROCNV" => "void *",
"HPBUFFERARB" => "struct wgl_pbuffer *",
"HPBUFFEREXT" => "struct wgl_pbuffer *",
);
foreach my $org (reverse sort keys %hash) {
if ($type =~ /^(.*)$org(.*)$/) {
return "$1$hash{$org}$2";
}
if (@type)
{
my $type = $type[0]->textContent();
$ret =~ s/$type/$remap_types{$type}/ if defined $remap_types{$type};
}
return $type;
return $ret;
}
#
@ -241,22 +181,17 @@ sub GenerateThunk($$$)
my $param = $arg->textContent();
$call_arg .= " " . $pname . ",";
if ($param =~ /\*/ || $param =~ /\[/) {
$trace_arg .= "%p";
$trace_arg .= ", %p";
$trace_call_arg .= ", " . $pname;
} elsif (defined $debug_conv{$ptype}) {
if ($debug_conv{$ptype} =~ /(.*),(.*)/) {
$trace_arg .= $1;
$trace_call_arg .= ", " . sprintf $2, $pname;
} else {
$trace_arg .= $debug_conv{$ptype};
$trace_call_arg .= ", " . $pname;
}
} elsif (defined $arg_types{$ptype}) {
my $format = ${$arg_types{$ptype}}[1];
$trace_arg .= ", " . ($format =~ /^%/ ? $format : "%s");
$trace_call_arg .= ", " . sprintf $format =~ /^%/ ? "%s" : $format, $pname;
}
else { printf "Unknown type %s in %s\n", $param, $name; }
$trace_arg .= ", ";
}
$call_arg =~ s/,$/ /;
$trace_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;
@ -264,8 +199,6 @@ sub GenerateThunk($$$)
$ret .= "return " unless is_void_func( $func_ref );
$ret .= "funcs->$prefix.p_$name($call_arg);\n";
$ret .= "}\n";
# Return this string....
return $ret;
}
@ -300,8 +233,8 @@ sub generate_spec_entry($$)
my $param = $arg->textContent();
if ($param =~ /[[*]/) {
$args .= "ptr ";
} elsif (defined($arg_conv{$ptype})) {
$args .= "$@$arg_conv{$ptype}[0] ";
} elsif (defined($arg_types{$ptype})) {
$args .= "$@$arg_types{$ptype}[0] ";
} else {
die "No conversion for func $name type $param\n";
}
@ -335,12 +268,12 @@ sub get_func_proto($$$)
{
my ($format, $name, $func) = @_;
die "unknown func $name" unless defined $func->[0];
my $proto = ConvertType( $func->[0]->textContent() );
my $proto = ConvertType( $func->[0] );
$proto =~ s/ $//;
my $args = "";
foreach my $arg (@{$func->[1]})
{
$args .= " " . ConvertType( $arg->textContent() ) . ",";
$args .= " " . ConvertType( $arg ) . ",";
}
$args =~ s/,$/ /;
$args ||= "void";
@ -396,6 +329,7 @@ if ($version eq "1.0") {
my %norm_functions;
my %ext_functions;
my %wgl_functions;
my (%gl_types, @gl_types); # also use an array to preserve declaration order
my %supported_wgl_functions =
(
@ -480,6 +414,17 @@ sub parse_file($$)
}
}
# save all types
foreach my $type ($xml->findnodes("/registry/types/type"))
{
next if $type->{api};
my $name = @{$type->findnodes("./name")}[0];
next unless $name;
$name = $name->textContent;
push @gl_types, $name unless $gl_types{$name};
$gl_types{$name} = $type;
}
# generate norm functions
foreach my $feature ($xml->findnodes("/registry/feature"))
{
@ -636,10 +581,9 @@ print HEADER "#endif\n\n";
print HEADER "#undef near\n";
print HEADER "#undef far\n\n";
foreach (sort keys %arg_conv)
foreach (@gl_types)
{
next unless $arg_conv{$_}[1];
printf HEADER "typedef %-22s %s;\n", $arg_conv{$_}[1], $_;
printf HEADER $gl_types{$_}->textContent() . "\n";
}
print HEADER "\n";

View File

@ -940,7 +940,7 @@ static void WINAPI glBufferStorage( GLenum target, GLsizeiptr size, const void *
funcs->ext.p_glBufferStorage( target, size, data, flags );
}
static void WINAPI glBufferStorageExternalEXT( GLenum target, GLintptr offset, GLsizeiptr size, void * clientBuffer, GLbitfield flags )
static void WINAPI glBufferStorageExternalEXT( GLenum target, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags )
{
const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
TRACE( "(%d, %ld, %ld, %p, %d)\n", target, offset, size, clientBuffer, flags );
@ -2270,7 +2270,7 @@ static void WINAPI glCreateStatesNV( GLsizei n, GLuint *states )
funcs->ext.p_glCreateStatesNV( n, states );
}
static GLsync WINAPI glCreateSyncFromCLeventARB( void *context, void *event, GLbitfield flags )
static GLsync WINAPI glCreateSyncFromCLeventARB( struct _cl_context *context, struct _cl_event *event, GLbitfield flags )
{
const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
TRACE( "(%p, %p, %d)\n", context, event, flags );
@ -2319,21 +2319,21 @@ static void WINAPI glCurrentPaletteMatrixARB( GLint index )
funcs->ext.p_glCurrentPaletteMatrixARB( index );
}
static void WINAPI glDebugMessageCallback( void * callback, const void *userParam )
static void WINAPI glDebugMessageCallback( GLDEBUGPROC callback, const void *userParam )
{
const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
TRACE( "(%p, %p)\n", callback, userParam );
funcs->ext.p_glDebugMessageCallback( callback, userParam );
}
static void WINAPI glDebugMessageCallbackAMD( void * callback, void *userParam )
static void WINAPI glDebugMessageCallbackAMD( GLDEBUGPROCAMD callback, void *userParam )
{
const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
TRACE( "(%p, %p)\n", callback, userParam );
funcs->ext.p_glDebugMessageCallbackAMD( callback, userParam );
}
static void WINAPI glDebugMessageCallbackARB( void * callback, const void *userParam )
static void WINAPI glDebugMessageCallbackARB( GLDEBUGPROCARB callback, const void *userParam )
{
const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
TRACE( "(%p, %p)\n", callback, userParam );
@ -6836,7 +6836,7 @@ static void WINAPI glGetVideouivNV( GLuint video_slot, GLenum pname, GLuint *par
funcs->ext.p_glGetVideouivNV( video_slot, pname, params );
}
static void * WINAPI glGetVkProcAddrNV( const GLchar *name )
static GLVULKANPROCNV WINAPI glGetVkProcAddrNV( const GLchar *name )
{
const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
TRACE( "(%p)\n", name );
@ -9804,7 +9804,7 @@ static void WINAPI glNamedBufferStorageEXT( GLuint buffer, GLsizeiptr size, cons
funcs->ext.p_glNamedBufferStorageEXT( buffer, size, data, flags );
}
static void WINAPI glNamedBufferStorageExternalEXT( GLuint buffer, GLintptr offset, GLsizeiptr size, void * clientBuffer, GLbitfield flags )
static void WINAPI glNamedBufferStorageExternalEXT( GLuint buffer, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags )
{
const struct opengl_funcs *funcs = NtCurrentTeb()->glTable;
TRACE( "(%d, %ld, %ld, %p, %d)\n", buffer, offset, size, clientBuffer, flags );

View File

@ -2826,7 +2826,7 @@ static void null_glBufferPageCommitmentARB( GLenum target, GLintptr offset, GLsi
static void null_glBufferParameteriAPPLE( GLenum target, GLenum pname, GLint param ) { }
static GLuint null_glBufferRegionEnabled(void) { return 0; }
static void null_glBufferStorage( GLenum target, GLsizeiptr size, const void *data, GLbitfield flags ) { }
static void null_glBufferStorageExternalEXT( GLenum target, GLintptr offset, GLsizeiptr size, void * clientBuffer, GLbitfield flags ) { }
static void null_glBufferStorageExternalEXT( GLenum target, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags ) { }
static void null_glBufferStorageMemEXT( GLenum target, GLsizeiptr size, GLuint memory, GLuint64 offset ) { }
static void null_glBufferSubData( GLenum target, GLintptr offset, GLsizeiptr size, const void *data ) { }
static void null_glBufferSubDataARB( GLenum target, GLintptrARB offset, GLsizeiptrARB size, const void *data ) { }
@ -3016,16 +3016,16 @@ static GLhandleARB null_glCreateShaderObjectARB( GLenum shaderType ) { return 0;
static GLuint null_glCreateShaderProgramEXT( GLenum type, const GLchar *string ) { return 0; }
static GLuint null_glCreateShaderProgramv( GLenum type, GLsizei count, const GLchar *const*strings ) { return 0; }
static void null_glCreateStatesNV( GLsizei n, GLuint *states ) { }
static GLsync null_glCreateSyncFromCLeventARB( void *context, void *event, GLbitfield flags ) { return 0; }
static GLsync null_glCreateSyncFromCLeventARB( struct _cl_context *context, struct _cl_event *event, GLbitfield flags ) { return 0; }
static void null_glCreateTextures( GLenum target, GLsizei n, GLuint *textures ) { }
static void null_glCreateTransformFeedbacks( GLsizei n, GLuint *ids ) { }
static void null_glCreateVertexArrays( GLsizei n, GLuint *arrays ) { }
static void null_glCullParameterdvEXT( GLenum pname, GLdouble *params ) { }
static void null_glCullParameterfvEXT( GLenum pname, GLfloat *params ) { }
static void null_glCurrentPaletteMatrixARB( GLint index ) { }
static void null_glDebugMessageCallback( void * callback, const void *userParam ) { }
static void null_glDebugMessageCallbackAMD( void * callback, void *userParam ) { }
static void null_glDebugMessageCallbackARB( void * callback, const void *userParam ) { }
static void null_glDebugMessageCallback( GLDEBUGPROC callback, const void *userParam ) { }
static void null_glDebugMessageCallbackAMD( GLDEBUGPROCAMD callback, void *userParam ) { }
static void null_glDebugMessageCallbackARB( GLDEBUGPROCARB callback, const void *userParam ) { }
static void null_glDebugMessageControl( GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled ) { }
static void null_glDebugMessageControlARB( GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled ) { }
static void null_glDebugMessageEnableAMD( GLenum category, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled ) { }
@ -3669,7 +3669,7 @@ static void null_glGetVideoi64vNV( GLuint video_slot, GLenum pname, GLint64EXT *
static void null_glGetVideoivNV( GLuint video_slot, GLenum pname, GLint *params ) { }
static void null_glGetVideoui64vNV( GLuint video_slot, GLenum pname, GLuint64EXT *params ) { }
static void null_glGetVideouivNV( GLuint video_slot, GLenum pname, GLuint *params ) { }
static void * null_glGetVkProcAddrNV( const GLchar *name ) { return 0; }
static GLVULKANPROCNV null_glGetVkProcAddrNV( const GLchar *name ) { return 0; }
static void null_glGetnColorTable( GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *table ) { }
static void null_glGetnColorTableARB( GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *table ) { }
static void null_glGetnCompressedTexImage( GLenum target, GLint lod, GLsizei bufSize, void *pixels ) { }
@ -4093,7 +4093,7 @@ static void null_glNamedBufferPageCommitmentARB( GLuint buffer, GLintptr offset,
static void null_glNamedBufferPageCommitmentEXT( GLuint buffer, GLintptr offset, GLsizeiptr size, GLboolean commit ) { }
static void null_glNamedBufferStorage( GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags ) { }
static void null_glNamedBufferStorageEXT( GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags ) { }
static void null_glNamedBufferStorageExternalEXT( GLuint buffer, GLintptr offset, GLsizeiptr size, void * clientBuffer, GLbitfield flags ) { }
static void null_glNamedBufferStorageExternalEXT( GLuint buffer, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags ) { }
static void null_glNamedBufferStorageMemEXT( GLuint buffer, GLsizeiptr size, GLuint memory, GLuint64 offset ) { }
static void null_glNamedBufferSubData( GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data ) { }
static void null_glNamedBufferSubDataEXT( GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data ) { }

View File

@ -24,7 +24,6 @@
#include "wine/wgl.h"
#define MAX_FORMATS 256
DECLARE_HANDLE(HPBUFFERARB);
/* WGL_ARB_create_context */
static HGLRC (WINAPI *pwglCreateContextAttribsARB)(HDC hDC, HGLRC hShareContext, const int *attribList);

View File

@ -22,6 +22,24 @@ License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
</comment>
<types>
<!-- Override some types for Win32 API -->
<type>typedef INT_PTR <name>GLintptr</name>;</type>
<type>typedef INT_PTR <name>GLsizeiptr</name>;</type>
<type>typedef INT64 <name>GLint64</name>;</type>
<type>typedef UINT64 <name>GLuint64</name>;</type>
<type>typedef INT_PTR <name>GLintptrARB</name>;</type>
<type>typedef INT_PTR <name>GLsizeiptrARB</name>;</type>
<type>typedef INT64 <name>GLint64EXT</name>;</type>
<type>typedef UINT64 <name>GLuint64EXT</name>;</type>
<type>typedef unsigned int <name>GLhandleARB</name>;</type>
<type>typedef void *<name>GLDEBUGPROC</name>;</type>
<type>typedef void *<name>GLDEBUGPROCAMD</name>;</type>
<type>typedef void *<name>GLDEBUGPROCARB</name>;</type>
<type>typedef void *<name>GLDEBUGPROCKHR</name>;</type>
<type>typedef void *<name>GLVULKANPROCNV</name>;</type>
</types>
<commands namespace="GL">
<command>
<proto>GLint <name>glDebugEntry</name></proto>

View File

@ -10,38 +10,64 @@
#undef near
#undef far
typedef unsigned int GLbitfield;
typedef unsigned char GLboolean;
typedef signed char GLbyte;
typedef char GLchar;
typedef char GLcharARB;
typedef double GLclampd;
typedef float GLclampf;
typedef int GLclampx;
typedef double GLdouble;
typedef unsigned int GLenum;
typedef int GLfixed;
typedef float GLfloat;
typedef unsigned short GLhalfNV;
typedef unsigned int GLhandleARB;
typedef int GLint;
typedef INT64 GLint64;
typedef INT64 GLint64EXT;
typedef INT_PTR GLintptr;
typedef INT_PTR GLintptrARB;
typedef short GLshort;
typedef int GLsizei;
typedef INT_PTR GLsizeiptr;
typedef INT_PTR GLsizeiptrARB;
typedef const unsigned char * GLstring;
typedef struct __GLsync * GLsync;
typedef unsigned char GLubyte;
typedef unsigned int GLuint;
typedef UINT64 GLuint64;
typedef UINT64 GLuint64EXT;
typedef unsigned short GLushort;
typedef INT_PTR GLvdpauSurfaceNV;
typedef void GLvoid;
typedef unsigned int GLenum;
typedef unsigned char GLboolean;
typedef unsigned int GLbitfield;
typedef void GLvoid;
typedef signed char GLbyte;
typedef short GLshort;
typedef int GLint;
typedef int GLclampx;
typedef unsigned char GLubyte;
typedef unsigned short GLushort;
typedef unsigned int GLuint;
typedef int GLsizei;
typedef float GLfloat;
typedef float GLclampf;
typedef double GLdouble;
typedef double GLclampd;
typedef void *GLeglClientBufferEXT;
typedef void *GLeglImageOES;
typedef char GLchar;
typedef char GLcharARB;
typedef unsigned short GLhalfARB;
typedef unsigned short GLhalf;
typedef GLint GLfixed;
typedef INT_PTR GLintptr;
typedef INT_PTR GLsizeiptr;
typedef INT64 GLint64;
typedef UINT64 GLuint64;
typedef INT_PTR GLintptrARB;
typedef INT_PTR GLsizeiptrARB;
typedef INT64 GLint64EXT;
typedef UINT64 GLuint64EXT;
typedef struct __GLsync *GLsync;
struct _cl_context;
struct _cl_event;
typedef void *GLDEBUGPROC;
typedef void *GLDEBUGPROCARB;
typedef void *GLDEBUGPROCKHR;
typedef void *GLDEBUGPROCAMD;
typedef unsigned short GLhalfNV;
typedef GLintptr GLvdpauSurfaceNV;
typedef void *GLVULKANPROCNV;
struct _GPU_DEVICE {
DWORD cb;
CHAR DeviceName[32];
CHAR DeviceString[128];
DWORD Flags;
RECT rcVirtualScreen;
};
DECLARE_HANDLE(HPBUFFERARB);
DECLARE_HANDLE(HPBUFFEREXT);
DECLARE_HANDLE(HVIDEOOUTPUTDEVICENV);
DECLARE_HANDLE(HPVIDEODEV);
DECLARE_HANDLE(HPGPUNV);
DECLARE_HANDLE(HGPUNV);
DECLARE_HANDLE(HVIDEOINPUTDEVICENV);
typedef struct _GPU_DEVICE GPU_DEVICE;
typedef struct _GPU_DEVICE *PGPU_DEVICE;
typedef unsigned int GLhandleARB;
#define GL_1PASS_EXT 0x80A1
#define GL_1PASS_SGIS 0x80A1

View File

@ -502,7 +502,7 @@ struct opengl_funcs
void (WINE_GLAPI *p_glBufferParameteriAPPLE)( GLenum target, GLenum pname, GLint param );
GLuint (WINE_GLAPI *p_glBufferRegionEnabled)(void);
void (WINE_GLAPI *p_glBufferStorage)( GLenum target, GLsizeiptr size, const void *data, GLbitfield flags );
void (WINE_GLAPI *p_glBufferStorageExternalEXT)( GLenum target, GLintptr offset, GLsizeiptr size, void * clientBuffer, GLbitfield flags );
void (WINE_GLAPI *p_glBufferStorageExternalEXT)( GLenum target, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags );
void (WINE_GLAPI *p_glBufferStorageMemEXT)( GLenum target, GLsizeiptr size, GLuint memory, GLuint64 offset );
void (WINE_GLAPI *p_glBufferSubData)( GLenum target, GLintptr offset, GLsizeiptr size, const void *data );
void (WINE_GLAPI *p_glBufferSubDataARB)( GLenum target, GLintptrARB offset, GLsizeiptrARB size, const void *data );
@ -692,16 +692,16 @@ struct opengl_funcs
GLuint (WINE_GLAPI *p_glCreateShaderProgramEXT)( GLenum type, const GLchar *string );
GLuint (WINE_GLAPI *p_glCreateShaderProgramv)( GLenum type, GLsizei count, const GLchar *const*strings );
void (WINE_GLAPI *p_glCreateStatesNV)( GLsizei n, GLuint *states );
GLsync (WINE_GLAPI *p_glCreateSyncFromCLeventARB)( void *context, void *event, GLbitfield flags );
GLsync (WINE_GLAPI *p_glCreateSyncFromCLeventARB)( struct _cl_context *context, struct _cl_event *event, GLbitfield flags );
void (WINE_GLAPI *p_glCreateTextures)( GLenum target, GLsizei n, GLuint *textures );
void (WINE_GLAPI *p_glCreateTransformFeedbacks)( GLsizei n, GLuint *ids );
void (WINE_GLAPI *p_glCreateVertexArrays)( GLsizei n, GLuint *arrays );
void (WINE_GLAPI *p_glCullParameterdvEXT)( GLenum pname, GLdouble *params );
void (WINE_GLAPI *p_glCullParameterfvEXT)( GLenum pname, GLfloat *params );
void (WINE_GLAPI *p_glCurrentPaletteMatrixARB)( GLint index );
void (WINE_GLAPI *p_glDebugMessageCallback)( void * callback, const void *userParam );
void (WINE_GLAPI *p_glDebugMessageCallbackAMD)( void * callback, void *userParam );
void (WINE_GLAPI *p_glDebugMessageCallbackARB)( void * callback, const void *userParam );
void (WINE_GLAPI *p_glDebugMessageCallback)( GLDEBUGPROC callback, const void *userParam );
void (WINE_GLAPI *p_glDebugMessageCallbackAMD)( GLDEBUGPROCAMD callback, void *userParam );
void (WINE_GLAPI *p_glDebugMessageCallbackARB)( GLDEBUGPROCARB callback, const void *userParam );
void (WINE_GLAPI *p_glDebugMessageControl)( GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled );
void (WINE_GLAPI *p_glDebugMessageControlARB)( GLenum source, GLenum type, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled );
void (WINE_GLAPI *p_glDebugMessageEnableAMD)( GLenum category, GLenum severity, GLsizei count, const GLuint *ids, GLboolean enabled );
@ -1345,7 +1345,7 @@ struct opengl_funcs
void (WINE_GLAPI *p_glGetVideoivNV)( GLuint video_slot, GLenum pname, GLint *params );
void (WINE_GLAPI *p_glGetVideoui64vNV)( GLuint video_slot, GLenum pname, GLuint64EXT *params );
void (WINE_GLAPI *p_glGetVideouivNV)( GLuint video_slot, GLenum pname, GLuint *params );
void * (WINE_GLAPI *p_glGetVkProcAddrNV)( const GLchar *name );
GLVULKANPROCNV (WINE_GLAPI *p_glGetVkProcAddrNV)( const GLchar *name );
void (WINE_GLAPI *p_glGetnColorTable)( GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *table );
void (WINE_GLAPI *p_glGetnColorTableARB)( GLenum target, GLenum format, GLenum type, GLsizei bufSize, void *table );
void (WINE_GLAPI *p_glGetnCompressedTexImage)( GLenum target, GLint lod, GLsizei bufSize, void *pixels );
@ -1769,7 +1769,7 @@ struct opengl_funcs
void (WINE_GLAPI *p_glNamedBufferPageCommitmentEXT)( GLuint buffer, GLintptr offset, GLsizeiptr size, GLboolean commit );
void (WINE_GLAPI *p_glNamedBufferStorage)( GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags );
void (WINE_GLAPI *p_glNamedBufferStorageEXT)( GLuint buffer, GLsizeiptr size, const void *data, GLbitfield flags );
void (WINE_GLAPI *p_glNamedBufferStorageExternalEXT)( GLuint buffer, GLintptr offset, GLsizeiptr size, void * clientBuffer, GLbitfield flags );
void (WINE_GLAPI *p_glNamedBufferStorageExternalEXT)( GLuint buffer, GLintptr offset, GLsizeiptr size, GLeglClientBufferEXT clientBuffer, GLbitfield flags );
void (WINE_GLAPI *p_glNamedBufferStorageMemEXT)( GLuint buffer, GLsizeiptr size, GLuint memory, GLuint64 offset );
void (WINE_GLAPI *p_glNamedBufferSubData)( GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data );
void (WINE_GLAPI *p_glNamedBufferSubDataEXT)( GLuint buffer, GLintptr offset, GLsizeiptr size, const void *data );

View File

@ -431,34 +431,6 @@ extern "C" {
/*************************************************************/
#ifndef WGL_ARB_pbuffer
DECLARE_HANDLE(HPBUFFERARB);
#endif
#ifndef WGL_EXT_pbuffer
DECLARE_HANDLE(HPBUFFEREXT);
#endif
#ifndef WGL_NV_present_video
DECLARE_HANDLE(HVIDEOOUTPUTDEVICENV);
#endif
#ifndef WGL_NV_video_output
DECLARE_HANDLE(HPVIDEODEV);
#endif
#ifndef WGL_NV_gpu_affinity
DECLARE_HANDLE(HPGPUNV);
DECLARE_HANDLE(HGPUNV);
typedef struct _GPU_DEVICE {
DWORD cb;
CHAR DeviceName[32];
CHAR DeviceString[128];
DWORD Flags;
RECT rcVirtualScreen;
} GPU_DEVICE, *PGPU_DEVICE;
#endif
#ifndef WGL_NV_video_capture
DECLARE_HANDLE(HVIDEOINPUTDEVICENV);
#endif
#ifndef WGL_ARB_buffer_region
#define WGL_ARB_buffer_region 1
#ifdef WGL_WGLEXT_PROTOTYPES