summaryrefslogtreecommitdiff
path: root/indra/llimage
AgeCommit message (Collapse)Author
2011-03-10STORM-987 : Took Vadim's comment into account: check arguments consistency, ↵Merov Linden
make sure remaining perf data are flushed on exit.
2011-03-09STORM-987 : Add the --image-stats argument, make argument passing more ↵Merov Linden
consistent, fix typos in comments in llimage header
2011-02-24fix the compiling error: "free" is defined and in use globally.Xiaohong Bao
2011-02-23add types to LLPrivateMemoryPoolXiaohong Bao
2011-02-23MergeXiaohong Bao
2011-02-23Automated merge with ssh://hg.lindenlab.com/bao/private-memory-poolXiaohong Bao
2011-02-23Merge from viewer-developmentXiaohong Bao
2011-02-05Introduces a LLThreadLocalData class that can beAleric Inglewood
accessed through the static LLThread::tldata(). Currently this object contains two (public) thread-local objects: a LLAPRRootPool and a LLVolatileAPRPool. The first is the general memory pool used by this thread (and this thread alone), while the second is intended for short lived memory allocations (needed for APR). The advantages of not mixing those two is that the latter is used most frequently, and as a result of it's nature can be destroyed and reconstructed on a "regular" basis. This patch adds LLAPRPool (completely replacing the old one), which is a wrapper around apr_pool_t* and has complete thread-safity checking. Whenever an apr call requires memory for some resource, a memory pool in the form of an LLAPRPool object can be created with the same life-time as this resource; assuring clean up of the memory no sooner, but also not much later than the life-time of the resource that needs the memory. Many, many function calls and constructors had the pool parameter simply removed (it is no longer the concern of the developer, if you don't write code that actually does an libapr call then you are no longer bothered with memory pools at all). However, I kept the notion of short-lived and long-lived allocations alive (see my remark in the jira here: https://jira.secondlife.com/browse/STORM-864?focusedCommentId=235356&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-235356 which requires that the LLAPRFile API needs to allow the user to specify how long they think a file will stay open. By choosing 'short_lived' as default for the constructor that immediately opens a file, the number of instances where this needs to be specified is drastically reduced however (obviously, any automatic LLAPRFile is short lived). *** Addressed Boroondas remarks in https://codereview.secondlife.com/r/99/ regarding (doxygen) comments. This patch effectively only changes comments. Includes some 'merge' stuff that ended up in llvocache.cpp (while starting as a bug fix, now only resulting in a cleanup). *** Added comment 'The use of apr_pool_t is OK here'. Added this comment on every line where apr_pool_t is correctly being used. This should make it easier to spot (future) errors where someone started to use apr_pool_t; you can just grep all sources for 'apr_pool_t' and immediately see where it's being used while LLAPRPool should have been used. Note that merging this patch is very easy: If there are no other uses of apr_pool_t in the code (one grep) and it compiles, then it will work. *** Second Merge (needed to remove 'delete mCreationMutex' from LLImageDecodeThread::~LLImageDecodeThread). *** Added back #include <apr_pools.h>. Apparently that is needed on libapr version 1.2.8., the version used by Linden Lab, for calls to apr_queue_*. This is a bug in libapr (we also include <apr_queue.h>, that is fixed in (at least) 1.3.7. Note that 1.2.8 is VERY old. Even 1.3.x is old. *** License fixes (GPL -> LGPL). And typo in comments. Addresses merov's comments on the review board. *** Added Merov's compile fixes for windows.
2011-02-01fix a minor memory leaking flaw for SH-895: some mild memory leaking (partially)Xiaohong Bao
2011-01-21Merge viewer-development-shining up to REV 3bf724ecb7c6 (fix for SH-829: ↵Xiaohong Bao
Viewer attempting to load precached images in file types that are not being used.)
2011-01-20fix for SH-829: Viewer attempting to load precached images in file types ↵Xiaohong Bao
that are not being used.
2011-01-12trivial: fix some mac compiling errorsXiaohong Bao
2011-01-09FIX VWR-24420 Keep alpha channel in PNG images with background color.Thickbrick Sleaford
Remove code that composites RGBA PNG images that specify a background color down to RGB.
2011-01-06use the private pool in the texture pipelineXiaohong Bao
2010-12-17STORM-744 : Turn llimage/tests/ on againMerov Linden
2010-11-10merge with STORM-105 and viewer-developmentMerov Linden
2010-11-08STORM-105 : takes Vadim's comments into account, clean up use of static ↵Merov Linden
globals and magic strings, enforce naming conventions
2010-11-05STORM-105 : Take Vadim code review into account, code clean upMerov Linden
2010-11-04merge with STORM-105Merov Linden
2010-11-04merge with STORM-105Merov Linden
2010-11-04merge with viewer-developmentMerov Linden
2010-11-04STORM-105 : Tweak the data labels to make them easier to readMerov Linden
2010-11-03STORM-472 Fixed crash that happened while decoding jpg image.Andrew Productengine
In case of files provided in ticket problem occured in libjpeg's jpeg_start_decompress(to be more specofic- inside it's _jinit_color_deconverter()) because if cinfo's out_color_space is RGB, then jpeg_color_space can't be JCS_YCCK (JCS_YCCK jpeg_color_space is possible for JCS_CMYK out_color_space). So when the combination of RGB and JCS_YCCK was encountered, jpeglib called ERREXIT() inside which exit() was called and viewer crashed. - Checking for this combination before calling jpeg_start_decompress() would solve this problem in this specific case, but there are a lot of possible error combinations which cause libjpeg to exit and thus crash viewer, so copypasting checks from it into viewer code would be cumbersome, uneffective and ugly. So another approach was used instead- by default libjpeg calls exit() after encountering an error, but user can provide his own error handling function instead. on_jpeg_error() function was added in fix for this. It sets true a boolean flag that is used to determine whether there were errors in getImageDimensionsJpeg(), and this function's return value depends on it.
2010-10-27STORM-104 : make kdu statically linked, suppress the need for llkduMerov Linden
2010-10-27STORM-105 : improve decompression perf gathering, allow perf name to be ↵Merov Linden
passed on the command line, fix crash in analysis phase
2010-09-17STORM-105 : Add compression data gathering, took partial decompression into ↵Merov Linden
account in stats
2010-09-16Pull update from viewer-developmentMerov Linden
2010-09-15merged STORM-130 (a.k.a. VWR-22769, SNOW-737 Version agnostic libPNG linking)Boroondas Gupte
2010-09-08VWR-22761 : Rearchitecture of llmetricperformancetester and simple (non ↵Merov Linden
complete) implementation in llimagej2c
2010-09-07Automated merge with http://bitbucket.org/TheShining/viewer-developmentXiaohong Bao
2010-09-07fix for VWR-22813: crash at [1] LLImageBase::allocateData(int) ↵Xiaohong Bao
[secondlife-bin llimage.cpp]
2010-08-29SNOW-737 FIXED Version agnostic libPNG linkingBoroondas Gupte
Patch from http://jira.secondlife.com/secure/attachment/41125/version_agnostic_libpng__1.diff applied with fuzz 3: patching file indra/cmake/PNG.cmake Hunk #1 succeeded at 6 with fuzz 3 (offset -2 lines). patching file indra/llimage/llpngwrapper.cpp Hunk #1 succeeded at 215 (offset -2 lines). Hunk #2 succeeded at 363 (offset -2 lines). patching file indra/llimage/llpngwrapper.h Hunk #1 succeeded at 31 (offset -2 lines). Added entry in doc/contributions.txt. No further changes other than that.
2010-08-24standardizing test suite names as class name under testAaron Terrell (Enus)
2010-08-13Change license from GPL to LGPL (version 2.1)Oz Linden
2010-08-04merge the fix of SNOW-793: memory leak in LLImageFormatted::appendDataXiaohong Bao
2010-06-16Automated merge with ssh://hg.lindenlab.com/q/viewer-releaseXiaohong Bao
2010-06-15EXT-7851 FIXED Cleaned up code to avoid confusion.Lynx Linden
The mTmpWriteBuffer member variable was never actually being allocated because it was being shadowed by a local variable. This is why the code never crashed. I've removed the member variable as it was clearly never used and really confused the code.
2010-06-14EXT-7851 FIXED Memory leak in LLImagePNG::encode()Lynx Linden
We were not freeing the temporary image buffer if the PNG encoding failed. This probably doesn't happen very often, but it's good to plug the leak all the same.
2010-06-16EXT-6567: POSSIBLE FIXED: crash at LLImageBase::allocateData [secondlife-bin ↵Xiaohong Bao
llimage.cpp:170]; also removed the debug code for this bug.
2010-04-28fix for EXT-7159: textures are not fully loaded when http-texture is enabled.Xiaohong Bao
and EXT-6928: Viewer crashes immediately after enabling HTTP Textures on a http-texture-server-1 simulator
2010-04-21dos2unix this header :(Tofu Linden
2010-04-20fix for EXT-4082 Normal Uploading huge image crashes viewerYuri Chebotarev
https://codereview.productengine.com/secondlife/r/11/ reviewed Tofu Linden --HG-- branch : product-engine
2010-04-01make LLImageBase::allocateData() thread-safe.Xiaohong Bao
insert debug code for EXT-6567: crash at LLImageBase::allocateData [secondlife-bin llimage.cpp:170]
2010-03-10debug code for EXT-5599: Viewer crashes consistently, in Linden Homes region.Xiaohong Bao
2010-02-13CID-3Tofu Linden
Checker: CHECKED_RETURN Function: LLImageDecodeThread::update(unsigned int) File: /indra/llimage/llimageworker.cpp
2010-02-08EXT-4929 Crash in llimage.cppKarl Stiefvater (qarl)
EXT-4713 Hook attachment from loco pocos pirate outfit causes viewer crash removed broken assert (all cases are covered by asserts downstream.) reviewed by James.
2010-01-21checking for null in LLImageRaw::copy to prevent a crashLeyla Farazha
2009-11-06mergeSteve Bennetts
2009-11-06merge from texture-pipelineSteve Bennetts
2009-11-06SNOW-329 Handling of error case in llimage.cpp incorrectTofu Linden
This is the same fix as DEV-32269, trivially ported to viewer2. reviewed by merov, james, moss!