diff options
| author | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2020-10-23 00:17:29 +0300 | 
|---|---|---|
| committer | Andrey Kleshchev <andreykproductengine@lindenlab.com> | 2020-10-23 00:17:29 +0300 | 
| commit | ac875d18768c88f6fb52cbbd0713d1fa9be7e534 (patch) | |
| tree | 0f5be604ac9a44e55ccf9ea3a37c13afdcf0afdf | |
| parent | 0bf11e45ea34a21b980c36c99be476613552d560 (diff) | |
SL-14150 Comment for clarity and removed redundant check
| -rw-r--r-- | indra/newview/lltexturecache.cpp | 70 | 
1 files changed, 4 insertions, 66 deletions
| diff --git a/indra/newview/lltexturecache.cpp b/indra/newview/lltexturecache.cpp index 649a994648..87e38a26af 100644 --- a/indra/newview/lltexturecache.cpp +++ b/indra/newview/lltexturecache.cpp @@ -2090,46 +2090,6 @@ LLPointer<LLImageRaw> LLTextureCache::readFromFastCache(const LLUUID& id, S32& d  	return raw;  } -#if LL_WINDOWS - -static const U32 STATUS_MSC_EXCEPTION = 0xE06D7363; // compiler specific - -U32 exception_dupe_filter(U32 code, struct _EXCEPTION_POINTERS *exception_infop) -{ -    if (code == STATUS_MSC_EXCEPTION) -    { -        // C++ exception, go on -        return EXCEPTION_CONTINUE_SEARCH; -    } -    else -    { -        // handle it -        return EXCEPTION_EXECUTE_HANDLER; -    } -} - -//due to unwinding -void dupe(LLPointer<LLImageRaw> &raw) -{ -    raw = raw->duplicate(); -} - -void logExceptionDupplicate(LLPointer<LLImageRaw> &raw) -{ -    __try -    { -        dupe(raw); -    } -    __except (exception_dupe_filter(GetExceptionCode(), GetExceptionInformation())) -    { -        // convert to C++ styled exception -        char integer_string[32]; -        sprintf(integer_string, "SEH, code: %lu\n", GetExceptionCode()); -        throw std::exception(integer_string); -    } -} -#endif -  //return the fast cache location  bool LLTextureCache::writeToFastCache(LLUUID image_id, S32 id, LLPointer<LLImageRaw> raw, S32 discardlevel)  { @@ -2146,7 +2106,8 @@ bool LLTextureCache::writeToFastCache(LLUUID image_id, S32 id, LLPointer<LLImage  	c = raw->getComponents();  	S32 i = 0 ; -	 + +	// Search for a discard level that will fit into fast cache  	while(((w >> i) * (h >> i) * c) > TEXTURE_FAST_CACHE_DATA_SIZE)  	{  		++i ; @@ -2158,31 +2119,8 @@ bool LLTextureCache::writeToFastCache(LLUUID image_id, S32 id, LLPointer<LLImage  		h >>= i;  		if(w * h *c > 0) //valid  		{ -			//make a duplicate to keep the original raw image untouched. - -            try -            { -#if LL_WINDOWS -                // Temporary diagnostics for scale/duplicate crash -                logExceptionDupplicate(raw); -#else -                raw = raw->duplicate(); -#endif -            } -            catch (...) -            { -                removeFromCache(image_id); -                LL_ERRS() << "Failed to cache image: " << image_id -                    << " local id: " << id -                    << " Exception: " << boost::current_exception_diagnostic_information() -                    << " Image new width: " << w -                    << " Image new height: " << h -                    << " Image new components: " << c -                    << " Image discard difference: " << i -                    << LL_ENDL; - -                return false; -            } +            // make a duplicate to keep the original raw image untouched. +            raw = raw->duplicate();  			if (raw->isBufferInvalid())  			{ | 
