From cf55e36e97dc5108d263a11972149cfa7aa76c04 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebasti=C3=A1n=20Aedo?= Date: Wed, 15 Jun 2022 17:48:09 -0400 Subject: [PATCH] winex11.drv: Change order register_extension for WGL_ARB_pixel_format_float. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Some processes use very naive string matching when detecting extensions, for example, Cossacks III checks if the extension is "contained" in the current extension is checking, causing that `WGL_ARB_pixel_format` is contained in `WGL_ARB_pixel_format_float`, but it ends up with the flag deactivated because they aren't the same. This makes it consistent with the behavior on winemac.drv/opengl.c too. CW-Bug-Id: #20532 Signed-off-by: Sebastián Aedo (cherry picked from commit fb7e468c32554d841fde695c03935e89ce94b049) --- dlls/winex11.drv/opengl.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/dlls/winex11.drv/opengl.c b/dlls/winex11.drv/opengl.c index 09fa64da897..cd1a9e84bb2 100644 --- a/dlls/winex11.drv/opengl.c +++ b/dlls/winex11.drv/opengl.c @@ -4517,11 +4517,6 @@ static void X11DRV_WineGL_LoadExtensions(void) register_extension("WGL_ARB_create_context_profile"); } - if (has_extension( glxExtensions, "GLX_ARB_fbconfig_float")) - { - register_extension("WGL_ARB_pixel_format_float"); - register_extension("WGL_ATI_pixel_format_float"); - } register_extension( "WGL_ARB_extensions_string" ); opengl_funcs.ext.p_wglGetExtensionsStringARB = X11DRV_wglGetExtensionsStringARB; @@ -4551,6 +4546,12 @@ static void X11DRV_WineGL_LoadExtensions(void) opengl_funcs.ext.p_wglGetPixelFormatAttribfvARB = X11DRV_wglGetPixelFormatAttribfvARB; opengl_funcs.ext.p_wglGetPixelFormatAttribivARB = X11DRV_wglGetPixelFormatAttribivARB; + if (has_extension( glxExtensions, "GLX_ARB_fbconfig_float")) + { + register_extension("WGL_ARB_pixel_format_float"); + register_extension("WGL_ATI_pixel_format_float"); + } + /* Support WGL_ARB_render_texture when there's support or pbuffer based emulation */ if (has_extension( glxExtensions, "GLX_ARB_render_texture") || (glxRequireVersion(3) && use_render_texture_emulation))