Files
wine-staging/patches/winemac.drv-no-flicker-patch/0001-winemac.drv-No-Flicker-patch.patch

62 lines
2.2 KiB
Diff
Raw Permalink Normal View History

From e5d0192701391f2526433392c52cde0f51745878 Mon Sep 17 00:00:00 2001
From: Ken Thomases <ken@codeweavers.com>
Date: Tue, 22 Jun 2021 07:56:43 +1000
Subject: [PATCH] winemac.drv: No Flicker patch
---
dlls/winemac.drv/macdrv.h | 1 +
dlls/winemac.drv/macdrv_main.c | 4 ++++
dlls/winemac.drv/opengl.c | 2 +-
3 files changed, 6 insertions(+), 1 deletion(-)
diff --git a/dlls/winemac.drv/macdrv.h b/dlls/winemac.drv/macdrv.h
index ac2a7853652..e05603a3694 100644
--- a/dlls/winemac.drv/macdrv.h
+++ b/dlls/winemac.drv/macdrv.h
@@ -42,6 +42,7 @@
extern BOOL allow_vsync;
extern BOOL allow_set_gamma;
extern BOOL allow_software_rendering;
+extern BOOL force_backing_store;
extern UINT64 app_icon_callback;
extern UINT64 app_quit_request_callback;
diff --git a/dlls/winemac.drv/macdrv_main.c b/dlls/winemac.drv/macdrv_main.c
index ed913834255..d951f456803 100644
--- a/dlls/winemac.drv/macdrv_main.c
+++ b/dlls/winemac.drv/macdrv_main.c
@@ -58,6 +58,7 @@ bool use_precise_scrolling = true;
int gl_surface_mode = GL_SURFACE_IN_FRONT_OPAQUE;
bool retina_enabled = false;
bool enable_app_nap = false;
+BOOL force_backing_store = FALSE;
UINT64 app_icon_callback = 0;
UINT64 app_quit_request_callback = 0;
@@ -372,6 +373,9 @@ static void setup_options(void)
if (!get_config_key(hkey, appkey, "EnableAppNap", buffer, sizeof(buffer)))
enable_app_nap = IS_OPTION_TRUE(buffer[0]);
+ if (!get_config_key(hkey, appkey, "ForceOpenGLBackingStore", buffer, sizeof(buffer)))
+ force_backing_store = IS_OPTION_TRUE(buffer[0]);
+
/* Don't use appkey. The DPI and monitor sizes should be consistent for all
processes in the prefix. */
if (!get_config_key(hkey, NULL, "RetinaMode", buffer, sizeof(buffer)))
diff --git a/dlls/winemac.drv/opengl.c b/dlls/winemac.drv/opengl.c
index e60fc04a82e..5cf1b9fdcb1 100644
--- a/dlls/winemac.drv/opengl.c
+++ b/dlls/winemac.drv/opengl.c
@@ -1395,7 +1395,7 @@ static BOOL create_context(struct macdrv_context *context, CGLContextObj share,
attribs[n++] = pf->samples;
}
- if (pf->backing_store)
+ if (force_backing_store || pf->backing_store)
attribs[n++] = kCGLPFABackingStore;
if (core)
--
2.51.0