Commit Graph

93 Commits (c5e3ace94de01ed61ed43284ea72dacec197cdc9)

Author SHA1 Message Date
Dave Parks 93260cfeff SL-17283 LLReflectionMapManager prototype. Remove snapshot code related overhead from reflection map renders. Add parallax correction and support for multiple reflection maps. 2022-05-04 16:07:50 +00:00
Dave Parks fc0b238654 Fix for media textures failing to update (and eating lots of memory) on Mac/Intel 2022-02-23 17:55:44 -06:00
Dave Parks 1c5c45f273 SL-16815 Fix for broken media texture updates when multithreaded GL is disabled. 2022-02-22 14:58:50 -06:00
Dave Parks 0d6aa3c0fe SL-16815 Remove frame stalls from occlusion queries, bumpmap updates, and querying for available video memory. 2022-02-17 22:52:23 +00:00
Dave Parks f47730b92c SL-16418 Media texture update stall fix. Make media texture updates use LLImageGL thread to update, fix AMD sync issue on ImageGL thread and install debug callbacks on LLImageGL thread when debug gl enabled. 2022-02-14 18:07:24 +00:00
Dave Houlton fdc4a81b57 Revert "Merged in euclid-16418 (pull request #846)"
This reverts commit 40fe5277e1, reversing
changes made to af830e5fc5.
2022-02-01 15:49:32 -07:00
Dave Houlton 8d0efb54db SL-16418 rename media tex image per-update to avoid contention stall 2022-01-27 17:09:29 -07:00
Dave Parks 5e5be92d79 SL-16202 Put Multi-threaded GL behind a feature flag and update featuretable (decruftify settings, compatibility pass). 2021-12-06 15:29:34 +00:00
Dave Parks e7830b39f0 SL-16436 and SL-16327 Fix for RenderDebugGL test failures and fix for grey textures 2021-12-03 15:07:31 +00:00
Nat Goodspeed 0b066539fe DRTVWR-546, SL-16220, SL-16094: Undo previous glthread branch revert.
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 029b41c041.
2021-11-24 10:47:54 -05:00
Nat Goodspeed d71e0a6d47 SL-16094, SL-16400: Merge branch 'DRTVWR-546' into glthread 2021-11-23 21:23:45 -05:00
Runitai Linden 744646eb71 SL-16400 Fix for grey textures (hack). 2021-11-22 19:12:39 -06:00
Dave Houlton 029b41c041 Revert "SL-16220: Merge branch 'origin/DRTVWR-546' into glthread"
This reverts commit 5188a26a85, reversing
changes made to 819088563e.
2021-11-15 09:25:35 -07:00
Nat Goodspeed ff5496239b SL-16202: Use WorkQueue::postTo() for texture create/post handshake.
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-05 12:33:31 -04:00
Nat Goodspeed d848d9e888 SL-16202: Streamline WorkQueues in LLImageGLThread.
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-04 16:50:31 -04:00
Mnikolenko Productengine 3faba7515c SL-16237 FIXED Viewer hangs on login 2021-11-01 19:38:55 +02:00
Dave Parks 8d20480c5f SL-16148 SL-16244 SL-16270 SL-16253 Remove most BlockTimers, remove LLMemTracked, introduce alignas, hook most/all reamining allocs, disable synchronous occlusion, and convert frequently accessed LLSingletons to LLSimpleton 2021-10-28 18:06:21 +00:00
Dave Parks e774bffb28 SL-16202 Fix for textures appearing black or flashing white due to optimization bugs. 2021-10-21 21:19:48 +00:00
Dave Parks d00272e0cc SL-16099 Multi-threaded OpenGL usage on Windows, enable Core Profile and VAOs by default. 2021-10-11 16:03:40 +00:00
Andrey Kleshchev ad6b1b0b7c SL-14150 Fix spelling 2020-10-23 09:58:17 +03:00
Andrey Kleshchev 0bf11e45ea SL-14150 Handle more cases of corrupted cache 2020-10-22 22:22:17 +03:00
Rider Linden 7b56db31f9 Merge 2018-03-07 11:27:43 -08:00
Graham Linden graham@lindenlab.com 99b82d9449 Atmospherics WIP
libatmosphere integrated in indra/llrender/llatmosphere.cpp

Still working on runtime shaders to use libatmosphere precomputed atmospherics textures
2018-02-18 15:52:23 +00:00
AndreyL ProductEngine 7d156389e4 MAINT-8043 Fix for bad_alloc crash in LLImageGL::setImage() 2017-12-18 20:29:50 +02:00
AndreyL ProductEngine a14b9cb604 MAINT-6635 Fix for LLImageGL::setSize crash 2016-10-07 03:52:04 +03:00
Oz Linden c8726aba30 remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
Stinson Linden f43e46bc9c MAINT-4009: Ensuring that the pick mask for the LLImageGL is always properly freed during its cleanup method. 2014-04-28 19:44:02 +01:00
Xiaohong Bao 0c60e32808 Merge 2013-10-21 16:57:38 -06:00
Dave Parks 0e116741a0 MAINT-2968 Fix for crash on AMD hardware running current drivers. 2013-10-10 18:00:11 -05:00
Richard Linden 12f0f8cb72 changed over to manual naming of MemTrackable stats
changed claimMem and disclaimMem behavior to not pass through argument
added more mem tracking stats to floater_stats
2013-10-01 13:46:43 -07:00
Richard Linden a7aed07a5b broke out llunit.h into llunittype.h and llunits.h for unit declarations
changed unit declarations macros to make a lot more sense
2013-08-27 13:41:19 -07:00
Richard Linden 612892b45a SH-4433 WIP: Interesting: Statistics > Ping Sim is always 0 ms
continued conversion to units system
made units perform type promotion correctly and preserve type in arithmetic
e.g. can now do LLVector3 in units
added typedefs for remaining common unit types, including implicits
2013-08-18 22:30:27 -07:00
Richard Linden 9f7bfa1c37 moved unit types out of LLUnits namespace, since they are prefixed 2013-08-15 00:02:23 -07:00
Richard Linden e340009fc5 second phase summer cleaning
replace llinfos, lldebugs, etc with new LL_INFOS(), LL_DEBUGS(), etc.
2013-08-09 17:11:19 -07:00
Richard Linden 9fd3af3c38 SH-3931 WIP Interesting: Add graphs to visualize scene load metrics
changed Units macros and argument order to make it more clear
optimized units for integer types
fixed merging of periodicrecordings...should eliminate duplicate entries in sceneloadmonitor history
2013-06-13 15:29:15 -07:00
Richard Linden 0a96b47663 merge with viewer-release 2013-06-05 19:05:43 -07:00
Oz Linden ddd5659f81 merge changes for DRTVWR-294 2013-04-19 10:11:29 -04:00
Graham Madarasz bf6182daa8 Update Mac and Windows breakpad builds to latest 2013-03-29 07:50:08 -07:00
Richard Linden 68f9f656cd merge with viewer-release 2013-03-22 00:44:59 -07:00
Nyx Linden 11fe124ae9 merging in viewer-beta.
Most of the merge was clean, a couple conflicts.
Brought over a couple patches manually for llpolymesh.
2013-01-24 16:22:49 -05:00
Richard Linden 0bb0bd514b SH-3499 WIP Ensure asset stats output is correct
Finished making LLUnit implicitly convertible to/from scalar integer values
cleaned up test code
2012-11-08 23:42:18 -08:00
Richard Linden e6ca5471a2 SH-3275 Update viewer metrics system to be more flexible
put template parameter back in LLUnit units
added free function operators for mathematical manipulation of unit values
converted texture memory tracking to units
2012-10-17 00:06:22 -07:00
Don Kjer 8c0aa31536 Adding optimization to skip alpha image analysis when it isn't needed. 2012-10-04 00:42:31 +00:00
simon@Simon-PC.lindenlab.com 38acb45af8 Merge in latest viewer-development 2012-09-05 17:17:54 -07:00
Brad Payne (Vir Linden) a5c9d89b28 merge 2012-07-30 14:57:33 -04:00
Xiaohong Bao afcc61a07a fix for SH-3238: Textures are loaded at lower detail on subsequent log-ins 2012-07-19 15:31:33 -06:00
Dave Parks bedbbf7c02 Merge 2012-06-28 16:32:54 -05:00
Brad Payne (Vir Linden) 74d4f8af01 v-r to drano merge conflicts wip 2012-06-26 16:43:58 -04:00
Dave Parks 9e9d32de38 merge 2012-06-22 14:04:33 -05:00
Dave Parks e3a5125b41 MAINT-616 Potential fix for corrupted mip maps. 2012-05-25 17:58:12 -05:00