Ansariel
0a0e2fe93e
Merge branch 'DRTVWR-546' of https://bitbucket.org/lindenlab/viewer
2022-01-15 02:39:07 +01:00
Ptolemy
bf0643e28a
SL-16606: Add profiler category TEXTURE
2022-01-14 11:50:21 -08:00
Ansariel
47e2173239
Merge branch 'DRTVWR-546' of https://bitbucket.org/lindenlab/viewer
...
# Conflicts:
# indra/llrender/llgl.cpp
# indra/llwindow/llwindowwin32.cpp
# indra/newview/app_settings/settings.xml
# indra/newview/featuretable.txt
# indra/newview/featuretable_mac.txt
# indra/newview/lldrawpoolalpha.cpp
# indra/newview/lldynamictexture.cpp
# indra/newview/llviewerdisplay.cpp
# indra/newview/pipeline.cpp
# indra/newview/pipeline.h
2021-12-16 08:42:54 +01:00
Dave Houlton
cf35d27dfb
DRTVWR-546 merge up to 6.5.2
2021-12-15 14:37:18 -07: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
Ansariel
63cc972499
Merge branch 'DRTVWR-546' of https://bitbucket.org/lindenlab/viewer
...
# Conflicts:
# indra/llappearance/lldriverparam.h
# indra/llcommon/llmemory.h
# indra/llcommon/llprofiler.h
# indra/llrender/llvertexbuffer.cpp
# indra/llwindow/llwindow.cpp
# indra/llwindow/llwindowwin32.h
# indra/newview/app_settings/settings.xml
# indra/newview/lldrawable.cpp
# indra/newview/lldrawable.h
# indra/newview/lldrawpoolalpha.cpp
# indra/newview/lldrawpoolavatar.cpp
# indra/newview/lldrawpooltree.cpp
# indra/newview/lldrawpoolwater.cpp
# indra/newview/llface.cpp
# indra/newview/llinventoryfilter.cpp
# indra/newview/llselectmgr.h
# indra/newview/llspatialpartition.cpp
# indra/newview/llviewermenu.cpp
# indra/newview/llviewerobject.cpp
# indra/newview/llvieweroctree.cpp
# indra/newview/llviewertexturelist.cpp
# indra/newview/llvovolume.cpp
# indra/newview/llvowlsky.cpp
# indra/newview/pipeline.cpp
# indra/newview/skins/default/xui/en/floater_stats.xml
2021-11-12 17:31:39 +01:00
Ansariel
7427b46ea5
Merge branch 'DRTVWR-546' of https://bitbucket.org/lindenlab/viewer
...
# Conflicts:
# .gitignore
# indra/cmake/Copy3rdPartyLibs.cmake
# indra/llcommon/llcommon.cpp
# indra/llcommon/llerror.cpp
# indra/llcommon/llprofiler.h
# indra/llcommon/llthread.cpp
# indra/llimage/llimageworker.cpp
# indra/llprimitive/llmodel.h
# indra/llrender/llfontgl.cpp
# indra/llrender/llfontgl.h
# indra/llrender/llgl.cpp
# indra/llrender/llvertexbuffer.cpp
# indra/llrender/llvertexbuffer.h
# indra/llwindow/llwindowmacosx.h
# indra/llwindow/llwindowwin32.cpp
# indra/llwindow/llwindowwin32.h
# indra/newview/app_settings/settings.xml
# indra/newview/llappviewer.cpp
# indra/newview/llappviewer.h
# indra/newview/lldrawpoolavatar.cpp
# indra/newview/lldrawpoolavatar.h
# indra/newview/lldynamictexture.cpp
# indra/newview/llfloatermodelpreview.cpp
# indra/newview/llimview.cpp
# indra/newview/llmeshrepository.h
# indra/newview/llmodelpreview.cpp
# indra/newview/llnetmap.cpp
# indra/newview/llskinningutil.cpp
# indra/newview/llskinningutil.h
# indra/newview/llspatialpartition.cpp
# indra/newview/llteleporthistory.cpp
# indra/newview/llviewerdisplay.cpp
# indra/newview/llviewerobject.cpp
# indra/newview/llviewerobjectlist.cpp
# indra/newview/llviewertexture.cpp
# indra/newview/llviewertexturelist.cpp
# indra/newview/llviewerwindow.cpp
# indra/newview/llvoicevivox.cpp
# indra/newview/llvosky.cpp
# indra/newview/llvovolume.cpp
2021-11-12 15:21:52 +01: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
Dave Parks
f79890669d
SL-16006 and SL-16009 Rigged mesh rendering optimization pass
2021-09-20 18:58:09 +00:00
Nicky
9186cc4e84
Linux/OSX; FIRE-30851 make sure FS does not crash on each exit.
2021-07-22 22:05:31 +02:00
Nicky
a0ea3a5eb4
Add logging to see if texture list got destroyed or not.
2021-06-26 22:36:14 +02: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
Ansariel
6b6b116fd4
Merge branch 'master' of https://bitbucket.org/lindenlab/viewer
2021-03-03 00:20:02 +01:00
Beq
4f7eb27f2f
FIRE-30756/FIRE-30559 fix broken texture unloading
2021-02-15 01:19:29 +00:00
Beq
18e3791bb2
FIRE-30559 Preview texture priority handling to give better response
2021-02-08 14:51:37 +00:00
Ansariel
8d1b6e0f3f
Update to system info details
2020-10-25 12:56:31 +01:00
Ansariel
fca839f5cc
Better settings name
2020-10-16 15:55:42 +02:00
Ansariel
a4ed0a5c78
Restrict dynamic texture memory to GPUs with at least 512MB VRAM
2020-10-16 15:52:07 +02:00
Ansariel
a4f99e4edb
Use percentage-based texture memory reserves
2020-10-16 15:46:49 +02:00
Ansariel
723b525018
Add a physical GPU memory reserve for other uses that should always be taken into account
2020-10-16 14:41:12 +02:00
Ansariel
d774058259
Don't take system memory into account when calculating available texture memory since the raw image data has already been loaded into system memory at this point. LLViewerTexture::updateClass() will take care of low memory situation already
2020-10-16 13:39:51 +02:00
Ansariel
492a9725f4
Flip the logic since cached textures also reside in GPU memory
2020-10-15 20:03:40 +02:00
Ansariel
9733fb5d19
Prevent compilers from getting angry because of unreachable code
2020-10-14 09:52:00 +02:00
Ansariel
2eea28a8e3
Add additional comment
2020-10-14 09:38:03 +02:00
Ansariel
d0dd5cabc3
Add a minimum amount of texture memory the viewer should use
2020-10-13 21:20:33 +02:00
Ansariel
a68fede0dc
Introduce dynamic texture memory calculation on 64bit/AMD/NVIDIA systems
2020-10-13 20:39:09 +02:00
Callum Prentice
6be1f88a5e
Complete the change from lldiskcache -> llfilesystem and then addition of new lldiskcache implementation
2020-09-24 14:45:39 -07:00
Callum Prentice
2e6f516411
Renamed the references to LLVFile and llvfile.* source code plus cmake scripts to use a different name - lldiskcache - since that more closely resembles what it is (or will be) now that the VFA is no more
2020-09-16 21:12:53 -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
Ansariel
6e340961c0
Merge viewer-neko
2019-10-30 18:05:01 +01:00
andreykproductengine
94d4364084
SL-12103 More reliable memory detection
2019-10-16 22:36:10 +03:00
Ansariel
ad941e4e42
Merge viewer-neko
2019-04-17 19:17:08 +02:00
andreykproductengine
a6595dfa9b
SL-10344 Fix boost priority
2019-04-16 19:50:29 +03:00
Ansariel
bcb8dcee52
Merge viewer-neko
2018-03-13 19:48:24 +01: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
AndreyL ProductEngine
57a99273ed
Merged in lindenlab/viewer-release
2018-01-17 03:20:12 +02:00
Ansariel
832911cea5
Merge Firestorm LGPL
2018-01-04 12:53:34 +01:00
Andrey Kleshchev
062be76dd5
MAINT-4354 Render stalls in object heavy regions
2017-12-15 12:43:54 +00:00
Andrey Kleshchev
8af9363e89
MAINT-4354 Render stalls in object heavy regions
2017-12-15 12:43:54 +00:00
Ansariel
e6f9a5e2db
Merge viewer64
2017-07-27 21:07:14 +02:00
Nicky
985730a52c
Merge.
2017-05-18 17:40:24 +02:00
Nat Goodspeed
52899ed62a
DRTVWR-418, MAINT-6996: Rationalize LLMemory wrt 64-bit support.
...
There were two distinct LLMemory methods getCurrentRSS() and
getWorkingSetSize(). It was pointless to have both: on Windows they were
completely redundant; on other platforms getWorkingSetSize() always returned
0. (Amusingly, though the Windows implementations both made exactly the same
GetProcessMemoryInfo() call and used exactly the same logic, the code was
different in the two -- as though the second was implemented without awareness
of the first, even though they were adjacent in the source file.)
One of the actual MAINT-6996 problems was due to the fact that
getWorkingSetSize() returned U32, where getCurrentRSS() returns U64. In other
words, getWorkingSetSize() was both useless *and* wrong. Remove it, and change
its one call to getCurrentRSS() instead.
The other culprit was that in several places, the 64-bit WorkingSetSize
returned by the Windows GetProcessMemoryInfo() call (and by getCurrentRSS())
was explicitly cast to a 32-bit data type. That works only when explicitly or
implicitly (using LLUnits type conversion) scaling the value to kilobytes or
megabytes. When the size in bytes is desired, use 64-bit types instead.
In addition to the symptoms, LLMemory was overdue for a bit of cleanup.
There was a 16K block of memory called reserveMem, the comment on which read:
"reserve 16K for out of memory error handling." Yet *nothing* was ever done
with that block! If it were going to be useful, one would think someone would
at some point explicitly free the block. In fact there was a method
freeReserve(), apparently for just that purpose -- which was never called. As
things stood, reserveMem served only to *prevent* the viewer from ever using
that chunk of memory. Remove reserveMem and the unused freeReserve().
The only function of initClass() and cleanupClass() was to allocate and free
reserveMem. Remove initClass(), cleanupClass() and the LLCommon calls to them.
In a similar vein, there was an LLMemoryInfo::getPhysicalMemoryClamped()
method that returned U32Bytes. Its job was simply to return a size in bytes
that could fit into a U32 data type, returning U32_MAX if the 64-bit value
exceeded 4GB. Eliminate that; change all its calls to getPhysicalMemoryKB()
(which getPhysicalMemoryClamped() used internally anyway). We no longer care
about any platform that cannot handle 64-bit data types.
2017-05-02 10:51:18 -04:00
Nicky
688bf1e547
Synchronize with viewer64 source.
2017-01-11 15:36:33 +01:00
Ansariel
71f1707b99
Merge viewer-lion
2016-05-23 17:41:19 +02:00
Ansariel
f68896905b
Merge Firestorm LGPL
2016-05-23 16:09:09 +02:00
Ansariel
9b7a3fd2b4
Merge viewer-lion
2016-05-23 15:56:55 +02:00
Ansariel
732f199cef
Merge Firestorm LGPL
2016-05-18 22:00:02 +02:00
AndreyL ProductEngine
602c9bc04a
MAINT-6317 Restored the fix after a conflict resolution
2016-05-20 02:12:26 +03:00