opengl32: Get type definitions from the XML files. Signed-off-by: Alexandre Julliard <julliard@winehq.org>
diff --git a/dlls/opengl32/make_opengl b/dlls/opengl32/make_opengl index 480ad68..dc30df5 100755 --- a/dlls/opengl32/make_opengl +++ b/dlls/opengl32/make_opengl
@@ -83,140 +83,80 @@ 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 @@ 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 @@ $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 @@ 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 @@ { 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 @@ 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 @@ } } + # 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 "#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";
diff --git a/dlls/opengl32/opengl_ext.c b/dlls/opengl32/opengl_ext.c index 7b22e68..91aa33d 100644 --- a/dlls/opengl32/opengl_ext.c +++ b/dlls/opengl32/opengl_ext.c
@@ -940,7 +940,7 @@ 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 @@ 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 @@ 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 @@ 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 @@ 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 );
diff --git a/dlls/opengl32/opengl_norm.c b/dlls/opengl32/opengl_norm.c index ca0a3ac..bebea25 100644 --- a/dlls/opengl32/opengl_norm.c +++ b/dlls/opengl32/opengl_norm.c
@@ -2826,7 +2826,7 @@ 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 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_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_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 ) { }
diff --git a/dlls/opengl32/tests/opengl.c b/dlls/opengl32/tests/opengl.c index dc15147..4b91842 100644 --- a/dlls/opengl32/tests/opengl.c +++ b/dlls/opengl32/tests/opengl.c
@@ -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);
diff --git a/dlls/opengl32/winegl.xml b/dlls/opengl32/winegl.xml index 2461d35..7918c3f 100644 --- a/dlls/opengl32/winegl.xml +++ b/dlls/opengl32/winegl.xml
@@ -22,6 +22,24 @@ 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>
diff --git a/include/wine/wgl.h b/include/wine/wgl.h index 1978183..4c146c2 100644 --- a/include/wine/wgl.h +++ b/include/wine/wgl.h
@@ -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
diff --git a/include/wine/wgl_driver.h b/include/wine/wgl_driver.h index 77b82c7..b7ac584 100644 --- a/include/wine/wgl_driver.h +++ b/include/wine/wgl_driver.h
@@ -502,7 +502,7 @@ 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 @@ 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 @@ 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 @@ 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 );
diff --git a/include/wine/wglext.h b/include/wine/wglext.h index 76c42c1..6ab8dd6 100644 --- a/include/wine/wglext.h +++ b/include/wine/wglext.h
@@ -431,34 +431,6 @@ /*************************************************************/ -#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