From 862b8f72dc4d89e88b0c03992dad393aff9451a5 Mon Sep 17 00:00:00 2001
From: Graham Linden <graham@lindenlab.com>
Date: Tue, 18 Sep 2018 20:31:26 +0100
Subject: [PATCH] SL-9685

Make sure legacy opaque water texture ID is assigned so it can be bound for lowest graphics use.
---
 indra/newview/lldrawpoolwater.cpp | 4 ++--
 indra/newview/lldrawpoolwater.h   | 2 +-
 indra/newview/llsettingsvo.cpp    | 1 +
 3 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/indra/newview/lldrawpoolwater.cpp b/indra/newview/lldrawpoolwater.cpp
index 7f1601e604d..4dd0d3ec98e 100644
--- a/indra/newview/lldrawpoolwater.cpp
+++ b/indra/newview/lldrawpoolwater.cpp
@@ -76,10 +76,10 @@ void LLDrawPoolWater::setTransparentTextures(const LLUUID& transparentTextureId,
     mWaterImagep[1]->addTextureStats(1024.f*1024.f);
 }
 
-void LLDrawPoolWater::setOpaqueTexture()
+void LLDrawPoolWater::setOpaqueTexture(const LLUUID& opaqueTextureId)
 {
     LLSettingsWater::ptr_t pwater = LLEnvironment::instance().getCurrentWater();
-    mOpaqueWaterImagep = LLViewerTextureManager::getFetchedTexture(pwater->GetDefaultOpaqueTextureAssetId());
+    mOpaqueWaterImagep = LLViewerTextureManager::getFetchedTexture(opaqueTextureId);
     mOpaqueWaterImagep->addTextureStats(1024.f*1024.f);
 }
 
diff --git a/indra/newview/lldrawpoolwater.h b/indra/newview/lldrawpoolwater.h
index 3c1587885e5..f14ac1f6d24 100644
--- a/indra/newview/lldrawpoolwater.h
+++ b/indra/newview/lldrawpoolwater.h
@@ -83,7 +83,7 @@ class LLDrawPoolWater: public LLFacePool
 	void shade();
 
     void setTransparentTextures(const LLUUID& transparentTextureId, const LLUUID& nextTransparentTextureId);
-    void setOpaqueTexture();
+    void setOpaqueTexture(const LLUUID& opaqueTextureId);
     void setNormalMaps(const LLUUID& normalMapId, const LLUUID& nextNormalMapId);
 
 protected:
diff --git a/indra/newview/llsettingsvo.cpp b/indra/newview/llsettingsvo.cpp
index b16ba65c010..583adcb0247 100644
--- a/indra/newview/llsettingsvo.cpp
+++ b/indra/newview/llsettingsvo.cpp
@@ -851,6 +851,7 @@ void LLSettingsVOWater::updateSettings()
     if (pwaterpool)
     {
         pwaterpool->setTransparentTextures(getTransparentTextureID(), getNextTransparentTextureID());
+        pwaterpool->setOpaqueTexture(GetDefaultOpaqueTextureAssetId());
         pwaterpool->setNormalMaps(getNormalMapID(), getNextNormalMapID());
     }
 }
-- 
GitLab