summaryrefslogtreecommitdiff
path: root/indra/newview/pipeline.cpp
diff options
context:
space:
mode:
authorJonathan "Geenz" Goodman <geenz@geenzo.com>2026-07-07 04:59:59 -0400
committerJonathan "Geenz" Goodman <geenz@geenzo.com>2026-07-07 04:59:59 -0400
commit6622a5694b5ccd1da77e1564c6475eaf81095f5b (patch)
tree3e2e3242a3f0d81843972e253e219a3208ba325d /indra/newview/pipeline.cpp
parent3e756b57f42e61f6aad3991c7bfa0a581c894244 (diff)
Get some more wins for overall downrezzing and minimizing thrashing.
Also make sure that probes don't stamp - that creates thrashing when distant probes render. We're at a low enough resolution on those things that higher mips are likely to go unnoticed, and we bake them frequently enough that we can pick up lower mips when we actually need them.
Diffstat (limited to 'indra/newview/pipeline.cpp')
-rw-r--r--indra/newview/pipeline.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index 4ef88f5deb..f18ec727df 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -9461,6 +9461,9 @@ void LLPipeline::renderShadow(const glm::mat4& view, const glm::mat4& proj, LLCa
LL_PROFILE_GPU_ZONE("renderShadow");
LLPipeline::sShadowRender = true;
+ // Shadow binds aren't visibility. RAII (not a hardcoded restore) so a shadow
+ // pass nested in a probe render doesn't re-enable stamping for the rest of it.
+ LLImageGLStampBypass stamp_bypass;
// disable occlusion culling during shadow render
U32 saved_occlusion = sUseOcclusion;
@@ -10845,6 +10848,9 @@ void LLPipeline::generateImpostor(LLVOAvatar* avatar, bool preview_avatar, bool
sShadowRender = true;
sImpostorRender = true;
+ // Impostor binds aren't visibility. RAII so the nested shadow pass can't
+ // re-enable stamping mid-render.
+ LLImageGLStampBypass stamp_bypass;
LLViewerCamera* viewer_camera = LLViewerCamera::getInstance();