Commit Graph

1069 Commits (fe3a56f343ca04b2bea203ff2adeeffb9d2ffeda)

Author SHA1 Message Date
AndreyL ProductEngine bc496f5f17 Downstream merge from lindenlab/viewer-lynx 2019-11-27 22:58:52 +02:00
andreykproductengine db344c5844 Fix instance existance check 2019-11-12 16:07:36 +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
AndreyL ProductEngine 5715cda6e0 Merged in lindenlab/viewer-release 2019-03-01 10:55:47 +02: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
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
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
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
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
AndreyL ProductEngine 3983f5b1e2 Merged in lindenlab/viewer-release 2018-08-02 23:18:28 +03:00
andreykproductengine e24d4c9f4d MAINT-8923 Better allocation failure handling, createGLTexture crashes 2018-07-26 20:06:26 +03: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
AndreyL ProductEngine 64b3473f49 Merged in lindenlab/viewer-release 2018-05-18 03:02:44 +03:00
andreykproductengine 30be0b0560 MAINT-8686 Mode detailed VBO crash logging 2018-06-04 19:37:30 +03:00
AndreyL ProductEngine af9069edbf Merged in lindenlab/viewer-release 2018-03-02 00:47:08 +02:00
Andrey Kleshchev 4156fb832c MAINT-6363 Normal and specular maps should not be downloaded if ALM is off 2018-03-06 12:59:32 +00:00
andreykproductengine d9064d3a4e MAINT-8317 Fixed Local Textures for Advanced Lighting Projectors do not keep the selected texture. 2018-02-27 15:49:15 +02:00
Graham Linden graham@lindenlab.com 06bce2ddd0 Add debug setting and code to allow nVidia nSight graphics debugging to capture SL frames.
These changes are only enabled if RenderNsightDebugSupport is true and eliminate use of
some OpenGL legacy functionality which is incompatible with nSight capture
(mostly glReadPixels and other fixed-function pipe rendering calls).
2018-02-15 21:55:24 +00:00
andreykproductengine 8f65593786 MAINT-8146 Clearing pointers 2018-02-13 14:45:09 +02:00
andreykproductengine e394c0623d MAINT-8146 Remade fix with streams to save memory 2018-02-12 19:31:53 +02:00
ruslantproductengine 0f690ab4da Add const 2018-01-30 17:07:27 +02:00
ruslantproductengine 55990724a3 Keep attributes name (useful for debug) 2018-01-30 17:07:00 +02:00
Andrey Kleshchev 6e445e82e2 MAINT-8091 Removed deprecated and unused private memory pooling 2018-01-30 14:03:26 +00:00
AndreyL ProductEngine 15c62d9e71 Merged in lindenlab/viewer-bear 2018-01-17 03:58:24 +02:00
AndreyL ProductEngine 57a99273ed Merged in lindenlab/viewer-release 2018-01-17 03:20:12 +02:00
andreykproductengine 56c878925a MAINT-7003 Crash in LLVBOPool
Error to help figuring out if error happens due to gl or memory issue
2018-01-12 18:54:20 +02:00
AndreyL ProductEngine 7d156389e4 MAINT-8043 Fix for bad_alloc crash in LLImageGL::setImage() 2017-12-18 20:29:50 +02:00
andreykproductengine 1f56b223d7 MAINT-8101 Added sanity check to confirm crash location 2017-12-18 15:15:54 +02:00
Nat Goodspeed e3a2c5e321 DRTVWR-418: Merge from latest viewer-release 2017-11-29 14:47:09 -05:00
andreykproductengine fadb3792ca MAINT-8146 Fixed Installing viewer to non default path results in incorrect fonts loading 2018-01-09 20:31:21 +02:00
andreykproductengine 5a402dbc1f MAINT-7228 Vertex buffer allocation failure handling 2017-11-16 17:11:48 +02:00
ruslantproductengine df376c0299 MAINT-6437 - Tile-Based Texture Animation Scales Incorrectly for Rigged Mesh when worn (MacOS only)
FIXED.
2017-12-26 18:20:06 +02:00
andreykproductengine e848127f23 MAINT-7228 Substituted assert with error 2017-11-03 19:27:09 +02:00
andreykproductengine 149b2d88dd MAINT-7228 Vertex buffer allocation failure handling 2017-11-01 19:36:13 +02:00
ruslantproductengine 325c076d09 MAINT-7213 Shared media (media as a texture) unusable with transparent mesh
New outline selection around mesh objects.
2017-10-26 18:33:08 +03:00
AndreyL ProductEngine 8c03881193 Merged in lindenlab/viewer-lynx 2017-11-22 16:44:36 +02:00
andreykproductengine 8da9e0ffd7 MAINT-72 unmapBuffer crash 2017-11-17 17:33:10 +02:00
Nat Goodspeed 0c7bc67814 Automated merge with ssh://bitbucket.org/lindenlab/viewer-release 2017-10-11 14:35:49 -04:00