Commit Graph

1848 Commits (bdc94eac5cda3dd6700a1cd462178b7ac3c4cfec)

Author SHA1 Message Date
Dave Parks d9a68339d5 SL-16815 and SL-16906 Avoid redundant bumpmap generation, add some assertions around ref counting and (hack) fix crash on shutdown from dangling texture reference (reduced to 1 dangling texture from several hundred, can't find the remaining reference). 2022-02-23 16:51:33 -06:00
Dave Parks 74641a1213 SL-16815 Cleanup -- disable multithreaded bumpmap generation while tracking down loading issues, fix sync issue in single threaded mode in media textures, restore LL_IMAGEGL_THREAD_CHECK functionality 2022-02-22 19:48:01 -06:00
Dave Parks 1c5c45f273 SL-16815 Fix for broken media texture updates when multithreaded GL is disabled. 2022-02-22 14:58:50 -06:00
Ansariel 8c2deb6f8d Merge branch 'DRTVWR-546' of https://bitbucket.org/lindenlab/viewer
# Conflicts:
#	indra/llrender/llimagegl.cpp
#	indra/newview/llagentcamera.cpp
#	indra/newview/llagentcamera.h
#	indra/newview/lltracker.cpp
#	indra/newview/llviewertexture.cpp
#	indra/newview/llvoavatar.cpp
#	indra/newview/llvoavatar.h
2022-02-22 14:52:56 +01:00
Dave Parks 0d6aa3c0fe SL-16815 Remove frame stalls from occlusion queries, bumpmap updates, and querying for available video memory. 2022-02-17 22:52:23 +00:00
Ansariel e7bc3f3a5a Merge branch 'DRTVWR-546' of https://bitbucket.org/lindenlab/viewer 2022-02-16 10:54:59 +01:00
Dave Parks f47730b92c SL-16418 Media texture update stall fix. Make media texture updates use LLImageGL thread to update, fix AMD sync issue on ImageGL thread and install debug callbacks on LLImageGL thread when debug gl enabled. 2022-02-14 18:07:24 +00:00
Ptolemy c38812aa15 SL-16727: Revert change causing llvieweroctree to not render reflections when shadows are set to projectors cause by commit bb379cb8cc 2022-02-03 11:11:46 -08:00
Dave Houlton fdc4a81b57 Revert "Merged in euclid-16418 (pull request #846)"
This reverts commit 40fe5277e1, reversing
changes made to af830e5fc5.
2022-02-01 15:49:32 -07:00
Dave Houlton 8d0efb54db SL-16418 rename media tex image per-update to avoid contention stall 2022-01-27 17:09:29 -07:00
Ansariel 212e6d8fc1 Merge branch 'DRTVWR-546' of https://bitbucket.org/lindenlab/viewer 2022-01-22 11:46:39 +01:00
Runitai Linden 1a440be5e1 SL-16653 Fix for some textures having incorrect texel colors after the first row (and add more paranoia checks on texture data). 2022-01-19 10:35:58 -06:00
Ansariel 0a0e2fe93e Merge branch 'DRTVWR-546' of https://bitbucket.org/lindenlab/viewer 2022-01-15 02:39:07 +01:00
Ptolemy b41a54e126 SL-16606: Add profiler category VERTEX 2022-01-14 11:50:21 -08:00
Ptolemy b70614bd87 SL-16606: Add profiler category UI 2022-01-14 11:50:21 -08:00
Ptolemy bf0643e28a SL-16606: Add profiler category TEXTURE 2022-01-14 11:50:21 -08:00
Ptolemy 97552d2e75 SL-16606: Add profiler category SHADER 2022-01-14 11:50:20 -08:00
Ptolemy 206a8bb30f SL-16606: Add profiler category PIPELINE 2022-01-14 11:50:20 -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
Runitai Linden 8a18b5e427 SL-16462 Fix for broken water clip plane during water reflection/refraction map render. 2021-12-07 16:32:38 -06:00
Runitai Linden 72cd3ffde7 SL-16447 Fix for broken benchmark. 2021-12-06 17:02:41 -06:00
Mnikolenko Productengine c614674ee6 SL-16282 FIXED Friend thumbnails are flickering 2021-12-06 19:20:49 +02: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 381f8936f0 Merge branch 'DRTVWR-546' of https://bitbucket.org/lindenlab/viewer
# Conflicts:
#	indra/llrender/llrender.h
#	indra/newview/lldrawpoolalpha.cpp
#	indra/newview/lldrawpoolbump.cpp
#	indra/newview/lldrawpooltree.cpp
#	indra/newview/llmodelpreview.cpp
#	indra/newview/llviewertexture.cpp
2021-12-03 18:23:05 +01:00
Dave Parks e7830b39f0 SL-16436 and SL-16327 Fix for RenderDebugGL test failures and fix for grey textures 2021-12-03 15:07:31 +00:00
Andrey Kleshchev 7929230c04 mac build fix
remove unused variable
2021-12-02 01:19:40 +02:00
Ansariel 028941652b Merge branch 'DRTVWR-546' of https://bitbucket.org/lindenlab/viewer
# Conflicts:
#	indra/llrender/llvertexbuffer.cpp
#	indra/newview/app_settings/settings.xml
#	indra/newview/llappviewer.cpp
#	indra/newview/llappviewer.h
#	indra/newview/llfloaterpreference.cpp
#	indra/newview/llnetmap.cpp
#	indra/newview/llspatialpartition.cpp
#	indra/newview/llviewerdisplay.cpp
#	indra/newview/llviewershadermgr.cpp
#	indra/newview/pipeline.cpp
2021-12-01 22:29:25 +01:00
Dave Houlton 8b92652806 SL-16386 replace gutted LLRender::setAlphaRejectSettings() with explicit flush() 2021-11-30 17:04:35 -07:00
Dave Houlton 4d6963bd81 SL-16386 purge write-only state member LLCubeMap::mTextureCoordStage 2021-11-30 17:04:35 -07:00
Dave Houlton fab60f242e SL-16386 purge no-op fxn LLTexUnit::setTextureAlphaBlend() 2021-11-30 17:04:35 -07:00
Dave Houlton 3d1901dd4c SL-16386 purge no-op fxn LLTexUnit::setTextureColorBlend() 2021-11-30 17:04:35 -07:00
Dave Houlton 5fcea00c4f SL-16386 purge no-op fxn LLTexUnit::setTextureBlendType() 2021-11-30 17:04:35 -07:00
Dave Houlton 68e09edad0 SL-16386 remove references to (const true) LLGLSLShader::sNoFixedFunction 2021-11-30 17:04:35 -07:00
Ansariel 4a1ef323ae Merge branch 'DRTVWR-546' of https://bitbucket.org/lindenlab/viewer 2021-11-29 19:40:28 +01:00
Ansariel 49d750cd01 Merge branch 'DRTVWR-546' of https://bitbucket.org/lindenlab/viewer 2021-11-24 18:50:31 +01:00
Nat Goodspeed 0b066539fe DRTVWR-546, SL-16220, SL-16094: Undo previous glthread branch revert.
Reverting a merge is sticky: it tells git you never want to see that branch
again. Merging the DRTVWR-546 branch, which contained the revert, into the
glthread branch undid much of the development work on that branch. To restore
it we must revert the revert.

This reverts commit 029b41c041.
2021-11-24 10:47:54 -05:00
Nat Goodspeed d71e0a6d47 SL-16094, SL-16400: Merge branch 'DRTVWR-546' into glthread 2021-11-23 21:23:45 -05:00
Nat Goodspeed 2b96f89c2a SL-16400: Add ThreadPool::start() method, and call it.
It's sometimes important to finish other initialization before launching the
threads in the ThreadPool, so make that an explicit step. In particular, we
were launching the LLImageGL texture thread before initializing the GL
context, resulting in all gray textures.
2021-11-23 20:39:32 -05: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
Runitai Linden 744646eb71 SL-16400 Fix for grey textures (hack). 2021-11-22 19:12:39 -06:00
Runitai Linden 9b0d8c7e62 SL-16094 More profile hooks for threading code, remove redundant wglCreateContextAttribs call 2021-11-22 18:42:56 -06:00
Dave Houlton bb379cb8cc SL-13565 disable reflection render pass when all non-void water is occluded 2021-11-22 15:22:28 -07:00
Ansariel d881fa40d3 Merge branch 'DRTVWR-546' of https://bitbucket.org/lindenlab/viewer 2021-11-20 22:35:31 +01:00
Dave Parks 28f9fb06a9 SL-16289 Rigged mesh rendering overhaul 2021-11-20 18:49:19 +00:00
Andrey Kleshchev 3b3ff53eb5 SL-15391 Crash at getUniformLocation 2021-11-19 14:43:20 -05:00
Andrey Kleshchev 7f2e740591 SL-15333 Crash in glh_init_extensions 2021-11-19 14:43:19 -05:00
Ansariel 4a59f6650f Merge branch 'DRTVWR-546' of https://bitbucket.org/lindenlab/viewer 2021-11-15 18:10:02 +01:00
Dave Houlton 029b41c041 Revert "SL-16220: Merge branch 'origin/DRTVWR-546' into glthread"
This reverts commit 5188a26a85, reversing
changes made to 819088563e.
2021-11-15 09:25:35 -07:00
Nat Goodspeed 5188a26a85 SL-16220: Merge branch 'origin/DRTVWR-546' into glthread 2021-11-12 12:10:44 -05: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
Andrey Kleshchev c1c2830f9b SL-15391 Crash at getUniformLocation 2021-11-12 17:31:36 +02:00
Andrey Kleshchev 5534781acf SL-15333 Crash in glh_init_extensions 2021-11-12 17:21:50 +02: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
Nat Goodspeed ff5496239b SL-16202: Use WorkQueue::postTo() for texture create/post handshake.
That is, when LLViewerFetchedTexture::scheduleCreateTexture() wants to call
createTexture() on the LLImageGLThread, but postCreateTexture() on the main
thread, use the "mainloop" WorkQueue to set up the handshake.

Give ThreadPool a public virtual run() method so a subclass can override with
desired behavior. This necessitates a virtual destructor. Add accessors for
embedded WorkQueue (for post calls), ThreadPool name and width (in threads).

Allow LLSimpleton::createInstance() to forward arguments to the subject
constructor.

Make LLImageGLThread an LLSimpleton - that abstraction didn't yet exist at the
time LLImageGLThread was coded. Also derive from ThreadPool rather than
LLThread. Make it a single-thread "pool" with a very large queue capacity.
2021-11-05 12:33:31 -04:00
Nat Goodspeed d848d9e888 SL-16202: Streamline WorkQueues in LLImageGLThread.
Use the new WorkQueue::postIfOpen() method in LLImageGLThread::post(). That
makes the LLImageGLThread method a trivial wrapper, which can accept templated
work items and pass them through to the WorkQueue method, eliminating double
indirection due to multiple layers of std::function.

Eliminate LLImageGLThread's WorkQueue intended for work on the main queue.
Since the main loop already has a WorkQueue of its own, post work directly to
that WorkQueue instead of using a separate WorkQueue misleadingly embedded in
LLImageGLThread.

Instead of looking up the main thread's WorkQueue every time, capture a
pointer in LLImageGL's constructor.

We no longer need a fallback queue for when the main thread's WorkQueue is
full. We no longer need the main loop to poll LLImageGL to service the local
main-thread-targeted WorkQueue, or to copy work from the fallback queue to the
main queue. That eliminates LLImageGLThread::postCallback(), mCallbackQueue,
mPendingCallbackQ, executeCallbacks() -- and even LLImageGL::updateClass() and
LLAppViewer's call to it.

Change LLViewerFetchedTexture::scheduleCreateTexture() to post work to the
main thread's WorkQueue instead of calling LLImageGLThread::postCallback().
2021-11-04 16:50:31 -04:00
Mnikolenko Productengine 3faba7515c SL-16237 FIXED Viewer hangs on login 2021-11-01 19:38:55 +02: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
Vir Linden ba3459f77f Merged DRTVWR-546 into SL-15999 2021-10-25 15:55:06 +00:00
Brad Payne (Vir Linden) e5cd9cb90f merge 2021-10-22 18:11:48 +01:00
Dave Parks e774bffb28 SL-16202 Fix for textures appearing black or flashing white due to optimization bugs. 2021-10-21 21:19:48 +00:00
Dave Parks d2dce17803 SL-16197 Optimize LLEnvironment handling of shader uniforms. Instrument LLSD. Enable Fast Timers when Tracy is enabled to catch Fast Timer overhead. 2021-10-19 02:26:41 +00:00
Runitai Linden e7227afe02 SL-16166 Apply optimizations from pushBatch to other render call sites. Optimize out a map lookup in rigged face rendering. 2021-10-14 13:02:40 -05:00
Runitai Linden a1e6cbe4a8 SL-16166 Apply LLRenderPass::pushBatch optimizations to LLDrawPoolBump::pushBatch 2021-10-13 10:35:39 -05: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 d00272e0cc SL-16099 Multi-threaded OpenGL usage on Windows, enable Core Profile and VAOs by default. 2021-10-11 16:03:40 +00:00
Mnikolenko Productengine 2238f89db7 SL-16141 Load fonts and generate glyphs on startup 2021-10-11 18:05:27 +03:00
Beq 0911cae538 Initial merge of DRTVWR-541 into FS
Fixup a few niggly mistakes from the LL work
Add a couple of missing macros
replace all FS tracy macros with the corresponding LL ones.
2021-10-09 20:18:14 +01:00
Dave Houlton 3e99853b29 SL-16138 remove checks for now-mandatory capabilities 2021-10-06 10:59:00 -06:00
Dave Houlton 4c07eaa560 SL-16138 Add timing mark-up to shader fxns 2021-10-06 10:59:00 -06:00
Dave Houlton f0e31b6c82 SL-16138 Avoid re-binding a shader which is already bound 2021-10-05 13:29:46 -06:00
Dave Parks 675514bdb3 SL-16093 Don't force the console window to be open on developer builds because it causes frame stalls while logging. 2021-09-27 23:56:06 +00:00
Dave Parks 78007d2592 SL-16088 Fix for stall from many calls to glGenBuffers. 2021-09-27 22:35:50 +00:00
Runitai Linden 9cff7ebc0c Merge remote-tracking branch 'remotes/origin/DRTVWR-541' into DRTVWR-546
# Conflicts:
#	indra/llcommon/linden_common.h
2021-09-22 16:50:20 -05:00
Ptolemy d03ade68d3 SL-16027: Only enable Tracy OpengL macros if Tracy is enabled 2021-09-21 17:46:11 -07:00
Ptolemy a35544c701 SL-16027: Add Tracy OpenGL support 2021-09-21 16:10:52 -07:00
Dave Parks f79890669d SL-16006 and SL-16009 Rigged mesh rendering optimization pass 2021-09-20 18:58:09 +00:00
Brad Payne (Vir Linden) c10d601ce8 SL-15999 - track --noninteractive state with gNonInteractive flag 2021-09-20 13:19:20 +01:00
Callum Prentice 8631a7a077 Merge with tip of Master after a Viewer release 2021-07-19 14:35:44 -07:00
Ansariel ddfb4a5d1b Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2021-06-08 14:30:18 +02:00
Callum Prentice ad9ed0a94d Merge with tip of Master after Viewer release 2021-06-07 18:55:00 -07:00
Andrey Lihatskiy fef6c1f51e Merge branch 'master' into DRTVWR-516-maint 2021-06-07 20:54:41 +03:00
Ansariel 609cf90e3c Fix surprising render results 2021-05-27 18:12:03 +02:00
Ansariel 8a44c58dee Merge branch 'DRTVWR-525' of https://bitbucket.org/lindenlab/viewer 2021-04-02 22:53:28 +02:00
Ansariel 04b074f3b5 Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2021-04-02 17:30:58 +02:00
Andrey Kleshchev d357bf7ae5 SL-14990 Turn on shader init logging after crash 2021-04-01 19:44:56 +03:00
Ansariel 2bbf8c4fc6 Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2021-03-25 18:54:17 +01:00
Ansariel 5326c9cdb0 FIRE-30833: Add Cascadia Code font both as option for the UI as for the script editor 2021-03-20 13:45:54 +01:00
Dave Houlton 303feae305 Merge branch 'master' v6.4.17 into DRTVWR-525 2021-03-10 09:34:16 -07:00
Ansariel e6c34f01d2 Revert revert of Simplified Cache viewer release - continue with simplified cache
This reverts commit 40ad606ae0, reversing
changes made to 906cfe699d.
2021-03-10 15:13:12 +01:00
Ansariel 40ad606ae0 Merge branch 'master' of https://bitbucket.org/lindenlab/viewer (Revert of Simplified Cache viewer release) 2021-03-10 15:10:41 +01: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
Andrey Lihatskiy ec824a16d5 Merge branch 'master' into DRTVWR-516-maint 2021-03-09 21:57:53 +02:00
Nicky 493200bca5 Undo Linux updates. 2021-03-09 10:40:01 +01: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
Nicky d7e046067f Merge phoenix-firestorm/master into linux-updates 2021-03-04 22:34:04 +01:00
Ansariel 3804ec1d03 Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2021-03-04 08:35:13 +01:00
Ansariel c36098c881 Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2021-03-03 21:20:43 +01:00