summaryrefslogtreecommitdiff
path: root/indra/llprimitive
AgeCommit message (Collapse)Author
2020-03-25[DRTVWR-476] - fix compiler errors 32 bit windows buildAnchor
2020-03-25SL-793: Use Boost.Fiber instead of the "dcoroutine" library.Nat Goodspeed
Longtime fans will remember that the "dcoroutine" library is a Google Summer of Code project by Giovanni P. Deretta. He originally called it "Boost.Coroutine," and we originally added it to our 3p-boost autobuild package as such. But when the official Boost.Coroutine library came along (with a very different API), and we still needed the API of the GSoC project, we renamed the unofficial one "dcoroutine" to allow coexistence. The "dcoroutine" library had an internal low-level API more or less analogous to Boost.Context. We later introduced an implementation of that internal API based on Boost.Context, a step towards eliminating the GSoC code in favor of official, supported Boost code. However, recent versions of Boost.Context no longer support the API on which we built the shim for "dcoroutine." We started down the path of reimplementing that shim using the current Boost.Context API -- then realized that it's time to bite the bullet and replace the "dcoroutine" API with the Boost.Fiber API, which we've been itching to do for literally years now. Naturally, most of the heavy lifting is in llcoros.{h,cpp} and lleventcoro.{h,cpp} -- which is good: the LLCoros layer abstracts away most of the differences between "dcoroutine" and Boost.Fiber. The one feature Boost.Fiber does not provide is the ability to forcibly terminate some other fiber. Accordingly, disable LLCoros::kill() and LLCoprocedureManager::shutdown(). The only known shutdown() call was in LLCoprocedurePool's destructor. We also took the opportunity to remove postAndSuspend2() and its associated machinery: FutureListener2, LLErrorEvent, errorException(), errorLog(), LLCoroEventPumps. All that dual-LLEventPump stuff was introduced at a time when the Responder pattern was king, and we assumed we'd want to listen on one LLEventPump with the success handler and on another with the error handler. We have never actually used that in practice. Remove associated tests, of course. There is one other semantic difference that necessitates patching a number of tests: with "dcoroutine," fulfilling a future IMMEDIATELY resumes the waiting coroutine. With Boost.Fiber, fulfilling a future merely marks the fiber as ready to resume next time the scheduler gets around to it. To observe the test side effects, we've inserted a number of llcoro::suspend() calls -- also in the main loop. For a long time we retained a single unit test exercising the raw "dcoroutine" API. Remove that. Eliminate llcoro_get_id.{h,cpp}, which provided llcoro::get_id(), which was a hack to emulate fiber-local variables. Since Boost.Fiber has an actual API for that, remove the hack. In fact, use (new alias) LLCoros::local_ptr for LLSingleton's dependency tracking in place of llcoro::get_id(). In CMake land, replace BOOST_COROUTINE_LIBRARY with BOOST_FIBER_LIBRARY. We don't actually use the Boost.Coroutine for anything (though there exist plausible use cases).
2019-09-05Merged in lindenlab/viewer-bearAndreyL ProductEngine
2019-07-24SL-4150 Rename htonmemcpyandreykproductengine
2019-05-10MergeAnchor
2019-04-10MergeAnchor
2019-04-02Merged in lindenlab/viewer-releaseAndreyL ProductEngine
2018-12-24SL-10283 Allow changing "Repeats per meter" on face 6 of hollowed cubemaxim_productengine
2018-11-29SL-9747 [Mesh Uploader] Remove confusing model_metric from uploadandreykproductengine
2018-11-28MergeAnchor
2018-11-14Merged in lindenlab/viewer-releaseAndreyL ProductEngine
2018-08-16MAINT-3699 new shaders supporting alpha blend/mask rigged content.Graham Linden
Make shader loading debug logging of uniforms use ShaderUniform to make supression simpler.
2018-08-08SL-928 - in mesh upload, warn if bind shape is non-identity and skin weights ↵Brad Payne (Vir Linden)
are enabled.
2018-07-30MAINT-8915Graham Linden
Fix sync of material rotation and offset values when using aligned planar faces. Make it possible to set a specific TE's normal/spec offset/rotation values. Eliminate redundant conversions in LLSD -> struct handler.
2018-07-20MAINT-8891 viewer-side fix for redundant setting of specular offset in LLSD ↵Graham Linden
to struct translation
2018-07-13MAINT-8863 - more diagnostics and possible fixBrad Payne (Vir Linden)
2018-06-29Convert tabs to spaces in llprimitive/llmaterial.* for sanityGraham Linden
2018-06-29MAINT-8676 modify XUI to allow negative offsets again and fix up material ↵Graham Linden
handling of normal/specular offsets
2018-06-19fix line endingsAnchor Linden
2018-06-13SL-915, MAINT-8554 - cleanup/reorg, added encroachment fix info to ↵Brad Payne (Vir Linden)
DebugAnimatedObjects output
2018-06-13[DRTVWR-476] - add universal head,upper,lower tattoosAnchor Linden
2018-06-08SL-915 - face-level caching, bug fixBrad Payne (Vir Linden)
2018-06-05mergeBrad Payne (Vir Linden)
2018-06-05MergeAnchor Linden
2018-06-01SL-915 - WIP on dynamic joint box trackingBrad Payne (Vir Linden)
2018-05-24[DRTVWR-455] - add new bake testure and tattoo slotsAnchor Linden
2018-03-02mergeBrad Payne (Vir Linden)
2018-03-02Merged in lindenlab/viewer-releaseAndreyL ProductEngine
2018-02-21MAINT-8264 - prevent at least some cases of LODs getting stuck at too-low ↵Brad Payne (Vir Linden)
values.
2018-02-14MAINT-7847 The presence of certain Avatars stops local specular textures ↵ruslantproductengine
from "sticking". Yes really. FIXED. Allows set material explicitly to material manager.
2018-01-22MAINT-8208 [Mac] Viewer crashes when uploading certain mesh model after ↵maxim_productengine
enabling "Include skin weight"
2018-01-03MAINT-8022 Make unzip silent yet include failure reason into outputandreykproductengine
2017-12-20Backed out changeset: 761e890970b2AndreyL ProductEngine
2017-11-29mergeBrad Payne (Vir Linden)
2017-12-14MAINT-6645 - Improvement - Agents that render as jelly dolls should have ↵ruslantproductengine
their attachments render at 0 LoD to prevent loading higher LoD complexity in memory thus deterring crashes. Stability improve. (viewer x64)
2017-10-31MAINT-2161 Fixed dae parsing issue - dae expects escaped namesandreykproductengine
2017-11-13MAINT-7847 Remake of 'white alpfa' fixandreykproductengine
2019-04-02Merged in lindenlab/viewer-bearAndreyL ProductEngine
2017-05-30SL-694 - UI initialization, set mType in LLExtendedMeshParams constructorBrad Payne (Vir Linden)
2017-05-25SL-694 - Added extra param field for flags related to extended mesh ↵Brad Payne (Vir Linden)
functionality. Currently this is just one bit to flag an object as able to animate
2017-04-14MAINT-7058 Fixed missing extents for generated (split) facesandreykproductengine
2017-03-28MAINT-7257 Added null check for volume managerandreykproductengine
2017-01-24MAINT-6645 - Improvement - Agents that render as jelly dolls should have ↵ruslantproductengine
their attachments render at 0 LoD to prevent loading higher LoD complexity in memory thus deterring crashes. Comments: - Fix based on "RenderAutoMuteByteLimit" setting. - File indra/llxml/llcontrol.h - add all signals to 0 group. It garanty that handlers (in indra/newview/llviewercontrol.cpp) will be called last.
2016-12-23Reverted changeset 409b67af8faf (MAINT-6901)andreykproductengine
2016-12-05Merged in lindenlab/viewer-releaseAndreyL ProductEngine
DRTVWR-412 Bento (avatar skeleton extensions)
2016-11-21MAINT-6901 safety checks fixandreykproductengine
2016-11-18MAINT-6901 Linux build fixandreykproductengine
2016-11-16mergeBrad Payne (Vir Linden)
2016-11-15MAINT-6901 Fixes upload assigning different scale to parts of the modelandreykproductengine
2016-10-28SL-451 - avoid more high-cost string operations in a per-frame functionBrad Payne (Vir Linden)