summaryrefslogtreecommitdiff
path: root/indra/newview/lldrawpoolalpha.cpp
diff options
context:
space:
mode:
authorNyx (Neal Orman) <nyx@lindenlab.com>2011-02-16 15:35:05 -0500
committerNyx (Neal Orman) <nyx@lindenlab.com>2011-02-16 15:35:05 -0500
commit2d0f754b45a21f8e734fefb3f4b88ac65133d576 (patch)
treeebfa99054050907c559ee540b393090d08dba0bc /indra/newview/lldrawpoolalpha.cpp
parentc10494e370f6399deea835964760628b14f7e299 (diff)
parent8bbbcd9c22010a259d42d23c517e04fe7afd41fd (diff)
merge
Diffstat (limited to 'indra/newview/lldrawpoolalpha.cpp')
-rw-r--r--indra/newview/lldrawpoolalpha.cpp18
1 files changed, 15 insertions, 3 deletions
diff --git a/indra/newview/lldrawpoolalpha.cpp b/indra/newview/lldrawpoolalpha.cpp
index 2519d0297c..7f1740e29f 100644
--- a/indra/newview/lldrawpoolalpha.cpp
+++ b/indra/newview/lldrawpoolalpha.cpp
@@ -103,7 +103,14 @@ void LLDrawPoolAlpha::renderDeferred(S32 pass)
S32 LLDrawPoolAlpha::getNumPostDeferredPasses()
{
- return 2;
+ if (LLPipeline::sImpostorRender)
+ { //skip depth buffer filling pass when rendering impostors
+ return 1;
+ }
+ else
+ {
+ return 2;
+ }
}
void LLDrawPoolAlpha::beginPostDeferredPass(S32 pass)
@@ -137,8 +144,13 @@ void LLDrawPoolAlpha::beginPostDeferredPass(S32 pass)
void LLDrawPoolAlpha::endPostDeferredPass(S32 pass)
{
- gPipeline.mDeferredDepth.flush();
- gPipeline.mScreen.bindTarget();
+
+ if (pass == 1)
+ {
+ gPipeline.mDeferredDepth.flush();
+ gPipeline.mScreen.bindTarget();
+ }
+
deferred_render = FALSE;
endRenderPass(pass);
}