Commit Graph

1363 Commits (9edad026f4494de1a6f02ecc3f477faa27a361ef)

Author SHA1 Message Date
Ansariel 3bc189bda7 Merge Firestorm LGPL 2019-11-19 20:28:09 +01:00
andreykproductengine ce24fab6b1 Fix instance existance check 2019-11-12 16:07:36 +02:00
Ansariel 6e340961c0 Merge viewer-neko 2019-10-30 18:05:01 +01:00
Ansariel d79b79fbe2 Merge viewer-ordered-shutdown 2019-10-19 03:16:10 +02:00
andreykproductengine 94d4364084 SL-12103 More reliable memory detection 2019-10-16 22:36:10 +03:00
andreykproductengine 37eb735ba7 Merged in lindenlab/viewer-release 2019-09-10 20:30:25 +03:00
andreykproductengine 1233842012 SL-11718 Crash in LLRender2D 2019-08-13 17:22:58 +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 1be08814e2 DRTVWR-493 tiny optimization 2019-08-11 12:50:24 +03:00
andreykproductengine 34d8200d0f DRTVWR-493 LLRender2D init cleanup 2019-08-10 09:01:54 +03:00
andreykproductengine adeee613c6 DRTVWR-493 LLRender2D to LLParamSingleton 2019-07-25 18:20:17 +03:00
Ansariel 542efcb301 Merge Firestorm LGPL 2019-07-20 20:38:10 +02:00
Nicky dc10db962f BUG-225655/FIRE-24049; Add an implemention for render targets without FBO. As the target FS uses for bakes (mPhysicsDisplay) does not have a FBO. 2019-07-11 11:40:35 +02:00
Nicky 63af01fd72 BUG-225655/FIRE-24049; Intel driver >= 24 64 bit get a hack of toggling the FBO once before glReadPixels. Make this as specific tailore as possible for only those systems, as it is not a nice hack. 2019-07-06 19:11:06 +02:00
Ansariel f92c1ffdb4 Merge viewer-neko 2019-05-21 20:18:40 +02:00
Ansariel 29c1d23b76 Merge 2019-04-03 00:19:15 +02:00
Ansariel 2a2baac7a5 Merge Firestorm LGPL Bear 2019-04-02 23:15:24 +02:00
Ansariel 84d721c678 Merge Firestorm LGPL 2019-04-02 23:01:30 +02:00
Ansariel Hiller 6a19b2195c Open requested font face 2019-03-28 15:07:58 +00:00
Nicky 8b6f0ef3cd Remove clearFontStreams which was not supposed to be there. 2019-03-28 10:27:29 +01:00
Nicky ee870fcc9b Bring back font caching. 2019-03-28 10:20:15 +01:00
Ansariel 3adc5c2b50 Merge viewer-neko 2019-03-26 19:15:36 +01:00
maxim_productengine fd7b0e19da SL-10610 FIXED Floaters fails to display certain symbols. Added ability to load font collections. 2019-03-19 11:16:24 +02:00
Mnikolenko ProductEngine eed5671681 SL-10610 mac fix for showing special characters 2019-03-13 14:21:38 +02:00
Ansariel fff9fdf9ba Merge Firestorm LGPL 2019-03-02 01:40:58 +01:00
Ansariel c96314964a Merge Firestorm LGPL 2019-03-01 17:36:52 +01:00
Ansariel a399c67785 Merge viewer-bugsplat 2019-02-26 23:00:48 +01:00
AndreyL ProductEngine 5715cda6e0 Merged in lindenlab/viewer-release 2019-03-01 10:55:47 +02:00
Ansariel 445b66a93e Merge viewer-cougar 2019-02-07 23:45:34 +01:00
Ansariel 536a3f6c8e Merge viewer-neko 2019-01-18 23:41:21 +01:00
ruslantproductengine 4f458882f4 - add static const 2019-01-14 18:58:30 +02:00
Nat Goodspeed 4b99e6a1f1 SL-10252: On Windows, use $SystemRoot again, not FOLDERID_Fonts. 2018-12-17 15:23:57 -05:00
Ansariel 8b6392c0aa Merge viewer-bugsplat 2018-12-16 13:04:08 +01:00
Nat Goodspeed 4a13657285 SL-10153: auto name{expression} declares an initializer_list
instead of a variable of type decltype(expression).

Using SHGetKnownFolderPath(FOLDERID_Fonts) in LLFontGL::getFontPathSystem()
requires new Windows #include files.

A variable with a constructor can't be declared within the braces of a switch
statement, even outside any of its case clauses.
2018-12-15 09:13:24 -05:00
Nat Goodspeed c4096f670c SL-10153: Review and rationalize fetching paths from environment.
Use LLStringUtil::getenv() or getoptenv() whenever we fetch a string that will
be used as a pathname.

Use LLFile::tmpdir() instead of getenv("TEMP").

As an added extra-special bonus, finally clean up $TMP/llcontrol-test-zzzzzz
directories that have been accumulating every time we run a local build!
2018-12-14 15:38:13 -05:00
AndreyL ProductEngine 892d3a9bf8 Merged in lindenlab/viewer-release 2018-09-27 13:04:12 +03:00
Ansariel 48b97bc513 Merge Firestorm LGPL 2018-09-27 10:11:52 +02:00
Ansariel 8ab2169efb Merge viewer-cougar 2018-08-22 10:15:24 +02:00
maxim_productengine f46969fec7 SL-11139 FIXED LLFontGL::getStringFromStyle() never return "NORMAL" 2019-05-13 18:17:16 +03:00
AndreyL ProductEngine 65bf63c973 Merged in lindenlab/viewer-bear 2019-04-02 22:12:55 +03:00
Graham Linden 3237923e10 MAINT-3699 new shaders supporting alpha blend/mask rigged content.
Make shader loading debug logging of uniforms use ShaderUniform to make supression simpler.
2018-08-16 00:31:39 +01:00
Ansariel 3edd9c1813 Merge Firestorm LGPL 2018-08-02 23:28:57 +02:00
AndreyL ProductEngine 3983f5b1e2 Merged in lindenlab/viewer-release 2018-08-02 23:18:28 +03:00
Ansariel cb20bc0425 Merge viewer-neko 2018-08-01 01:20:01 +02:00
andreykproductengine e24d4c9f4d MAINT-8923 Better allocation failure handling, createGLTexture crashes 2018-07-26 20:06:26 +03:00
Ansariel d2963a5e60 Merge viewer-cougar 2018-07-11 20:48:32 +02:00
AndreyL ProductEngine c877eac422 Fixed line endings in llgl.cpp 2018-07-04 11:56:01 +03:00
Graham Linden 5e12beba70 MAINT-7548 MAINT-7560 use NvidiaOptimusEnablement globally exported var to signal desire to use high-performance graphics processor 2018-07-02 19:30:31 +01:00
Ansariel 745eb5da0e Merge Firestorm LGPL 2018-06-22 01:26:34 +02:00
Kitty Barnett aea1015ced Merged with default tip 2018-06-18 01:12:02 +02:00