Commit Graph

417 Commits (5bb9b6cada31aedfd19b6947ddff0e07dc2b66b7)

Author SHA1 Message Date
Andrey Kleshchev 5bb9b6cada SL-18065 Viewer tries to get missing texture endlessly 2022-09-17 00:59:16 +03:00
Ptolemy 71115a7a27 SL-17703: Fix merge 2022-08-31 10:16:24 -07:00
Dave Parks 5c0e201cd6 SL-18065 WIP -- Clamp virtual size of fetched textures. 2022-08-31 11:45:48 -05:00
Dave Parks c9f893b100 SL-18065 WIP -- Adjust max virtual size to keep debug floater readable. Make assert on shutdown less frequent (still not gone, likely race condition). Fix unrelated assertion in reflection probes. 2022-08-31 11:36:00 -05:00
Ptolemy 8eaee1f033 SL-17703: PBR: Fix albedo being in wrong color space, add support for debug default_irradiance.png 2022-08-30 20:35:15 -07:00
Dave Parks 197ac7cc20 Merge remote-tracking branch 'remotes/origin/DRTVWR-563' into DRTVWR-559 2022-08-30 10:46:36 -05:00
Ptolemy e81b149c4a Revert "SL-17703: PBR: Fix missing ORM to use 1,0,0"
If ORM is blank the roughness and metal are multiplied into a default white ORM texture.  This reverts commit 71ae65ae17.
2022-08-29 17:34:49 -07:00
Ptolemy 71ae65ae17 SL-17703: PBR: Fix missing ORM to use 1,0,0 2022-08-29 14:06:48 -07:00
Dave Parks 18b0aa0371 SL-17619 Add support for embedded textures to GLTF importer 2022-06-16 16:16:53 -05:00
Howard Stearns 9d9c2037e1 Merge branch 'DRTVWR-564' of bitbucket.org:lindenlab/viewer into SL-17485 2022-06-13 14:03:04 -07:00
Howard Stearns 91a9665e35 SL-17485 - Make mac compiler happier. 2022-06-13 14:00:13 -07:00
Dave Parks da069765b1 SL-17005 Tweak target VRAM usage and add some log spam to help zero in on good targets. 2022-06-08 16:24:03 -05:00
Sabrina Shanman a4fc01f410 Merged in SL-17489 (pull request #1010)
SL-17489

Approved-by: Dave Parks
2022-06-07 21:19:57 +00:00
Dave Parks 99189ff2d5 SL-17547 Fix for crash on shutdown introduced in last commit. 2022-06-07 15:24:40 -05:00
Dave Parks 197baebc62 SL-17547 Fix for crash in getCurrentDiscardLevelForFetching (and add runtime check and assertion to avoid crash in production and detect crash in development). 2022-06-07 15:12:58 -05:00
Cosmic Linden 7908ae701f SL-17489: Fix map tile log spam and resulting excessive invalid texture 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-07 12:17:15 -07:00
Dave Parks 5259fa811c SL-17486 Force desired discard level to 0 for high boosted textures (fix for fuzzy terrain textures etc). 2022-06-06 21:12:48 -05:00
Dave Parks dfa71e2bb5 SL-17490 Only update a subset of textures each frame and remove dead debug code. 2022-05-31 11:57:15 -05:00
Dave Parks 3e9dcba813 SL-17486 Fix for many texture types failing to load. 2022-05-24 17:03:11 -05:00
Nat Goodspeed 06aa68c2fb SL-17219: Delete some unused declarations.
These trigger fatal warnings on Mac.
2022-05-10 12:32:43 -04:00
Dave Parks b6841d75c2 SL-17219 WIP - Texture pipeline overhaul 2022-04-15 19:02:07 -05:00
Dave Parks e60024f0af SL-17005 WIP - Use D3D/DXGI to query for available VRAM on Windows 2022-03-29 15:41:00 -05:00
Dave Parks 34e79c8f4e SL-17005 WIP Simplify what feeds texture loading bias to only pay attention to available memory according to OS and GL driver, not (broken) internal accounting (breaks intel GPUs, compatibility pass incoming). 2022-03-11 10:21:08 -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 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
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 c76f8f7bcc SL-16418 remove duplicated ref() 2022-01-27 17:25:42 -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
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
Ptolemy bf0643e28a SL-16606: Add profiler category TEXTURE 2022-01-14 11:50:21 -08:00
Dave Houlton cf35d27dfb DRTVWR-546 merge up to 6.5.2 2021-12-15 14:37:18 -07: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
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
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
Dave Houlton 353329c2c2 DRTVWR-546 merge in master v6.5.1 2021-11-16 11:44:55 -07:00
Andrey Lihatskiy 0bffd3d365 Merge branch 'master' into DRTVWR-519
# Conflicts:
#	README.md
2021-11-16 01:21:05 +02: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 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
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
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
Dave Parks f79890669d SL-16006 and SL-16009 Rigged mesh rendering optimization pass 2021-09-20 18:58:09 +00:00
Callum Prentice ad9ed0a94d Merge with tip of Master after Viewer release 2021-06-07 18:55:00 -07:00
Andrey Lihatskiy a4595bdaf2 Merge branch 'master' into DRTVWR-521-maint
# Conflicts:
#	doc/contributions.txt
2021-06-07 21:04:32 +03:00
Andrey Kleshchev 1c2f58fdcd SL-15185 Crash "The face does not have a valid texture" 2021-05-17 23:52:35 +03:00
Dave Houlton 303feae305 Merge branch 'master' v6.4.17 into DRTVWR-525 2021-03-10 09:34:16 -07: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
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