summaryrefslogtreecommitdiff
path: root/indra/llrender/llimagegl.cpp
diff options
context:
space:
mode:
authorErik Kundiman <erik@megapahit.org>2024-10-18 19:33:07 +0800
committerErik Kundiman <erik@megapahit.org>2024-10-18 19:33:07 +0800
commitd353111de315f9d37bf914b54a52d217c45a6e19 (patch)
tree6e5cd425872de97080fc1759f981219b0c2d927a /indra/llrender/llimagegl.cpp
parentad3cbb9f75c4ea7f0473225afc034c403b54fc82 (diff)
parentbd19bbf651d5a2b83e367d1f50a3d8eb00d5fbbd (diff)
Merge remote-tracking branch 'secondlife/release/2024.09-ExtraFPS' into 2024.09-ExtraFPS
Diffstat (limited to 'indra/llrender/llimagegl.cpp')
-rw-r--r--indra/llrender/llimagegl.cpp30
1 files changed, 21 insertions, 9 deletions
diff --git a/indra/llrender/llimagegl.cpp b/indra/llrender/llimagegl.cpp
index 5a9b58f160..61ac160b50 100644
--- a/indra/llrender/llimagegl.cpp
+++ b/indra/llrender/llimagegl.cpp
@@ -1378,12 +1378,16 @@ void LLImageGL::setManualImage(U32 target, S32 miplevel, S32 intformat, S32 widt
{ //GL_ALPHA is deprecated, convert to RGBA
if (pixels != nullptr)
{
- scratch.reset(new(std::nothrow) U32[width * height]);
- if (!scratch)
+ try
+ {
+ scratch.reset(new U32[width * height]);
+ }
+ catch (std::bad_alloc)
{
LLError::LLUserWarningMsg::showOutOfMemory();
LL_ERRS() << "Failed to allocate " << (U32)(width * height * sizeof(U32))
- << " bytes for a manual image W" << width << " H" << height << LL_ENDL;
+ << " bytes for a manual image W" << width << " H" << height
+ << " Pixformat: GL_ALPHA, pixtype: GL_UNSIGNED_BYTE" << LL_ENDL;
}
U32 pixel_count = (U32)(width * height);
@@ -1405,12 +1409,16 @@ void LLImageGL::setManualImage(U32 target, S32 miplevel, S32 intformat, S32 widt
{ //GL_LUMINANCE_ALPHA is deprecated, convert to RGBA
if (pixels != nullptr)
{
- scratch.reset(new(std::nothrow) U32[width * height]);
- if (!scratch)
+ try
+ {
+ scratch.reset(new U32[width * height]);
+ }
+ catch (std::bad_alloc)
{
LLError::LLUserWarningMsg::showOutOfMemory();
LL_ERRS() << "Failed to allocate " << (U32)(width * height * sizeof(U32))
- << " bytes for a manual image W" << width << " H" << height << LL_ENDL;
+ << " bytes for a manual image W" << width << " H" << height
+ << " Pixformat: GL_LUMINANCE_ALPHA, pixtype: GL_UNSIGNED_BYTE" << LL_ENDL;
}
U32 pixel_count = (U32)(width * height);
@@ -1435,12 +1443,16 @@ void LLImageGL::setManualImage(U32 target, S32 miplevel, S32 intformat, S32 widt
{ //GL_LUMINANCE_ALPHA is deprecated, convert to RGB
if (pixels != nullptr)
{
- scratch.reset(new(std::nothrow) U32[width * height]);
- if (!scratch)
+ try
+ {
+ scratch.reset(new U32[width * height]);
+ }
+ catch (std::bad_alloc)
{
LLError::LLUserWarningMsg::showOutOfMemory();
LL_ERRS() << "Failed to allocate " << (U32)(width * height * sizeof(U32))
- << " bytes for a manual image W" << width << " H" << height << LL_ENDL;
+ << " bytes for a manual image W" << width << " H" << height
+ << " Pixformat: GL_LUMINANCE, pixtype: GL_UNSIGNED_BYTE" << LL_ENDL;
}
U32 pixel_count = (U32)(width * height);