From dda6402893a83b770d5022bf775f9cd9b0d93755 Mon Sep 17 00:00:00 2001
From: Cosmic Linden <cosmic@lindenlab.com>
Date: Mon, 3 Apr 2023 11:24:26 -0700
Subject: [PATCH] SL-19331: Add comment on reason for revert

---
 indra/newview/llviewermedia.cpp | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp
index f672781f480..aae3bd7f259 100644
--- a/indra/newview/llviewermedia.cpp
+++ b/indra/newview/llviewermedia.cpp
@@ -2968,6 +2968,10 @@ void LLViewerMediaImpl::doMediaTexUpdate(LLViewerMediaTexture* media_tex, U8* da
     // wrap "data" in an LLImageRaw but do NOT make a copy
     LLPointer<LLImageRaw> raw = new LLImageRaw(data, media_tex->getWidth(), media_tex->getHeight(), media_tex->getComponents(), true);
         
+    // *NOTE: Recreating the GL texture each media update may seem wasteful
+    // (note the texture creation in preMediaTexUpdate), however, it apparently
+    // prevents GL calls from blocking, due to poor bookkeeping of state of
+    // updated textures by the OpenGL implementation.
     // Allocate GL texture based on LLImageRaw but do NOT copy to GL
     LLGLuint tex_name = 0;
     media_tex->createGLTexture(0, raw, 0, TRUE, LLGLTexture::OTHER, true, &tex_name);
-- 
GitLab