From c3f580b6424031dc2f0748a3f953c12414a7848a Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Thu, 10 Dec 2015 06:08:16 +0100 Subject: [PATCH] opengl32-Revert_Disable_Ext: Update patch and definition file. --- README.md | 7 ++++- ...Return-a-NULL-pointer-for-functions-.patch | 28 ++++++++++++++----- .../opengl32-Revert_Disable_Ext/definition | 2 +- patches/patchinstall.sh | 4 +-- .../wined3d-CSMT_Main/9999-IfDefined.patch | 6 ++-- 5 files changed, 33 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 174747e7..788484c6 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,11 @@ Wine. All those differences are also documented on the Included bug fixes and improvements ----------------------------------- +**Bug fixes and features included in the next upcoming release [1]:** + +* Fix regression caused by blacklisting supported OpenGL extensions ([Wine Bug #39769](https://bugs.winehq.org/show_bug.cgi?id=39769)) + + **Bug fixes and features in Wine Staging 1.8-rc3 [269]:** *Note: The following list only contains features and bug fixes which are not @@ -159,7 +164,7 @@ for more details.* * Fix possible leak of explorer.exe processes and implement proper desktop refcounting * Fix possible segfault in pulse_rd_loop of PulseAudio backend * Fix race-condition when threads are killed during shutdown -* Fix regression caused by blacklisting supported OpenGL extensions ([Wine Bug #38480](https://bugs.winehq.org/show_bug.cgi?id=38480)) +* ~~Fix regression caused by blacklisting supported OpenGL extensions~~ ([Wine Bug #38480](https://bugs.winehq.org/show_bug.cgi?id=38480)) * Fix return value of ScrollWindowEx for invisible windows ([Wine Bug #37706](https://bugs.winehq.org/show_bug.cgi?id=37706)) * Fix scaling behaviour of images and mipmap levels in IDirect3DTexture2_Load (needed for example by Prezzie Hunt) * Fix texture corruption in CSI: Fatal Conspiracy ([Wine Bug #33768](https://bugs.winehq.org/show_bug.cgi?id=33768)) diff --git a/patches/opengl32-Revert_Disable_Ext/0001-Revert-opengl32-Return-a-NULL-pointer-for-functions-.patch b/patches/opengl32-Revert_Disable_Ext/0001-Revert-opengl32-Return-a-NULL-pointer-for-functions-.patch index f714df84..6435a85b 100644 --- a/patches/opengl32-Revert_Disable_Ext/0001-Revert-opengl32-Return-a-NULL-pointer-for-functions-.patch +++ b/patches/opengl32-Revert_Disable_Ext/0001-Revert-opengl32-Return-a-NULL-pointer-for-functions-.patch @@ -1,23 +1,37 @@ -From 8981a08726f04d4c0f8360dc469b532724199d62 Mon Sep 17 00:00:00 2001 +From 4e6408362a1435a59e08aef7ac161536fe13b6c3 Mon Sep 17 00:00:00 2001 From: Sebastian Lackner Date: Fri, 10 Apr 2015 08:17:22 +0200 Subject: Revert "opengl32: Return a NULL pointer for functions requiring unsupported or disabled extensions." -This reverts commit bfd4836867d6d90eaeae6ccbc02e37678b59b8f1. +This reverts commit bfd4836867d6d90eaeae6ccbc02e37678b59b8f1 and + 5c9ddc55dcf6e64d747b1a8ab01e408d4b8d55e1. --- - dlls/opengl32/wgl.c | 3 --- - 1 file changed, 3 deletions(-) + dlls/opengl32/wgl.c | 16 ---------------- + 1 file changed, 16 deletions(-) diff --git a/dlls/opengl32/wgl.c b/dlls/opengl32/wgl.c -index 9482c75..1903807 100644 +index 88aa564..75d3796 100644 --- a/dlls/opengl32/wgl.c +++ b/dlls/opengl32/wgl.c -@@ -875,10 +875,7 @@ PROC WINAPI wglGetProcAddress( LPCSTR name ) +@@ -877,23 +877,7 @@ PROC WINAPI wglGetProcAddress( LPCSTR name ) void *driver_func = funcs->wgl.p_wglGetProcAddress( name ); if (!is_extension_supported(ext_ret->extension)) - { +- unsigned int i; +- static const struct { const char *name, *alt; } alternatives[] = +- { +- { "glCopyTexSubImage3DEXT", "glCopyTexSubImage3D" }, /* needed by RuneScape */ +- }; +- +- for (i = 0; i < sizeof(alternatives)/sizeof(alternatives[0]); i++) +- { +- if (strcmp( name, alternatives[i].name )) continue; +- WARN("Extension %s required for %s not supported, trying %s\n", +- ext_ret->extension, name, alternatives[i].alt ); +- return wglGetProcAddress( alternatives[i].alt ); +- } WARN("Extension %s required for %s not supported\n", ext_ret->extension, name); - return NULL; - } @@ -25,5 +39,5 @@ index 9482c75..1903807 100644 if (driver_func == NULL) { -- -2.3.5 +2.6.2 diff --git a/patches/opengl32-Revert_Disable_Ext/definition b/patches/opengl32-Revert_Disable_Ext/definition index bc400e79..32d3aef2 100644 --- a/patches/opengl32-Revert_Disable_Ext/definition +++ b/patches/opengl32-Revert_Disable_Ext/definition @@ -1,2 +1,2 @@ -Fixes: [38480] Fix regression caused by blacklisting supported OpenGL extensions +Fixes: [39769] Fix regression caused by blacklisting supported OpenGL extensions Category: stable diff --git a/patches/patchinstall.sh b/patches/patchinstall.sh index 000e5c8d..41e9075b 100755 --- a/patches/patchinstall.sh +++ b/patches/patchinstall.sh @@ -52,7 +52,7 @@ usage() # Get the upstream commit sha upstream_commit() { - echo "571dc0faa502b63880e905c35d3e3da6d87c5599" + echo "d29dcec6efa935abc2db2cbb726c48086a8e1a71" } # Show version information @@ -4798,7 +4798,7 @@ fi # Patchset opengl32-Revert_Disable_Ext # | # | This patchset fixes the following Wine bugs: -# | * [#38480] Fix regression caused by blacklisting supported OpenGL extensions +# | * [#39769] Fix regression caused by blacklisting supported OpenGL extensions # | # | Modified files: # | * dlls/opengl32/wgl.c diff --git a/patches/wined3d-CSMT_Main/9999-IfDefined.patch b/patches/wined3d-CSMT_Main/9999-IfDefined.patch index 2b2cea6b..6847fb11 100644 --- a/patches/wined3d-CSMT_Main/9999-IfDefined.patch +++ b/patches/wined3d-CSMT_Main/9999-IfDefined.patch @@ -1218,7 +1218,7 @@ diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader shader_arb_ps_local_constants(compiled, context, state, rt_height); } -@@ -7851,7 +7859,11 @@ +@@ -7842,7 +7850,11 @@ /* Now load the surface */ if (wined3d_settings.offscreen_rendering_mode != ORM_FBO @@ -1230,7 +1230,7 @@ diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader == WINED3D_LOCATION_DRAWABLE && !wined3d_resource_is_offscreen(&src_surface->container->resource)) { -@@ -7881,6 +7893,7 @@ +@@ -7872,6 +7884,7 @@ /* Leave the opengl state valid for blitting */ arbfp_blit_unset(context->gl_info); @@ -1238,7 +1238,7 @@ diff --git a/dlls/wined3d/arb_program_shader.c b/dlls/wined3d/arb_program_shader if (wined3d_settings.cs_multithreaded) context->gl_info->gl_ops.gl.p_glFinish(); else if (wined3d_settings.strict_draw_ordering -@@ -7892,6 +7905,17 @@ +@@ -7883,6 +7896,17 @@ wined3d_resource_validate_location(&dst_surface->resource, dst_surface->container->resource.draw_binding); wined3d_resource_invalidate_location(&dst_surface->resource, ~dst_surface->container->resource.draw_binding);