This project is mirrored from https://git.alchemyviewer.org/alchemy/alchemy-next.git.
Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer or owner.
- Dec 03, 2021
-
-
David Parks authored
-
- Dec 02, 2021
-
-
David Parks authored
-
Andrey Kleshchev authored
remains from glod
-
- Dec 01, 2021
-
-
Andrey Kleshchev authored
-
Andrey Kleshchev authored
remove unused variable
-
Andrey Kleshchev authored
-
Euclid Linden authored
Purge LLGLSLShader::sNoFixedFunction, and all that flows from it. No functional changes. Approved-by: Michael Pohoreski Approved-by: Dave Parks
-
Dave Houlton authored
-
- Nov 30, 2021
-
-
Dave Houlton authored
-
Dave Houlton authored
-
Dave Houlton authored
-
Dave Houlton authored
-
Dave Houlton authored
-
Dave Houlton authored
-
Dave Houlton authored
-
Dave Houlton authored
-
Nat Goodspeed authored
Introduce LLAppViewer::onCleanup(), a method that accepts a nullary callable to execute once viewer shutdown begins. Fire the collected callables in LLAppViewer::cleanup(). In llstartup.cpp, instead of declaring a static unique_ptr and relying on static object destruction to clean up the "General" ThreadPool, bind the pointer to the new ThreadPool into an onCleanup() lambda that will delete it when called. ~ThreadPool() takes care of orderly shutdown.
-
Nat Goodspeed authored
Use hard tabs because most of the existing function uses those.
-
Nat Goodspeed authored
Use hard tabs as most of the class declaration already uses those.
-
Mnikolenko Productengine authored
-
- Nov 29, 2021
-
-
Dave Houlton authored
-
Andrey Kleshchev authored
-
Nat Goodspeed authored
-
Mnikolenko Productengine authored
-
- Nov 25, 2021
-
-
Mnikolenko Productengine authored
-
- Nov 24, 2021
-
-
Nat Goodspeed authored
-
Nat Goodspeed authored
Turns out that one of our WorkQueue integration tests was relying on the incorrect runFor() behavior that we just fixed, so the test broke. Now that runFor() doesn't wait around for work to be posted, use an explicit wait loop instead. To support this, add LLCond::get(functor), where functor must accept a const reference to the stored data. This new get() returns whatever the functor returns, allowing a caller to peek at the stored data. Also use universal references for all remaining LLCond functor arguments.
-
Nat Goodspeed authored
Reverting a merge is sticky: it tells git you never want to see that branch again. Merging the DRTVWR-546 branch, which contained the revert, into the glthread branch undid much of the development work on that branch. To restore it we must revert the revert. This reverts commit 029b41c0.
-
Nat Goodspeed authored
runFor(interval) and runUntil(timestamp) are intended, and documented, to run *no longer than* the specified time. Instead, the initial implementation always waited the full specified time, hoping for work to arrive. Fix that: once we clear work that's already pending, return right away.
-
Nat Goodspeed authored
-
- Nov 23, 2021
-
-
Nat Goodspeed authored
-
Nat Goodspeed authored
It can happen that we try to post() work for LLWindowWin32's window thread after the thread's WorkQueue has been closed. Also, instead of giving the "General" ThreadPool static lifespan, put it on the heap, anchored with a static unique_ptr.
-
Nat Goodspeed authored
It's sometimes important to finish other initialization before launching the threads in the ThreadPool, so make that an explicit step. In particular, we were launching the LLImageGL texture thread before initializing the GL context, resulting in all gray textures.
-
David Parks authored
-
Mnikolenko Productengine authored
-
David Parks authored
SL-16239 Fix for slowdown on AMD GPUs (disable core profile and remove volatile members from LLVertexBuffer)
-
Nat Goodspeed authored
Add LLWindowWin32Thread::Post(), like post() except it uses PostMessage() to send the work item to the window thread. Support this in mainWindowProc(). Move LLWindowWin32::recreateWindow()'s destroy_window_handler() call onto the window thread. Delaying destruction of the old HWND ensures that we can use PostMessage() and GetMessage() with that HWND to pass the lambda work item. Moreover, it's likely to be less buggy to call DestroyWindow() on the same thread that created the window. Make recreateWindow()'s window thread lambda bind the window class parameters by value, rather than binding 'this' and back-referencing LLWindowWin32 members. Make recreateWindow() construct the window thread lambda and then decide whether to pass it to the window thread using post() or Post(), depending on whether we have a current HWND -- therefore whether the window thread is blocked on GetMessage(). That means we can eliminate the kickWindowThread() call. Make destroy_window_handler() accept HWND by value rather than by non-const reference. Since it doesn't attempt to modify the caller's value, this is a better match for the function's semantics anyway -- but importantly, it lets us pass a const HWND.
-
Nat Goodspeed authored
and correspondingly, ll_convert<std::wstring>(const wchar_t*). Now that we're using ll_convert() for single-argument stringize(arg), make sure it can efficiently handle the simple case of constructing a string from a const char pointer.
-
David Parks authored
-