summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2019-09-05Merged in lindenlab/viewer-lynxAndreyL ProductEngine
2019-09-05SL-11718 Another exit crashandreykproductengine
2019-09-04DRTVWR-493 Do not recreate proxy only to destroy itandreykproductengine
2019-09-04SL-11868 Fix cache init after purgeandreykproductengine
2019-09-04SL-11866 [D493] Some startup elements can be executed twice, added protectionsandreykproductengine
2019-09-04SL-11865 Fixed weird existance checkandreykproductengine
2019-09-03SL-11543, SL-11443Graham Linden
Fix faullbright/emissive problems.
2019-09-03SL-11856 Backed out SL-11012AndreyL ProductEngine
changeset: 0d43d9754b79
2019-08-30Fix names on sentinels to get doxygen to shaddap.Graham Linden
2019-08-29Merged in maxim_productengine/viewer-eep (pull request #491)Graham Madarasz
SL-11835 FIXED [EEP] Environment settings are shown with general 'object' icon in Inventory Approved-by: Andrey Kleshchev <andreykproductengine@lindenlab.com>
2019-08-29Remove unref'd var reintroduced in upstream merges.Graham Linden
2019-08-29Merge from lindenlab/viewer-releaseandreykproductengine
2019-08-29SL-11835 FIXED [EEP] Environment settings are shown with general 'object' ↵maxim_productengine
icon in Inventory
2019-08-28Work around issue with friend ops not accepting default params on Clang.Graham Linden
2019-08-28SL-11772Graham Linden
Modify behavior of culling while doing reflection/refraction passes.
2019-08-28SL-11776 [EEP] Reduced frequency of sky updates by comparing data fuzzilyandreykproductengine
2019-08-28SL-11795 Rename Load/Clone/Clear buttonsmaxim_productengine
2019-08-27SL-11519Graham Linden
Remove code for fixing 11370. We *do* want objects in distortion map in Low-Mid after all.
2019-08-27SL-11550Graham Linden
Restore mul by light_transmittance in CPU version of atmospherics.
2019-08-27SL-11055Graham Linden
Remedy cloud_shadow and hack halving being done twice to ambient in some cases (i.e. artificial dimunition of necessary bullshit factor).
2019-08-27Merge fixAnsariel
2019-08-27Merged in graham_linden/viewer-eep-g (pull request #486)Graham Madarasz
Default
2019-08-27Move decl of statics inside func to appease Clang, maybe.Graham Linden
2019-08-26Make texture ctrl visibility set respect BOOL vs bool and use better naming.Graham Linden
2019-08-26SL-11706: Correctly load settings when pushing the Load button in the fixed ↵Rider Linden
environment editor.
2019-08-26Fix merged code use of obsoleted vars and other merge errors.Graham Linden
2019-08-26Fix llavatarappearance merge to not use iterator in favor of C++11 lingo.Graham Linden
2019-08-26Merge 6.3.1 viewer-releaseGraham Linden
2019-08-26Merged in lindenlab/viewer-releaseAndreyL ProductEngine
2019-08-26increment viewer version to 6.3.1Nat Goodspeed
2019-08-26Added tag 6.3.0-release for changeset 9777aec6dc4aNat Goodspeed
2019-08-26MergeRider Linden
2019-08-26SL-11705, SL-11706: New flags in llsettings base for tracking by simulator.Rider Linden
2019-08-23SL-11778Graham Linden
Make RenderShadowResolutionScale work again, also decoupling shadow buffer alloc/release/resize from screen buffer resize function.
2019-08-23SL-11774Graham Linden
Fix diffuse boost when water fog is enabled and make deferred underwater shader participate in EEP/WL param updates by marking it as a water shader.
2019-08-23Remove unused vars to appease Clang.Graham Linden
2019-08-22Best of both worlds for 11776.Graham Linden
2019-08-22SL-11776Graham Linden
Merge both solutions preserving the simpler of the two. Will revisit to catch the new code for timeslicing updates once it is debugged.
2019-08-22SL-11776 Fixed moon's comparison conditionandreykproductengine
2019-08-22SL-11776Graham Linden
Fix false alarming sky updates and doing expensive CPU work for same sky pixels.
2019-08-22SL-11406Graham Linden
Restore code to stomp emissive in the absence of a normal map (to avoid fullbright implying full emissive).
2019-08-22SL-11776 Compensate freeze by spreading calculationsandreykproductengine
2019-08-22SL-11779Graham Linden
Make changing shadow res scale not instantly drop/realloc buffers but wait until display gets to it.
2019-08-20Automated merge with ssh://bitbucket.org/andreykproductengine/drtvwr-493Nat Goodspeed
2019-08-20DRTVWR-493: Clarify capturing LLError::getFatalFunction() in a var.Nat Goodspeed
VS 2013 thought we were storing an initialization-list.
2019-08-20DRTVWR-493: Defend LL[Param]Singleton against ctor/init exceptions.Nat Goodspeed
An exception in the LLSingleton subclass constructor, or in its initSingleton() method, could leave the LLSingleton machinery in a bad state: the failing instance would remain in the MasterList, also on the stack of initializing LLSingletons. Catch exceptions in either and perform relevant cleanup. This problem is highlighted by test programs, in which LL_ERRS throws an exception rather than crashing the whole process. In the relevant catch clauses, clean up the initializing stack BEFORE logging. Otherwise we get tangled up recording bogus dependencies. Move capture_dependency() out of finishInitializing(): it must be called by every valid getInstance() call, both from LLSingleton and LLParamSingleton. Introduce new CONSTRUCTED EInitState value to distinguish "have called the constructor but not yet the initSingleton() method" from "currently within initSingleton() method." This is transient, but we execute the 'switch' on state within that moment. One could argue that the previous enum used INITIALIZING for current CONSTRUCTED, and INITIALIZED meant INITIALIZING too, but this is clearer. Introduce template LLSingletonBase::classname() helper methods to clarify verbose demangle(typeid(stuff).name()) calls. Similarly, introduce LLSingleton::pop_initializing() shorthand method.
2019-08-19DRTVWR-493: Improve exception safety of LLSingleton initialization.Nat Goodspeed
Add try/catch clauses to constructSingleton() (to catch exceptions in the subclass constructor) and finishInitializing() (to catch exceptions in the subclass initSingleton() method). Each of these catch clauses rethrows the exception -- they're for cleanup, not for ultimate handling. Introduce LLSingletonBase::reset_initializing(list_t::size_t). The idea is that since we can't know whether the exception happened before or after the push_initializing() call in LLSingletonBase's constructor, we can't just pop the stack. Instead, constructSingleton() captures the stack size before attempting to construct the new LLSingleton subclass. On exception, it calls reset_initializing() to restore the stack to that size. Naturally that requires a corresponding LLSingleton_manage_master method, whose MasterList specialization is a no-op. finishInitializing()'s exception handling is a bit simpler because it has a constructed LLSingleton subclass instance in hand, therefore push_initializing() has definitely been called, therefore it can call pop_initializing(). Break out new static capture_dependency() method from finishInitializing() because, in the previous LLSingleton::getInstance() implementation, the logic now wrapped in capture_dependency() was reached even in the INITIALIZED case. TODO: Add a new EInitState to differentiate "have been constructed, now calling initSingleton()" from "fully initialized, normal case" -- in the latter control path we should not be calling capture_dependency(). The LLSingleton_manage_master<LLSingletonBase::MasterList> specialization's get_initializing() function (which called get_initializing_from()) was potentially dangerous. get_initializing() is called by push_initializing(), which (in the general case) is called by LLSingletonBase's constructor. If somehow the MasterList's LLSingletonBase constructor ended up calling get_initializing(), it would have called get_initializing_from(), passing an LLSingletonBase which had not yet been constructed into the MasterList. In particular, its mInitializing map would not yet have been initialized at all. Since the MasterList must not, by design, depend on any other LLSingletons, LLSingleton_manage_master<LLSingletonBase::MasterList>::get_initializing() need not return a list from the official mInitializing map anyway. It can, and should, and now does, return a static dummy list. That obviates get_initializing_from(), which is removed. That in turn means we no longer need to pass get_initializing() an LLSingletonBase*. Remove that parameter.
2019-08-19DRTVWR-493: When a test fails due to exception, display exception.Nat Goodspeed
2019-08-16Merged in graham_linden/viewer-eep-g (pull request #478)Graham Madarasz
SL-11589. SL-11212
2019-08-15SL-11662 - apparently a race condition between image loading and material ↵Brad Payne (Vir Linden)
property setting