Commit Graph

326 Commits (0f4aa87caca779d77c19dfef06fe8a276f7d0eb6)

Author SHA1 Message Date
Dave Parks 8d2ac419b2 SL-18154 Profile guided optimizations vs release viewer. Trim some unused abilities and remove some more fast timers. 2022-11-16 14:49:17 -06:00
Dave Parks 843a5c287e SL-18485 Cleanup -- remove unused GLTF specific vertex attributes from LLVertexBuffer (blows past 16-attribute limit) 2022-11-14 11:40:18 -06:00
Cosmic Linden 9e7b725c15 SL-18485: Render GLTF materials with extension KHR_texture_transform with approprate texture transforms 2022-11-02 12:55:18 -07:00
Andrey Kleshchev 24fb2f8336 Merge branch 'master' (DRTVWR-548) into DRTVWR-559
# Conflicts:
#	indra/llrender/llgl.cpp
#	indra/llrender/llrendertarget.cpp
#	indra/newview/VIEWER_VERSION.txt
#	indra/newview/app_settings/shaders/class1/deferred/materialF.glsl
#	indra/newview/llfloaterpreference.cpp
#	indra/newview/llviewercontrol.cpp
#	indra/newview/llviewermenu.cpp
#	indra/newview/llviewertexturelist.cpp
#	indra/newview/llvovolume.cpp
2022-10-21 18:19:27 +03:00
Geenz Linden db92f95649 Switch away from std::string
API expects const char* anyways.
2022-10-06 15:18:17 -04:00
Geenz be1cdc1aaa Initial pass at adding KHR_debug support
This still needs some work - I'm not super satisfied with the overall structure of the code.  Will continue to iterate as I add in proper RenderDoc support.
2022-10-05 09:48:18 -07:00
Howard (Aech Linden) Stearns 718073717c SL-18128, SL-18128 - No glerror on Mac! 2022-09-19 12:16:49 -07:00
Dave Parks 8dc59e5ef3 SL-18128 Clear out much OpenGL cruft and switch to core profile on AMD 2022-09-16 16:25:26 -05:00
Dave Parks 00b1fec960 SL-17967 Purge OpenGL extensions (use core API only) 2022-09-02 19:53:56 -05:00
Howard Stearns 01d03edd85 SL-17967 - _ARB constant removal 2022-09-01 13:38:22 -07:00
Howard Stearns 2082443220 SL-17967 - Git rid of ARB that is in core 2022-09-01 10:58:27 -07:00
Andrey Kleshchev 4cfa59d3f1 SL-17473 Viewer not clearing all Vertex Buffers in some cases
Image thread doesn't need mBuffer and buffer isn't thread safe so no point allocating it in an image thread.
2022-05-26 22:43:12 +03:00
Dave Houlton 02c71b0ac2 Merge branch 'master' v 6.6.1 into DRTVWR-528 2022-05-26 11:18:44 -06:00
Dave Parks 6c6d9a10f8 SL-17287 Update Tracy to 0.8.1. Clean up GPU instrumentation. 2022-05-20 13:31:18 -05:00
Ptolemy b41a54e126 SL-16606: Add profiler category VERTEX 2022-01-14 11:50:21 -08:00
Runitai Linden 72cd3ffde7 SL-16447 Fix for broken benchmark. 2021-12-06 17:02:41 -06:00
Dave Houlton 68e09edad0 SL-16386 remove references to (const true) LLGLSLShader::sNoFixedFunction 2021-11-30 17:04:35 -07:00
Dave Parks 724193e5b0 SL-16239 Fix for slowdown on AMD GPUs (disable core profile and remove volatile members from LLVertexBuffer) 2021-11-23 20:46:27 +00: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 4e8cd9437b SL-16193 Fix for mesh selection outline not rendering correctly (and broken physics shapes display). 2021-10-26 14:07:00 +00:00
Runitai Linden 74a2354353 SL-16166 Don't use setupVertexBuffer where setupVertexBufferFast is called for (thank you, Henri!) 2021-10-13 09:37:04 -05:00
Runitai Linden 52e1a45659 SL-16166 Optimization pass on LLRenderPass::pushBatch 2021-10-12 14:46:19 -05:00
Dave Parks 78007d2592 SL-16088 Fix for stall from many calls to glGenBuffers. 2021-09-27 22:35:50 +00:00
Ptolemy a35544c701 SL-16027: Add Tracy OpenGL support 2021-09-21 16:10:52 -07:00
Dave Houlton 7131f8c464 SL-15221 strip debug code, add sanity asserts, format 2021-05-06 14:53:08 -06:00
Dave Houlton fd9fc8e4a5 SL-15221 fixed off-by-one accounting error 2021-05-06 14:52:58 -06:00
Dave Houlton 5da88f5a80 SL-15221 add VBO dirty bit to avoid many per-frame checks 2021-05-06 14:52:47 -06:00
Andrey Lihatskiy f77a30f740 Merge branch 'master' into DRTVWR-507-maint
# Conflicts:
#	autobuild.xml
2020-07-21 11:30:48 +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
Mnikolenko Productengine a11c406492 SL-13121 fixed typo error 2020-04-29 12:45:06 +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
andreykproductengine 749eae85ce SL-11661 Backed out part of changeset 3a84abad1d46 to fix uploader crash 2019-07-29 15:44:15 +03:00
Graham Linden 00590defe4 SL-11605
Fix broken throttling of sky/envmap updates.
2019-07-16 10:40:01 -07:00
Graham Linden 5bae46b357 Add more asserts to try to catch 10761 before the driver kabooms. 2019-07-16 08:22:34 -07:00
Graham Linden ddf703611d SL-10761
Add code to force a usage hint when VBOs are disabled and make useBVOs reflect that as well.
2019-07-15 10:33:16 -07:00
Graham Linden 1133160476 SL-11109
Make shadowAlphaMask shader ignore vertex alpha before discards iff we're a fullbright object.

Keep llappearance from stuffing dangling pointers into the alpha cache (crash iff you're using nSight debugging and disable readbacks).
2019-07-12 13:26:02 -07:00
andreykproductengine 30be0b0560 MAINT-8686 Mode detailed VBO crash logging 2018-06-04 19:37:30 +03:00
AndreyL ProductEngine 64b3473f49 Merged in lindenlab/viewer-release 2018-05-18 03:02:44 +03:00
AndreyL ProductEngine af9069edbf Merged in lindenlab/viewer-release 2018-03-02 00:47:08 +02:00
ruslantproductengine 0f690ab4da Add const 2018-01-30 17:07:27 +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
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 5a402dbc1f MAINT-7228 Vertex buffer allocation failure handling 2017-11-16 17:11:48 +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
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
Oz Linden 01e0b78c59 merge changes for DRTVWR-439 2017-08-16 15:43:58 -04:00
AndreyL ProductEngine cf865bb596 MAINT-7652 Fix for crash in LLVertexBuffer::~LLVertexBuffer() destructor 2017-08-09 00:04:25 +03:00
AndreyL ProductEngine 71269ac1fc Backed out changeset: ebe10b4b1197 2016-12-15 02:40:51 +02:00
ruslantproductengine 65161e6b39 MAINT-6125 - Mesh avatar deforms constantly
MAINT-6910 - [MAINT-RC] Some mesh turns invisible when camera is moved on the Maint-RC viewer only - caused by fix for MAINT-6125.

Commulative fix.
Fixed for booth ticket's in indra/newview/llvovolume.cpp
Remained fixed, it's a small code improvements which is not related to
MAINT-6125, MAINT-6910
2016-12-12 18:24:46 +02:00
ruslantproductengine 5cc716dbf9 MAINT-6125 - Mesh avatar deforms constantly
MAINT-6910 - [MAINT-RC] Some mesh turns invisible when camera is moved on the Maint-RC viewer only - caused by fix for MAINT-6125.

Commulative fix.
Fixed for booth ticket's in indra/newview/llvovolume.cpp
Remained fixed, it's a small code improvements which is not related to
MAINT-6125, MAINT-6910
2016-12-12 18:24:46 +02:00
Nat Goodspeed 434f0e161a Automated merge with ssh://bitbucket.org/lindenlab/viewer-release 2017-02-03 09:54:52 -05:00
Nat Goodspeed fd79bb9c7d DRTVWR-418: Merge backout of TYPE_INDEX / TYPE_MAX change 2016-12-17 11:09:48 -05:00
Nat Goodspeed 4c95587dc3 Backed out changeset bb47510bda62: don't change TYPE_MAX.
Ruslan points out that changing TYPE_MAX could lead to extra (useless) render
passes. We will have to solve the TYPE_INDEX > TYPE_MAX problem another way.
2016-12-17 11:09:09 -05:00
Nat Goodspeed 1298961066 DRTVWR-418: Update dubious llvertexbuffer.cpp cast comment.
Ruslan assures me that in fact this usage is valid.
2016-12-17 11:07:20 -05:00
Nat Goodspeed c1ae63a872 DRTVWR-418: Work around dubious cast from S32 to GLvoid*
when passing -- something -- to glVertexAttribPointerARB() in
LLVertexBuffer::setupVertexArray().
2016-12-16 19:08:24 -05:00
Nat Goodspeed 93268cb47a DRTVWR-418: Put TYPE_INDEX within TYPE_MAX: stop undefined indexing.
LLVertexBuffer::TYPE_INDEX was past TYPE_MAX, which is used to set the maximum
sizes of various (scattered) arrays, bleh. The alarm bells that this SHOULD
set off are indeed correct: TYPE_INDEX was being used to index at least one of
those arrays, meaning we've been indexing past the end of that array, meaning
undefined behavior.

The enum that defines both TYPE_INDEX and TYPE_MAX provides a helpful comment
indicating what things must be updated when modifying the enum. (Far better to
define things centrally in a single place... but another time.) Update the
designated arrays to include a final TYPE_INDEX entry. Contents of those
entries are wild guesses -- but even wild guesses are better than completely
indeterminate data.
2016-12-16 17:03:45 -05:00
ruslantproductengine 25c20f98a8 MAINT-5018 crashing when touching mesh
Fix #1 Disable FSAA for drawing selected objects (it help to avoid crash on
old ATI cards (in my case it's a HD3800)).
2016-08-05 17:21:22 +03:00
Oz Linden c8726aba30 remove execute permission from many files that should not have it 2015-11-10 09:48:56 -05:00
Graham Linden de2fe42a52 Attempt wider disable of using profile API when timer query is not present 2014-11-17 14:54:00 -08:00
Xiaohong Bao 0c60e32808 Merge 2013-10-21 16:57:38 -06:00
Richard Linden 697d2e720b renamed TimeBlock to BlockTimerStatHandle 2013-10-15 20:24:42 -07:00
Richard Linden 1acceb3633 changed ll_aligned_(malloc|free) to take alignment size as a template argument 2013-10-14 10:18:41 -07:00
Dave Parks 0e116741a0 MAINT-2968 Fix for crash on AMD hardware running current drivers. 2013-10-10 18:00:11 -05:00
Richard Linden 80dfbbaacd merge from viewer-release 2013-10-08 11:59:24 -07:00
Richard Linden 754e8752a9 added initial memory usage tracking for lltrace 2013-10-03 14:30:34 -07:00
Richard Linden 59628d6f85 Automated merge with http://bitbucket.org/lindenlab/viewer-release 2013-10-01 14:28:39 -07: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
Graham Linden 95e34d86b9 The unbearable lightness of being norspec 2013-09-18 18:24:16 -07:00
Richard Linden cbe397ad13 changed fast timer over to using macro
another attempt to move mem stat into base class
2013-09-05 14:04:13 -07:00
Graham Linden 8675ed0491 Fix merge regressions from missed changes to LoD updates 2013-08-19 16:04:28 -07:00
Richard Linden e340009fc5 second phase summer cleaning
replace llinfos, lldebugs, etc with new LL_INFOS(), LL_DEBUGS(), etc.
2013-08-09 17:11:19 -07:00
Graham Linden 42ce98e8bf NORSPEC-314 cleanup debug-only code...seems to fix NORSPEC-328 as well somehow 2013-07-30 13:44:12 -07:00
Graham Madarasz (Graham Linden) b44e7303d8 NORSPEC-314 WIP fix srgb_mac use and issues found with RenderDebugGL on Mac 2013-07-29 18:59:45 -07:00
Graham Linden 1587999b03 Add info to vert buffer warnings to track down fullbright alpha mask crasher 2013-07-16 12:03:42 -07:00
Dave Parks 79029149a4 Automated merge with file:///F:%5Cviewer-bear 2013-06-21 12:51:29 -05:00
Richard Linden a2a6bf20d7 merge with release 2013-06-20 16:46:23 -07:00
Richard Linden 0a96b47663 merge with viewer-release 2013-06-05 19:05:43 -07:00
Dave Parks c3f14b915c NORSPEC-229 Fix for bad binormals on mirrored surfaces (use tangent calculator instead of binormal calculator, convert binormal centric code to tangent centric) 2013-06-03 12:50:48 -05:00
simon ee2fce8790 Merge downstream code and viewer-beta 2013-05-09 14:10:45 -07:00
Graham Madarasz fd447189c5 Merge 3.5.1 into Materials 2013-04-25 21:00:16 -07:00
Oz Linden ddd5659f81 merge changes for DRTVWR-294 2013-04-19 10:11:29 -04:00
Graham Madarasz e40bcc4e16 NORSPEC-59 and NORSPEC-133 work-around crash with RenderDebugGL on and fix breakage in shaders from Mac changes 2013-04-17 09:05:40 -07:00
Dave Parks 8025b8b2bc NORSPEC-49 Add shader profiler, add support for ARB_depth_clamp where available 2013-04-15 13:16:14 -05:00
simon b42b789723 Merge in downstream code (chui fixes, materials) 2013-04-11 16:18:34 -07:00
Dave Parks 679a095aa0 NORSPEC-74 Fix for assert when Debug GL enabled when rendering materials. 2013-04-02 15:45:17 -05:00
Dave Parks fc4869fb78 NORSPEC-65 Hook up texture offset/scale/rotation for normal and specular maps. 2013-03-29 16:13:36 -05:00
Graham Madarasz bf6182daa8 Update Mac and Windows breakpad builds to latest 2013-03-29 07:50:08 -07:00
Dave Parks 9a7a19c77a Merge 2013-03-13 17:13:45 -05:00
Dave Parks 08ae21f52d MAINT-2410 Extra Particle Parameters -- viewer implementation
Reviewed by Kelly and Graham
2013-03-13 17:07:22 -05:00
Graham Madarasz (Graham Linden) 35383790fb Merge pragma warning hack to fix linux build 2013-03-12 04:40:51 -07:00
Dave Parks 609ed855e1 MAINT-2371 More optimizations.
Reviewed by Graham
2013-03-04 18:01:42 -06:00
Dave Parks f5e5396c3a MAINT-2371 First set of profile guided optimizations.
Reviewed by Graham
2013-02-26 15:15:08 -06:00
Nyx Linden 11fe124ae9 merging in viewer-beta.
Most of the merge was clean, a couple conflicts.
Brought over a couple patches manually for llpolymesh.
2013-01-24 16:22:49 -05:00