Age | Commit message (Collapse) | Author |
|
# Conflicts:
# doc/contributions.txt
# indra/newview/llappviewer.cpp
# indra/newview/skins/default/colors.xml
|
|
Fix failures to update the TP states while the viewer is minimized.
|
|
work removed the getDecodePriority() method.
|
|
|
|
Was a placeholder when there was no other way to bring it up
|
|
|
|
|
|
|
|
|
|
|
|
being removed when the object is killed.
|
|
|
|
|
|
# Conflicts:
# doc/contributions.txt
# indra/newview/app_settings/shaders/class1/deferred/materialF.glsl
# indra/newview/llfloater360capture.cpp
|
|
following promotion of DRTVWR-565
|
|
|
|
|
|
SL-18740: Fix texture animations not working for GLTF materials
|
|
|
|
|
|
|
|
around the screen.
Emulated mouse was trigering "not a valid zoomable object" case and jumping to garbage mMouseDownX/Y due to 'up' event being too early.
|
|
|
|
|
|
Example: Stepping over 183/255/22 will show position 183/1/22 of the same region
|
|
For work queues that don't need timestamped tasks, eliminate the overhead of a
priority queue ordered by timestamp. Timestamped task support moves to
WorkSchedule. WorkQueue is a simpler queue that just waits for work.
Both WorkQueue and WorkSchedule can be accessed via new WorkQueueBase API. Of
course the WorkQueueBase API doesn't deal with timestamps, but a WorkSchedule
can be accessed directly to post timestamped tasks and then handled normally
(e.g. by ThreadPool) to run them.
Most ThreadPool functionality migrates to new ThreadPoolBase class, with
template subclass ThreadPoolUsing<WorkQueue> or ThreadPoolUsing<WorkSchedule>
depending on need. ThreadPool is now an alias for ThreadPoolUsing<WorkQueue>.
Importantly, ThreadPoolUsing::getQueue() delivers a reference to the specific
queue subclass type, so you can post timestamped tasks on a queue retrieved
from ThreadPoolUsing<WorkSchedule>::getQueue().
Since ThreadPool is no longer a simple class but an alias for a particular
template specialization, introduce threadpool_fwd.h to forward-declare it.
Recast workqueue_test.cpp to exercise WorkSchedule, since some of the tests
are time-based. A future todo would be to exercise each applicable test with
both WorkQueue and WorkSchedule.
|
|
Deriving your tracked class T from LLInstanceTracker<T> gives you
T::getInstance() et al. But what about a subclass S derived from T?
S::getInstance() still delivers a pointer to T, requiring explicit downcast.
And so on for other LLInstanceTracker methods.
Instead, derive S from LLInstanceTrackerSubclass<S, T>. This implies that S is
a grandchild class of T, but it also recasts the LLInstanceTracker methods to
deliver results for S rather than for T.
|
|
|
|
|
|
|
|
selected
|
|
|
|
|
|
SL-14399: Ditch overflow queue LLViewerAssetStorage::mCoroWaitList.
|
|
settings' floater
|
|
|
|
Co-authored-by: Nat Goodspeed <nat@lindenlab.com>
|
|
mCoroWaitList covers all assets not just landmarks
|
|
Looks like pollTick tried to call an already dead process
|
|
mCoroWaitList was introduced to prevent an assertion failure crash:
LLCoprocedureManager never expects to fill LLCoprocedurePool::mPendingCoprocs
queue. The queue limit was arbitrarily set to 4096 some years ago, but in
practice LLViewerAssetStorage can post way more requests than that.
LLViewerAssetStorage checked whether the target LLCoprocedureManager pool's
queue looked close to full, and if so posted the pending request to its
mCoroWaitList instead. But then it had to override the base LLAssetStorage
method checkForTimeouts() to continually check whether pending tasks could be
moved from mCoroWaitList to LLCoprocedureManager.
A simpler solution is to enlarge LLCorpocedureManager::DEFAULT_QUEUE_SIZE, the
upper limit on mPendingCoprocs. Since mCoroWaitList was an unlimited queue,
making DEFAULT_QUEUE_SIZE "very large" does not increase the risk of runaway
memory consumption.
|
|
|
|
|
|
Fix some folders not being requested unless already cached.
Fix materials folder not being requested by materials picker.
|
|
|
|
Handle obscure upload failure case - floater was waiting for a texture upload indefinetely.
Unblock floater if upload fails.
|
|
|
|
This is a fix for: https://jira.secondlife.com/browse/BUG-230616
|
|
|
|
target. Remove "Hover Glow Objects" to free up a superfluous render target.
|
|
The unsigned index arithmetic was problematic in that case.
|