From: Jacek Caban jacek@codeweavers.com
--- dlls/opengl32/make_opengl | 30 ++++++++++++++++++++++++++++++ dlls/opengl32/unix_private.h | 31 ------------------------------- dlls/opengl32/unix_thunks.h | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 62 insertions(+), 31 deletions(-)
diff --git a/dlls/opengl32/make_opengl b/dlls/opengl32/make_opengl index a71b6067865..4c0162b1df5 100755 --- a/dlls/opengl32/make_opengl +++ b/dlls/opengl32/make_opengl @@ -432,6 +432,17 @@ sub generate_unix_thunk($$$) return $ret; }
+sub generate_wrapper_declaration($$) +{ + my ($name, $func) = @_; + my $ret = "extern " . get_func_ret( $func, 0 ); + my $decl_args = get_func_args( $func, 1, 0, "" ); + $ret .= " wrap_$name( TEB *teb"; + $ret .= " ,$decl_args" unless $decl_args eq "void"; + $ret .= ");\n"; + return $ret; +} + sub generate_win_thunk($$) { my ($name, $func) = @_; @@ -1276,6 +1287,25 @@ close OUT; open OUT, ">unix_thunks.h" or die "cannot create unix_thunks.h"; print OUT "/* Automatically generated from http://www.opengl.org/registry files; DO NOT EDIT! */\n\n";
+foreach (sort keys %wgl_functions) +{ + next if !needs_wrapper( $_, $wgl_functions{$_} ); + print OUT generate_wrapper_declaration($_, $wgl_functions{$_}); +} +foreach (sort keys %norm_functions) +{ + next if !needs_wrapper( $_, $norm_functions{$_} ); + print OUT generate_wrapper_declaration($_, $norm_functions{$_}); +} +foreach (sort keys %ext_functions) +{ + next if $_ =~ /^egl/; # unix-side only API + next if !needs_wrapper( $_, $ext_functions{$_} ); + print OUT generate_wrapper_declaration($_, $ext_functions{$_}); +} + +print OUT "\n"; + foreach (sort keys %wgl_functions) { next if defined $manual_win_functions{$_}; diff --git a/dlls/opengl32/unix_private.h b/dlls/opengl32/unix_private.h index 683569e0f55..e83b7f35c02 100644 --- a/dlls/opengl32/unix_private.h +++ b/dlls/opengl32/unix_private.h @@ -75,37 +75,6 @@ extern NTSTATUS process_attach( void *args ); extern NTSTATUS thread_attach( void *args ); extern NTSTATUS process_detach( void *args ); extern NTSTATUS get_pixel_formats( void *args ); - -extern BOOL wrap_wglCopyContext( TEB *teb, HGLRC hglrcSrc, HGLRC hglrcDst, UINT mask ); -extern HGLRC wrap_wglCreateContext( TEB *teb, HDC hDc ); -extern BOOL wrap_wglDeleteContext( TEB *teb, HGLRC oldContext ); -extern PROC wrap_wglGetProcAddress( TEB *teb, LPCSTR lpszProc ); -extern BOOL wrap_wglMakeCurrent( TEB *teb, HDC hDc, HGLRC newContext ); -extern void wrap_glFinish( TEB *teb ); -extern void wrap_glFlush( TEB *teb ); -extern void wrap_glClear( TEB *teb, GLbitfield mask ); -extern void wrap_glDrawPixels( TEB *teb, GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels ); -extern void wrap_glReadPixels( TEB *teb, GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels ); -extern void wrap_glViewport( TEB *teb, GLint x, GLint y, GLsizei width, GLsizei height ); -extern BOOL wrap_wglSwapBuffers( TEB *teb, HDC hdc ); -extern BOOL wrap_wglShareLists( TEB *teb, HGLRC hrcSrvShare, HGLRC hrcSrvSource ); -extern void wrap_glGetIntegerv( TEB *teb, GLenum pname, GLint *data ); -extern const GLubyte * wrap_glGetString( TEB *teb, GLenum name ); -extern void wrap_glDebugMessageCallback( TEB *teb, GLDEBUGPROC callback, const void *userParam ); -extern void wrap_glDebugMessageCallbackAMD( TEB *teb, GLDEBUGPROCAMD callback, void *userParam ); -extern void wrap_glDebugMessageCallbackARB( TEB *teb, GLDEBUGPROCARB callback, const void *userParam ); -extern const GLubyte * wrap_glGetStringi( TEB *teb, GLenum name, GLuint index ); -extern BOOL wrap_wglBindTexImageARB( TEB *teb, HPBUFFERARB hPbuffer, int iBuffer ); -extern HGLRC wrap_wglCreateContextAttribsARB( TEB *teb, HDC hDC, HGLRC hShareContext, const int *attribList ); -extern HPBUFFERARB wrap_wglCreatePbufferARB( TEB *teb, HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList ); -extern BOOL wrap_wglDestroyPbufferARB( TEB *teb, HPBUFFERARB hPbuffer ); -extern HDC wrap_wglGetPbufferDCARB( TEB *teb, HPBUFFERARB hPbuffer ); -extern BOOL wrap_wglMakeContextCurrentARB( TEB *teb, HDC hDrawDC, HDC hReadDC, HGLRC hglrc ); -extern BOOL wrap_wglQueryPbufferARB( TEB *teb, HPBUFFERARB hPbuffer, int iAttribute, int *piValue ); -extern int wrap_wglReleasePbufferDCARB( TEB *teb, HPBUFFERARB hPbuffer, HDC hDC ); -extern BOOL wrap_wglReleaseTexImageARB( TEB *teb, HPBUFFERARB hPbuffer, int iBuffer ); -extern BOOL wrap_wglSetPbufferAttribARB( TEB *teb, HPBUFFERARB hPbuffer, const int *piAttribList ); - extern void set_context_attribute( TEB *teb, GLenum name, const void *value, size_t size );
#endif /* __WINE_OPENGL32_UNIX_PRIVATE_H */ diff --git a/dlls/opengl32/unix_thunks.h b/dlls/opengl32/unix_thunks.h index 181415a0b46..93573510057 100644 --- a/dlls/opengl32/unix_thunks.h +++ b/dlls/opengl32/unix_thunks.h @@ -1,5 +1,37 @@ /* Automatically generated from http://www.opengl.org/registry files; DO NOT EDIT! */
+extern BOOL wrap_wglCopyContext( TEB *teb , HGLRC hglrcSrc, HGLRC hglrcDst, UINT mask ); +extern HGLRC wrap_wglCreateContext( TEB *teb , HDC hDc ); +extern HGLRC wrap_wglCreateLayerContext( TEB *teb , HDC hDc, int level ); +extern BOOL wrap_wglDeleteContext( TEB *teb , HGLRC oldContext ); +extern HGLRC wrap_wglGetCurrentContext( TEB *teb); +extern PROC wrap_wglGetProcAddress( TEB *teb , LPCSTR lpszProc ); +extern BOOL wrap_wglMakeCurrent( TEB *teb , HDC hDc, HGLRC newContext ); +extern BOOL wrap_wglShareLists( TEB *teb , HGLRC hrcSrvShare, HGLRC hrcSrvSource ); +extern BOOL wrap_wglSwapBuffers( TEB *teb , HDC hdc ); +extern void wrap_glClear( TEB *teb , GLbitfield mask ); +extern void wrap_glDrawPixels( TEB *teb , GLsizei width, GLsizei height, GLenum format, GLenum type, const void *pixels ); +extern void wrap_glFinish( TEB *teb); +extern void wrap_glFlush( TEB *teb); +extern void wrap_glGetIntegerv( TEB *teb , GLenum pname, GLint *data ); +extern const GLubyte * wrap_glGetString( TEB *teb , GLenum name ); +extern void wrap_glReadPixels( TEB *teb , GLint x, GLint y, GLsizei width, GLsizei height, GLenum format, GLenum type, void *pixels ); +extern void wrap_glViewport( TEB *teb , GLint x, GLint y, GLsizei width, GLsizei height ); +extern void wrap_glDebugMessageCallback( TEB *teb , GLDEBUGPROC callback, const void *userParam ); +extern void wrap_glDebugMessageCallbackAMD( TEB *teb , GLDEBUGPROCAMD callback, void *userParam ); +extern void wrap_glDebugMessageCallbackARB( TEB *teb , GLDEBUGPROCARB callback, const void *userParam ); +extern const GLubyte * wrap_glGetStringi( TEB *teb , GLenum name, GLuint index ); +extern BOOL wrap_wglBindTexImageARB( TEB *teb , HPBUFFERARB hPbuffer, int iBuffer ); +extern HGLRC wrap_wglCreateContextAttribsARB( TEB *teb , HDC hDC, HGLRC hShareContext, const int *attribList ); +extern HPBUFFERARB wrap_wglCreatePbufferARB( TEB *teb , HDC hDC, int iPixelFormat, int iWidth, int iHeight, const int *piAttribList ); +extern BOOL wrap_wglDestroyPbufferARB( TEB *teb , HPBUFFERARB hPbuffer ); +extern HDC wrap_wglGetPbufferDCARB( TEB *teb , HPBUFFERARB hPbuffer ); +extern BOOL wrap_wglMakeContextCurrentARB( TEB *teb , HDC hDrawDC, HDC hReadDC, HGLRC hglrc ); +extern BOOL wrap_wglQueryPbufferARB( TEB *teb , HPBUFFERARB hPbuffer, int iAttribute, int *piValue ); +extern int wrap_wglReleasePbufferDCARB( TEB *teb , HPBUFFERARB hPbuffer, HDC hDC ); +extern BOOL wrap_wglReleaseTexImageARB( TEB *teb , HPBUFFERARB hPbuffer, int iBuffer ); +extern BOOL wrap_wglSetPbufferAttribARB( TEB *teb , HPBUFFERARB hPbuffer, const int *piAttribList ); + extern NTSTATUS wgl_wglCreateContext( void *args ); extern NTSTATUS wow64_wgl_wglCreateContext( void *args ); extern NTSTATUS wgl_wglDeleteContext( void *args );