Commit Graph

74 Commits (85f2447b3ddf7e4b91cd5963cb2e7668d48ab2a9)

Author SHA1 Message Date
Andrey Lihatskiy 85f2447b3d Merge branch 'main' into marchcat/a-merge
# Conflicts:
#	autobuild.xml
#	indra/llimage/llimage.cpp
#	indra/llui/llsearcheditor.cpp
#	indra/llui/llview.cpp
#	indra/newview/llagent.cpp
#	indra/newview/llappviewer.cpp
#	indra/newview/llfloatercamera.cpp
#	indra/newview/llfloatereditsky.cpp
#	indra/newview/llfloatereditwater.cpp
#	indra/newview/llinventoryfunctions.cpp
#	indra/newview/lloutfitgallery.cpp
#	indra/newview/lloutfitslist.cpp
#	indra/newview/llpanelgroupbulkban.cpp
#	indra/newview/llsidepanelappearance.cpp
#	indra/newview/llvovolume.cpp
2024-04-24 19:28:15 +03:00
Ansariel d0102af56d Merge branch 'main' of https://github.com/secondlife/viewer into DRTVWR-600-maint-A
# Conflicts:
#	indra/llcommon/llapp.cpp
#	indra/llcommon/llapp.h
#	indra/llimage/llimageworker.cpp
#	indra/llui/llcontainerview.cpp
#	indra/llui/llcontainerview.h
#	indra/llui/llkeywords.cpp
#	indra/llui/lltabcontainer.cpp
#	indra/llui/lltextbase.cpp
#	indra/newview/llappviewer.cpp
#	indra/newview/llfavoritesbar.cpp
#	indra/newview/llfavoritesbar.h
#	indra/newview/llfloaterimnearbychathandler.cpp
#	indra/newview/llfloaterpreference.cpp
#	indra/newview/llhudnametag.h
#	indra/newview/llinventorypanel.cpp
#	indra/newview/llinventorypanel.h
#	indra/newview/llmeshrepository.cpp
#	indra/newview/lloutfitgallery.cpp
#	indra/newview/lloutfitslist.cpp
#	indra/newview/llpaneleditwearable.cpp
#	indra/newview/llpanelprofilepicks.cpp
#	indra/newview/llpanelvoicedevicesettings.h
#	indra/newview/llpreviewscript.cpp
#	indra/newview/llpreviewscript.h
#	indra/newview/llselectmgr.cpp
#	indra/newview/lltranslate.cpp
#	indra/newview/llviewerassetupload.cpp
#	indra/newview/llviewermessage.cpp
2024-04-11 21:59:38 +02:00
AiraYumi 7c8907522f replace boost library to standard 2024-01-08 23:29:21 +02:00
Alexander Gavriliuk 74c8b028d4 SL-20743 Use LLMutex in LLImageBase for internal data thread-safety 2023-12-21 19:12:52 +01:00
Alexander Gavriliuk 7f9438ed2b SL-3508 Crash in LLKDUDecodeState::processTileDecode 2023-12-15 07:45:05 +01:00
Dave Parks b6841d75c2 SL-17219 WIP - Texture pipeline overhaul 2022-04-15 19:02:07 -05: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
Andrey Kleshchev 372ed555ed SL-13348 Thread crashing singleton #2
Reverted LLImage to singleton conversion
2020-05-29 21:53:43 +03:00
andreykproductengine 17fae30f72 DRTVWR-493 LLImage to LLParamSingleton 2019-07-25 15:17:11 +03:00
Andrey Kleshchev 6e445e82e2 MAINT-8091 Removed deprecated and unused private memory pooling 2018-01-30 14:03:26 +00:00
andreykproductengine 34d3b49d1f MAINT-2124 Texture allocation issues 2017-12-05 17:54:17 +02:00
Nat Goodspeed acdb050ce5 MAINT-6584: Convert LLImage class hierarchy to standard 'bool'
instead of legacy BOOL.
2016-07-22 11:35:23 -04:00
Nat Goodspeed 71b593e88b MAINT-6584: Streamline static LLImageJ2C implementation API.
Specifically, remove unused function pointer types CreateLLImageJ2CFunction,
DestroyLLImageJ2CFunction and EngineInfoLLImageJ2CFunction.

Also eliminate static fallbackDestroyLLImageJ2CImpl() and
fallbackEngineInfoLLImageJ2CImpl(), leaving only static
fallbackCreateLLImageJ2CImpl().

We do need a factory function to instantiate the appropriate LLImageJ2CImpl
subclass, so leave the fallbackCreateLLImageJ2CImpl() link seam in place.

However, given that every known LLImageJ2CImpl subclass is cheap to
instantiate, make getEngineInfo() a pure virtual method on that subclass: the
static LLImageJ2C::getEngineInfo() method can temporarily construct an
instance to query. While we're at it, make getEngineInfo() return std::string
like LLImageJ2C::getEngineInfo(). It's ridiculous that
fallbackEngineInfoLLImageJ2CImpl() implementations constructed a static
std::string and returned its c_str(), only to have LLImageJ2C::getEngineInfo()
construct ANOTHER std::string from the returned const char*.

fallbackDestroyLLImageJ2CImpl() never did anything useful: it merely deleted
the passed LLImageJ2CImpl subclass pointer as the specific subclass type. But
since LLImageJ2CImpl's destructor is virtual, LLImageJ2C's destructor could
simply delete the stored LLImageJ2CImpl*. In fact, make mImpl a
boost::scoped_ptr<LLImageJ2CImpl> so we don't even have to delete it manually.
2016-07-21 16:49:02 -04:00
Oz Linden c8726aba30 remove execute permission from many files that should not have it 2015-11-10 09:48:56 -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 e40065f82c BUILDFIX: #include and dependency cleanup 2013-07-19 15:03:05 -07:00
Richard Linden 075a7bcc98 SH-4297 WIP interesting: viewer-interesting starts loading cached scene late
dependency cleanup - removed a lot of unecessary includes
2013-07-18 15:09:45 -07:00
Graham Madarasz bf6182daa8 Update Mac and Windows breakpad builds to latest 2013-03-29 07:50:08 -07:00
Dave Parks 4a5ad35793 MAINT-570 Remove unused memory tracking system LLMemType 2012-07-20 11:42:15 -05:00
simon@Simon-PC.lindenlab.com 1777fa5187 Merge pull from lindenlab/viewer-development as requested by Oz for DRTVWR-148 2012-05-25 15:07:22 -07:00
Merov Linden 5c11b6b2e5 SH-3047 : Tweak of the performance compression data gathering code 2012-05-08 10:16:14 -07:00
Brad Payne (Vir Linden) 678864e4ed merge viewer-release to drano 2012-05-02 13:00:59 -04:00
Merov Linden adf5b5c1ef Final pull from viewer-thx1138 2012-04-13 17:20:53 -07:00
Merov Linden 8b3703bd03 SH-3060 : Always use old byte range on low res (faster), reserve new byte range for high res. 2012-04-13 15:42:54 -07:00
Brad Payne (Vir Linden) 8778010fee fix for linux build failure 2012-04-13 17:03:29 -04:00
Merov Linden c410a4e332 SH-3080 : Implement the TextureReverseByteRange setting so we can play with that parameter 2012-04-12 20:19:56 -07:00
Merov Linden 172b45d5a2 SH-3060 : Complete new byte range computation, clean up and back pedal on some changes that didn't pay of. 2012-04-06 18:28:47 -07:00
Merov Linden 91094d92a7 SH-3060 : Implement new byte range computation, cleaned up use of compression rate as well. 2012-04-05 22:05:00 -07:00
Merov Linden 782981866a SH-3060 : New byte range implementation. Intermediate (not working) state. 2012-04-04 18:58:34 -07:00
Merov Linden df09fd8e8b SH-3060 : Preliminary implementation of the new byte range computation, implement setting to turn it on or off 2012-04-02 19:05:32 -07:00
Merov Linden bc6f669ff4 SH-3047 : Read the number of levels from the j2c image header instead of relying on hacked computation based on width / height. 2012-03-15 13:01:14 -07:00
Richard Linden 5a14a67e06 converted a bunch of narrowing implicit conversions to explicit 2012-02-01 13:03:46 -08:00
Dave Parks 4924f0c99b b782a75c99e6 backout cleanup 2011-10-14 12:38:48 -05:00
Dave Parks c0ca8e5e2e Merge backout of b782a75c99e6 2011-10-14 11:58:35 -05:00
Dave Parks 4331c112ab Backed out changeset b782a75c99e6 2011-10-14 11:52:40 -05:00
Xiaohong Bao d951267467 Merge from viewer-development 2011-07-15 12:14:34 -06:00
Xiaohong Bao b594d3b04d add debug mode to track the memory allocation/deallocation. 2011-05-10 21:02:20 -06:00
Merov Linden c6c1419faa EXP-664 : Make encoding parameters more resilient to bad entries, add levels as encoding parameters, update test applet to support this 2011-05-04 22:43:51 -07:00
Merov Linden e752e91828 STORM-746 : add precincts and blocks arguments taken into account in j2c output 2011-04-04 23:49:40 -07:00
Merov Linden 83ec0cd62f STORM-746 : add new arguments for precincts and blocks on output, region and level on input, add code for input loading restriction 2011-04-04 18:37:32 -07:00
Merov Linden c2e88db89a STORM-987 : Took Vadim's comment into account: check arguments consistency, make sure remaining perf data are flushed on exit. 2011-03-10 22:02:49 -08:00
Xiaohong Bao 29415d1407 Merge 2011-02-23 13:48:35 -07:00
Xiaohong Bao 01cdeb0cdd Merge from viewer-development 2011-02-23 10:44:59 -07:00
Aleric Inglewood ef490e308c Introduces a LLThreadLocalData class that can be
accessed through the static LLThread::tldata().
Currently this object contains two (public) thread-local
objects: a LLAPRRootPool and a LLVolatileAPRPool.

The first is the general memory pool used by this thread
(and this thread alone), while the second is intended
for short lived memory allocations (needed for APR).
The advantages of not mixing those two is that the latter
is used most frequently, and as a result of it's nature
can be destroyed and reconstructed on a "regular" basis.

This patch adds LLAPRPool (completely replacing the old one),
which is a wrapper around apr_pool_t* and has complete
thread-safity checking.

Whenever an apr call requires memory for some resource,
a memory pool in the form of an LLAPRPool object can
be created with the same life-time as this resource;
assuring clean up of the memory no sooner, but also
not much later than the life-time of the resource
that needs the memory.

Many, many function calls and constructors had the
pool parameter simply removed (it is no longer the
concern of the developer, if you don't write code
that actually does an libapr call then you are no
longer bothered with memory pools at all).

However, I kept the notion of short-lived and
long-lived allocations alive (see my remark in
the jira here: https://jira.secondlife.com/browse/STORM-864?focusedCommentId=235356&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-235356
which requires that the LLAPRFile API needs
to allow the user to specify how long they
think a file will stay open. By choosing
'short_lived' as default for the constructor
that immediately opens a file, the number of
instances where this needs to be specified is
drastically reduced however (obviously, any
automatic LLAPRFile is short lived).

***

Addressed Boroondas remarks in https://codereview.secondlife.com/r/99/
regarding (doxygen) comments. This patch effectively only changes comments.

Includes some 'merge' stuff that ended up in llvocache.cpp
(while starting as a bug fix, now only resulting in a cleanup).

***

Added comment 'The use of apr_pool_t is OK here'.

Added this comment on every line where apr_pool_t
is correctly being used.

This should make it easier to spot (future) errors
where someone started to use apr_pool_t; you can
just grep all sources for 'apr_pool_t' and immediately
see where it's being used while LLAPRPool should
have been used.

Note that merging this patch is very easy:
If there are no other uses of apr_pool_t in the code
(one grep) and it compiles, then it will work.

***

Second Merge (needed to remove 'delete mCreationMutex'
from LLImageDecodeThread::~LLImageDecodeThread).

***

Added back #include <apr_pools.h>.

Apparently that is needed on libapr version 1.2.8.,
the version used by Linden Lab, for calls to
apr_queue_*. This is a bug in libapr (we also
include <apr_queue.h>, that is fixed in (at least) 1.3.7.

Note that 1.2.8 is VERY old. Even 1.3.x is old.

***

License fixes (GPL -> LGPL). And typo in comments.
Addresses merov's comments on the review board.

***

Added Merov's compile fixes for windows.
2011-02-05 15:58:07 +01:00
Xiaohong Bao 611d8bdf61 use the private pool in the texture pipeline 2011-01-06 16:20:21 -07:00
Merov Linden 0e07758b54 merge with STORM-105 and viewer-development 2010-11-10 22:39:11 -08:00
Merov Linden b5df1d2abc STORM-105 : takes Vadim's comments into account, clean up use of static globals and magic strings, enforce naming conventions 2010-11-08 17:16:31 -08:00
Merov Linden 85509457c6 STORM-105 : Take Vadim code review into account, code clean up 2010-11-05 18:40:08 -07:00
Merov Linden 4bbe823302 merge with STORM-105 2010-11-04 18:10:29 -07:00
Merov Linden ba3307b8d0 merge with STORM-105 2010-11-04 18:09:35 -07:00