summaryrefslogtreecommitdiff
path: root/indra/llimage/llimage.h
AgeCommit message (Collapse)Author
2019-08-12DRTVWR-493: Streamline LLParamSingleton, LLLockedSingleton.Nat Goodspeed
Simplify LLSingleton::SingletonLifetimeManager to SingletonInitializer: that struct has not been responsible for deletion ever since LLSingletonBase acquired dependency-ordered deleteAll(). Move SingletonData::mInitState changes from SingletonLifetimeManager to constructSingleton() method. Similarly, constructSingleton() now sets SingletonData::mInstance instead of making its caller store the pointer. Add variadic arguments to LLSingleton::constructSingleton() so we can reuse it for LLParamSingleton. Add finishInitializing() method to encapsulate logic reused for getInstance()'s INITIALIZING and DELETED cases. Make LLParamSingleton a subclass of LLSingleton, just as LLLockedSingleton is a subclass of LLParamSingleton. Make LLParamSingleton a friend of LLSingleton, so it can access private members of LLSingleton without also granting access to any DERIVED_CLASS subclass. This eliminates the need for protected getInitState(). LLParamSingleton::initParamSingleton() reuses LLSingleton::constructSingleton() and finishInitializing(). Its getInstance() method completely replaces LLSingleton::getInstance(): in most EInitStates, LLParamSingleton::getInstance() is an error. Use a std::mutex to serialize calls to LLParamSingleton::initParamSingleton() and getInstance(). While LLSingleton::getInstance() relies on the "initialized exactly once" guarantee for block-scope static declarations, LLParamSingleton cannot rely on the same mechanism. LLLockedSingleton is now a very succinct subclass of LLParamSingleton -- they have very similar functionality. Giving the LLSINGLETON() macro variadic arguments eliminates the need for a separate LLPARAMSINGLETON() macro, while continuing to support existing usage.
2019-07-25DRTVWR-493 LLImage to LLParamSingletonandreykproductengine
2018-01-30MAINT-8091 Removed deprecated and unused private memory poolingAndrey Kleshchev
2017-06-06[SL-711] - Eliminate some overheads in texturecache.ruslantproductengine
- Eliminate memory overhead when need duplicated scaled image. - Small improvement in LLImageBase::getCodecFromExtension()
2016-12-08MAINT-6729 Additional fix for crash in LLImageGL::analyzeAlpha()AndreyL ProductEngine
2016-08-09MAINT-6618 More checksAndreyL ProductEngine
2016-07-22MAINT-6584: Convert LLImage class hierarchy to standard 'bool'Nat Goodspeed
instead of legacy BOOL.
2015-11-10remove execute permission from many files that should not have itOz Linden
2015-02-13MAINT-4329 Backed out changeset: fd3a4d5c2cf5ruslantproductengine
2014-09-25MAINT-4329 FIXED scales each image *twice* for no apparent reason : patchset #2ruslantproductengine
2014-05-06Pull merge from lindenlab/viewer-release. Fixed some conflicts and compile ↵Merov Linden
errors
2014-01-28ACME-1195 : WIP : Lazy evaluate intermediate images in snapshot preview so ↵Merov Linden
perf is better in common cases, allow thumbnail to be computed from grabed frame (for SL Share), thumbnail display still buggy in SL Share
2014-01-15ACME-1236 : Clean up llimage after refactoring so there's no difference with ↵Merov Linden
viewer-release
2014-01-14ACME-1236 : Refactor filters and vignette into llimagefilter, add example ↵Merov Linden
filters to llimage_libtest
2014-01-09ACME-1236 : Add lines as a new type of vignette and Brightscan as an exampleMerov Linden
2014-01-08ACME-1236 : WIP : Added mode and angle parameter to filterScreen (renamed ↵Merov Linden
for consistency)
2014-01-07ACME-1236 : WIP : Introduced screenFilter, simple creative screening filterMerov Linden
2014-01-06ACME-1236 : WIP : Make each color correct filter use a per channel alpha ↵Merov Linden
argument, tweak Instagram-like test filters for discussion
2014-01-03ACME-1236 : WIP : Add 2 new color correction filters. Add a la Instagram ↵Merov Linden
composite filters for testing in llimage_libtest
2014-01-03ACME-1236 : WIP : Added a min value to vignetteMerov Linden
2014-01-03ACME-1236 : WIP : Added the vignette mode. Can be applied to colorCorrect ↵Merov Linden
and color Transform. Added new -v argument to llimage_libtest
2014-01-02ACME-1236 : WIP : added all the color correction filters: colorize, ↵Merov Linden
linarize, equalize, contrast, brightness
2014-01-01ACME-1236 : WIP : add filterGamma, computeHistograms, colorCorrect, ↵Merov Linden
implemented filter gamma to llimage_libtest for testing
2014-01-01ACME-1236 : WIP : add filterRotate to rotate hue, add rotate as a valid ↵Merov Linden
argument to --filter in llimage_libtest
2013-12-30ACME-1236 : WIP : Implement saturation/desaturation transform filter, add it ↵Merov Linden
to llimage_libtest for testing
2013-12-20ACME-1236 : WIP : Implement colorTransform filter, grayscale and sepia using ↵Merov Linden
it, add parameter to llimage_libtest to use filters
2013-12-18ACME-1236 : WIP : Added Gray Scale as an experimental filter in Flickr. Lots ↵Merov Linden
of ugly hacks for now
2013-09-05changed fast timer over to using macroRichard Linden
another attempt to move mem stat into base class
2013-08-19MergeXiaohong Bao
2013-07-18SH-4297 WIP interesting: viewer-interesting starts loading cached scene lateRichard Linden
dependency cleanup - removed a lot of unecessary includes
2013-07-01BUILDFIX: reverted changes that attempted to automate mem trackRichard Linden
stat definition as they don't work on gcc/clang
2013-07-01SH-4294 FIX Interesting: Statistics Texture cache hit rate is always 0%Richard Linden
also, removed LLTrace::init and cleanup removed derived class implementation of memory stat for LLMemTrackable is automatic now
2013-06-05merge with viewer-releaseRichard Linden
2013-05-09Merge viewer-betasimon
2013-04-19merge changes for DRTVWR-294Oz Linden
2013-04-11Forgot to commit @#! mergesimon
2013-03-29Update Mac and Windows breakpad builds to latestGraham Madarasz
2013-03-06renamed LLTrace stat gathering classes/methods to make the structure of ↵Richard Linden
LLTrace clearer Count becomes CountStatHandle Count.sum becomes sum(Count, value), etc.
2013-01-24merging in viewer-beta.Nyx Linden
Most of the merge was clean, a couple conflicts. Brought over a couple patches manually for llpolymesh.
2013-01-04SH-3468 WIP add memory tracking base classRichard Linden
attempted fix for gcc compile errors can't use typeid() on a class that doesn't have a method defined in a translation unit fix is to force classes deriving from LLMemTrackable to use their own static member named sMemStat
2013-01-03fix for MAINT-2147: crash in LLTextureCache::writeToFastCache on OSXXiaohong Bao
2012-12-18Fix for alpha blending using gl fixed-functions not matching shader ↵Don Kjer
implementation
2012-12-18SH-3468 WIP add memory tracking base classRichard Linden
created memory tracking trace type instrumented a few classes with memory tracking
2012-11-19merge with viewer-developmentRichard Linden
2012-10-16Pull back viewer-development with latest beta mergessimon@Simon-PC.lindenlab.com
2012-10-16pull back changes from 3.4.1-beta8Oz Linden
2012-10-15MAINT-1721 Fix for crash when clicking "back" button after editing appearance.Dave Parks
Reviewed by VoidPointer
2012-09-06Automated merge with http://bitbucket.org/lindenlab/viewer-developmentRichard Linden
2012-09-05Merge in latest viewer-developmentsimon@Simon-PC.lindenlab.com
2012-07-20MAINT-570 Remove unused memory tracking system LLMemTypeDave Parks