Commit Graph

333 Commits (1a437cbedf94de90d749f426dde09f2466693de2)

Author SHA1 Message Date
Dave Parks 197ac7cc20 Merge remote-tracking branch 'remotes/origin/DRTVWR-563' into DRTVWR-559 2022-08-30 10:46:36 -05:00
Andrey Kleshchev 069304ca39 Merge branch 'master' (DRTVWR-543) into DRTVWR-559
# Conflicts:
#	autobuild.xml
#	indra/llrender/llgl.cpp
#	indra/newview/CMakeLists.txt
#	indra/newview/llvovolume.cpp
2022-06-29 21:23:23 +03:00
Dave Parks 18b0aa0371 SL-17619 Add support for embedded textures to GLTF importer 2022-06-16 16:16:53 -05:00
Nat Goodspeed 3b043d90b6 SL-17483: Per review feedback, avoid LLPointer refcount twiddling
when passing LLPointers into functions. Only increment the refcount when
storing in new ImageRequest.
2022-06-13 15:18:14 -04:00
Nat Goodspeed 50dca86f64 SL-17483: Recast LLImageDecodeThread as a facade for ThreadPool.
Remove all references to LLQueuedThread (but emulate a couple bits of its API
such as handle_t and getPending()).

Migrate ImageRequest into llimageworker.cpp. It has never been part of
LLImageDecodeThread's public API. Remove ImageRequest tests.

Remove all references to LLImageDecodeThread::pause(). The idea of pausing
another thread is bizarre to me, and LLThreadPool has no such operation. Nor
does it have an abortRequest().
2022-06-09 12:06:23 -04:00
Dave Parks 609476e607 SL-17484 More unit test pruning. Fix for crash when deleting textures. 2022-06-01 09:25:16 -05:00
Dave Parks fc7b5549cb SL-17484 Fix for unit tests. Deprecate non-threaded LLQueuedThread and make lllfsthread threaded. 2022-05-31 16:54:05 -05:00
Andrey Lihatskiy 3da7a50b71 Merge branch 'master' into DRTVWR-543-maint
# Conflicts:
#	autobuild.xml
#	indra/cmake/LLCommon.cmake
#	indra/llcommon/CMakeLists.txt
#	indra/llrender/llgl.cpp
#	indra/newview/llappviewer.cpp
#	indra/newview/llface.cpp
#	indra/newview/llflexibleobject.cpp
#	indra/newview/llvovolume.cpp
2022-05-27 02:51:33 +03:00
Dave Parks 41e32126d4 SL-17484 Unit test build fix (remove priority parameters). 2022-05-24 17:48:41 -05:00
Dave Parks b6841d75c2 SL-17219 WIP - Texture pipeline overhaul 2022-04-15 19:02:07 -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
Ptolemy 5b67aa2c58 SL-16933: Fix texture stat Raw Total always increasing 2022-03-07 19:11:59 -08: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 d28a271fa8 SL-16418 add some big-endian future-proofing 2022-01-28 09:43:21 -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 Houlton c8926630af SL-16418 optimize imageraw clear 2022-01-27 15:44:35 -07:00
Ptolemy bf0643e28a SL-16606: Add profiler category TEXTURE 2022-01-14 11:50:21 -08:00
Andrey Lihatskiy 970b6661cd Merge branch 'master' into DRTVWR-543-maint 2021-12-26 14:01:17 +02:00
Dave Houlton cf35d27dfb DRTVWR-546 merge up to 6.5.2 2021-12-15 14:37:18 -07:00
Andrey Lihatskiy 9a1af101cd Merge branch 'master' into DRTVWR-543-maint
# Conflicts:
#	indra/newview/llagentwearables.cpp
#	indra/newview/llvoicevivox.cpp
2021-11-19 04:38:19 +02:00
Dave Houlton 353329c2c2 DRTVWR-546 merge in master v6.5.1 2021-11-16 11:44:55 -07:00
Andrey Lihatskiy 0bffd3d365 Merge branch 'master' into DRTVWR-519
# Conflicts:
#	README.md
2021-11-16 01:21:05 +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 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 5af8f15a05 SL-14541 Replace zlib with zlib-ng 2021-09-08 23:18:07 +03:00
Andrey Kleshchev dc1d8031f1 SL-15788 Crash throw_std_bad_alloc in LLImageRaw's scale 2021-08-09 23:55:05 +03:00
Callum Prentice 8631a7a077 Merge with tip of Master after a Viewer release 2021-07-19 14:35:44 -07:00
Nat Goodspeed fd1545197a SL-10297: Merge branch 'sl-10297-oz' into sl-10297.
Bring in Oz's tweaks to the way BugSplat is engaged and tested, plus a few
other miscellaneous goodies.
2021-05-12 13:56:19 -04:00
Callum Prentice 168d177197 This set of changes reverts the merge with master (git revert c83e740) and results in a version of the DRTVWR-519 that matches what was presemt before it was deployed as a release viewer *plus* 3 small fixes from Maxim (See commits). This branch can now be used for additional fixes before eventually being used to release D-519 as normal 2021-03-09 14:39:51 -08:00
Brad Payne (Vir Linden) c83e740ef9 Revert "Merge branch 'master' of https://bitbucket.org/lindenlab/viewer into DRTVWR-519"
This reverts commit e61f485a04, reversing
changes made to 00c47d079f.
2021-03-08 13:56:16 +00:00
Callum Prentice d26567915c Merge with Master after Viewer release 2021-02-03 09:31:32 -08:00
Callum Prentice d9448c6f52 The folder where the disk cache lives was originally renamed from llvfs to llcache but @henri's suggestion that that doesn't reflect the other files in the same place and it should be llfilesystem is a good one so I changed it over 2020-09-17 09:45:06 -07:00
Callum Prentice 3fc07dea01 First part of change to remove LLVFS from the Viewer. Consists of code changes to remove LLVFS and LLVFSThread classes along with the associated source files. The existing llvfs folder is renamed to llcache. Also includes changes to CMake script in many places to reflect changes. Eventually, llvfile source file and class will be renamed but that is not in this change. 2020-09-16 18:53:24 -07:00
Oz Linden a9d271c5a2 SL-10297 merged 6.4.7 2020-08-24 13:11:07 -04:00
Andrey Lihatskiy ae48c7c8b3 Merge branch 'master' into DRTVWR-513-maint
# Conflicts:
#	indra/llcommon/llerror.cpp
#	indra/newview/llappviewerwin32.cpp
#	indra/newview/llimprocessing.cpp
#	indra/newview/llviewerjoystick.cpp
2020-07-21 11:54:11 +03:00
Oz Linden 86009f885e SL-10297: merge up to master at 6.4.3 2020-06-15 15:29:04 -04:00
Andrey Kleshchev 372ed555ed SL-13348 Thread crashing singleton #2
Reverted LLImage to singleton conversion
2020-05-29 21:53:43 +03:00
Nat Goodspeed ca6f092929 DRTVWR-476: Merge branch 'master' of lindenlab/viewer into DRTVWR-476-boost-1.72 2020-05-06 16:06:26 -04:00
Anchor 32f1dfa531 [DRTVWR-476] - fix compiler errors 32 bit windows build 2020-03-25 18:44:04 -04:00
AndreyL ProductEngine bc496f5f17 Downstream merge from lindenlab/viewer-lynx 2019-11-27 22:58:52 +02:00
AndreyL ProductEngine 84f3b2865f Merged in lindenlab/viewer-release 2019-11-12 00:39:07 +02:00
andreykproductengine 1b4d5492c6 SL-11727 Fix build warnings 2019-10-23 16:37:15 +03:00
andreykproductengine 37eb735ba7 Merged in lindenlab/viewer-release 2019-09-10 20:30:25 +03:00
Nat Goodspeed 98be6e141c DRTVWR-493: Streamline LLParamSingleton, LLLockedSingleton.
Simplify LLSingleton::SingletonLifetimeManager to SingletonInitializer: that
struct has not been responsible for deletion ever since LLSingletonBase
acquired dependency-ordered deleteAll().

Move SingletonData::mInitState changes from SingletonLifetimeManager to
constructSingleton() method. Similarly, constructSingleton() now sets
SingletonData::mInstance instead of making its caller store the pointer.

Add variadic arguments to LLSingleton::constructSingleton() so we can reuse it
for LLParamSingleton.

Add finishInitializing() method to encapsulate logic reused for
getInstance()'s INITIALIZING and DELETED cases.

Make LLParamSingleton a subclass of LLSingleton, just as LLLockedSingleton is
a subclass of LLParamSingleton. Make LLParamSingleton a friend of LLSingleton,
so it can access private members of LLSingleton without also granting access
to any DERIVED_CLASS subclass. This eliminates the need for protected
getInitState().

LLParamSingleton::initParamSingleton() reuses LLSingleton::constructSingleton()
and finishInitializing(). Its getInstance() method completely replaces
LLSingleton::getInstance(): in most EInitStates, LLParamSingleton::getInstance()
is an error.

Use a std::mutex to serialize calls to LLParamSingleton::initParamSingleton()
and getInstance(). While LLSingleton::getInstance() relies on the "initialized
exactly once" guarantee for block-scope static declarations, LLParamSingleton
cannot rely on the same mechanism.

LLLockedSingleton is now a very succinct subclass of LLParamSingleton -- they
have very similar functionality.

Giving the LLSINGLETON() macro variadic arguments eliminates the need for a
separate LLPARAMSINGLETON() macro, while continuing to support existing usage.
2019-08-12 09:44:56 -04:00
andreykproductengine 55983b9abd SL-10908 One more safeguard 2019-08-05 20:52:18 +03:00
andreykproductengine 17fae30f72 DRTVWR-493 LLImage to LLParamSingleton 2019-07-25 15:17:11 +03:00
andreykproductengine ce380a4e4f SL-11138 Bitmaps format support bug 2019-05-15 19:28:17 +03:00
Oz Linden e409c0492f convert to an explicit USE_BUGSPLAT switch in cmake, revise LL_ERRS approach 2019-03-02 11:58:11 -05:00
andreykproductengine 26fae750ba SL-10291 Replace apr_mutex with standard C++11 functionality 2019-01-14 22:04:44 +02:00