summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGraham Madarasz <graham@lindenlab.com>2013-06-12 14:08:16 -0700
committerGraham Madarasz <graham@lindenlab.com>2013-06-12 14:08:16 -0700
commitb60ea52902c86302bc39bb3812b4d0711eaa9bef (patch)
tree9170dffd75c662d7de1742807b53c8f8f33a0373
parent3eb460f772e8a1cf45d53ed1d06206bfd74a780a (diff)
NORSPEC-251 fixed and 258 not regressed
-rwxr-xr-xindra/newview/llpanelface.h2
-rwxr-xr-xindra/newview/llvovolume.cpp6
-rwxr-xr-xindra/newview/pipeline.cpp2
3 files changed, 7 insertions, 3 deletions
diff --git a/indra/newview/llpanelface.h b/indra/newview/llpanelface.h
index 222f8f3688..a324be7e7e 100755
--- a/indra/newview/llpanelface.h
+++ b/indra/newview/llpanelface.h
@@ -300,7 +300,7 @@ private:
if (tep)
{
material_ptr = tep->getMaterialParams();
- if (!material_ptr.isNull())
+ if (!material_ptr.isNull() && !tep->getMaterialID().isNull())
{
ret = (material_ptr->*(MaterialGetFunc))();
}
diff --git a/indra/newview/llvovolume.cpp b/indra/newview/llvovolume.cpp
index e74d2d4b98..83ffd3e695 100755
--- a/indra/newview/llvovolume.cpp
+++ b/indra/newview/llvovolume.cpp
@@ -4115,6 +4115,8 @@ void LLVolumeGeometryManager::registerFace(LLSpatialGroup* group, LLFace* facep,
LLMaterial* mat = facep->getTextureEntry()->getMaterialParams().get();
LLMaterialID mat_id = facep->getTextureEntry()->getMaterialID();
+ mat = mat_id.isNull() ? NULL : mat;
+
bool batchable = false;
U32 shader_mask = 0xFFFFFFFF; //no shader
@@ -4545,6 +4547,7 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group)
}
LLMaterial* mat = te->getMaterialParams().get();
+ mat = te->getMaterialID().isNull() ? NULL : mat;
if (mat && LLPipeline::sRenderDeferred)
{
@@ -4764,7 +4767,7 @@ void LLVolumeGeometryManager::rebuildGeom(LLSpatialGroup* group)
if (gPipeline.canUseWindLightShadersOnObjects()
&& LLPipeline::sRenderBump)
{
- if (LLPipeline::sRenderDeferred && te->getMaterialParams().notNull())
+ if (LLPipeline::sRenderDeferred && te->getMaterialParams().notNull() && !te->getMaterialID().isNull())
{
LLMaterial* mat = te->getMaterialParams().get();
if (mat->getNormalID().notNull())
@@ -5340,6 +5343,7 @@ void LLVolumeGeometryManager::genDrawInfo(LLSpatialGroup* group, U32 mask, std::
BOOL is_alpha = (facep->getPoolType() == LLDrawPool::POOL_ALPHA) ? TRUE : FALSE;
LLMaterial* mat = te->getMaterialParams().get();
+ mat = te->getMaterialID().isNull() ? NULL : mat;
bool can_be_shiny = true;
if (mat)
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index a2a5552f3c..94152e4afe 100755
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -8691,7 +8691,7 @@ void LLPipeline::renderDeferredLighting()
gDeferredPostGammaCorrectProgram.uniform2f(LLShaderMgr::DEFERRED_SCREEN_RES, mScreen.getWidth(), mScreen.getHeight());
F32 gamma = 1.0/2.2;
-
+
gDeferredPostGammaCorrectProgram.uniform1f(LLShaderMgr::TEXTURE_GAMMA, gamma);
gGL.begin(LLRender::TRIANGLE_STRIP);