Jonathan "Geenz" Goodman
0ceefe6d27
Disable shader profiles on RDNA3.5 to prevent freezes on startup. ( #4992 )
...
* 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-12 12:14:19 -08:00
Jonathan "Geenz" Goodman
e0d14e02e1
Merge branch 'release/2025.03' into rye/forevermac
2025-03-11 22:44:49 -04:00
Jonathan "Geenz" Goodman
d450295cf5
Additional water fixes and tweaks. ( #3524 )
...
* Incorporation of feedback for #3456
2025-02-11 13:49:24 -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
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
958afaa7a7
Integrate SMAA and rework post process chain for better visual quality
...
Add SMAA buffer generation passes
Add quality levels for both FXAA and SMAA
Separate gamma correction and tonemapping for effects that require linear-but-tonemapped inputs
Move application of noise to final render pass to screen to avoid damaging other post process effects
2024-08-29 17:24:50 -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
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
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
Brad Linden
d12c897bfc
Merge remote-tracking branch 'origin/project/gltf_development' into brad/maint-a-merge-to-gltf-dev
...
# Conflicts:
# indra/newview/gltf/primitive.cpp
2024-06-12 10:31:27 -07:00
Dave Parks
f40fbdf4ad
#1718 Add GLTF support for multiple texcoords ( #1720 )
...
* Fix for GLTF MeshPrimitiveModes test
2024-06-11 17:10:13 -05: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
cb3bd8865a
Fix a bunch of uninitialized variable warnings that showed up in Visual Studio
2024-05-30 15:41:36 +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
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
RunitaiLinden
2880e5ceee
#1139 Fix for world going black/white in some scenes (NaNs) ( #1273 )
...
* #1139 Fix for world going black/white in some scenes (NaNs)
NaNs were coming from normal encode/decode. Take advantage of available gbuffer space to send full normal instead of encoding.
* #1139 Cleanup
remove now unused encodeNormF.glsl
* #1139 Remove final reference to encodeNormF
* #1139 Fix for getNormalEnvIntensityFlags referencing wrong sampler for env intensity
* Mac build fix
2024-04-19 11:59:28 -05: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
373b06398c
Merge remote-tracking branch 'origin/release/materials_featurette' into DRTVWR-583
2024-01-24 14:37:33 -08:00
RunitaiLinden
6dd260c369
Merge branch 'release/materials_featurette' into DRTVWR-592
2024-01-19 11:36:56 -06:00
RunitaiLinden
964f9e74d5
SL-20611 followup -- remove now unused glsl files. Fix transparent water.
2023-11-17 10:10:58 -06:00
Cosmic Linden
754fe9d4b7
DRTVWR-592: (WIP) Triplanar mapping
2023-10-13 10:39:09 -07: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
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
b44ad50f75
Move glow extract to be after tonemapping.
...
SL-19513
2023-03-31 10:54:19 -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
Dave Parks
c9d56e212a
SL-19015 Balance sun/sky ambiance with punctual light ambiance. Prevent irradiance maps from being brighter than the environment.
2023-01-31 15:01:05 -06:00
Dave Parks
a851aa83e7
SL-18958 Fix for broken water distortion map and depth buffer. Incidental decruft.
2023-01-24 12:50:17 -06:00
Dave Parks
493d501cde
SL-18869 Optimizations -- Revive "Frame Profile" and GL_DEPTH_CLAMP. Remove usage of gl_FragDepth from shadow shaders.
2023-01-10 19:49:18 -06:00
Brad Kittenbrink
a887c486b4
Merge remote-tracking branch 'origin/DRTVWR-528' into DRTVWR-559
2022-11-28 16:24:53 -08:00
Dave Parks
e2d1af5c4f
SL-18154 Profile guided optimizations -- remove some unneeded operations and make LLDrawPoolMaterials less branchy.
2022-11-17 13:35:39 -06:00
Dave Parks
8d2ac419b2
SL-18154 Profile guided optimizations vs release viewer. Trim some unused abilities and remove some more fast timers.
2022-11-16 14:49:17 -06:00
Jonathan Goodman
97277e74a9
Merged in SL-18332 (pull request #1194 )
...
First pass of Screen Space Reflections
Approved-by: Dave Parks
2022-11-14 18:12:22 +00:00
Dave Parks
b6e576c7c2
SL-18190 Cleanup -- convert some vec4's to vec3's (as they really are), remove some unused glsl files.
2022-10-11 20:20:39 -05:00
Geenz Linden
db92f95649
Switch away from std::string
...
API expects const char* anyways.
2022-10-06 15:18:17 -04:00