Age | Commit message (Collapse) | Author |
|
Use the new WorkQueue::postIfOpen() method in LLImageGLThread::post(). That
makes the LLImageGLThread method a trivial wrapper, which can accept templated
work items and pass them through to the WorkQueue method, eliminating double
indirection due to multiple layers of std::function.
Eliminate LLImageGLThread's WorkQueue intended for work on the main queue.
Since the main loop already has a WorkQueue of its own, post work directly to
that WorkQueue instead of using a separate WorkQueue misleadingly embedded in
LLImageGLThread.
Instead of looking up the main thread's WorkQueue every time, capture a
pointer in LLImageGL's constructor.
We no longer need a fallback queue for when the main thread's WorkQueue is
full. We no longer need the main loop to poll LLImageGL to service the local
main-thread-targeted WorkQueue, or to copy work from the fallback queue to the
main queue. That eliminates LLImageGLThread::postCallback(), mCallbackQueue,
mPendingCallbackQ, executeCallbacks() -- and even LLImageGL::updateClass() and
LLAppViewer's call to it.
Change LLViewerFetchedTexture::scheduleCreateTexture() to post work to the
main thread's WorkQueue instead of calling LLImageGLThread::postCallback().
|
|
|
|
This reverts commit 0a745b47880fb16b1db8cd3327377a383dbfe6a8.
|
|
# Conflicts:
# autobuild.xml
# indra/newview/CMakeLists.txt
# indra/newview/installers/darwin/apple-notarize.sh
# indra/newview/llappviewermacosx.cpp
# indra/newview/llappviewerwin32.h
# indra/newview/viewer_manifest.py
# indra/win_crash_logger/llcrashloggerwindows.cpp
|
|
Additional logging
|
|
|
|
LLMemTracked, introduce alignas, hook most/all reamining allocs, disable synchronous occlusion, and convert frequently accessed LLSingletons to LLSimpleton
|
|
|
|
|
|
|
|
ThreadPool bundles a WorkQueue with the specified number of worker threads to
service it. Each ThreadPool has a name that can be used to locate its
WorkQueue.
Each worker thread calls WorkQueue::runUntilClose().
ThreadPool listens on the "LLApp" LLEventPump for shutdown notification. On
receiving that, it closes its WorkQueue and then join()s each of its worker
threads for orderly shutdown.
Add a settings.xml entry "ThreadPoolSizes", the first LLSD-valued settings
entry to expect a map: pool name->size. The expectation is that usually code
instantiating a particular ThreadPool will have a default size in mind, but it
should check "ThreadPoolSizes" for a user override.
Make idle_startup()'s STATE_SEED_CAP_GRANTED state instantiate a "General"
ThreadPool. This is function-static for lazy initialization.
Eliminate LLMainLoopRepeater, which is completely unreferenced. Any potential
future use cases are better addressed by posting to the main loop's WorkQueue.
Eliminate llappviewer.cpp's private LLDeferredTaskList class, which
implemented LLAppViewer::addOnIdleCallback(). Make addOnIdleCallback() post
work to the main loop's WorkQueue instead.
|
|
# Conflicts:
# autobuild.xml
|
|
# Conflicts:
# autobuild.xml
|
|
Make LLAppViewer::idle() call LL::WorkQueue::runFor() to dequeue and run some
or all of the pending responses from worker threads.
Add a MainWorkTime setting to specify the time slice the main loop may devote
each frame to servicing such responses.
|
|
|
|
|
|
|
|
|
|
VAOs by default.
|
|
|
|
It feels wrong to return a dumb LLInstanceTracker subclass* from getInstance()
when we use std::shared_ptr and std::weak_ptr internally. But tweak consumers
to use 'auto' or LLInstanceTracker::ptr_t in case we later revisit this
decision.
We did add a couple get() calls where it's important to obtain a dumb pointer.
|
|
|
|
|
|
|
|
|
|
message. Removed some possible crashes
|
|
|
|
|
|
|
|
|
|
because it causes frame stalls while logging.
|
|
|
|
|
|
|
|
|
|
|
|
broken frame limiter code (use vsync if you want to limit framerate).
|
|
This reverts commits:
126877bc5ba45ff6b0b31368c55f894a0beaf5bf
b661f62a7ad4dad9806eda8f4c8f2c9d64b3efbb
ce660c7e7bb6e19a23d634fb6d3249330bf2d74c
|
|
Due to changed defaults, legacy compatibility will no longer work corectly, remove it
|
|
noninteractive, including a fix for unwanted SLURL redirects
|
|
|
|
Due to changed defaults, legacy compatibility will no longer work corectly, remove it
|
|
|
|
|
|
|
|
|
|
|
|
# Conflicts:
# indra/newview/llappviewer.cpp
# indra/newview/llappviewerwin32.cpp
# indra/newview/llmachineid.cpp
|
|
|
|
# Conflicts:
# autobuild.xml
# build.sh
# indra/CMakeLists.txt
# indra/newview/CMakeLists.txt
# indra/newview/llappviewermacosx.cpp
# indra/newview/llappviewerwin32.h
# indra/newview/viewer_manifest.py
# indra/win_crash_logger/llcrashloggerwindows.cpp
|