2022-06-01 17:42:41 -07:00
|
|
|
From a27e6b54a07eb441b5118a2be445b4a752ecd3b1 Mon Sep 17 00:00:00 2001
|
2021-07-01 20:11:39 -07:00
|
|
|
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
|
2022-06-01 17:42:41 -07:00
|
|
|
index 2ea6cd638c3..6220a0be801 100644
|
2021-07-01 20:11:39 -07:00
|
|
|
--- a/dlls/winemac.drv/macdrv.h
|
|
|
|
+++ b/dlls/winemac.drv/macdrv.h
|
2022-06-01 17:42:41 -07:00
|
|
|
@@ -42,6 +42,7 @@
|
2021-07-01 20:11:39 -07:00
|
|
|
extern BOOL allow_software_rendering DECLSPEC_HIDDEN;
|
|
|
|
extern BOOL disable_window_decorations DECLSPEC_HIDDEN;
|
|
|
|
extern HMODULE macdrv_module DECLSPEC_HIDDEN;
|
|
|
|
+extern BOOL force_backing_store DECLSPEC_HIDDEN;
|
|
|
|
|
|
|
|
|
|
|
|
extern const char* debugstr_cf(CFTypeRef t) DECLSPEC_HIDDEN;
|
|
|
|
diff --git a/dlls/winemac.drv/macdrv_main.c b/dlls/winemac.drv/macdrv_main.c
|
2022-06-01 17:42:41 -07:00
|
|
|
index 4a183747796..e982ad12a13 100644
|
2021-07-01 20:11:39 -07:00
|
|
|
--- a/dlls/winemac.drv/macdrv_main.c
|
|
|
|
+++ b/dlls/winemac.drv/macdrv_main.c
|
2022-06-01 17:42:41 -07:00
|
|
|
@@ -64,6 +64,7 @@ int use_precise_scrolling = TRUE;
|
|
|
|
int gl_surface_mode = GL_SURFACE_IN_FRONT_OPAQUE;
|
2021-07-01 20:11:39 -07:00
|
|
|
int retina_enabled = FALSE;
|
|
|
|
int enable_app_nap = FALSE;
|
|
|
|
+BOOL force_backing_store = FALSE;
|
|
|
|
|
|
|
|
CFDictionaryRef localized_strings;
|
|
|
|
|
2022-06-01 17:42:41 -07:00
|
|
|
@@ -382,6 +383,9 @@ static void setup_options(void)
|
2021-07-01 20:11:39 -07:00
|
|
|
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
|
2022-06-01 17:42:41 -07:00
|
|
|
index cf58588981f..c50be3e7e70 100644
|
2021-07-01 20:11:39 -07:00
|
|
|
--- a/dlls/winemac.drv/opengl.c
|
|
|
|
+++ b/dlls/winemac.drv/opengl.c
|
2022-06-01 17:42:41 -07:00
|
|
|
@@ -1448,7 +1448,7 @@ static BOOL create_context(struct wgl_context *context, CGLContextObj share, uns
|
2021-07-01 20:11:39 -07:00
|
|
|
attribs[n++] = pf->samples;
|
|
|
|
}
|
|
|
|
|
|
|
|
- if (pf->backing_store)
|
|
|
|
+ if (force_backing_store || pf->backing_store)
|
|
|
|
attribs[n++] = kCGLPFABackingStore;
|
|
|
|
|
2021-11-18 16:07:35 -08:00
|
|
|
if (core)
|
2021-07-01 20:11:39 -07:00
|
|
|
--
|
2022-06-01 17:42:41 -07:00
|
|
|
2.35.1
|
2021-07-01 20:11:39 -07:00
|
|
|
|