From 7dbd79da797114a63b51d77bf93915dbf9ab9751 Mon Sep 17 00:00:00 2001
From: Cinder <cinder@sdf.org>
Date: Sun, 11 Jan 2015 21:51:58 -0700
Subject: [PATCH] Hookup RenderAppleUseMultGL

---
 indra/llwindow/llwindow.cpp             | 3 +++
 indra/llwindow/llwindow.h               | 3 +++
 indra/llwindow/llwindowmacosx.cpp       | 5 ++---
 indra/newview/app_settings/settings.xml | 2 +-
 indra/newview/llappviewer.cpp           | 3 +++
 5 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/indra/llwindow/llwindow.cpp b/indra/llwindow/llwindow.cpp
index ca373c33b5..1de1da2d7a 100755
--- a/indra/llwindow/llwindow.cpp
+++ b/indra/llwindow/llwindow.cpp
@@ -48,6 +48,9 @@
 LLSplashScreen *gSplashScreenp = NULL;
 BOOL gDebugClicks = FALSE;
 BOOL gDebugWindowProc = FALSE;
+#ifdef LL_DARWIN
+BOOL gUseMultGL = TRUE;
+#endif
 
 const S32 gURLProtocolWhitelistCount = 4;
 const std::string gURLProtocolWhitelist[] = { "secondlife:", "http:", "https:", "data:" };
diff --git a/indra/llwindow/llwindow.h b/indra/llwindow/llwindow.h
index cc7879d056..afc0434d3a 100755
--- a/indra/llwindow/llwindow.h
+++ b/indra/llwindow/llwindow.h
@@ -288,6 +288,9 @@ public:
 // helper funcs
 //
 extern BOOL gDebugWindowProc;
+#ifdef LL_DARWIN
+extern BOOL gUseMultGL;
+#endif
 
 // Protocols, like "http" and "https" we support in URLs
 extern const S32 gURLProtocolWhitelistCount;
diff --git a/indra/llwindow/llwindowmacosx.cpp b/indra/llwindow/llwindowmacosx.cpp
index 921ac05f5c..26f966b50c 100755
--- a/indra/llwindow/llwindowmacosx.cpp
+++ b/indra/llwindow/llwindowmacosx.cpp
@@ -43,6 +43,7 @@
 #include <CoreServices/CoreServices.h>
 
 extern BOOL gDebugWindowProc;
+extern BOOL gUseMultGL;
 
 // culled from winuser.h
 //const S32	WHEEL_DELTA = 120;     /* Value for rolling one detent */
@@ -57,8 +58,6 @@ const S32	MAX_NUM_RESOLUTIONS = 32;
 // LLWindowMacOSX
 //
 
-BOOL LLWindowMacOSX::sUseMultGL = FALSE;
-
 // Cross-platform bits:
 
 BOOL check_for_card(const char* RENDERER, const char* bad_card)
@@ -611,7 +610,7 @@ BOOL LLWindowMacOSX::createContext(int x, int y, int width, int height, int bits
 	CGLSetParameter(mContext, kCGLCPSwapInterval, &frames_per_swap);
 
 	//enable multi-threaded OpenGL
-	if (sUseMultGL)
+	if (gUseMultGL)
 	{
 		CGLError cgl_err;
 		CGLContextObj ctx = CGLGetCurrentContext();
diff --git a/indra/newview/app_settings/settings.xml b/indra/newview/app_settings/settings.xml
index 1edfb85ede..6c3e725df4 100755
--- a/indra/newview/app_settings/settings.xml
+++ b/indra/newview/app_settings/settings.xml
@@ -8113,7 +8113,7 @@
       <key>Type</key>
       <string>Boolean</string>
       <key>Value</key>
-      <integer>0</integer>
+      <integer>1</integer>
     </map>
     <key>RenderAttachedLights</key>
         <map>
diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp
index bd3f1e031c..820ae3d710 100755
--- a/indra/newview/llappviewer.cpp
+++ b/indra/newview/llappviewer.cpp
@@ -597,6 +597,9 @@ static void settings_to_globals()
 	gDebugWindowProc = gSavedSettings.getBOOL("DebugWindowProc");
 	gShowObjectUpdates = gSavedSettings.getBOOL("ShowObjectUpdates");
 	LLWorldMapView::sMapScale = gSavedSettings.getF32("MapScale");
+#ifdef LL_DARWIN
+	gUseMultGL = gSavedSettings.getBOOL("RenderAppleUseMultGL");
+#endif
 }
 
 static void settings_modify()
-- 
GitLab