Zi Ree
90e8853948
Linux: Quench/fix some gcc warnings, unsure how genuine they are at this point.
2023-03-26 15:51:50 +02:00
Ansariel
0d0d82fa97
Merge branch 'DRTVWR-544-maint' of https://bitbucket.org/lindenlab/viewer
2022-08-02 12:08:32 +02:00
Nicky
97d41439c4
Disable texture decode thread if shared context are not available (SDL1).
2022-08-01 19:32:26 +02:00
Andrey Kleshchev
9a8ab9592d
SL-17732 std_bad_alloc at setManualImage
2022-07-06 22:22:36 +03:00
Ansariel
3c0df154f7
Manually applying 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-28 14:08:00 +02:00
Ansariel
63c8280325
Merge branch 'DRTVWR-546' of https://bitbucket.org/lindenlab/viewer
2022-03-08 16:20:47 +01:00
Dave Parks
9dc8fee0f5
SL-16928 Fix for broken bumpmaps on Intel GPUs
2022-03-04 17:05:05 -06:00
Ansariel
b92d39af49
Merge branch 'DRTVWR-546' of https://bitbucket.org/lindenlab/viewer
2022-02-24 12:19:28 +01:00
Dave Parks
85e480616d
Fix for mac build
2022-02-23 19:59:46 -06:00
Dave Parks
4f9fa5e817
Fix for some GPUs thinking they have 0 available vram.
2022-02-23 19:53:49 -06:00
Dave Parks
fc0b238654
Fix for media textures failing to update (and eating lots of memory) on Mac/Intel
2022-02-23 17:55:44 -06:00
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
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
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
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
Ansariel
4a1ef323ae
Merge branch 'DRTVWR-546' of https://bitbucket.org/lindenlab/viewer
2021-11-29 19:40:28 +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
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
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
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
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
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
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
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
Andrey Kleshchev
31e7c5b97c
SL-14150 Handle more cases of corrupted cache
2020-10-22 22:33:22 +02:00
Andrey Kleshchev
0bf11e45ea
SL-14150 Handle more cases of corrupted cache
2020-10-22 22:22:17 +03:00
Mnikolenko Productengine
75f20a28d5
SL-14108 FIXED Viewer crashes immediately after login
2020-10-20 22:25:24 +02:00
Mnikolenko Productengine
83600bb16a
SL-14108 FIXED Viewer crashes immediately after login
2020-10-20 14:25:54 +03:00
Ansariel
3d37c73654
Merge branch 'DRTVWR-497' of https://bitbucket.org/lindenlab/viewer
2020-06-17 12:10:58 +02:00
Dave Houlton
84d3065596
SL-13281, add missing srgb->linear conversion for specular
2020-06-11 23:33:14 +03:00
Ansariel
02c3d2fe9b
Merge viewer-eep
2019-07-12 21:08:13 +02:00