summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-11-16Merged in DV546-merge-6.5.1 (pull request #776)Euclid Linden
DRTVWR-546 merge up to 6.5.1
2021-11-16DRTVWR-546 merge in master v6.5.1Dave Houlton
2021-11-16SL-16362 FIXED Viewer crashes if settings.xml file is missingMnikolenko Productengine
2021-11-15Increment viewer version to 6.5.1Nat Goodspeed
following promotion of DRTVWR-545
2021-11-15Revert "SL-16220: Merge branch 'origin/DRTVWR-546' into glthread"Dave Houlton
This reverts commit 5188a26a8521251dda07ac0140bb129f28417e49, reversing changes made to 819088563e13f1d75e048311fbaf0df4a79b7e19.
2021-11-12(Moved from DRTVWR-528) clean up cmake recursive CXX_FLAGS definition (/Zo)Dave Houlton
2021-11-12SL-14895, restore previous post-deferred alpha behaviorDave Houlton
2021-11-12SL-14895, point light atten should move inversely light radiusDave Houlton
2021-11-12SL-16220: Merge branch 'origin/DRTVWR-546' into glthreadNat Goodspeed
2021-11-12SL-11678 Avatar is reflecting on the under side of water surfaceAndrey Kleshchev
Avatar wasn't reflecting but distorting, since avatar was already under water it looked like a 'reflection' of avatar, but was not rotated right and with wrong angle.
2021-11-12SL-15993 Disabling transparent water should not disable advanced lightingAndrey Kleshchev
2021-11-12SL-16056 Improve 'avatar cloud' behaviorAndrey Kleshchev
Make avatar cloud delay longer proportionally to load time
2021-11-12SL-15391 Crash at getUniformLocationAndrey Kleshchev
2021-11-12SL-13561 When ALM is enabled, disabling water rendering breaks the skyAndrey Kleshchev
2021-11-12SL-15333 Crash in glh_init_extensionsAndrey Kleshchev
2021-11-11SL-16355 - spammy message removedBrad Payne (Vir Linden)
2021-11-11SL-16094: Stylish braces!Nat Goodspeed
2021-11-10Merged in SL-16329 (pull request #769)Vir Linden
SL-16329 - track frame time and jitter (as average deviation frame to frame) in stats window Approved-by: Euclid Linden Approved-by: Michael Pohoreski
2021-11-10Merged DRTVWR-546 into SL-16329Vir Linden
2021-11-10SL-16330 mac build fixMnikolenko Productengine
2021-11-10SL-16094: Only link IMM32.LIB for llurlentry tests on Windows.Nat Goodspeed
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-16094: Add WorkQueue::size() method to support changeset 08336bb.Nat Goodspeed
We want to skip calling PostMessage() to bump the window thread out of GetMessage() in any frame with no work functions pending for that thread. That test depends on being able to sense the size() of the queue. Having converted to WorkQueue, we need that queue to support size().
2021-11-10SL-16330 move VSync checkbox to General groupMnikolenko Productengine
2021-11-09Merged DRTVWR-546 into SL-16329Vir Linden
2021-11-09SL-16329 - track frame time and jitter (as average deviation frame to frame) ↵Brad Payne (Vir Linden)
in stats window
2021-11-09SL-16330 Clean up vertical sync handling, add to UIMnikolenko Productengine
2021-11-09SL-16333 VLC 3 doesn't support -1 == infinity for input-repeatAndrey Lihatskiy
by Callum
2021-11-08SL-16094: Zap thread safety land mine; thin PostMessage() calls.Nat Goodspeed
LLWindowWin32::mWndProc was a public WNDPROC member. If set non-NULL, mainWindowProc() would call that before falling into its own handler code. But now, mWndProc would be called on the window thread instead of on the main thread. Running arbitrary callback code on the window thread could cause all sorts of problems. It could be made safe by posting the callback call to the "mainloop" WorkQueue for execution on the main thread. But as no code actually references it, delete it instead. Per DaveP, the recent change to LLWindowsWin32Thread::post() could end up calling PostMessage() many times per frame, with nontrivial overhead. Reinstate the more selective code that calls PostMessage() with the dummy message (to bust us out of GetMessage() to check pending window-thread work requests) at most once per frame.
2021-11-07SL-16299 Added the correct @rpath for libvlcAndrey Lihatskiy
2021-11-05SL-16094: Use ThreadPool for LLWindowWin32Thread.Nat Goodspeed
Move the whole LLWindowWin32Thread class inside LLWindowWin32, and make it a struct. Migrate the struct declaration to llwindowwin32.cpp. Derive it from ThreadPool, which provides the WorkQueue. Use runPending() instead of manually popping and running individual queue items. Make its post() operation always PostMessage(bogus) whenever we put an entry in the WorkQueue, so we won't remain blocked in GetMessage(). Instead of storing a back pointer to the LLWindowWin32 instance, store the relevant HWND and HDC in LLWindowWin32Thread itself to avoid cross-thread timing problems. Extract both instances of a large duplicated block of LLWindowWin32 code to a new recreateWindow() method, and call it in those places. Per the TODO, use a std::future to pass the new HWND and HDC back to LLWindowWin32 -- but also store them locally on the LLWindowWin32Thread instance.
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-05SL-16288 FIXED Dragging a file across the viewer cancels the drag and ↵Mnikolenko Productengine
freezes the File Explorer
2021-11-05Merged in euclid-14098 (pull request #762)Euclid Linden
SL-14098, enable occlusion culling during reflection pass Approved-by: Michael Pohoreski
2021-11-04SL-14098 re-enable occlusion culling during reflection passDave Houlton
2021-11-04SL-13565 occlusion/reflection tracy markupDave Houlton
2021-11-04SL-16299 fix warning about CFBundleIdentifier not matching ↵Brad Kittenbrink
PRODUCT_BUNDLE_IDENTIFIER
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: Add postIfOpen() methods to WorkQueue, LLThreadSafeQueue.Nat Goodspeed
postIfOpen() provides a no-exception alternative to post(), which blocks if full but throws if closed. postIfOpen() likewise blocks if full, but returns true if able to post and false if the queue was closed.
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-11-04SL-16299 Updated dullahan to CT build 565428; entitlements cleanupAndrey Lihatskiy
2021-11-03SL-16299 Added entitlements for the app bundle signingAndrey Lihatskiy
2021-11-01SL-16293 Updated vlc to CT build 565299Andrey Lihatskiy
2021-11-01SL-16237 FIXED Viewer hangs on loginMnikolenko Productengine
2021-11-01Merged in SL-16127_More_tweaks (pull request #752)Michael Pohoreski
SL-16127 More tweaks Approved-by: Euclid Linden Approved-by: Dave Parks
2021-10-29Fix merge conflictPtolemy
2021-10-28SL-9436 Don't render 100% transparent objects.Dave Parks