Commit Graph

219 Commits (4f00a13f5ea9bea712a0313562a86cbff07342ad)

Author SHA1 Message Date
Hecklezz 4f00a13f5e Disable shader profiles on RDNA3.5 to prevent freezes on startup. (#4992) (FS:TJ- Cherry-pick to fix FIRE-36163)
* 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-30 03:53:32 +10:00
Rye ba30737d8f Merge branch 'develop' of github.com:secondlife/viewer into rye/infinitemac 2025-08-20 18:04:55 -04:00
Andrey Kleshchev d9e55c4415 #3997 Crash in a gltf asset enabled region 2025-04-29 18:12:57 +03:00
Jonathan "Geenz" Goodman 52cca995cc Merge branch 'release/2025.04' into rye/forevermac 2025-04-15 13:55:01 -04:00
Andrey Lihatskiy d77954ef50 #3597 Improve error handling at LLGLSLShader::disableTexture() 2025-04-02 16:18:33 +03:00
Rye fd94dc0cd0 Disable old GPU hacks on macos when running against Apple GPU 2025-02-11 05:04:10 -05:00
Rye 6fcd349f37 Fix Tracy memory profiling overloads for aligned allocations
Fix disabling renderdoc support
Improve ll_aligned_alloc functions on darwin for 32 and 64byte aligned by utilizing posix_memalign
2025-02-11 05:04:05 -05:00
Jonathan "Geenz" Goodman d65fb7cec8
Drop emissive on old Intel GPUs (#3110)
* #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-25 20:56:03 -05:00
Brad Linden 7be9c43f28
brad/2744 handle shader errors (#3105)
* 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-11-19 10:49:09 -08:00
Nat Goodspeed 8c40e6f0a9 Reapply commit f4b6563 -- cherry-picking lost parts of it?! 2024-09-19 11:46:08 -04:00
Nat Goodspeed a3d6544be0 Give `LLGLSLShader::finishProfile()` a static default string param.
`finishProfile()` is called at least once within a `__try` block. If we default
its `report_name` parameter to a temporary `std::string`, that temporary must be
destroyed when the stack is unwound, which `__try` forbids.

(cherry picked from commit c6e6f44f50b4de391000c5b9f781a2f0a5024e76)
2024-09-18 14:05:27 -04:00
Nat Goodspeed f037cde7f4 Make Develop->Render Tests->Frame Profile dump JSON to a file too.
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-18 14:05:27 -04:00
Rye Mutt 3a73748929 Remove dead texunit colorspace conversion code 2024-08-29 16:32:15 -04:00
Rye Mutt cbca178256 Add Contrast Adaptive Sharpening post process effect(#2399) 2024-08-24 00:55:32 -04:00
Ansariel 9fdca96f8b Re-enable compiler warnings C4244 and C4396 except for lltracerecording.h and llunittype.h for now 2024-07-08 20:27:14 +02:00
Dave Parks 80ea30af1a
#1769 gltf optimization pass (#1816)
#1814 and #1517 Fix mirror update rate and occlusion culling
2024-06-21 13:13:08 -05:00
Brad Linden 4e593dcded
Merge pull request #1797 from secondlife/release/maint-a
merge release/maint-a into develop and close maint-a
2024-06-18 11:48:37 -07:00
Dave Parks 375555012f
1736 audit texture image unit usage on os x (#1739)
* #1736 Remove some unused samplers from glsl files and refactor shader manager to assume 16 texture image units and 4 indexed texture units all the time.
2024-06-14 17:06:07 -05:00
Ansariel 15b3c9f164 Fix a few merge issues 2024-06-13 02:22:03 +02:00
Andrey Kleshchev 148786999d viewer#1698 Uniform being out of range shouldn't crash viewer 2024-06-12 18:12:35 +03:00
Ansariel d9789bfaf2 Merge branch 'main' of https://github.com/secondlife/viewer into DRTVWR-600-maint-A
# Conflicts:
#	indra/llappearance/llavatarappearance.h
#	indra/llimage/llimage.cpp
#	indra/llmath/llvolume.cpp
#	indra/llmath/llvolume.h
#	indra/llprimitive/llgltfmaterial.h
#	indra/llrender/llrendertarget.cpp
#	indra/llrender/llshadermgr.cpp
#	indra/newview/lldynamictexture.cpp
#	indra/newview/llenvironment.cpp
#	indra/newview/llfetchedgltfmaterial.cpp
#	indra/newview/llfloaterimagepreview.cpp
#	indra/newview/llfloaterimagepreview.h
#	indra/newview/llfloaterregioninfo.cpp
#	indra/newview/llfloaterregioninfo.h
#	indra/newview/llmaniprotate.cpp
#	indra/newview/llmaniptranslate.cpp
#	indra/newview/llpanelvolume.cpp
#	indra/newview/llselectmgr.cpp
#	indra/newview/llselectmgr.h
#	indra/newview/llsurface.cpp
#	indra/newview/llsurface.h
#	indra/newview/llsurfacepatch.cpp
#	indra/newview/lltexturectrl.cpp
#	indra/newview/lltexturectrl.h
#	indra/newview/lltinygltfhelper.cpp
#	indra/newview/llviewertexture.cpp
#	indra/newview/llviewerwindow.cpp
#	indra/newview/llviewerwindow.h
#	indra/newview/llvlcomposition.cpp
#	indra/newview/llvlcomposition.h
#	indra/newview/llvocache.cpp
#	indra/newview/llvovolume.cpp
#	indra/newview/pipeline.cpp
2024-06-11 13:38:43 +02:00
Brad Linden 7c42711ca3 Merge remote-tracking branch 'origin/DRTVWR-600-maint-A' into project/gltf_development 2024-06-10 16:22:12 -07:00
Dave Parks 227e9be068
#1654 generate normals and tangents according to gltf specification (#1662)
* Disable unloading of objects in background. 
* Add unlit GLTF shader variant
2024-06-10 10:43:38 -05:00
Ansariel b42f9d836b Re-enable a lot of compiler warnings for MSVC and address the C4267 "possible loss of precision" warnings 2024-06-01 15:49:26 +02:00
Dave Parks 15fd13f830
#1530 Increase joint limit for GLTF Assets (#1582)
* Migrate GLTF scene rendering to its own shaders
* Add support for ambient occlusion map separate from metallic roughness map (or absent)
* Use UBO's for GLTF joints
* Better error handling of downloading GLTF assets
2024-05-29 16:56:39 -05:00
Dave Parks 2f41200384
Remove tinygltf dependency from LL::GLTF (#1541)
* #1535 Image loading/saving support in boost::json driven GLTF parser
* #1536 GLB Support in boost::json drvien GLTF parser
2024-05-28 09:45:40 -05:00
Brad Linden a1f49564d6 Merge remote-tracking branch 'origin/DRTVWR-600-maint-A' into brad/merge-maint-a-to-dev 2024-05-23 11:31:19 -07:00
Ansariel e2e37cced8 Fix line endlings 2024-05-22 22:40:26 +03:00
Ansariel 1b67dd855c Merge remote-tracking branch 'origin/main' into DRTVWR-600-maint-A
# 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-22 19:04:52 +02:00
Andrey Lihatskiy b06a99f7c7 Post-merge spaces fix 2024-05-15 12:47:27 +03:00
RunitaiLinden c6d752b880 Merge remote-tracking branch 'origin/DRTVWR-600-maint-A' into gltf-dev-maint-a-merge 2024-05-06 16:48:58 -05:00
Andrey Lihatskiy 1b68f71348 #824 Process source files in bulk: replace tabs with spaces, convert CRLF to LF, and trim trailing whitespaces as needed 2024-04-29 07:56:09 +03:00
Ansariel b2c2713672 Convert BOOL to bool in llrender 2024-02-20 02:14:01 +02:00
Lars Næsbye Christensen 7316441f22 llrender: BOOL (int) to real bool 2024-02-12 23:17:22 +02:00
Jonathan "Geenz" Goodman d8dd4d9c0c Just about got hero reflection maps working.
DRTVWR-583
2023-06-27 20:01:52 -07:00
Rye Mutt 87bda55268
Add a binary cache for compiled shaders using glProgramBinary (#216)
* Add a binary cache for compiled shaders using glProgramBinary

* Add additional sanity checking to shader binary save and load, hook up cache clear and menu option

* Fix default init of shader cache data struct and clear gl errors before glGetError calls

---------

Co-authored-by: RunitaiLinden <davep@lindenlab.com>
2023-05-17 18:30:27 -05:00
RunitaiLinden cdc9852f05 SL-19709 Fix for fullbright shiny not factoring out exposure and flickering fullbright alpha. Incidental decruft. 2023-05-15 11:01:24 -05:00
RunitaiLinden e09475713b DRTVWR-559 Optimization pass, make it so profileAvatar can read back GPU timer without a frame stall. 2023-05-02 18:47:21 -05:00
Jonathan "Geenz" Goodman f4274ba64e Move mipmap generation into LLRenderTarget.
DRTVWR-583
2023-04-14 03:08:28 -07:00
Jonathan "Geenz" Goodman 6d5c169716 Merge branch 'DRTVWR-559' into DRTVWR-559-post-refactor 2023-04-12 15:18:27 -07:00
Jonathan "Geenz" Goodman 58df456675 Fixed DoF 2023-04-12 14:50:14 -07:00
RunitaiLinden 2b2154f021
SL-19564 Rebalance exposure and sky. Hack legacy diffuse map saturation and brightness to allow ACES Hill all the time. 2023-04-11 15:09:58 -05:00
Jonathan "Geenz" Goodman 56b21054eb Get DoF working
Need to fix up bloom.

DRTVWR-559
SL-19524
SL-19513
2023-04-10 11:29:50 -07:00
Jonathan "Geenz" Goodman 4e306c9066 Merge branch 'DRTVWR-559' of https://github.com/secondlife/viewer into DRTVWR-559 2023-03-31 10:54:22 -07:00
Jonathan "Geenz" Goodman b44ad50f75 Move glow extract to be after tonemapping.
SL-19513
2023-03-31 10:54:19 -07:00
Brad Linden a548c16989 Merge remote-tracking branch 'origin/main' into DRTVWR-559 2023-03-29 14:54:06 -07:00
Dave Parks a2647e953a SL-18229 Fix for PBR materials on HUDs misbehaving. Incidental decruft. 2023-02-07 18:25:22 -06:00
Dave Parks c8fb3ad4de SL-19148 Decruft followthrough -- fix for crash when running from installer. Feed fresnel component into PBR alpha. Remove obsolete "shader_hierarchy.txt", remove redundant LL_PROFILE_ZONE_SCOPED, remove unused shader feature flag. 2023-02-06 10:28:26 -06:00
Dave Parks 1c2410b8af SL-19148 Decruft followthrough -- decruft shader tree and some remaining forward rendering code. 2023-02-03 19:45:31 -06:00
Dave Parks 830cb6b665 SL-19148 Decruft some forward shaders and drawpools. Fix HUDs being in wrong color space. 2023-02-03 17:18:39 -06:00