summaryrefslogtreecommitdiff
path: root/indra/newview
AgeCommit message (Collapse)Author
2021-11-10Merge branch 'DRTVWR-546' into glthreadNat Goodspeed
2021-11-10SL-16094: Statically link to Windows IMM32.LIB.Nat Goodspeed
llwindowwin32.cpp's LLWinImm class used to dynamically load IMM32.DLL and populate its methods using GetProcAddress(). That was to support Windows XP. Since we've dropped Windows XP, use static linking instead, with dramatically fewer lines of code (and less of a thread safety alarm trigger). We retain the LLWinImm wrapper class only as a hook for Tracy instrumentation.
2021-11-10SL-16330 move VSync checkbox to General groupMnikolenko Productengine
2021-11-09SL-16330 Clean up vertical sync handling, add to UIMnikolenko Productengine
2021-11-05SL-16202: Use WorkQueue::postTo() for texture create/post handshake.Nat Goodspeed
That is, when LLViewerFetchedTexture::scheduleCreateTexture() wants to call createTexture() on the LLImageGLThread, but postCreateTexture() on the main thread, use the "mainloop" WorkQueue to set up the handshake. Give ThreadPool a public virtual run() method so a subclass can override with desired behavior. This necessitates a virtual destructor. Add accessors for embedded WorkQueue (for post calls), ThreadPool name and width (in threads). Allow LLSimpleton::createInstance() to forward arguments to the subject constructor. Make LLImageGLThread an LLSimpleton - that abstraction didn't yet exist at the time LLImageGLThread was coded. Also derive from ThreadPool rather than LLThread. Make it a single-thread "pool" with a very large queue capacity.
2021-11-04SL-14098 re-enable occlusion culling during reflection passDave Houlton
2021-11-04SL-13565 occlusion/reflection tracy markupDave Houlton
2021-11-04SL-16202: Use large WorkQueue size limits for mainloop and General.Nat Goodspeed
Give ThreadPool and WorkQueue the ability to override default ThreadSafeSchedule capacity. Instantiate "mainloop" WorkQueue and "General" ThreadPool with very large capacity because we never want to have to block trying to push to either.
2021-11-04SL-16202: Streamline WorkQueues in LLImageGLThread.Nat Goodspeed
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().
2021-11-04SL-16202: Instantiate LLSimpleton::sInstance genericallyNat Goodspeed
instead of requiring a separate declaration for each subclass. The previous way produces errors in clang.
2021-11-04SL-16202: Merge branch 'sl-16220' into glthreadNat Goodspeed
2021-10-29Fix merge conflictPtolemy
2021-10-28SL-9436 Don't render 100% transparent objects.Dave Parks
2021-10-28SL-16148 SL-16244 SL-16270 SL-16253 Remove most BlockTimers, remove ↵Dave Parks
LLMemTracked, introduce alignas, hook most/all reamining allocs, disable synchronous occlusion, and convert frequently accessed LLSingletons to LLSimpleton
2021-10-27SL-16127: Make another pass removing redundant LLSD op [] calls, unused ↵Ptolemy
vars, and use atmospheric already calculated
2021-10-27Merged in SL-16127 (pull request #741)Michael Pohoreski
SL-16127 Approved-by: Euclid Linden Approved-by: Dave Parks
2021-10-26SL-16193 Fix for mesh selection outline not rendering correctly (and broken ↵Dave Parks
physics shapes display).
2021-10-25SL-16246 protect null deferenceDave Houlton
2021-10-25SL-16243 Add Tracy timers to global new/delete overrides.Dave Parks
2021-10-25SL-16234 handle closing floater correctlyMnikolenko Productengine
2021-10-25Merged DRTVWR-546 into SL-15999Vir Linden
2021-10-22SL-16222 Don't use bindFast for legacy bump maps (weird loading path ↵Runitai Linden
sometimes has stale texture state).
2021-10-22mergeBrad Payne (Vir Linden)
2021-10-22SL-16203 Fix for wonky handling of mouse deltas.Dave Parks
2021-10-22SL-16220: Merge branch 'master' into sl-16220Nat Goodspeed
2021-10-22SL-16220: Add LL::ThreadPool class and a "General" instance.Nat Goodspeed
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.
2021-10-22SL-16234 FIXED Frame stall caused by unnecessary building the floater when ↵Mnikolenko Productengine
exiting viewer
2021-10-21SL-16127: Const cleanupPtolemy
2021-10-21SL-16127: More cleanupPtolemy
2021-10-21SL-16127: Cleanup constsPtolemy
2021-10-21SL-16127: Fix bug in int() not calling getDistanceMultiplier(), calc() not ↵Ptolemy
calling getTotalDensity()
2021-10-21SL-16127: Use cached skyPtolemy
2021-10-21SL-16127: Cleanup indentation and whitespace to match coding stylePtolemy
2021-10-21SL-16127: Use cache psky when possiblePtolemy
2021-10-21SL-16127: Cleanup trailing whitespacePtolemy
2021-10-21SL-16127: Remove unused functionsPtolemy
2021-10-21SL-16127: Replace slow getLightTransmittance with faster versionPtolemy
2021-10-21SL-16202 Fix for textures appearing black or flashing white due to ↵Dave Parks
optimization bugs.
2021-10-20SL-16220: Add a WorkQueue to be serviced by mainloop.Nat Goodspeed
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.
2021-10-20SL-16184 FIXED Frame stall when friend comes online.Mnikolenko Productengine
2021-10-19SL-16197 Optimize LLEnvironment handling of shader uniforms. Instrument ↵Dave Parks
LLSD. Enable Fast Timers when Tracy is enabled to catch Fast Timer overhead.
2021-10-14Merged DRTVWR-546 into SL-16166Dave Parks
2021-10-14SL-16166 Apply optimizations from pushBatch to other render call sites. ↵Runitai Linden
Optimize out a map lookup in rigged face rendering.
2021-10-14SL-16131 Fix for alignment warnings on Win32 builds.Dave Parks
2021-10-13Merge branch 'master' v6.4.24 into DRTVWR-546Dave Houlton
2021-10-13Increment viewer version to 6.4.24Nat Goodspeed
following promotion of DRTVWR-520
2021-10-13SL-16166 Remove LLDrawPoolGlow::pushBatch non-specializationRunitai Linden
2021-10-13SL-16166 Optimize LLDrawPoolMaterials::pushBatchRunitai Linden
2021-10-13SL-16189 Optimize bindBumpMapRunitai Linden
2021-10-13SL-16166 Apply LLRenderPass::pushBatch optimizations to ↵Runitai Linden
LLDrawPoolBump::pushBatch