diff options
author | Dave Parks <davep@lindenlab.com> | 2024-12-12 13:46:01 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-12-12 15:46:01 -0600 |
commit | eff46262c8324ed4931cdd544a757f0c13f9ec0a (patch) | |
tree | 0d5c80a965d93ae44d0184b5dd7493535a2c9d33 /indra/newview/llviewercontrol.cpp | |
parent | 5a629574b775e2a8f3602ee183fd9e1b2fcfac68 (diff) |
#2590 Radeon mac optimization pass (#3277)
- Skip updating of reflection probes that are not the default probe when probe coverage is set to "None"
- enable RenderAppleUseMultGL and disable occlusion culling on Macs with AMD GPUs
- Reduce the number of texture decode threads on Macs with intel cpus.
- Move texture deletion to LLImageGL::updateClass and prevent textures from staying resident in vram longer than 3 frames
- Disable SSAO by default on Macs with intel CPUs
Diffstat (limited to 'indra/newview/llviewercontrol.cpp')
-rw-r--r-- | indra/newview/llviewercontrol.cpp | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/indra/newview/llviewercontrol.cpp b/indra/newview/llviewercontrol.cpp index 172ffcb0d4..18746e76fc 100644 --- a/indra/newview/llviewercontrol.cpp +++ b/indra/newview/llviewercontrol.cpp @@ -77,6 +77,10 @@ #include "llstartup.h" #include "llperfstats.h" +#if LL_DARWIN +#include "llwindowmacosx.h" +#endif + // Third party library includes #include <boost/algorithm/string.hpp> @@ -453,6 +457,17 @@ static bool handleReflectionProbeDetailChanged(const LLSD& newvalue) return true; } +#if LL_DARWIN +static bool handleAppleUseMultGLChanged(const LLSD& newvalue) +{ + if (gGLManager.mInited) + { + LLWindowMacOSX::setUseMultGL(newvalue.asBoolean()); + } + return true; +} +#endif + static bool handleHeroProbeResolutionChanged(const LLSD &newvalue) { if (gPipeline.isInit()) @@ -820,6 +835,9 @@ void settings_setup_listeners() setting_setup_signal_listener(gSavedSettings, "RenderReflectionProbeLevel", handleReflectionProbeDetailChanged); setting_setup_signal_listener(gSavedSettings, "RenderReflectionProbeDetail", handleReflectionProbeDetailChanged); setting_setup_signal_listener(gSavedSettings, "RenderReflectionsEnabled", handleReflectionProbeDetailChanged); +#if LL_DARWIN + setting_setup_signal_listener(gSavedSettings, "RenderAppleUseMultGL", handleAppleUseMultGLChanged); +#endif setting_setup_signal_listener(gSavedSettings, "RenderScreenSpaceReflections", handleReflectionProbeDetailChanged); setting_setup_signal_listener(gSavedSettings, "RenderMirrors", handleReflectionProbeDetailChanged); setting_setup_signal_listener(gSavedSettings, "RenderHeroProbeResolution", handleHeroProbeResolutionChanged); |