From 610dcc178a5d4da86726f8b25c2f3ffe6c0456f6 Mon Sep 17 00:00:00 2001 From: Jesse Natalie Date: Wed, 7 Feb 2024 10:54:27 -0800 Subject: [PATCH] wgl: Flush frontbuffer when calling swapbuffers on single-buffered fb Some apps don't look at what kind of PFDthey get, and if they get a single-buffered one, they only ever call swap and never flush, so nothing shows up on-screen. Reviewed-by: Sil Vilerino Reviewed-by: Jose Fonseca Part-of: --- src/gallium/frontends/wgl/stw_framebuffer.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gallium/frontends/wgl/stw_framebuffer.c b/src/gallium/frontends/wgl/stw_framebuffer.c index 17f4dac0d9d..8ed1e38e363 100644 --- a/src/gallium/frontends/wgl/stw_framebuffer.c +++ b/src/gallium/frontends/wgl/stw_framebuffer.c @@ -730,13 +730,13 @@ wait_swap_interval(struct stw_framebuffer *fb, int interval) BOOL stw_framebuffer_swap_locked(HDC hdc, struct stw_framebuffer *fb) { - struct stw_context *ctx; + struct stw_context *ctx = stw_current_context(); if (!(fb->pfi->pfd.dwFlags & PFD_DOUBLEBUFFER)) { stw_framebuffer_unlock(fb); + stw_st_flush(ctx->st, fb->drawable, ST_FLUSH_END_OF_FRAME | ST_FLUSH_FRONT); return true; } - ctx = stw_current_context(); if (ctx) { if (ctx->hud) { /* Display the HUD */