Commit Graph

361 Commits (d4e9604700a1dbae3dbce58a3be0fda1465fd39c)

Author SHA1 Message Date
Cosmic Linden 4319ba5edc SL-19331: Improve performance of setSubImage (ex: media updates) 2023-03-13 16:47:11 -07:00
Cosmic Linden c734602592 SL-19389: Fix textures not being optimally queued after the fix in SL-19338
In the future, some uses of glTexSubImage2D should be better vetted, ex: media prims
2023-03-10 17:32:35 -08:00
Cosmic Linden f3eaf390fe SL-19338: Don't use glTexSubImage2D on compressed textures 2023-03-08 16:57:38 -08:00
Cosmic Linden 3773bac6b4 Revert "SL-19338: (WIP) Test disabling new use of glTexSubImage2D and see if the bug still repros"
This reverts commit 6c486e4853.
2023-03-08 14:21:44 -08:00
Cosmic Linden 6c486e4853 SL-19338: (WIP) Test disabling new use of glTexSubImage2D and see if the bug still repros 2023-03-08 12:40:45 -08:00
Ansariel f4182ddc7f Merge branch 'DRTVWR-559' of https://github.com/secondlife/viewer
# Conflicts:
#	indra/newview/app_settings/settings.xml
#	indra/newview/llreflectionmapmanager.cpp
#	indra/newview/llspatialpartition.cpp
#	indra/newview/llviewercontrol.cpp
#	indra/newview/llviewerdisplay.cpp
#	indra/newview/llviewermenu.cpp
#	indra/newview/llviewershadermgr.cpp
#	indra/newview/llworldmapview.cpp
#	indra/newview/pipeline.cpp
#	indra/newview/skins/default/xui/en/panel_tools_texture.xml
2023-03-06 17:11:43 +01:00
Jonathan "Geenz" Goodman 46b2c0660a Hammering on more mac optimizations.
SL-18563
2023-02-25 22:24:46 -08:00
Ansariel 6cbca4da71 Merge branch 'DRTVWR-559' of https://github.com/secondlife/viewer
# Conflicts:
#	indra/llcommon/llprofiler.h
#	indra/llcommon/lluuid.cpp
#	indra/llprimitive/llmodel.cpp
#	indra/llrender/llrendertarget.cpp
#	indra/newview/app_settings/settings.xml
#	indra/newview/app_settings/shaders/class1/deferred/multiPointLightF.glsl
#	indra/newview/app_settings/shaders/class1/deferred/pointLightF.glsl
#	indra/newview/llviewerwindow.cpp
#	indra/newview/pipeline.cpp
#	indra/newview/skins/default/xui/da/floater_about.xml
#	indra/newview/skins/default/xui/de/floater_about.xml
#	indra/newview/skins/default/xui/en/floater_about.xml
#	indra/newview/skins/default/xui/es/floater_about.xml
#	indra/newview/skins/default/xui/fr/floater_about.xml
#	indra/newview/skins/default/xui/it/floater_about.xml
#	indra/newview/skins/default/xui/pt/floater_about.xml
#	indra/newview/skins/default/xui/ru/floater_about.xml
#	indra/newview/skins/default/xui/tr/floater_about.xml
#	indra/newview/skins/default/xui/zh/floater_about.xml
2023-02-01 11:40:17 +01:00
Brad Linden d8cdfaa645 Fix for SL-19010 mac crash in LLManipTranslartge::restoreGL().
Attempt to simplify and avoid use of GL_UNSIGNED_INT_8_8_8_8_REV where not needed
2023-01-19 14:25:14 -08:00
Ansariel b4fde14f09 Merge branch 'DRTVWR-559' of https://github.com/secondlife/viewer
# Conflicts:
#	indra/llrender/llimagegl.cpp
#	indra/llrender/llrender.cpp
#	indra/llrender/llvertexbuffer.cpp
#	indra/llrender/llvertexbuffer.h
#	indra/newview/app_settings/settings.xml
#	indra/newview/llappviewer.cpp
#	indra/newview/lldrawpool.cpp
#	indra/newview/lldrawpoolalpha.cpp
#	indra/newview/lldrawpoolavatar.cpp
#	indra/newview/lldrawpoolbump.cpp
#	indra/newview/lldrawpooltree.cpp
#	indra/newview/llface.cpp
#	indra/newview/llmodelpreview.cpp
#	indra/newview/llspatialpartition.h
#	indra/newview/llviewerdisplay.cpp
#	indra/newview/llviewertexturelist.cpp
#	indra/newview/llviewerwindow.cpp
#	indra/newview/llvovolume.cpp
#	indra/newview/pipeline.cpp
2023-01-19 23:04:50 +01:00
Dave Parks 8b39e0e1a6 SL-18869 Followup -- leverage "small commands" and time slicing to get rid of frame stalls on main thread without the need for multithreaded GL 2023-01-19 11:33:11 -06:00
Ansariel b13c69ddac Merge branch 'DRTVWR-559' of https://github.com/secondlife/viewer
# Conflicts:
#	indra/llmath/llvolume.cpp
#	indra/llrender/llimagegl.cpp
#	indra/newview/lltexturefetch.cpp
#	indra/newview/llviewertexture.h
#	indra/newview/skins/default/xui/en/menu_viewer.xml
#	indra/newview/skins/default/xui/en/notifications.xml
2022-12-14 10:37:17 +01:00
Nat Goodspeed fc424a0db9 SL-18809: Add WorkSchedule; remove timestamps from WorkQueue.
For work queues that don't need timestamped tasks, eliminate the overhead of a
priority queue ordered by timestamp. Timestamped task support moves to
WorkSchedule. WorkQueue is a simpler queue that just waits for work.

Both WorkQueue and WorkSchedule can be accessed via new WorkQueueBase API. Of
course the WorkQueueBase API doesn't deal with timestamps, but a WorkSchedule
can be accessed directly to post timestamped tasks and then handled normally
(e.g. by ThreadPool) to run them.

Most ThreadPool functionality migrates to new ThreadPoolBase class, with
template subclass ThreadPoolUsing<WorkQueue> or ThreadPoolUsing<WorkSchedule>
depending on need. ThreadPool is now an alias for ThreadPoolUsing<WorkQueue>.
Importantly, ThreadPoolUsing::getQueue() delivers a reference to the specific
queue subclass type, so you can post timestamped tasks on a queue retrieved
from ThreadPoolUsing<WorkSchedule>::getQueue().

Since ThreadPool is no longer a simple class but an alias for a particular
template specialization, introduce threadpool_fwd.h to forward-declare it.

Recast workqueue_test.cpp to exercise WorkSchedule, since some of the tests
are time-based. A future todo would be to exercise each applicable test with
both WorkQueue and WorkSchedule.
2022-12-09 13:21:45 -05:00
Andrey Kleshchev 24fb2f8336 Merge branch 'master' (DRTVWR-548) into DRTVWR-559
# Conflicts:
#	indra/llrender/llgl.cpp
#	indra/llrender/llrendertarget.cpp
#	indra/newview/VIEWER_VERSION.txt
#	indra/newview/app_settings/shaders/class1/deferred/materialF.glsl
#	indra/newview/llfloaterpreference.cpp
#	indra/newview/llviewercontrol.cpp
#	indra/newview/llviewermenu.cpp
#	indra/newview/llviewertexturelist.cpp
#	indra/newview/llvovolume.cpp
2022-10-21 18:19:27 +03:00
Ansariel 9756e0e89e Merge branch 'DRTVWR-559' of https://bitbucket.org/lindenlab/viewer
# Conflicts:
#	indra/llrender/llgl.cpp
#	indra/llrender/llimagegl.cpp
#	indra/llrender/llrender.cpp
#	indra/newview/app_settings/settings.xml
#	indra/newview/lldynamictexture.cpp
#	indra/newview/llface.cpp
#	indra/newview/llfloaterpreference.cpp
#	indra/newview/llviewermenu.cpp
#	indra/newview/llviewerwindow.cpp
2022-09-17 12:02:14 +02:00
Dave Parks 09f3d6eaee Merge branch 'DRTVWR-559' of ssh://bitbucket.org/lindenlab/viewer into DRTVWR-559 2022-09-16 16:25:38 -05:00
Dave Parks 8dc59e5ef3 SL-18128 Clear out much OpenGL cruft and switch to core profile on AMD 2022-09-16 16:25:26 -05:00
Andrey Kleshchev 7649114588 Merge branch master (DRTVWR-571) into DRTVWR-559
# Conflicts:
#	indra/newview/llpanelface.cpp
#	indra/newview/llpanelface.h
2022-09-16 21:07:39 +03:00
Ansariel 5a78473123 Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm
# Conflicts:
#	indra/newview/VIEWER_VERSION.txt
#	indra/newview/app_settings/settings.xml
#	indra/newview/llpanelface.cpp
#	indra/newview/llpanelface.h
#	indra/newview/skins/default/xui/en/menu_viewer.xml
2022-09-16 11:23:28 +02:00
Andrey Lihatskiy 329268c5f7 Merge branch 'master' into DRTVWR-548-maint-N
# Conflicts:
#	indra/newview/llmodelpreview.h
2022-09-15 20:44:04 +03:00
Ansariel 1f176fdc18 Merge branch 'DRTVWR-559' of https://bitbucket.org/lindenlab/viewer
# Conflicts:
#	indra/llmath/llvolume.cpp
#	indra/llrender/llglslshader.cpp
#	indra/llrender/llpostprocess.cpp
#	indra/llrender/llrender.cpp
#	indra/newview/llpanelface.cpp
#	indra/newview/lltexturectrl.cpp
#	indra/newview/llvieweroctree.cpp
#	indra/newview/llviewershadermgr.cpp
#	indra/newview/skins/default/xui/en/floater_texture_ctrl.xml
2022-09-13 20:11:44 +02:00
Howard Stearns 2082443220 SL-17967 - Git rid of ARB that is in core 2022-09-01 10:58:27 -07:00
Ansariel 3f145c0c3f Merge branch 'master' of https://vcs.firestormviewer.org/viewer-merges/phoenix-firestorm-563
# Conflicts:
#	indra/llcommon/llframetimer.cpp
#	indra/llcommon/llprofiler.h
#	indra/newview/pipeline.cpp
#	indra/newview/skins/default/xui/de/panel_preferences_graphics1.xml
#	indra/newview/skins/default/xui/en/floater_preferences_graphics_advanced.xml
#	indra/newview/skins/default/xui/en/panel_preferences_graphics1.xml
2022-08-30 22:17:59 +02:00
Dave Parks 197ac7cc20 Merge remote-tracking branch 'remotes/origin/DRTVWR-563' into DRTVWR-559 2022-08-30 10:46:36 -05:00
Ansariel c100236f39 Merge branch 'DRTVWR-563' of https://bitbucket.org/lindenlab/viewer 2022-08-26 19:39:16 +02:00
Dave Parks 9bee2a92d2 SL-17997 Follow up from beta breakers results. 2022-08-26 10:51:42 -05:00
Ansariel ffb75050fd Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2022-08-02 15:27:10 +02:00
Ansariel ede1eb93ab Merge branch 'master' of https://vcs.firestormviewer.org/phoenix-firestorm 2022-08-02 13:55:55 +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 8ac67e5476 Merge branch 'DRTVWR-563' of https://bitbucket.org/lindenlab/viewer 2022-06-18 15:53:35 +02:00
Ansariel 87c38379e1 Merge branch 'master' of https://vcs.firestormviewer.org/viewer-merges/phoenix-firestorm-546 2022-06-10 12:32:42 +02:00
Nat Goodspeed 0bf91fc141 SL-17483: Merge branch 'track-threadpools' into sl-17483.
This picks up ThreadPoolSizes override logic embedded in ThreadPool's
constructor, plus the new static ThreadPool::getConfiguredWidth() and
getWidth() methods.
2022-06-09 11:22:01 -04:00
Nat Goodspeed 276647789a SL-17483: Simplify ThreadPool instantiations.
Now that LL::ThreadPool's constructor has subsumed the work of discovering a
runtime override width, LLAppViewer::initGeneralThread() can simply pass the
compile-time default width instead of redundantly checking ThreadPoolSizes.

Also the default ThreadPool capacity has been bumped up to what "General" and
"LLImageGL" were requesting, so they need not pass that explicitly or explain
in comments why they're doing it.

But until we start throwing work at the "General" ThreadPool, configure it
down to 1 thread in settings.xml.
2022-06-09 10:36:13 -04:00
Ansariel c5d9c3c2a7 Merge branch 'DRTVWR-563' of https://bitbucket.org/lindenlab/viewer
# Conflicts:
#	indra/cmake/Tracy.cmake
#	indra/llcommon/llprofiler.h
#	indra/llcommon/llqueuedthread.cpp
#	indra/llimage/llimageworker.cpp
#	indra/llimagej2coj/llimagej2coj.cpp
#	indra/llkdu/llimagej2ckdu.cpp
#	indra/llrender/llimagegl.cpp
#	indra/llrender/llimagegl.h
#	indra/llwindow/llwindowwin32.cpp
#	indra/newview/app_settings/settings.xml
#	indra/newview/featuretable_mac.txt
#	indra/newview/llappviewer.cpp
#	indra/newview/llfloaterpreference.cpp
#	indra/newview/llmeshrepository.cpp
#	indra/newview/lltexturefetch.cpp
#	indra/newview/llviewercontrol.cpp
#	indra/newview/llviewertexture.cpp
#	indra/newview/llviewertexture.h
#	indra/newview/llviewertexturelist.cpp
#	indra/newview/llviewertexturelist.h
#	indra/newview/llviewerwindow.cpp
#	indra/newview/skins/default/xui/en/floater_preferences_graphics_advanced.xml
#	indra/newview/skins/default/xui/en/floater_texture_fetch_debugger.xml
2022-06-03 15:07:06 +02:00
Dave Parks 4261cbba78 SL-17485 Add texture memory accounting for OS X 2022-06-01 10:34:33 -05: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
Andrey Kleshchev 4cfa59d3f1 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-26 22:43:12 +03:00
Ansariel 3765c775cb Merge branch 'DRTVWR-559' of https://bitbucket.org/lindenlab/viewer 2022-05-21 15:04:54 +02:00
Dave Parks 6eaf8521ab SL-17287 Instrument and optimize cubemap render. Fix for cubemap snapshots doing a full resolution render instead of a 512x512 render. 2022-05-20 19:05:28 -05:00
Dave Parks 3400e5fd30 SL-17284 Reflection probe tuning and optimization take 1 2022-05-16 17:21:08 +00: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
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
Graham Linden b659e5596e SL-11514
Convince Geenzo code to get a little DeMorgan in it.

Trophy Unlocked: make all alpha textures partcipate in picking.
2019-06-28 08:45:07 -07:00
Ansariel 676aa1398c Merge viewer-eep 2019-05-08 19:18:01 +02:00
Graham Linden c4032528af Roll back sRGB decode changes from contrib for now.
Fix direct light matching across alpha/blended-material/deferred.

Get diffuse lighting to match from Low to Ultra.
2019-05-02 13:49:35 -07:00
Ansariel 52019b64e8 Merge viewer-eep 2019-04-03 18:45:39 +02:00
Geenz 3a42d2b94a Whoops! Always make sure that our primary format is assigned. 2019-04-01 18:51:28 -07:00
Geenz 0e47ca896d Make LLImageGL's loading of assets as sRGB or linear conditional based upon sRGB decode support. 2019-04-01 18:34:56 -07:00
Ansariel cc577bfa39 Merge viewer-eep 2019-03-31 10:59:37 +02:00
Geenz 2513aa0ed1 Additional gamma correction work: start moving over to EXT_texture_sRGB_decode. 2019-03-30 03:18:02 -07:00
Geenz 0272c47e5a Tweaked naming a bit, also white space.
Will wait for a response from @graham_linden regarding moving the sRGB conversion functions in llmath.h to llrender.
2019-03-29 11:57:45 -07:00
Geenz 3fa8b844c3 Fixing gamma correction in EEP Step 1:
Thou shall always read the sky cubemap as sRGB using hardware sampling.
2019-03-29 02:51:41 -07:00