summaryrefslogtreecommitdiff
path: root/indra/llrender/llimagegl.cpp
AgeCommit message (Collapse)Author
2024-09-10Profile guided optimizationsRunitaiLinden
2024-08-29Merge remote-tracking branch 'origin/release/2024.08-DeltaFPS' into developBrad Linden
2024-08-27#2428 Fix for crash when applying PBR material (#2430)Dave Parks
Also attempt to fix some occasional bad texture memory tracking.
2024-08-24Fix mac crash on startup due to missing types from enumRye Cogtail
2024-08-22Do deprecated texture swizzle on GPU using GL texture swizzling functions ↵Rye Mutt
(#2389) * Use GL texture swizzling instead of scratch buffer for deprecated formats when GL 3.3 is available Fix crash when GL texture compression is enabled * Fix UI font atlas being eligible for texture compression
2024-08-21Fix crash on Intel GPUs (or anywhere OpenGL compatibility profile is used). ↵Dave Parks
(#2387)
2024-08-21Improve accuracy of texture memory tracking (#2371)Rye Mutt
* Fix alloc_tex_image to account for more missing texture memory Change alloc_tex_image calls to pass internal format to properly account for used image type * Fix scaleDown passing primary format in place of internal format to glTexImage2D * Make texture debug view and texture bias calculation consistent and remove double accounting for render target textures
2024-07-08Re-enable compiler warnings C4244 and C4396 except for lltracerecording.h ↵Ansariel
and llunittype.h for now
2024-07-03#1870 Tune up for better experience on integrated intel with low memory (#1872)Dave Parks
* More deterministic vsize calculation. Add control for choosing downscale method. * Quick hack to make GLTF preview work again
2024-06-271836 dont store texture in system memory unless absolutely necessary (#1843)Dave Parks
* #1836 Texture memory usage overhaul. Much decrufting - don't keep a copy of textures in system memory - use GPU to downrez textures instead of reloading from cache - use GPU to generate brightness/darkness bumpmaps
2024-06-10Re-enable compiler warnings C4018, C4100, C4231 and C4506Ansariel
2024-05-22Fix line endlingsAnsariel
2024-05-22Merge remote-tracking branch 'origin/main' into DRTVWR-600-maint-AAnsariel
# Conflicts: # autobuild.xml # indra/cmake/CMakeLists.txt # indra/cmake/GoogleMock.cmake # indra/llaudio/llaudioengine_fmodstudio.cpp # indra/llaudio/llaudioengine_fmodstudio.h # indra/llaudio/lllistener_fmodstudio.cpp # indra/llaudio/lllistener_fmodstudio.h # indra/llaudio/llstreamingaudio_fmodstudio.cpp # indra/llaudio/llstreamingaudio_fmodstudio.h # indra/llcharacter/llmultigesture.cpp # indra/llcharacter/llmultigesture.h # indra/llimage/llimage.cpp # indra/llimage/llimagepng.cpp # indra/llimage/llimageworker.cpp # indra/llimage/tests/llimageworker_test.cpp # indra/llmessage/tests/llmockhttpclient.h # indra/llprimitive/llgltfmaterial.h # indra/llrender/llfontfreetype.cpp # indra/llui/llcombobox.cpp # indra/llui/llfolderview.cpp # indra/llui/llfolderviewmodel.h # indra/llui/lllineeditor.cpp # indra/llui/lllineeditor.h # indra/llui/lltextbase.cpp # indra/llui/lltextbase.h # indra/llui/lltexteditor.cpp # indra/llui/lltextvalidate.cpp # indra/llui/lltextvalidate.h # indra/llui/lluictrl.h # indra/llui/llview.cpp # indra/llwindow/llwindowmacosx.cpp # indra/newview/app_settings/settings.xml # indra/newview/llappearancemgr.cpp # indra/newview/llappearancemgr.h # indra/newview/llavatarpropertiesprocessor.cpp # indra/newview/llavatarpropertiesprocessor.h # indra/newview/llbreadcrumbview.cpp # indra/newview/llbreadcrumbview.h # indra/newview/llbreastmotion.cpp # indra/newview/llbreastmotion.h # indra/newview/llconversationmodel.h # indra/newview/lldensityctrl.cpp # indra/newview/lldensityctrl.h # indra/newview/llface.inl # indra/newview/llfloatereditsky.cpp # indra/newview/llfloatereditwater.cpp # indra/newview/llfloateremojipicker.h # indra/newview/llfloaterimsessiontab.cpp # indra/newview/llfloaterprofiletexture.cpp # indra/newview/llfloaterprofiletexture.h # indra/newview/llgesturemgr.cpp # indra/newview/llgesturemgr.h # indra/newview/llimpanel.cpp # indra/newview/llimpanel.h # indra/newview/llinventorybridge.cpp # indra/newview/llinventorybridge.h # indra/newview/llinventoryclipboard.cpp # indra/newview/llinventoryclipboard.h # indra/newview/llinventoryfunctions.cpp # indra/newview/llinventoryfunctions.h # indra/newview/llinventorygallery.cpp # indra/newview/lllistbrowser.cpp # indra/newview/lllistbrowser.h # indra/newview/llpanelobjectinventory.cpp # indra/newview/llpanelprofile.cpp # indra/newview/llpanelprofile.h # indra/newview/llpreviewgesture.cpp # indra/newview/llsavedsettingsglue.cpp # indra/newview/llsavedsettingsglue.h # indra/newview/lltooldraganddrop.cpp # indra/newview/llurllineeditorctrl.cpp # indra/newview/llvectorperfoptions.cpp # indra/newview/llvectorperfoptions.h # indra/newview/llviewerparceloverlay.cpp # indra/newview/llviewertexlayer.cpp # indra/newview/llviewertexturelist.cpp # indra/newview/macmain.h # indra/test/test.cpp
2024-05-07secondlife/viewer#1333 BOOL to bool conversion leftovers: ternariesAlexander Gavriliuk
2024-05-07viewer#799 Account for reflection probes' memoryAndrey Kleshchev
2024-04-29#824 Process source files in bulk: replace tabs with spaces, convert CRLF to ↵Andrey Lihatskiy
LF, and trim trailing whitespaces as needed
2024-03-27Merge branch 'main' into DRTVWR-600-maint-AAndrey Lihatskiy
# Conflicts: # indra/newview/llappviewer.cpp # indra/newview/llfloaterchangeitemthumbnail.cpp # indra/newview/llpanelprofile.cpp # indra/newview/llselectmgr.cpp # indra/newview/lltexturectrl.cpp # indra/newview/lltexturectrl.h # indra/newview/lltooldraganddrop.cpp # indra/newview/llviewerdisplay.cpp # indra/newview/llvovolume.cpp
2024-03-05SL-17896 Don't crash silently if files are missing or out of memoryAndrey Kleshchev
Under debug LL_ERRS will show a message as well, but release won't show anything and will quit silently so show a notification when applicable.
2024-02-20Convert BOOL to bool in llrenderAnsariel
2024-02-18misc: BOOL to boolLars Næsbye Christensen
2024-01-11Rename OS X to macOS, mostly in commentsLars Næsbye Christensen
We only support 10.13+ now, and it's been called macOS since 10.12. References in code to older versions are unchanged.
2023-12-21SL-20743 Use LLMutex in LLImageBase for internal data thread-safetyAlexander Gavriliuk
2023-09-28Fix integer overflow when framebuffers are extremely high resolution ↵Rye Mutt
resulting in INT_MAX texture bias (#393)
2023-07-17Merge remote-tracking branch 'origin/main' into DRTVWR-559Brad Linden
2023-04-05SL-19331: Move media updates off-thread on select hardware (#153)cosmic-linden
* SL-19331: Have media updates on the LLImageGL thread even when texture updates are on the main thread. Add config. Off-thread media updates seem work best performance-wise when using glTexImage2D, not sub_image_lines. Otherwise, there are lots of main thread stalls. * SL-19331: Bump featuretable * SL-19331: Cleanup, annotate comment
2023-03-21SL-19434: Fix texture issues with minimap, but keep performance from SL-19331Cosmic Linden
2023-03-21Revert "SL-19434 Temporary fix for minimap breakage."Cosmic Linden
This reverts commit 084ef5173fb79644ce2fd3e640c241a05529db70.
2023-03-21SL-19266 Potential Use-After-Free in LLImageGL::setImageAlexander Gavriliuk
2023-03-21SL-19434 Temporary fix for minimap breakage.Dave Parks
2023-03-13SL-19331: Improve performance of setSubImage (ex: media updates)Cosmic Linden
2023-03-10SL-19389: Fix textures not being optimally queued after the fix in SL-19338Cosmic Linden
In the future, some uses of glTexSubImage2D should be better vetted, ex: media prims
2023-03-08SL-19338: Don't use glTexSubImage2D on compressed texturesCosmic Linden
2023-03-08Revert "SL-19338: (WIP) Test disabling new use of glTexSubImage2D and see if ↵Cosmic Linden
the bug still repros" This reverts commit 6c486e485372a6f79e632839a7217c5208a09d0c.
2023-03-08SL-19338: (WIP) Test disabling new use of glTexSubImage2D and see if the bug ↵Cosmic Linden
still repros
2023-02-25Hammering on more mac optimizations.Jonathan "Geenz" Goodman
SL-18563
2023-01-19Fix for SL-19010 mac crash in LLManipTranslartge::restoreGL().Brad Linden
Attempt to simplify and avoid use of GL_UNSIGNED_INT_8_8_8_8_REV where not needed
2023-01-19SL-18869 Followup -- leverage "small commands" and time slicing to get rid ↵Dave Parks
of frame stalls on main thread without the need for multithreaded GL
2022-12-09SL-18809: Add WorkSchedule; remove timestamps from WorkQueue.Nat Goodspeed
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-10-21Merge branch 'master' (DRTVWR-548) into DRTVWR-559Andrey Kleshchev
# 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-09-16Merge branch 'DRTVWR-559' of ssh://bitbucket.org/lindenlab/viewer into ↵Dave Parks
DRTVWR-559
2022-09-16SL-18128 Clear out much OpenGL cruft and switch to core profile on AMDDave Parks
2022-09-16Merge branch master (DRTVWR-571) into DRTVWR-559Andrey Kleshchev
# Conflicts: # indra/newview/llpanelface.cpp # indra/newview/llpanelface.h
2022-09-15Merge branch 'master' into DRTVWR-548-maint-NAndrey Lihatskiy
# Conflicts: # indra/newview/llmodelpreview.h
2022-09-01SL-17967 - Git rid of ARB that is in coreHoward Stearns
2022-08-30Merge remote-tracking branch 'remotes/origin/DRTVWR-563' into DRTVWR-559Dave Parks
2022-08-26SL-17997 Follow up from beta breakers results.Dave Parks
2022-07-06SL-17732 std_bad_alloc at setManualImageAndrey Kleshchev
2022-06-09SL-17483: Merge branch 'track-threadpools' into sl-17483.Nat Goodspeed
This picks up ThreadPoolSizes override logic embedded in ThreadPool's constructor, plus the new static ThreadPool::getConfiguredWidth() and getWidth() methods.
2022-06-09SL-17483: Simplify ThreadPool instantiations.Nat Goodspeed
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-01SL-17485 Add texture memory accounting for OS XDave Parks