From: Rémi Bernon rbernon@codeweavers.com
--- dlls/wineandroid.drv/opengl.c | 43 ++++++++++++----------------------- 1 file changed, 15 insertions(+), 28 deletions(-)
diff --git a/dlls/wineandroid.drv/opengl.c b/dlls/wineandroid.drv/opengl.c index 0cfa45c77f1..311fea95f8b 100644 --- a/dlls/wineandroid.drv/opengl.c +++ b/dlls/wineandroid.drv/opengl.c @@ -305,24 +305,6 @@ static void describe_pixel_format( struct egl_pixel_format *fmt, PIXELFORMATDESC pfd->cRedShift = pfd->cGreenShift + pfd->cGreenBits; }
-/*********************************************************************** - * android_wglGetExtensionsStringARB - */ -static const char *android_wglGetExtensionsStringARB( HDC hdc ) -{ - TRACE( "() returning "%s"\n", wgl_extensions ); - return wgl_extensions; -} - -/*********************************************************************** - * android_wglGetExtensionsStringEXT - */ -static const char *android_wglGetExtensionsStringEXT(void) -{ - TRACE( "() returning "%s"\n", wgl_extensions ); - return wgl_extensions; -} - /*********************************************************************** * android_wglCreateContextAttribsARB */ @@ -636,24 +618,16 @@ static void register_extension( const char *ext ) TRACE( "%s\n", ext ); }
-static void init_extensions(void) +static const char *android_init_wgl_extensions(void) { - void *ptr; - register_extension("WGL_ARB_create_context"); register_extension("WGL_ARB_create_context_profile"); egl_funcs.p_wglCreateContextAttribsARB = android_wglCreateContextAttribsARB;
- register_extension("WGL_ARB_extensions_string"); - egl_funcs.p_wglGetExtensionsStringARB = android_wglGetExtensionsStringARB; - register_extension("WGL_ARB_make_current_read"); egl_funcs.p_wglGetCurrentReadDCARB = (void *)1; /* never called */ egl_funcs.p_wglMakeContextCurrentARB = android_wglMakeContextCurrentARB;
- register_extension("WGL_EXT_extensions_string"); - egl_funcs.p_wglGetExtensionsStringEXT = android_wglGetExtensionsStringEXT; - register_extension("WGL_EXT_swap_control"); egl_funcs.p_wglSwapIntervalEXT = android_wglSwapIntervalEXT; egl_funcs.p_wglGetSwapIntervalEXT = android_wglGetSwapIntervalEXT; @@ -666,6 +640,13 @@ static void init_extensions(void) register_extension("WGL_WINE_pixel_format_passthrough"); egl_funcs.p_wglSetPixelFormatWINE = android_wglSetPixelFormatWINE;
+ return wgl_extensions; +} + +static void init_opengl_funcs(void) +{ + void *ptr; + /* load standard functions and extensions exported from the OpenGL library */
#define USE_GL_FUNC(func) if ((ptr = dlsym( opengl_handle, #func ))) egl_funcs.p_##func = ptr; @@ -957,6 +938,11 @@ static void init_extensions(void) #undef REDIRECT }
+static const struct opengl_driver_funcs android_driver_funcs = +{ + .p_init_wgl_extensions = android_init_wgl_extensions, +}; + /********************************************************************** * ANDROID_OpenGLInit */ @@ -1044,8 +1030,9 @@ UINT ANDROID_OpenGLInit( UINT version, struct opengl_funcs **funcs, const struct if (!pass) nb_onscreen_formats = nb_pixel_formats; }
- init_extensions(); + init_opengl_funcs(); *funcs = &egl_funcs; + *driver_funcs = &android_driver_funcs; return STATUS_SUCCESS; }