From 7fb024cfc24222df63a0f3335d2266260c7e6a42 Mon Sep 17 00:00:00 2001
From: RunitaiLinden <davep@lindenlab.com>
Date: Wed, 14 Jun 2023 14:07:11 -0500
Subject: [PATCH] SL-19838 Put local lights back on fullbright objects.  Fix
 assert in modelpreview.

---
 .../app_settings/shaders/class3/deferred/materialF.glsl        | 3 +--
 indra/newview/llmodelpreview.cpp                               | 2 ++
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/indra/newview/app_settings/shaders/class3/deferred/materialF.glsl b/indra/newview/app_settings/shaders/class3/deferred/materialF.glsl
index 5fb5647d35b..ab40298f440 100644
--- a/indra/newview/app_settings/shaders/class3/deferred/materialF.glsl
+++ b/indra/newview/app_settings/shaders/class3/deferred/materialF.glsl
@@ -429,13 +429,12 @@ void main()
         LIGHT_LOOP(6)
         LIGHT_LOOP(7)
 
-    light *= 1.0-emissive;
     color += light;
 
     glare *= 1.0-emissive;
     glare = min(glare, 1.0);
     float al = max(diffcol.a, glare) * vertex_color.a;
-    
+
     frag_color = max(vec4(color, al), vec4(0));
 
 #else // mode is not DIFFUSE_ALPHA_MODE_BLEND, encode to gbuffer 
diff --git a/indra/newview/llmodelpreview.cpp b/indra/newview/llmodelpreview.cpp
index b98855a51f9..c98e0e1bbe0 100644
--- a/indra/newview/llmodelpreview.cpp
+++ b/indra/newview/llmodelpreview.cpp
@@ -3726,6 +3726,8 @@ BOOL LLModelPreview::render()
                             const std::string& binding = instance.mModel->mMaterialList[i];
                             const LLImportMaterial& material = instance.mMaterial[binding];
 
+                            buffer->unmapBuffer();
+
                             buffer->setBuffer();
                             gGL.diffuseColor4fv(material.mDiffuseColor.mV);
                             gGL.getTexUnit(0)->unbind(LLTexUnit::TT_TEXTURE);
-- 
GitLab