[PATCH 0/2] MR9396: win32u: Disable vsync when emulating front buffer rendering.
From: Rémi Bernon <rbernon(a)codeweavers.com> --- dlls/opengl32/unix_wgl.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dlls/opengl32/unix_wgl.c b/dlls/opengl32/unix_wgl.c index 3e153db9cc7..f47d9dfef73 100644 --- a/dlls/opengl32/unix_wgl.c +++ b/dlls/opengl32/unix_wgl.c @@ -1419,7 +1419,7 @@ static void flush_context( TEB *teb, void (*flush)(void) ) struct opengl_drawable *read, *draw; struct context *ctx = get_current_context( teb, &read, &draw ); const struct opengl_funcs *funcs = teb->glTable; - BOOL force_swap = flush && !ctx->draw_fbo && context_draws_front( ctx ) && + BOOL force_swap = flush && ctx && !ctx->draw_fbo && context_draws_front( ctx ) && draw->buffer_map[0] == GL_BACK_LEFT && draw->client; if (!ctx || !funcs->p_wgl_context_flush( &ctx->base, flush, force_swap )) -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/9396
From: Rémi Bernon <rbernon(a)codeweavers.com> Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=58906 --- dlls/win32u/opengl.c | 1 + 1 file changed, 1 insertion(+) diff --git a/dlls/win32u/opengl.c b/dlls/win32u/opengl.c index fc0be5795d4..45935395e6e 100644 --- a/dlls/win32u/opengl.c +++ b/dlls/win32u/opengl.c @@ -2183,6 +2183,7 @@ static BOOL win32u_wgl_context_flush( struct wgl_context *context, void (*flush) if (!draw->client) return flush_memory_pbuffer( flush ); interval = get_window_swap_interval( draw->client->hwnd ); + if (force_swap) interval = 0; TRACE( "context %p, hwnd %p, interval %d, flush %p\n", context, draw->client->hwnd, interval, flush ); -- GitLab https://gitlab.winehq.org/wine/wine/-/merge_requests/9396
participants (1)
-
Rémi Bernon