From 99c5822c8856c033ae30776ad2f6522f089f96ab Mon Sep 17 00:00:00 2001 From: Ken Thomases 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 7c0f7127883..ec82202cd4e 100644 --- a/dlls/winemac.drv/macdrv.h +++ b/dlls/winemac.drv/macdrv.h @@ -41,6 +41,7 @@ extern BOOL allow_set_gamma DECLSPEC_HIDDEN; extern BOOL allow_software_rendering DECLSPEC_HIDDEN; extern BOOL disable_window_decorations DECLSPEC_HIDDEN; +extern BOOL force_backing_store DECLSPEC_HIDDEN; extern NTSTATUS (WINAPI *pNtWaitForMultipleObjects)(ULONG,const HANDLE*,BOOLEAN, BOOLEAN,const LARGE_INTEGER*) DECLSPEC_HIDDEN; diff --git a/dlls/winemac.drv/macdrv_main.c b/dlls/winemac.drv/macdrv_main.c index e1fd7b2d331..f9d97ee70ed 100644 --- a/dlls/winemac.drv/macdrv_main.c +++ b/dlls/winemac.drv/macdrv_main.c @@ -66,6 +66,7 @@ int use_precise_scrolling = TRUE; int gl_surface_mode = GL_SURFACE_IN_FRONT_OPAQUE; int retina_enabled = FALSE; int enable_app_nap = FALSE; +BOOL force_backing_store = FALSE; CFDictionaryRef localized_strings; @@ -386,6 +387,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 63b24ee991d..b1c43e77f37 100644 --- a/dlls/winemac.drv/opengl.c +++ b/dlls/winemac.drv/opengl.c @@ -1452,7 +1452,7 @@ static BOOL create_context(struct wgl_context *context, CGLContextObj share, uns attribs[n++] = pf->samples; } - if (pf->backing_store) + if (force_backing_store || pf->backing_store) attribs[n++] = kCGLPFABackingStore; if (core) -- 2.35.1