summaryrefslogtreecommitdiff
path: root/indra/newview/llviewertexture.cpp
AgeCommit message (Collapse)Author
2022-11-21Fix a thread safety issue in the GL image worker.Henri Beauchamp
LLViewerTexture::mNeedsCreateTexture needs to be an attomic bool since it is written both in the main thread and in the GL image worker thread. We can now enable threaded bump maps creation as a result of this fix. I have read the CLA Document and I hereby sign the CLA
2022-02-23SL-16815 and SL-16906 Avoid redundant bumpmap generation, add some ↵Dave Parks
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-17SL-16815 Remove frame stalls from occlusion queries, bumpmap updates, and ↵Dave Parks
querying for available video memory.
2022-02-01Revert "Merged in euclid-16418 (pull request #846)"Dave Houlton
This reverts commit 40fe5277e1390c975d9a3184ff8fc46d69dfb450, reversing changes made to af830e5fc5840194be95140f644a27011b9b7e06.
2022-01-27SL-16418 remove duplicated ref()Dave Houlton
2022-01-27SL-16418 rename media tex image per-update to avoid contention stallDave Houlton
2022-01-19SL-16653 Fix for some textures having incorrect texel colors after the first ↵Runitai Linden
row (and add more paranoia checks on texture data).
2022-01-14SL-16606: Add profiler category TEXTUREPtolemy
2021-12-15DRTVWR-546 merge up to 6.5.2Dave Houlton
2021-12-06SL-16202 Put Multi-threaded GL behind a feature flag and update featuretable ↵Dave Parks
(decruftify settings, compatibility pass).
2021-12-03SL-16436 and SL-16327 Fix for RenderDebugGL test failures and fix for grey ↵Dave Parks
textures
2021-11-24DRTVWR-546, SL-16220, SL-16094: Undo previous glthread branch revert.Nat Goodspeed
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 029b41c0419e975bbb28454538b46dc69ce5d2ba.
2021-11-16DRTVWR-546 merge in master v6.5.1Dave Houlton
2021-11-16Merge branch 'master' into DRTVWR-519Andrey Lihatskiy
# Conflicts: # README.md
2021-11-15Revert "SL-16220: Merge branch 'origin/DRTVWR-546' into glthread"Dave Houlton
This reverts commit 5188a26a8521251dda07ac0140bb129f28417e49, reversing changes made to 819088563e13f1d75e048311fbaf0df4a79b7e19.
2021-11-05SL-16202: Use WorkQueue::postTo() for texture create/post handshake.Nat Goodspeed
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-04SL-16202: Streamline WorkQueues in LLImageGLThread.Nat Goodspeed
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-10-28SL-16148 SL-16244 SL-16270 SL-16253 Remove most BlockTimers, remove ↵Dave Parks
LLMemTracked, introduce alignas, hook most/all reamining allocs, disable synchronous occlusion, and convert frequently accessed LLSingletons to LLSimpleton
2021-10-21SL-16202 Fix for textures appearing black or flashing white due to ↵Dave Parks
optimization bugs.
2021-10-12SL-16166 Optimization pass on LLRenderPass::pushBatchRunitai Linden
2021-10-11SL-16099 Multi-threaded OpenGL usage on Windows, enable Core Profile and ↵Dave Parks
VAOs by default.
2021-09-20SL-16006 and SL-16009 Rigged mesh rendering optimization passDave Parks
2021-06-07Merge with tip of Master after Viewer releaseCallum Prentice
2021-06-07Merge branch 'master' into DRTVWR-521-maintAndrey Lihatskiy
# Conflicts: # doc/contributions.txt
2021-05-17SL-15185 Crash "The face does not have a valid texture"Andrey Kleshchev
2021-03-10Merge branch 'master' v6.4.17 into DRTVWR-525Dave Houlton
2021-03-09This set of changes reverts the merge with master (git revert c83e740) and ↵Callum Prentice
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-08Revert "Merge branch 'master' of https://bitbucket.org/lindenlab/viewer into ↵Brad Payne (Vir Linden)
DRTVWR-519" This reverts commit e61f485a04dc8c8ac6bcf6a24848359092884d14, reversing changes made to 00c47d079f7e958e473ed4083a7f7691fa02dcd5.
2021-03-02Merge branch 'master' v 6.4.15 into DRTVWR-525Dave Houlton
2021-02-03Merge with Master after Viewer releaseCallum Prentice
2021-02-01Merge branch 'master' into DV525-merge-6.4.13Dave Houlton
2020-11-11Merge branch 'master' 6.4.12 into DRTVWR-510Dave Houlton
2020-11-11Merge branch 'master' into DRTVWR-519Callum Prentice
2020-11-11Merge branch 'master' into DRTVWR-513-maintAndrey Lihatskiy
# Conflicts: # autobuild.xml # indra/llui/llfolderviewmodel.h # indra/newview/lltexturecache.cpp # indra/newview/llviewermenu.h # indra/newview/skins/default/xui/en/menu_wearable_list_item.xml
2020-10-23SL-14150 Fix spellingAndrey Kleshchev
2020-10-22SL-14150 Handle more cases of corrupted cacheAndrey Kleshchev
2020-10-19DRTVWR-510 clean up obsolete downstream-from-mDebugGPU codeDave Houlton
2020-09-24Complete the change from lldiskcache -> llfilesystem and then addition of ↵Callum Prentice
new lldiskcache implementation
2020-09-16Renamed the references to LLVFile and llvfile.* source code plus cmake ↵Callum Prentice
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-16First part of change to remove LLVFS from the Viewer. Consists of code ↵Callum Prentice
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-05-25SL-12889 Failed to cache image crashesAndrey Kleshchev
2020-03-05SL-9775 FIXED EEP viewer crash when looking at the sun (which is playing ↵maxim_productengine
parcel media)
2019-11-13Merge in from viewer-release 6.3.5Dave Houlton
2019-10-16mergeBrad Payne (Vir Linden)
2019-10-15Merge from viewer-releaseandreykproductengine
2019-09-10Merge viewer-release 6.3.2Graham Linden
2019-09-10Merged in lindenlab/viewer-releaseandreykproductengine
2019-06-21DRTVWR-493 LLViewerMedia to singletonandreykproductengine
2019-05-31SL-11338 Better logging for missing texture referenceandreykproductengine
2019-05-08Fix merge fail.Graham Linden