Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-10-05 | SL-16024: Add ThreadSafeSchedule, a timestamped LLThreadSafeQueue. | Nat Goodspeed | |
ThreadSafeSchedule orders its items by timestamp, which can be passed either implicitly or explicitly. The timestamp specifies earliest delivery time: an item cannot be popped until that time. Add initial tests. Tweak the LLThreadSafeQueue base class to support ThreadSafeSchedule: introduce virtual canPop() method to report whether the current head item is available to pop. The base class unconditionally says yes, ThreadSafeSchedule says it depends on whether its timestamp is still in the future. This replaces the protected pop_() overload accepting a predicate. Rather than explicitly passing a predicate through a couple levels of function call, use canPop() at the level it matters. Runtime behavior that varies depending on an object's leaf class is what virtual functions were invented for. Give pop_() a three-state enum return so pop() can distinguish between "closed and empty" (throws exception) versus "closed, not yet drained because we're not yet ready to pop the head item" (waits). Also break out protected tryPopUntil_() method, the body logic of tryPopUntil(). The public method locks the data structure, the protected method requires that its caller has already done so. Add chrono.h with a more full-featured LL::time_point_cast() function than the one found in <chrono>, which only converts between time_point durations, not between time_points based on different clocks. | |||
2021-10-05 | SL-16138 Avoid re-binding a shader which is already bound | Dave Houlton | |
2021-10-05 | DRTVWR-546 trigger | Dave Houlton | |
2021-10-04 | SL-16024: Don't use a lambda as default arg for universal reference. | Nat Goodspeed | |
Instead, break out a separate pop_() method that explicitly provides the lambda to the real pop_() implementation. | |||
2021-10-04 | SL-16024: LLThreadSafeQueue enhancements | Nat Goodspeed | |
Add LL::PriorityQueueAdapter, a wrapper for std::priority_queue to make its API more closely resemble std::queue for drop-in use as LLThreadSafeQueue's underlying QueueT container. Support move-only element types. Factor out some implementation redundancy: wrap actual push semantics as push_(), actual pop semantics as pop_(). push(), tryPush() and tryPushUntil() now call push_(); pop(), tryPop() and tryPopUntil() now call pop_(). Break out tryLock() and tryLockUntil() methods that, if they can lock, run the passed callable. Then tryPush(), tryPushUntil(), tryPop() and tryPopUntil() pass lambdas containing the meat of the original method body to tryLock() or tryLockUntil(), as appropriate. | |||
2021-10-04 | Merged in DRTVWR-541 (pull request #717) | Euclid Linden | |
Push autobuild updates made in DRTVWR-541 into -546 | |||
2021-10-04 | SL-16024: Introduce tuple.h with tuple_cons(), tuple_cdr(). | Nat Goodspeed | |
These functions allow prepending or removing an item at the left end of an arbitrary tuple -- for instance, to add a sequence key to a caller's data, then remove it again when delivering the original tuple. | |||
2021-10-01 | SL-16024: Enhance LLThreadSafeQueue for use with WorkQueue. | Nat Goodspeed | |
First, parameterize LLThreadSafeQueue's queue type. This allows us to substitute (e.g.) a std::priority_queue for a particular instance. Use std::queue for the default queue type, changing the operations invoked on the queue type from std::deque methods to std::queue methods. Rename published methods from (e.g.) pushFront() and popBack() to simple push() and pop(), retaining legacy names as aliases. Not only are the overt Front and Back unnecessary; they're the opposite of how std::queue uses std::deque or std::list, so they only confuse the reader. Break out tryPushUntil() method. We already use that logic internally to tryPushFor(), so it's just as easy to publish it as its own entry point. Add tryPopFor() and tryPopUntil() to allow limiting the time we'll wait for a queue item to become available. | |||
2021-10-01 | SL-16094 Move LLWindowWin32::mainWindowProc and Windows message handling to ↵ | Dave Parks | |
a background thread to prevent frame stalls in LLWindowWin32::gatherInput | |||
2021-10-01 | SL-15999 use callback for updating window title | Mnikolenko Productengine | |
2021-09-29 | Merge branch 'SL-15999' of ssh://bitbucket.org/lindenlab/viewer into SL-15999 | Brad Payne (Vir Linden) | |
2021-09-29 | SL-15999 - force multiple viewers support for noninteractive mode | Brad Payne (Vir Linden) | |
2021-09-29 | SL-16034 init LLNavigationBar to allow setting title with location info later | Mnikolenko Productengine | |
2021-09-29 | Merge branch 'SL-15999' of ssh://bitbucket.org/lindenlab/viewer into SL-15999 | Brad Payne (Vir Linden) | |
2021-09-29 | SL-15999 - noninteractive sessions should quit cleanly when they get a close ↵ | Brad Payne (Vir Linden) | |
message. Removed some possible crashes | |||
2021-09-29 | SL-15999 - don't create floaters in noninteractive mode | Brad Payne (Vir Linden) | |
2021-09-29 | Merge branch 'DRTVWR-546' of ssh://bitbucket.org/lindenlab/viewer into ↵ | Brad Payne (Vir Linden) | |
DRTVWR-546 | |||
2021-09-29 | SL-16034 Disable all displays and UI in noninteractive mode | Mnikolenko Productengine | |
2021-09-28 | SL-16040: _aligned_malloc() and _aligned_free() are Microsoft only. | Nat Goodspeed | |
Fortunately we already have platform-independent wrappers in llmemory.h. | |||
2021-09-28 | Merge branch 'SL-15999' of https://bitbucket.org/lindenlab/viewer into SL-15999 | Callum Linden | |
2021-09-28 | SL-16102 Set window title to agent name (child of SL-15999 Support for low ↵ | Callum Linden | |
overhead, non interactive viewer sessions) | |||
2021-09-28 | SL-16040: operator new() must never return nullptr. | Nat Goodspeed | |
2021-09-28 | SL-15999 - noninteractive sessions disable logging | Brad Payne (Vir Linden) | |
2021-09-28 | SL-15999 - draw no objects when noninteractive | Brad Payne (Vir Linden) | |
2021-09-28 | SL-15999 - noninteractive mode: create minimal objects,load no textures | Brad Payne (Vir Linden) | |
2021-09-27 | SL-16093 Don't force the console window to be open on developer builds ↵ | Dave Parks | |
because it causes frame stalls while logging. | |||
2021-09-27 | SL-16088 Fix for stall from many calls to glGenBuffers. | Dave Parks | |
2021-09-27 | SL-15999 - noninteractive: debugging run issues, suppress AFK/Away pose | Brad Payne (Vir Linden) | |
2021-09-27 | Merge branch 'SL-15999' of ssh://bitbucket.org/lindenlab/viewer into SL-15999 | Brad Payne (Vir Linden) | |
2021-09-27 | SL-15999 - removed kludgy run disablement, needs better fix | Brad Payne (Vir Linden) | |
2021-09-24 | SL-15999 (SL-16055) Turn off voice in non-interactive mode | Callum Linden | |
2021-09-22 | Merge remote-tracking branch 'remotes/origin/DRTVWR-541' into DRTVWR-546 | Runitai Linden | |
2021-09-23 | SL-15903 SLPlugin entitlements fix | Andrey Lihatskiy | |
2021-09-22 | SL-16014: Fix typo | Ptolemy | |
2021-09-22 | Merge remote-tracking branch 'remotes/origin/DRTVWR-541' into DRTVWR-546 | Runitai Linden | |
# Conflicts: # indra/llcommon/linden_common.h | |||
2021-09-22 | SL-16014: Add Tracy markup to doFrame() | Ptolemy | |
2021-09-22 | SL-16014: Add Tracy markup for LLEventFilter | Ptolemy | |
2021-09-22 | SL-16014: Add Tracy markup for LLVolumeFace | Ptolemy | |
2021-09-22 | SL-16014: Add Tracy markup for LLSD | Ptolemy | |
2021-09-22 | SL-16014: Add Tracy markup to LLViewerObjectList | Ptolemy | |
2021-09-22 | SL-16014: Add Tracy markup to LLSpatialGroup | Ptolemy | |
2021-09-22 | SL-16014: Add Tracy markup to LLFace | Ptolemy | |
2021-09-22 | SL-16014: Add Tracy markup for lldrawable | Ptolemy | |
2021-09-22 | SL-16014: Add macros for better markup in Tracy | Ptolemy | |
2021-09-22 | SL-16014: Add Tracy logging to doFrame() | Ptolemy | |
2021-09-22 | SL-16014 Add Tracy logging to lldrawpoolavatar.cpp | Ptolemy | |
2021-09-22 | SL-16031 Add support for VS 2019 (requires autobuild 1.2-alpha) | Dave Parks | |
2021-09-22 | SL-15958 Stop impostored avatars from casting shadows | Mnikolenko Productengine | |
2021-09-21 | SL-16027: Only enable Tracy OpengL macros if Tracy is enabled | Ptolemy | |
2021-09-21 | SL-16027: Add Tracy OpenGL support | Ptolemy | |