diff options
| author | Erik Kundiman <erik@megapahit.org> | 2025-10-30 11:19:47 +0800 | 
|---|---|---|
| committer | Erik Kundiman <erik@megapahit.org> | 2025-10-30 11:19:47 +0800 | 
| commit | 0acfb74bbcf801978905db45d326d8538a32b1ed (patch) | |
| tree | e05532ed6e50ac934b01f07659f4d592d7904874 | |
| parent | 4699ec3044d48c080bc58e1e5ae7aac85fab1ffe (diff) | |
| parent | 5a0ba25d83862e7d220c1ae62173b537b7db5b52 (diff) | |
Merge tag 'Second_Life_Release#5a0ba25d-2025.08' into 2025.082025.08
| -rw-r--r-- | indra/llappearance/lltexlayer.cpp | 5 | ||||
| -rw-r--r-- | indra/llappearance/lltexlayerparams.cpp | 5 | ||||
| -rw-r--r-- | indra/llrender/llcubemap.cpp | 10 | ||||
| -rw-r--r-- | indra/llwebrtc/llwebrtc.cpp | 14 | ||||
| -rw-r--r-- | indra/newview/lldrawpoolbump.cpp | 10 | ||||
| -rw-r--r-- | indra/newview/lllocalbitmaps.cpp | 5 | ||||
| -rw-r--r-- | indra/newview/llviewermedia.cpp | 10 | ||||
| -rw-r--r-- | indra/newview/llviewertexture.cpp | 5 | 
8 files changed, 50 insertions, 14 deletions
| diff --git a/indra/llappearance/lltexlayer.cpp b/indra/llappearance/lltexlayer.cpp index f72f47723f..bcb00e6afd 100644 --- a/indra/llappearance/lltexlayer.cpp +++ b/indra/llappearance/lltexlayer.cpp @@ -1892,7 +1892,10 @@ LLGLTexture* LLTexLayerStaticImageList::getTexture(const std::string& file_name,                  image_raw->copyUnscaledAlphaMask(alpha_image_raw, LLColor4U::black);              } -            tex->createGLTexture(0, image_raw, 0, true, LLGLTexture::LOCAL); +            if (!tex->createGLTexture(0, image_raw, 0, true, LLGLTexture::LOCAL)) +            { +                LL_WARNS() << "Failed to create GL texture for image: " << file_name << LL_ENDL; +            }              gGL.getTexUnit(0)->bind(tex);              tex->setAddressMode(LLTexUnit::TAM_CLAMP); diff --git a/indra/llappearance/lltexlayerparams.cpp b/indra/llappearance/lltexlayerparams.cpp index 30551c115d..dd2499cf37 100644 --- a/indra/llappearance/lltexlayerparams.cpp +++ b/indra/llappearance/lltexlayerparams.cpp @@ -338,7 +338,10 @@ bool LLTexLayerParamAlpha::render(S32 x, S32 y, S32 width, S32 height)                  // Create the GL texture, and then hang onto it for future use.                  if (mNeedsCreateTexture)                  { -                    mCachedProcessedTexture->createGLTexture(0, mStaticImageRaw); +                    if (!mCachedProcessedTexture->createGLTexture(0, mStaticImageRaw)) +                    { +                        LL_WARNS() << "Failed to create GL texture for image: " << mCachedProcessedTexture->getID() << LL_ENDL; +                    }                      mNeedsCreateTexture = false;                      gGL.getTexUnit(0)->bind(mCachedProcessedTexture);                      mCachedProcessedTexture->setAddressMode(LLTexUnit::TAM_CLAMP); diff --git a/indra/llrender/llcubemap.cpp b/indra/llrender/llcubemap.cpp index 53691bafe2..c52f68d298 100644 --- a/indra/llrender/llcubemap.cpp +++ b/indra/llrender/llcubemap.cpp @@ -86,7 +86,10 @@ void LLCubeMap::initGL()              #endif                  mImages[i]->setTarget(mTargets[i], LLTexUnit::TT_CUBE_MAP);                  mRawImages[i] = new LLImageRaw(RESOLUTION, RESOLUTION, 4); -                mImages[i]->createGLTexture(0, mRawImages[i], texname); +                if (!mImages[i]->createGLTexture(0, mRawImages[i], texname)) +                { +                    LL_WARNS() << "Failed to create GL texture for environment cubemap face " << i << LL_ENDL; +                }                  gGL.getTexUnit(0)->bindManual(LLTexUnit::TT_CUBE_MAP, texname);                  mImages[i]->setAddressMode(LLTexUnit::TAM_CLAMP); @@ -203,7 +206,10 @@ void LLCubeMap::initEnvironmentMap(const std::vector<LLPointer<LLImageRaw> >& ra          mImages[i] = new LLImageGL(resolution, resolution, components, true);          mImages[i]->setTarget(mTargets[i], LLTexUnit::TT_CUBE_MAP);          mRawImages[i] = rawimages[i]; -        mImages[i]->createGLTexture(0, mRawImages[i], texname); +        if (!mImages[i]->createGLTexture(0, mRawImages[i], texname)) +        { +            LL_WARNS() << "Failed to create GL texture for environment cubemap face " << i << LL_ENDL; +        }          gGL.getTexUnit(0)->bindManual(LLTexUnit::TT_CUBE_MAP, texname);          mImages[i]->setAddressMode(LLTexUnit::TAM_CLAMP); diff --git a/indra/llwebrtc/llwebrtc.cpp b/indra/llwebrtc/llwebrtc.cpp index d453ad0c7b..7c2481a94c 100644 --- a/indra/llwebrtc/llwebrtc.cpp +++ b/indra/llwebrtc/llwebrtc.cpp @@ -588,14 +588,20 @@ void LLWebRTCImpl::workerDeployDevices()  void LLWebRTCImpl::setCaptureDevice(const std::string &id)  { -    mRecordingDevice = id; -    deployDevices(); +    if (mRecordingDevice != id) +    { +        mRecordingDevice = id; +        deployDevices(); +    }  }  void LLWebRTCImpl::setRenderDevice(const std::string &id)  { -    mPlayoutDevice = id; -    deployDevices(); +    if (mPlayoutDevice != id) +    { +        mPlayoutDevice = id; +        deployDevices(); +    }  }  // updateDevices needs to happen on the worker thread. diff --git a/indra/newview/lldrawpoolbump.cpp b/indra/newview/lldrawpoolbump.cpp index c9470fe977..ea2bc74daa 100644 --- a/indra/newview/lldrawpoolbump.cpp +++ b/indra/newview/lldrawpoolbump.cpp @@ -802,7 +802,10 @@ void LLBumpImageList::onSourceStandardLoaded( bool success, LLViewerFetchedTextu          }          src_vi->setExplicitFormat(GL_RGBA, GL_RGBA);          { -            src_vi->createGLTexture(src_vi->getDiscardLevel(), nrm_image); +            if (!src_vi->createGLTexture(src_vi->getDiscardLevel(), nrm_image)) +            { +                LL_WARNS() << "Failed to create bump image texture for image " << src_vi->getID() << LL_ENDL; +            }          }      }  } @@ -896,7 +899,10 @@ void LLBumpImageList::onSourceUpdated(LLViewerTexture* src, EBumpEffect bump_cod          LLImageGL* src_img = src->getGLTexture();          LLImageGL* dst_img = bump->getGLTexture(); -        dst_img->setSize(src->getWidth(), src->getHeight(), 4, 0); +        if (!dst_img->setSize(src->getWidth(), src->getHeight(), 4, 0)) +        { +            LL_WARNS() << "Failed to setSize for image " << bump->getID() << LL_ENDL; +        }          dst_img->setUseMipMaps(true);          dst_img->setDiscardLevel(0);          dst_img->createGLTexture(); diff --git a/indra/newview/lllocalbitmaps.cpp b/indra/newview/lllocalbitmaps.cpp index a99c9df0ff..6e56aac270 100644 --- a/indra/newview/lllocalbitmaps.cpp +++ b/indra/newview/lllocalbitmaps.cpp @@ -219,7 +219,10 @@ bool LLLocalBitmap::updateSelf(EUpdateType optional_firstupdate)                      LLPointer<LLViewerFetchedTexture> texture = new LLViewerFetchedTexture                          ("file://"+mFilename, FTT_LOCAL_FILE, mWorldID, LL_LOCAL_USE_MIPMAPS); -                    texture->createGLTexture(LL_LOCAL_DISCARD_LEVEL, raw_image); +                    if (!texture->createGLTexture(LL_LOCAL_DISCARD_LEVEL, raw_image)) +                    { +                        LL_WARNS() << "Failed to create GL texture for local bitmap: " << mFilename << " " << mWorldID << LL_ENDL; +                    }                      texture->ref();                      gTextureList.addImage(texture, TEX_LIST_STANDARD); diff --git a/indra/newview/llviewermedia.cpp b/indra/newview/llviewermedia.cpp index 10a29f3fb2..f004575c4a 100644 --- a/indra/newview/llviewermedia.cpp +++ b/indra/newview/llviewermedia.cpp @@ -3018,7 +3018,10 @@ void LLViewerMediaImpl::doMediaTexUpdate(LLViewerMediaTexture* media_tex, U8* da      // -Cosmic,2023-04-04      // 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); +    if (!media_tex->createGLTexture(0, raw, 0, true, LLGLTexture::OTHER, true, &tex_name)) +    { +        LL_WARNS("Media") << "Failed to create media texture" << LL_ENDL; +    }      // copy just the subimage covered by the image raw to GL      media_tex->setSubImage(data, data_width, data_height, x_pos, y_pos, width, height, tex_name); @@ -3087,7 +3090,10 @@ LLViewerMediaTexture* LLViewerMediaImpl::updateMediaImage()              mMediaSource->getTextureFormatSwapBytes());          int discard_level = 0; -        media_tex->createGLTexture(discard_level, raw); +        if (!media_tex->createGLTexture(discard_level, raw)) +        { +            LL_WARNS("Media") << "Failed to create media texture" << LL_ENDL; +        }          // MEDIAOPT: set this dynamically on play/stop          // FIXME diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp index b669ec2c31..c7513ded62 100644 --- a/indra/newview/llviewertexture.cpp +++ b/indra/newview/llviewertexture.cpp @@ -406,7 +406,10 @@ void LLViewerTextureManager::init()              }          }      } -    imagep->createGLTexture(0, image_raw); +    if (!imagep->createGLTexture(0, image_raw)) +    { +        LL_WARNS() << "Failed to create default texture " << IMG_DEFAULT << LL_ENDL; +    }      image_raw = NULL;  #else      LLViewerFetchedTexture::sDefaultImagep = LLViewerTextureManager::getFetchedTexture(IMG_DEFAULT, true, LLGLTexture::BOOST_UI); | 
