From 102f600d3ae5427be0e338ae291d2f803436cd32 Mon Sep 17 00:00:00 2001
From: Dave Parks <davep@lindenlab.com>
Date: Sat, 24 Sep 2011 22:56:33 -0500
Subject: [PATCH] SH-2244 Fix for bump surfaces appearing black when L&S
 disabled

---
 indra/llrender/llrender.cpp         | 1 +
 indra/newview/llviewershadermgr.cpp | 8 ++++++++
 2 files changed, 9 insertions(+)

diff --git a/indra/llrender/llrender.cpp b/indra/llrender/llrender.cpp
index 685334555a4..13e7c6094ca 100644
--- a/indra/llrender/llrender.cpp
+++ b/indra/llrender/llrender.cpp
@@ -1039,6 +1039,7 @@ LLRender::LLRender()
 		mMatIdx[i] = 0;
 		mMatHash[i] = 0;
 		mCurMatHash[i] = 0xFFFFFFFF;
+		mMatrix[i][0].make_identity();
 	}
 
 	mLightHash = 0;
diff --git a/indra/newview/llviewershadermgr.cpp b/indra/newview/llviewershadermgr.cpp
index b0d97ee5f63..17cce3069e7 100644
--- a/indra/newview/llviewershadermgr.cpp
+++ b/indra/newview/llviewershadermgr.cpp
@@ -2122,6 +2122,14 @@ BOOL LLViewerShaderMgr::loadShadersObject()
 		gObjectBumpProgram.mShaderFiles.push_back(make_pair("objects/bumpF.glsl", GL_FRAGMENT_SHADER_ARB));
 		gObjectBumpProgram.mShaderLevel = mVertexShaderLevel[SHADER_OBJECT];
 		success = gObjectBumpProgram.createShader(NULL, NULL);
+
+		if (success)
+		{ //lldrawpoolbump assumes "texture0" has channel 0 and "texture1" has channel 1
+			gObjectBumpProgram.bind();
+			gObjectBumpProgram.uniform1i("texture0", 0);
+			gObjectBumpProgram.uniform1i("texture1", 1);
+			gObjectBumpProgram.unbind();
+		}
 	}
 	
 	
-- 
GitLab