From f2b32dafa4ddb7af6c2b775c51214d1ddf4fd98b Mon Sep 17 00:00:00 2001 From: AndreyL ProductEngine Date: Tue, 29 Nov 2016 12:28:21 +0200 Subject: MAINT-6729 Fix crash in LLImageGL::analyzeAlpha() --- indra/newview/llviewertexture.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'indra/newview/llviewertexture.cpp') diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp index 178aa1e646..3cef34445a 100644 --- a/indra/newview/llviewertexture.cpp +++ b/indra/newview/llviewertexture.cpp @@ -1419,11 +1419,17 @@ BOOL LLViewerFetchedTexture::createTexture(S32 usename/*= 0*/) destroyRawImage(); return FALSE; } - mNeedsCreateTexture = FALSE; + mNeedsCreateTexture = FALSE; if (mRawImage.isNull()) { LL_ERRS() << "LLViewerTexture trying to create texture with no Raw Image" << LL_ENDL; } + if (mRawImage->isBufferInvalid()) + { + LL_WARNS() << "Can't create a texture: invalid image data" << LL_ENDL; + destroyRawImage(); + return FALSE; + } // LL_INFOS() << llformat("IMAGE Creating (%d) [%d x %d] Bytes: %d ", // mRawDiscardLevel, // mRawImage->getWidth(), mRawImage->getHeight(),mRawImage->getDataSize()) -- cgit v1.2.3 From 9bfcda0a5118d0a0782f2786049de411701019a4 Mon Sep 17 00:00:00 2001 From: pavelkproductengine Date: Thu, 10 Nov 2016 19:44:51 +0200 Subject: MAINT-6882 4k monitor with maximized window overwhelms low end GPUs and crashes viewer --- indra/newview/llviewertexture.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) (limited to 'indra/newview/llviewertexture.cpp') diff --git a/indra/newview/llviewertexture.cpp b/indra/newview/llviewertexture.cpp index 3cef34445a..6abd6f7b64 100644 --- a/indra/newview/llviewertexture.cpp +++ b/indra/newview/llviewertexture.cpp @@ -488,7 +488,7 @@ bool LLViewerTexture::isMemoryForTextureLow() LL_RECORD_BLOCK_TIME(FTM_TEXTURE_MEMORY_CHECK); - const S32Megabytes MIN_FREE_TEXTURE_MEMORY(5); //MB + const S32Megabytes MIN_FREE_TEXTURE_MEMORY(20); //MB Changed to 20 MB per MAINT-6882 const S32Megabytes MIN_FREE_MAIN_MEMORY(100); //MB bool low_mem = false; @@ -511,18 +511,17 @@ bool LLViewerTexture::isMemoryForTextureLow() } } } -#if 0 //ignore nVidia cards + //Enabled this branch per MAINT-6882 else if (gGLManager.mHasNVXMemInfo) { S32 free_memory; glGetIntegerv(GL_GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX, &free_memory); - if(free_memory / 1024 < MIN_FREE_TEXTURE_MEMORY) + if ((S32Megabytes)(free_memory / 1024) < MIN_FREE_TEXTURE_MEMORY) { low_mem = true; } } -#endif return low_mem; } -- cgit v1.2.3