summaryrefslogtreecommitdiff
path: root/indra/newview/llviewertexture.cpp
AgeCommit message (Collapse)Author
2023-01-19Optimizations, decruft, and intel compatibility pass (#53)RunitaiLinden
SL-18869, SL-18772 Overhaul VBO management, restore occlusion culling, intel compatibility pass, etc
2022-12-13SL-18808 Fix for highlight transparent texture missing.Dave Parks
2022-11-29SL-12069 Backed out changeset: 544a91982eba (#13)akleshchev
Originally a fix for MAINT-4773/SL-5842 (transparent alpha being white). Reverting due to a critical flaw of the fix replacing material (sometimes server side included). And ignoring user and script input in some cases that makes scripts misbehave. Viewer should Not modify existing content of own volition.
2022-11-16SL-18154 Profile guided optimizations vs release viewer. Trim some unused ↵Dave Parks
abilities and remove some more fast timers.
2022-10-14SL-18293 Fix for broken wireframe mode.Dave Parks
2022-09-20SL-18065 Fix bake textures' fetch loopAndrey Kleshchev
2022-09-17SL-18065 Viewer tries to get missing texture endlessly #2Andrey Kleshchev
2022-09-17SL-18065 Viewer tries to get missing texture endlesslyAndrey Kleshchev
2022-08-31SL-17703: Fix mergePtolemy
2022-08-31SL-18065 WIP -- Clamp virtual size of fetched textures.Dave Parks
2022-08-31SL-18065 WIP -- Adjust max virtual size to keep debug floater readable. ↵Dave Parks
Make assert on shutdown less frequent (still not gone, likely race condition). Fix unrelated assertion in reflection probes.
2022-08-30SL-17703: PBR: Fix albedo being in wrong color space, add support for debug ↵Ptolemy
default_irradiance.png
2022-08-30Merge remote-tracking branch 'remotes/origin/DRTVWR-563' into DRTVWR-559Dave Parks
2022-08-29Revert "SL-17703: PBR: Fix missing ORM to use 1,0,0"Ptolemy
If ORM is blank the roughness and metal are multiplied into a default white ORM texture. This reverts commit 71ae65ae175a33c7f60442f62b0ef59415528bf5.
2022-08-29SL-17703: PBR: Fix missing ORM to use 1,0,0Ptolemy
2022-06-16SL-17619 Add support for embedded textures to GLTF importerDave Parks
2022-06-13Merge branch 'DRTVWR-564' of bitbucket.org:lindenlab/viewer into SL-17485Howard Stearns
2022-06-13SL-17485 - Make mac compiler happier.Howard Stearns
2022-06-08SL-17005 Tweak target VRAM usage and add some log spam to help zero in on ↵Dave Parks
good targets.
2022-06-07Merged in SL-17489 (pull request #1010)Sabrina Shanman
SL-17489 Approved-by: Dave Parks
2022-06-07SL-17547 Fix for crash on shutdown introduced in last commit.Dave Parks
2022-06-07SL-17547 Fix for crash in getCurrentDiscardLevelForFetching (and add runtime ↵Dave Parks
check and assertion to avoid crash in production and detect crash in development).
2022-06-07SL-17489: Fix map tile log spam and resulting excessive invalid texture ↵Cosmic Linden
requests. This was affecting map tiles that the agent is not allowed to see (HTTP error: 403 forbidden). The URLs of these map tile requests were then getting cleared, so when these map tiles were re-requested (up to 10 times per second, from LLViewerFetchedTexture::updateFetch), the request would use the wrong URL and get a 404. Stay in DONE state if there is no new work to do, reducing unneeded requests for textures while leaving open the possibility to re-request a texture at different resolution. Alternatively, we could introduce a new FAILED state here. The current DONE state has nuance, and can either mean "texture loading failed" or "texture successfully loaded at a certain LOD." And a 4xx error is generally irrecoverable. Will strongly consider a FAILED state. Also, don't clear the map URL, so that any future network requests for the map textures request the correct resource.
2022-06-06SL-17486 Force desired discard level to 0 for high boosted textures (fix for ↵Dave Parks
fuzzy terrain textures etc).
2022-05-31SL-17490 Only update a subset of textures each frame and remove dead debug code.Dave Parks
2022-05-24SL-17486 Fix for many texture types failing to load.Dave Parks
2022-05-10SL-17219: Delete some unused declarations.Nat Goodspeed
These trigger fatal warnings on Mac.
2022-04-15SL-17219 WIP - Texture pipeline overhaulDave Parks
2022-03-29SL-17005 WIP - Use D3D/DXGI to query for available VRAM on WindowsDave Parks
2022-03-11SL-17005 WIP Simplify what feeds texture loading bias to only pay attention ↵Dave Parks
to available memory according to OS and GL driver, not (broken) internal accounting (breaks intel GPUs, compatibility pass incoming).
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.