From bea0d7e26e7549f4152a994cc494988e73eba0cb Mon Sep 17 00:00:00 2001
From: Kitty Barnett <develop@catznip.com>
Date: Wed, 21 Jul 2021 16:33:21 +0200
Subject: [PATCH] [FIXED] RenderResolutionDivisor is applied twice when the
 debug setting value is changed (but not on initialization)

---
 indra/newview/pipeline.cpp | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index cbf477d76ff..420ab635498 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -799,19 +799,24 @@ void LLPipeline::resizeScreenTexture()
 		GLuint resY = gViewerWindow->getWorldViewHeightRaw();
 	
 // [SL:KB] - Patch: Settings-RenderResolutionMultiplier | Checked: Catznip-5.4
+		GLuint scaledResX = resX;
+		GLuint scaledResY = resY;
 		if ( (RenderResolutionDivisor > 1) && (RenderResolutionDivisor < resX) && (RenderResolutionDivisor < resY) )
 		{
-			resX /= RenderResolutionDivisor;
-			resY /= RenderResolutionDivisor;
+			scaledResX /= RenderResolutionDivisor;
+			scaledResY /= RenderResolutionDivisor;
 		}
 		else if (RenderResolutionMultiplier != 1.f)
 		{
-			resX *= RenderResolutionMultiplier;
-			resY *= RenderResolutionMultiplier;
+			scaledResX *= RenderResolutionMultiplier;
+			scaledResY *= RenderResolutionMultiplier;
 		}
 // [/SL:KB]
 
-		if ((resX != mScreen.getWidth()) || (resY != mScreen.getHeight()))
+//		if ((resX != mScreen.getWidth()) || (resY != mScreen.getHeight()))
+// [SL:KB] - Patch: Settings-RenderResolutionMultiplier | Checked: Catznip-5.4
+		if ((scaledResX != mScreen.getWidth()) || (scaledResY != mScreen.getHeight()))
+// [/SL:KB]
 		{
 			releaseScreenBuffers();
 		if (!allocateScreenBuffer(resX,resY))
-- 
GitLab