From: Rémi Bernon <rbernon@codeweavers.com> --- dlls/opengl32/make_opengl | 36 ++++++++++++------------------------ 1 file changed, 12 insertions(+), 24 deletions(-) diff --git a/dlls/opengl32/make_opengl b/dlls/opengl32/make_opengl index 719e05f64b5..aae80d5727c 100755 --- a/dlls/opengl32/make_opengl +++ b/dlls/opengl32/make_opengl @@ -221,28 +221,16 @@ my %manual_unix_thunks = "wglShareLists" => 1, "wglSwapBuffers" => 1, ); -my %hide_default_fbo_thunks = - ( - "glFramebufferRenderbuffer" => 1, - "glFramebufferRenderbufferEXT" => 1, - "glFramebufferTexture" => 1, - "glFramebufferTexture1D" => 1, - "glFramebufferTexture1DEXT" => 1, - "glFramebufferTexture2D" => 1, - "glFramebufferTexture2DEXT" => 1, - "glFramebufferTexture3D" => 1, - "glFramebufferTexture3DEXT" => 1, - "glFramebufferTextureARB" => 1, - "glFramebufferTextureEXT" => 1, - "glFramebufferTextureFaceARB" => 1, - "glFramebufferTextureFaceEXT" => 1, - "glFramebufferTextureLayer" => 1, - "glFramebufferTextureLayerARB" => 1, - "glFramebufferTextureLayerEXT" => 1, - "glFramebufferTextureMultiviewOVR" => 1, - "glGetFramebufferAttachmentParameteriv" => 1, - "glGetFramebufferAttachmentParameterivEXT" => 1, - ); + +sub hide_default_fbo($) +{ + my $name = shift; + return 1 if $name =~ /^glFramebufferRenderbuffer/; + return 1 if $name =~ /^glFramebufferTexture/; + return 1 if $name =~ /^glGetFramebufferAttachmentParameteriv/; + return 0; +} + my %resolve_default_fbo_thunks = ( "glCopyColorTable" => 1, @@ -608,7 +596,7 @@ sub generate_unix_thunk($$$$) $ret .= " if (!$arg) $arg = get_default_fbo( $teb, $target );\n"; } $ret .= " resolve_default_fbo( $teb, TRUE );\n" if defined $resolve_default_fbo_thunks{$name}; - $ret .= " push_default_fbo( $teb );\n" if defined $hide_default_fbo_thunks{$name}; + $ret .= " push_default_fbo( $teb );\n" if hide_default_fbo( $name ); $ret .= " pthread_mutex_lock( &wgl_lock );\n$invalidation" if $need_lock; $ret .= " $ret_expr"; $call_args =~ s/,$/ /; @@ -626,7 +614,7 @@ sub generate_unix_thunk($$$$) } $ret .= " pthread_mutex_unlock( &wgl_lock );\n" if $need_lock; $ret .= " set_current_fbo( $teb, params->target, params->framebuffer );\n" if $name =~ /glBindFramebuffer/; - $ret .= " pop_default_fbo( $teb );\n" if defined $hide_default_fbo_thunks{$name}; + $ret .= " pop_default_fbo( $teb );\n" if hide_default_fbo( $name ); if (defined $state_attrib_funcs{$name}) { my $state_args = $state_attrib_funcs{$name}; -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/10686