From: Rémi Bernon <rbernon(a)codeweavers.com> --- dlls/winemac.drv/opengl.c | 45 +++++++++------------------------------ 1 file changed, 10 insertions(+), 35 deletions(-) diff --git a/dlls/winemac.drv/opengl.c b/dlls/winemac.drv/opengl.c index 0c64d459ad9..5d4bcadcdfa 100644 --- a/dlls/winemac.drv/opengl.c +++ b/dlls/winemac.drv/opengl.c @@ -98,6 +98,7 @@ static pthread_mutex_t dc_pbuffers_mutex = PTHREAD_MUTEX_INITIALIZER; static struct opengl_funcs opengl_funcs; +static const struct opengl_driver_funcs macdrv_driver_funcs; static void (*pglCopyColorTable)(GLenum target, GLenum internalformat, GLint x, GLint y, GLsizei width); @@ -3032,32 +3033,6 @@ static BOOL macdrv_wglDestroyPbufferARB(struct wgl_pbuffer *pbuffer) } -/********************************************************************** - * macdrv_wglGetExtensionsStringARB - * - * WGL_ARB_extensions_string: wglGetExtensionsStringARB - */ -static const char *macdrv_wglGetExtensionsStringARB(HDC hdc) -{ - /* FIXME: Since we're given an HDC, this should be device-specific. I.e. - this can be specific to the CGL renderer like we're supposed to do. */ - TRACE("returning \"%s\"\n", gl_info.wglExtensions); - return gl_info.wglExtensions; -} - - -/********************************************************************** - * macdrv_wglGetExtensionsStringEXT - * - * WGL_EXT_extensions_string: wglGetExtensionsStringEXT - */ -static const char *macdrv_wglGetExtensionsStringEXT(void) -{ - TRACE("returning \"%s\"\n", gl_info.wglExtensions); - return gl_info.wglExtensions; -} - - /********************************************************************** * macdrv_wglGetPbufferDCARB * @@ -4073,14 +4048,11 @@ static void register_extension(const char *ext) TRACE("'%s'\n", ext); } -static void load_extensions(void) +static const char *macdrv_init_wgl_extensions(void) { /* * ARB Extensions */ - register_extension("WGL_ARB_extensions_string"); - opengl_funcs.p_wglGetExtensionsStringARB = macdrv_wglGetExtensionsStringARB; - register_extension("WGL_ARB_make_current_read"); opengl_funcs.p_wglGetCurrentReadDCARB = (void *)1; /* never called */ opengl_funcs.p_wglMakeContextCurrentARB = macdrv_wglMakeContextCurrentARB; @@ -4128,9 +4100,6 @@ static void load_extensions(void) /* * EXT Extensions */ - register_extension("WGL_EXT_extensions_string"); - opengl_funcs.p_wglGetExtensionsStringEXT = macdrv_wglGetExtensionsStringEXT; - if (allow_vsync) { register_extension("WGL_EXT_swap_control"); @@ -4161,8 +4130,9 @@ static void load_extensions(void) opengl_funcs.p_wglQueryCurrentRendererStringWINE = macdrv_wglQueryCurrentRendererStringWINE; opengl_funcs.p_wglQueryRendererIntegerWINE = macdrv_wglQueryRendererIntegerWINE; opengl_funcs.p_wglQueryRendererStringWINE = macdrv_wglQueryRendererStringWINE; -} + return gl_info.wglExtensions; +} /********************************************************************** * macdrv_OpenGLInit @@ -4226,11 +4196,11 @@ UINT macdrv_OpenGLInit(UINT version, struct opengl_funcs **funcs, const struct o if (gluCheckExtension((GLubyte*)"GL_APPLE_flush_render", (GLubyte*)gl_info.glExtensions)) pglFlushRenderAPPLE = dlsym(opengl_handle, "glFlushRenderAPPLE"); - load_extensions(); if (!init_pixel_formats()) goto failed; *funcs = &opengl_funcs; + *driver_funcs = &macdrv_driver_funcs; return STATUS_SUCCESS; failed: @@ -4568,6 +4538,11 @@ static void macdrv_get_pixel_formats(struct wgl_pixel_format *formats, *num_onscreen_formats = nb_displayable_formats; } +static const struct opengl_driver_funcs macdrv_driver_funcs = +{ + .p_init_wgl_extensions = macdrv_init_wgl_extensions, +}; + static struct opengl_funcs opengl_funcs = { .p_wglCopyContext = macdrv_wglCopyContext, -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/7666