summaryrefslogtreecommitdiff
path: root/indra/newview/lldrawpoolalpha.cpp
diff options
context:
space:
mode:
authorGraham Linden <graham@lindenlab.com>2013-08-06 14:16:46 -0700
committerGraham Linden <graham@lindenlab.com>2013-08-06 14:16:46 -0700
commit5b400d50e1f25667e2c865d85fd93546ffe7f96f (patch)
treef495ec82be8072b47885e0b90d42bcd3a226bd7c /indra/newview/lldrawpoolalpha.cpp
parent629bda7cf371f2eb2e7fc9adbfd123d5a079093e (diff)
NORSPEC-322 NORSPEC-342 fix issues with black impostors and missing alpha attachments on impostors
Diffstat (limited to 'indra/newview/lldrawpoolalpha.cpp')
-rwxr-xr-xindra/newview/lldrawpoolalpha.cpp9
1 files changed, 7 insertions, 2 deletions
diff --git a/indra/newview/lldrawpoolalpha.cpp b/indra/newview/lldrawpoolalpha.cpp
index b5d37ba5cc..60e22c08dc 100755
--- a/indra/newview/lldrawpoolalpha.cpp
+++ b/indra/newview/lldrawpoolalpha.cpp
@@ -224,8 +224,13 @@ void LLDrawPoolAlpha::render(S32 pass)
gGL.setColorMask(true, true);
}
- LLGLDepthTest depth(GL_TRUE, LLDrawPoolWater::sSkipScreenCopy ||
- (deferred_render && pass == 1) ? GL_TRUE : GL_FALSE);
+ bool write_depth = LLDrawPoolWater::sSkipScreenCopy
+ || (deferred_render && pass == 1)
+ // we want depth written so that rendered alpha will
+ // contribute to the alpha mask used for impostors
+ || LLPipeline::sImpostorRender;
+
+ LLGLDepthTest depth(GL_TRUE, write_depth ? GL_TRUE : GL_FALSE);
if (deferred_render && pass == 1)
{