summaryrefslogtreecommitdiff
path: root/indra/newview/llfeaturemanager.cpp
AgeCommit message (Collapse)Author
2025-11-15Merge tag 'Second_Life_Release#ad6008a5-2025.08' into 2025.08Erik Kundiman
2025-11-14Disable the benchmark & occlusion on RDNA3.5 (#4999)Jonathan "Geenz" Goodman
2025-11-13Merge tag 'Second_Life_Release#0ceefe6d-2025.08' into 2025.08Erik Kundiman
2025-11-12Disable shader profiles on RDNA3.5 to prevent freezes on startup. (#4992)Jonathan "Geenz" Goodman
* Disable shader profiling for certain AMD Radeon GPUs Added logic to detect AMD Radeon 8060 GPUs and disable shader profiling to prevent client freezes and instability. Introduced sCanProfile flag in LLGLSLShader and mSkipProfiling in LLFeatureManager to control profiling behavior based on detected hardware. * Add RDNA3.5 and check the vendor string for a known current family of bad drivers * Update llfeaturemanager.cpp * Make sure to check that this is a Radeon.
2025-11-01Merge tag 'Second_Life_Release#f7516a46-2025.08' into 2025.08Erik Kundiman
2025-10-29#4604 Turn off cef preloading on low end hardwareAndrey Kleshchev
1. Cef instances are fairly heavy in viewer's implementation, don't preload them on systems <= 8GB 2. Move initialization into floaters where it belongs. 3. Minimal requirement is 8GB, drop gpu class to 1 on hardware under 8GB 4. Reduce cef instance count on systems under 8GB
2024-12-06Merge remote-tracking branch 'secondlife/release/2024.09-ExtraFPS' into ↵Erik Kundiman
2024.09-ExtraFPS
2024-12-03Rename "Vintage Mode" to "HDR and Emissive" in advanced settings. (#3192)Jonathan "Geenz" Goodman
#2590 #3167
2024-12-03#3184 Fix for crash on some GPUs when setting quality to High or higher (#3201)Dave Parks
2024-11-28Merge branch 'release/2024.09-ExtraFPS' of ↵Erik Kundiman
https://github.com/secondlife/viewer.git into 2024.09-ExtraFPS
2024-11-27Make sure CAS controls are not active with vintage mode. (#3176)Jonathan "Geenz" Goodman
Also make extra sure vintage mode is enabled when GL3 is detected.
2024-11-27Merge remote-tracking branch 'secondlife/release/2024.09-ExtraFPS' into ↵Erik Kundiman
2024.09-ExtraFPS
2024-11-26fix GL3 fallback on mac intel gpu systems. secondlife/viewer#3145 (#3159)Brad Linden
2024-11-26Merge remote-tracking branch 'secondlife/release/2024.09-ExtraFPS' into ↵Erik Kundiman
2024.09-ExtraFPS
2024-11-25Drop emissive on old Intel GPUs (#3110)Jonathan "Geenz" Goodman
* #3103 Add the ability to disable the emissive buffer for older GPUs with low memory bandwidth. * #3135 Add a "vintage" mode for slower GPUs * #2719 Fix for skies being overbrightened * #2632 Do not apply tonemapping on legacy skies
2024-11-22Minor cleanups and logging/ViewerStats improvements for GL3 fallback trigger ↵Brad Linden
for intel HD 4X00 gpus
2024-11-20Merge remote-tracking branch 'secondlife/release/2024.09-ExtraFPS' into ↵Erik Kundiman
2024.09-ExtraFPS
2024-11-19brad/2744 handle shader errors (#3105)Brad Linden
* Partial solution to secondlife/viewer#2744 crash with better error handling. Handles shader compile errors better, and should turn crash into an LL_ERRS assertion failure. Strengthed more assertions and improved shader error line numbers * Even more error handling to get a handle on crash secondlife/viewer#2744 * Improved GLSL correctness on Intel chips that lack OpenGL 4.6 support. secondlife/viewer#2744 * Removed non-working fallback code for gDeferredPostProgram * Fixed incorrect llmax call
2024-10-18Merge remote-tracking branch 'secondlife/release/2024.09-ExtraFPS' into ↵Erik Kundiman
2024.09-ExtraFPS
2024-09-18Make Develop->Render Tests->Frame Profile dump JSON to a file too.Nat Goodspeed
Make `LLGLSLShader::finishProfile()` accept a string pathname instead of a bool and, in addition to logging statistics to the viewer log, output statistics to that file as JSON. The calls that used to pass `emit_report=false` now pass `report_name=std::string()`. Make llviewerdisplay.cpp's `display()` function synthesize a profile filename in the viewer's logs directory, and pass that filename to `LLGLSLShader::finishProfile()`. (cherry picked from commit d5712689d36a1ee1af32242706901fde7229b08d)
2024-09-17#2590 Fix for horrible FPS on Intel Mac (#2591)Dave Parks
* Work around for GHA mac runners not playing nice with Tracy * Delay VBO deletion for a few frames * Enable multithreaded GL driver and multithreaded media textures on Apple silicon
2024-07-28Merge remote-tracking branch 'secondlife/release/2024.06-atlasaurus' into ↵Erik Kundiman
2024.06-atlasaurus
2024-06-20Merge remote-tracking branch 'secondlife/release/maint-b' into maint-bErik Kundiman
2024-06-14Merge branch 'release/maint-b' into marchcat/b-mergeAndrey Lihatskiy
# Conflicts: # .github/workflows/build.yaml # indra/newview/app_settings/shaders/class2/deferred/alphaF.glsl # indra/newview/app_settings/shaders/class3/deferred/reflectionProbeF.glsl # indra/newview/app_settings/shaders/class3/deferred/softenLightF.glsl # indra/newview/llfilepicker.cpp
2024-06-11Merge tag '7.1.8-release'Erik Kundiman
source for viewer 7.1.8.9375512768
2024-06-10Merge remote-tracking branch 'origin/DRTVWR-600-maint-A' into ↵Brad Linden
project/gltf_development
2024-06-06Change LL_FREEBSD to already existing __FreeBSD__Erik Kundiman
So we don't need to have a custom environment -DLL_FREEBSD=1 setting.
2024-06-01Re-enable a lot of compiler warnings for MSVC and address the C4267 ↵Ansariel
"possible loss of precision" warnings
2024-05-28Fix up llexception.h's cross-platform SEH wrapper.Nat Goodspeed
Introduce AlwaysReturn<void> specialization, which always discards any result of calling the specified callable with specified args. Derive new Windows_SEH_exception from LLException, not std::runtime_error. Put the various SEH functions in LL::seh nested namespace, e.g. LL::seh::catcher() as the primary API. Break out more levels of Windows SEH handler to work around the restrictions on functions containing __try/__except. The triadic catcher() overload now does little save declare a std::string stacktrace before forwarding the call to catcher_inner(), passing a reference to stacktrace along with the trycode, filter and handler functions. catcher_inner() accepts the stacktrace and the three function template arguments. It contains the __try/__except logic. It calls a new filter_() wrapper template, which calls fill_stacktrace() before forwarding the call to the caller's filter function. fill_stacktrace(), in the .cpp file, contains the logic to populate the stacktrace string -- unless the Structured Exception is stack overflow, in which case it puts an explanatory string instead. catcher_inner()'s __except clause passes not only the code, but also the stacktrace string, to the caller's handler function. It wraps the caller's handler function in always_return<rtype>(), where rtype is the type returned by the trycode function. This allows a handler to return a value, while also supporting the void handler case, e.g. one that throws a C++ exception. (This is why we need AlwaysReturn<void>: some trycode() functions are themselves void.) For the dyadic catcher() overload, introduce common_filter() containing the logic to distinguish a C++ exception from any other kind of Structured Exception. The fact that the stacktrace is captured before the filter function is called should permit capturing a stacktrace for a C++ exception as well as for most other Structured Exceptions. As before, the monadic catcher() overload supplies the rethrow() handler, in the .cpp file. Change existing calls from seh_catcher() to LL::seh::catcher().
2024-05-24Promote seh_catcher() et al. to llexception.{h,cpp} for general use.Nat Goodspeed
2024-05-23Merge remote-tracking branch 'origin/DRTVWR-600-maint-A' into ↵Brad Linden
brad/merge-maint-a-to-dev
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-16Merge tag '7.1.7-release'Erik Kundiman
source for viewer 7.1.7.8974243247
2024-05-15Post-merge spaces fixAndrey Lihatskiy
2024-05-06Merge remote-tracking branch 'origin/DRTVWR-600-maint-A' into ↵RunitaiLinden
gltf-dev-maint-a-merge
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-02-21Convert remaining BOOL to boolAnsariel
2024-02-21Convert BOOL to bool in LLControlGroup and related classesAnsariel
2023-10-13SL-19750: Only disable PBR terrain emissive for machines that have a limit ↵Cosmic Linden
of 16 texture binds. Bump featuretable
2023-09-10Merge branch 'main' into DRTVWR-559Erik Kundiman
2023-07-19FreeBSD uses Linux's feature tableErik Kundiman
instead of letting it fallback to the default which would be Window's. When using the default, somehow the viewer launched with no colours even after resetting ~/.secondlife/user_settings/settings.xml.
2023-05-17Merge remote-tracking branch 'origin/main' into DRTVWR-559Brad Linden
2023-05-02Merge branch 'main' into DRTVWR-577-maint-SAndrey Lihatskiy
2023-04-27Readded RenderClass1MemoryBandwidth setting after DRTVWR-559 & DRTVWR-539 mergeBrad Linden
Has to use class1 now since class0 shouldn't ever be in use on end-user systems anymore.
2023-04-27More post-merge fixes after DRTVWR-559 & DRTVWR-539 mergeBrad Linden
2023-04-26Got things to compile again after DRTVWR-559 & DRTVWR-539 merge.Brad Linden
removing dead code and references to members that don't exist anymore
2023-04-26Merge remote-tracking branch 'origin/DRTVWR-539' into DRTVWR-559-merge-539Brad Linden
2023-03-27Fix up the graphics setting detectionJonathan "Geenz" Goodman
SL-18563
2023-03-04SL-15752 Reduce default graphical quality on machines with little memory (#105)akleshchev