Commit Graph

1242 Commits (ab02a6dfd42bb44bdfbdf5a97221c0abdfbe81e2)

Author SHA1 Message Date
Ptolemy a5aac89809 SL-14035: Don't use sRGB textures when not specified 2021-01-06 18:17:56 -08:00
Dave Houlton 21e2f3e974 Merge branch 'master' 6.4.12 into DRTVWR-510 2020-11-11 15:43:06 -07:00
Dave Houlton d12305496f DRTVWR-510 clean up obsolete downstream-from-mDebugGPU code 2020-10-19 17:21:56 -06:00
Dave Houlton a6058b0e9f DRTVWR-510 remove obsolete mDebugGPU variable 2020-10-19 17:21:56 -06:00
Dave Houlton 7cd076c796 DRTVWR-510 remove all LL_SOLARIS conditionals 2020-10-08 17:16:22 -06:00
Dave Houlton eb6c8c937e Merge branch 'master' 6.4.10 into DRTVWR-510 2020-09-29 14:02:22 -06:00
Andrey Lihatskiy a2cb61d9f4 Merge branch 'master' into DRTVWR-507-maint
# Conflicts:
#	indra/newview/pipeline.cpp
2020-09-28 22:08:48 +03:00
Dave Houlton 9f0da75332 Merge branch 'master' 6.4.8 into DRTVWR-497 2020-08-18 11:29:17 -06:00
Dave Houlton 4e94745139 Merge branch 'master' 6.4.8 into DRTVWR-510 2020-08-18 10:22:40 -06:00
Andrey Lihatskiy a9885029cf Merge branch 'master' into DRTVWR-507-maint 2020-08-18 19:11:34 +03:00
Dave Houlton 92ee1be5cf SL-13521, clang-format LLRender::syncLightState() (whitespace) 2020-08-05 12:30:24 -06:00
Dave Houlton 8b314a646f SL-13521, stamp out some remaining hard-coded 8s 2020-08-05 12:05:23 -06:00
Dave Houlton 107a7fec34 SL-13521 add an avatar appearance light to deferred mode 2020-08-04 17:14:19 -06:00
Dave Houlton 64a9ad0f5f Merge branch 'master' v6.4.6 into DRTVWR-497 2020-07-23 12:21:18 -06:00
Dave Houlton 19d063952c Merge master 6.4.6 into DRTVWR-510
Includes the conversion to VS2017 build tools.
2020-07-21 11:04:56 -06:00
Andrey Lihatskiy f77a30f740 Merge branch 'master' into DRTVWR-507-maint
# Conflicts:
#	autobuild.xml
2020-07-21 11:30:48 +03:00
Andrey Lihatskiy 7bbf3f5f7f Merge branch 'master' into DRTVWR-501-maint
# Conflicts:
#	autobuild.xml
#	indra/newview/llimprocessing.cpp
2020-07-20 22:24:10 +03:00
Ptolemy 2805f38074 DRTVWR-497 Cleanup: Document which enum order comes from 2020-06-29 11:59:52 -07:00
Dave Houlton 84d3065596 SL-13281, add missing srgb->linear conversion for specular 2020-06-11 23:33:14 +03:00
Dave Houlton 3d872fb21f SL-13281, add missing srgb->linear conversion for specular 2020-06-08 15:47:41 -06:00
Andrey Kleshchev 663489493e SL-12970 Fixed char length crash 2020-05-07 21:31:55 +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
Andrey Lihatskiy 30234c508b Merge branch 'master' into DRTVWR-507-maint 2020-05-05 01:40:40 +03:00
Andrey Lihatskiy 6bd9fe4233 Merge branch 'master' into DRTVWR-497 2020-05-04 23:36:10 +03:00
Ptolemy 05ddffb6ba DRTVWR-510: Cleanup: Add link for Optimus global variable for nVidia driver. 2020-05-04 12:11:57 -06:00
Ptolemy 2df08951e1 SL-13019: Add debug logging of shaders used to track down macOSX / OSX GLSL linker errors 2020-05-04 12:11:57 -06:00
Ptolemy a3d0e3f14d Cleanup to coding standard 2020-05-04 12:11:57 -06:00
Mnikolenko Productengine a11c406492 SL-13121 fixed typo error 2020-04-29 12:45:06 +03:00
Andrey Lihatskiy 94dc8f12f8 Merge branch 'master' into DRTVWR-507-maint 2020-04-27 15:16:21 +03:00
Andrey Kleshchev abe5cc5787 Fix for 'release' configuration
llassert is not used in 'release' configuration and build fails due to unused tex_index
2020-04-21 10:32:45 +03:00
Andrey Kleshchev 278853824d Fixed merge conflict and restored SL-1130 2020-04-20 21:56:21 +03:00
Andrey Lihatskiy c757c29c95 Merge branch 'master' into DRTVWR-500
# Conflicts:
#	indra/newview/pipeline.cpp
2020-04-20 21:23:34 +03:00
Andrey Lihatskiy 7a311fe30e Merge branch 'master' into DRTVWR-497 2020-04-20 21:21:12 +03:00
Ptolemy af7563968c SL-10449: Put first shader error on new line for readability 2020-04-07 16:22:25 -07:00
Ptolemy e4f72db20d SL-10449: Add dumping of shader to log file 2020-04-07 16:21:39 -07:00
Ptolemy 0b717e2d1a SL-10449 Cleanup dumping shader without LOG spam on every line when it fails to compile/link 2020-04-07 14:22:24 -07:00
Ptolemy 4051f5754a SL-10449 Fix off-by-one line numbers when dumping shader that failed to compile/link 2020-04-07 14:07:45 -07:00
Andrey Kleshchev 29fec00f3c SL-12775 Run at high performance AMD gpu 2020-04-03 19:40:55 +03:00
Dave Houlton 126b91f8ee DRTVWR-440, make enabling GLdebug flag slightly less infinite-loopy 2020-03-26 10:24:25 -06:00
Nat Goodspeed 30fa249664 DRTVWR-476: Fix glVertexAttrib{IPointer,PointerARB}() OpenGL calls.
VS 2017 complains about the same thing that clang does: casting S32 to GLvoid*
can't possibly produce a valid pointer value because S32 can't fit a whole
64-bit pointer. To appease it, not only must we use reinterpret_cast, but we
must first cast S32 to intptr_t and then reinterpret_cast THAT.
2020-03-25 16:12:46 -04:00
Nat Goodspeed 9d5b897600 DRTVWR-494: Defend LLInstanceTracker against multi-thread usage.
The previous implementation went to some effort to crash if anyone attempted
to create or destroy an LLInstanceTracker subclass instance during traversal.
That restriction is manageable within a single thread, but becomes unworkable
if it's possible that a given subclass might be used on more than one thread.

Remove LLInstanceTracker::instance_iter, beginInstances(), endInstances(),
also key_iter, beginKeys() and endKeys(). Instead, introduce key_snapshot()
and instance_snapshot(), the only means of iterating over LLInstanceTracker
instances. (These are intended to resemble functions, but in fact the current
implementation simply presents the classes.) Iterating over a captured
snapshot defends against container modifications during traversal. The term
'snapshot' reminds the coder that a new instance created during traversal will
not be considered. To defend against instance deletion during traversal, a
snapshot stores std::weak_ptrs which it lazily dereferences, skipping on the
fly any that have expired.

Dereferencing instance_snapshot::iterator gets you a reference rather than a
pointer. Because some use cases want to delete all existing instances, add an
instance_snapshot::deleteAll() method that extracts the pointer. Those cases
used to require explicitly copying instance pointers into a separate
container; instance_snapshot() now takes care of that. It remains the caller's
responsibility to ensure that all instances of that LLInstanceTracker subclass
were allocated on the heap.

Replace unkeyed static LLInstanceTracker::getInstance(T*) -- which returned
nullptr if that instance had been destroyed -- with new getWeak() method
returning std::weak_ptr<T>. Caller must detect expiration of that weak_ptr.

Adjust tests accordingly.

Use of std::weak_ptr to detect expired instances requires engaging
std::shared_ptr in the constructor. We now store shared_ptrs in the static
containers (std::map for keyed, std::set for unkeyed).

Make LLInstanceTrackerBase a template parameterized on the type of the static
data it manages. For that reason, hoist static data class declarations out of
the class definitions to an LLInstanceTrackerStuff namespace.

Remove the static atomic sIterationNestDepth and its methods incrementDepth(),
decrementDepth() and getDepth(), since they were used only to forbid creation
and destruction during traversal.

Add a std::mutex to static data. Introduce an internal LockStatic class that
locks the mutex while providing a pointer to static data, making that the only
way to access the static data.

The LLINSTANCETRACKER_DTOR_NOEXCEPT macro goes away because we no longer
expect ~LLInstanceTracker() to throw an exception in test programs.
That affects LLTrace::StatBase as well as LLInstanceTracker itself.

Adapt consumers to the new LLInstanceTracker API.
2020-03-25 15:28:17 -04:00
Runitai Linden 3d22273726 Fix for bad fullbright shiny shininess values and inconsistency between materialF and fullbrightShinyF 2020-03-24 11:22:01 -05:00
Andrey Lihatskiy fa39ff67f0 Merge branch 'master' into DRTVWR-497 2020-02-06 21:31:34 +02:00
Dave Houlton 2a6b48c9b0 DRTVWR-440, merge in latest from 6.3.7 release 2020-01-28 17:26:45 -07:00
AndreyL ProductEngine bc496f5f17 Downstream merge from lindenlab/viewer-lynx 2019-11-27 22:58:52 +02:00
Michael Pohoreski (Ptolemy Linden) bd761b0833 Cleanup inconsistent types 2019-11-22 23:41:20 +00:00
Michael Pohoreski 4b205db468 Merged lindenlab/viewer-eep into default 2019-11-20 17:10:22 -08:00
Michael Pohoreski (Ptolemy Linden) 18eb8ac90c QoL fix: remove extra blank lines for every source line when dumping shader source 2019-11-15 15:45:08 -08:00
Dave Houlton dc1453af9c Merge in from viewer-release 6.3.5 2019-11-13 16:46:27 -07:00
andreykproductengine db344c5844 Fix instance existance check 2019-11-12 16:07:36 +02:00