summaryrefslogtreecommitdiff
path: root/indra/newview/pipeline.cpp
diff options
context:
space:
mode:
authorMike <contact@mikelittman.me>2026-10-22 12:20:17 -0400
committerGitHub <noreply@github.com>2026-10-23 00:20:17 +0800
commit5b52af0bf830de6732bc587f5932c0209f6c337a (patch)
treeb9708b676d7d790951391abc24d289955834cc2e /indra/newview/pipeline.cpp
parent32721d1421819fcd8ca0776421e147d59dad60ab (diff)
Fix remaining Apple audio, depth, and speaking-indicator crashes (#39)
Stop the OpenAL wind path from spinning when unqueue fails. Allocate Apple depth buffers with the unsized format and skip deferred lighting when that allocation left the target empty. Remove every registration of a speaking indicator, including a null one.
Diffstat (limited to 'indra/newview/pipeline.cpp')
-rw-r--r--indra/newview/pipeline.cpp7
1 files changed, 7 insertions, 0 deletions
diff --git a/indra/newview/pipeline.cpp b/indra/newview/pipeline.cpp
index bccff55a2c..2b45892ff4 100644
--- a/indra/newview/pipeline.cpp
+++ b/indra/newview/pipeline.cpp
@@ -8906,6 +8906,13 @@ void LLPipeline::renderDeferredLighting()
LLRenderTarget *screen_target = &mRT->screen;
LLRenderTarget* deferred_light_target = &mRT->deferredLight;
+ // A failed depth allocation leaves these targets with no textures.
+ // Binding them logs the empty-target warnings and then faults in the GL driver.
+ if (screen_target->getNumTextures() == 0)
+ {
+ return;
+ }
+
{
LL_PROFILE_ZONE_NAMED_CATEGORY_PIPELINE("deferred");
LLViewerCamera *camera = LLViewerCamera::getInstance();