Commit Graph

278 Commits (0f4aa87caca779d77c19dfef06fe8a276f7d0eb6)

Author SHA1 Message Date
Andrey Lihatskiy 329268c5f7 Merge branch 'master' into DRTVWR-548-maint-N
# Conflicts:
#	indra/newview/llmodelpreview.h
2022-09-15 20:44:04 +03:00
Howard Stearns 2082443220 SL-17967 - Git rid of ARB that is in core 2022-09-01 10:58:27 -07:00
Dave Parks 197ac7cc20 Merge remote-tracking branch 'remotes/origin/DRTVWR-563' into DRTVWR-559 2022-08-30 10:46:36 -05:00
Dave Parks 9bee2a92d2 SL-17997 Follow up from beta breakers results. 2022-08-26 10:51:42 -05:00
Andrey Kleshchev 9a8ab9592d SL-17732 std_bad_alloc at setManualImage 2022-07-06 22:22:36 +03:00
Nat Goodspeed 0bf91fc141 SL-17483: Merge branch 'track-threadpools' into sl-17483.
This picks up ThreadPoolSizes override logic embedded in ThreadPool's
constructor, plus the new static ThreadPool::getConfiguredWidth() and
getWidth() methods.
2022-06-09 11:22:01 -04:00
Nat Goodspeed 276647789a SL-17483: Simplify ThreadPool instantiations.
Now that LL::ThreadPool's constructor has subsumed the work of discovering a
runtime override width, LLAppViewer::initGeneralThread() can simply pass the
compile-time default width instead of redundantly checking ThreadPoolSizes.

Also the default ThreadPool capacity has been bumped up to what "General" and
"LLImageGL" were requesting, so they need not pass that explicitly or explain
in comments why they're doing it.

But until we start throwing work at the "General" ThreadPool, configure it
down to 1 thread in settings.xml.
2022-06-09 10:36:13 -04:00
Dave Parks 4261cbba78 SL-17485 Add texture memory accounting for OS X 2022-06-01 10:34:33 -05:00
Andrey Kleshchev 4cfa59d3f1 SL-17473 Viewer not clearing all Vertex Buffers in some cases
Image thread doesn't need mBuffer and buffer isn't thread safe so no point allocating it in an image thread.
2022-05-26 22:43:12 +03:00
Dave Parks 6eaf8521ab SL-17287 Instrument and optimize cubemap render. Fix for cubemap snapshots doing a full resolution render instead of a 512x512 render. 2022-05-20 19:05:28 -05:00
Dave Parks 3400e5fd30 SL-17284 Reflection probe tuning and optimization take 1 2022-05-16 17:21:08 +00:00
Dave Parks b6841d75c2 SL-17219 WIP - Texture pipeline overhaul 2022-04-15 19:02:07 -05:00
Dave Parks e60024f0af SL-17005 WIP - Use D3D/DXGI to query for available VRAM on Windows 2022-03-29 15:41:00 -05:00
Dave Parks 34e79c8f4e SL-17005 WIP Simplify what feeds texture loading bias to only pay attention to available memory according to OS and GL driver, not (broken) internal accounting (breaks intel GPUs, compatibility pass incoming). 2022-03-11 10:21:08 -06:00
Dave Parks 9dc8fee0f5 SL-16928 Fix for broken bumpmaps on Intel GPUs 2022-03-04 17:05:05 -06:00
Dave Parks 85e480616d Fix for mac build 2022-02-23 19:59:46 -06:00
Dave Parks 4f9fa5e817 Fix for some GPUs thinking they have 0 available vram. 2022-02-23 19:53:49 -06: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 d9a68339d5 SL-16815 and SL-16906 Avoid redundant bumpmap generation, add some assertions around ref counting and (hack) fix crash on shutdown from dangling texture reference (reduced to 1 dangling texture from several hundred, can't find the remaining reference). 2022-02-23 16:51:33 -06:00
Dave Parks 74641a1213 SL-16815 Cleanup -- disable multithreaded bumpmap generation while tracking down loading issues, fix sync issue in single threaded mode in media textures, restore LL_IMAGEGL_THREAD_CHECK functionality 2022-02-22 19:48:01 -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
Ptolemy bf0643e28a SL-16606: Add profiler category TEXTURE 2022-01-14 11:50:21 -08:00
Mnikolenko Productengine c614674ee6 SL-16282 FIXED Friend thumbnails are flickering 2021-12-06 19:20:49 +02: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
Nat Goodspeed 2b96f89c2a SL-16400: Add ThreadPool::start() method, and call it.
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.
2021-11-23 20:39:32 -05:00
Runitai Linden 744646eb71 SL-16400 Fix for grey textures (hack). 2021-11-22 19:12:39 -06:00
Runitai Linden 9b0d8c7e62 SL-16094 More profile hooks for threading code, remove redundant wglCreateContextAttribs call 2021-11-22 18:42:56 -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
Dave Parks 675514bdb3 SL-16093 Don't force the console window to be open on developer builds because it causes frame stalls while logging. 2021-09-27 23:56:06 +00:00
Andrey Kleshchev 0bf11e45ea SL-14150 Handle more cases of corrupted cache 2020-10-22 22:22:17 +03:00
Mnikolenko Productengine 83600bb16a SL-14108 FIXED Viewer crashes immediately after login 2020-10-20 14:25:54 +03:00
Dave Houlton 84d3065596 SL-13281, add missing srgb->linear conversion for specular 2020-06-11 23:33:14 +03:00
Graham Linden b659e5596e SL-11514
Convince Geenzo code to get a little DeMorgan in it.

Trophy Unlocked: make all alpha textures partcipate in picking.
2019-06-28 08:45:07 -07:00
Graham Linden c4032528af Roll back sRGB decode changes from contrib for now.
Fix direct light matching across alpha/blended-material/deferred.

Get diffuse lighting to match from Low to Ultra.
2019-05-02 13:49:35 -07:00
Geenz 3a42d2b94a Whoops! Always make sure that our primary format is assigned. 2019-04-01 18:51:28 -07:00
Geenz 0e47ca896d Make LLImageGL's loading of assets as sRGB or linear conditional based upon sRGB decode support. 2019-04-01 18:34:56 -07:00
Geenz 2513aa0ed1 Additional gamma correction work: start moving over to EXT_texture_sRGB_decode. 2019-03-30 03:18:02 -07:00
Geenz 0272c47e5a Tweaked naming a bit, also white space.
Will wait for a response from @graham_linden regarding moving the sRGB conversion functions in llmath.h to llrender.
2019-03-29 11:57:45 -07:00
Geenz 3fa8b844c3 Fixing gamma correction in EEP Step 1:
Thou shall always read the sky cubemap as sRGB using hardware sampling.
2019-03-29 02:51:41 -07:00
Graham Linden 898c9f4421 Mods to make merge with viewer-release have less whitespace-only change and fix diffs between EEP and VR. 2019-03-13 13:21:48 -07:00
Rider Linden 78866b33a9 Merge 2018-09-26 13:46:45 -07:00
andreykproductengine e24d4c9f4d MAINT-8923 Better allocation failure handling, createGLTexture crashes 2018-07-26 20:06:26 +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 a65b586b18 MAINT-6729 Additional fix for crash in LLImageGL::analyzeAlpha() 2016-12-08 17:21:05 +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 c307bda68a Correcting a build error with the release viewer. 2014-05-08 21:58:51 +01: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
Richard Linden 697d2e720b renamed TimeBlock to BlockTimerStatHandle 2013-10-15 20:24:42 -07: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 80dfbbaacd merge from viewer-release 2013-10-08 11:59:24 -07: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 cbe397ad13 changed fast timer over to using macro
another attempt to move mem stat into base class
2013-09-05 14:04:13 -07:00
Xiaohong Bao 1616b73ef3 Automated merge with http://bitbucket.org/lindenlab/viewer-interesting 2013-08-19 16:12:07 -06:00
Xiaohong Bao d8c02bf062 Merge 2013-08-19 16:09:28 -06: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 26581404e4 BUILDFIX: added header for numeric_limits support on gcc
added convenience types for units F32Seconds, etc.
2013-08-14 11:51:49 -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 e40065f82c BUILDFIX: #include and dependency cleanup 2013-07-19 15:03:05 -07:00
Dave Parks 79029149a4 Automated merge with file:///F:%5Cviewer-bear 2013-06-21 12:51:29 -05:00
Richard Linden a2a6bf20d7 merge with release 2013-06-20 16:46:23 -07:00
Dave Parks 9ea2d90a0d Automated merge with http://bitbucket.org/lindenlab/viewer-release 2013-06-20 12:10:26 -05: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
simon b864cecd6c De-bork the viewer merge, causing black in-world images. Reviewed by Kelly 2013-05-13 16:34:52 -07:00
Graham Madarasz a099815774 Merge vwr-dev-mat 2013-05-11 08:11:13 -07:00
Graham Madarasz f2455ccaaf Put back normal map and spec map initializers/destruction, delete FMOD refs (unneeded with FMODEX), make indra.l/y safe for bison >= 2.7 2013-05-10 16:10:25 -07:00
simon ee2fce8790 Merge downstream code and viewer-beta 2013-05-09 14:10:45 -07:00
simon 8895e79576 Merge downstream code / viewer-beta 2013-05-09 13:21:22 -07:00
Oz Linden 1b984d8f40 merge changes for 3.5.1-release 2013-05-08 14:46:00 -04:00
Graham Madarasz 806d09b114 Merge 3.5.1 into Materials 2013-04-30 19:50:05 -07:00
Graham Madarasz 03cfdeca7a Fix ifdefs around asserts broken in release only by merge 2013-04-26 10:52:02 -07:00
Graham Madarasz fd447189c5 Merge 3.5.1 into Materials 2013-04-25 21:00:16 -07:00
Oz Linden ddd5659f81 merge changes for DRTVWR-294 2013-04-19 10:11:29 -04:00
simon b42b789723 Merge in downstream code (chui fixes, materials) 2013-04-11 16:18:34 -07:00
simon c7bab8ab8b Merge 2013-04-11 16:04:21 -07: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
Dave Parks 609ed855e1 MAINT-2371 More optimizations.
Reviewed by Graham
2013-03-04 18:01:42 -06:00
Graham Madarasz 019c7566fb For MAINT-1291 Code Review: DaveP 2013-02-07 09:18:09 -08: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 9d77e030d9 SH-3406 WIP convert fast timers to lltrace system
cleaning up build
moved most includes of windows.h to llwin32headers.h to disable min/max macros, etc
streamlined Time class and consolidated functionality in BlockTimer class
llfasttimer is no longer included via llstring.h, so had to add it manually in several places
2012-11-14 23:52:27 -08: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