Commit Graph

283 Commits (45528d33280a2ea8ce03211e8e60d9ef991d07ea)

Author SHA1 Message Date
Andrey Kleshchev 45528d3328 #4773 Crash on sub_image_lines
Just caught it and discard_level is somehow 7, which seems like it resulted in src going out of bounds, which crashed glTexSubImage2D
2025-10-01 21:59:22 +03:00
Andrey Kleshchev ee6a9e7ed1 #4758 Extra logging to track discard 6
Plus clamped some values and preventing decode from starting
2025-10-01 14:33:17 +03:00
Rye 24aef9a982 Fix large performance drop when enabling AA on macOS/lower end GPU hardware 2025-08-22 13:12:43 -04:00
Andrey Kleshchev 3da493295e #4296 Crash at renderMorphMasks 2025-07-09 23:16:17 +03:00
Jonathan "Geenz" Goodman c60061b504
Switch from GL_RGB16F to GL_R11F_G11F_B10F for probes (#3562)
* #3561 Switch from GL_RGB16F to GL_R11F_G11F_B10F for reflection probes to help reduce memory bandwidth and VRAM pressure.
2025-02-14 13:16:35 -05:00
Andrey Lihatskiy ddbe1ff981 Fix xcode16 build errors 2025-02-13 17:30:08 +02:00
Andrey Kleshchev a66ec26b81
#3295 Crash scaling texture down (#3296) 2024-12-16 22:21:42 +00:00
Dave Parks eff46262c8
#2590 Radeon mac optimization pass (#3277)
- Skip updating of reflection probes that are not the default probe when probe coverage is set to "None"
- enable RenderAppleUseMultGL and disable occlusion culling on Macs with AMD GPUs
- Reduce the number of texture decode threads on Macs with intel cpus.
- Move texture deletion to LLImageGL::updateClass and prevent textures from staying resident in vram longer than 3 frames
- Disable SSAO by default on Macs with intel CPUs
2024-12-12 15:46:01 -06: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
Dave Parks 2b255535ef
2590 mac intel and radeon pro 5300m horrible fps 2 (#3030)
* OpenGL 3.3 compatibility pass.  Fix for FBO driven downscaling corrupting textures.
* Increase maximum texture bias, immediately scale down when textures are loaded higher resolution than desired
* #2590 Fix for some frame stalls on Intel Macs
2024-11-12 15:26:38 -08:00
Jonathan "Geenz" Goodman ef11af28d4
#2637 Revert to the previous alpha analysis to maintain legacy content parity. (#3061) 2024-11-08 14:51:19 -05:00
Andrey Kleshchev 1924c44caf viewer#2741 Don't reallocate image conversion buffer all the time 2024-10-20 16:48:27 +03:00
Andrey Kleshchev 85b7210fb9 viewer#2741 Sligtly better logging for a crash 2024-10-05 10:08:27 +03:00
RunitaiLinden cde5d29faf Profile guided optimizations 2024-09-10 18:27:45 -05:00
Brad Linden ecf3002a46 Merge remote-tracking branch 'origin/release/2024.08-DeltaFPS' into develop 2024-08-29 13:32:34 -07:00
Dave Parks 8406d1052c
#2428 Fix for crash when applying PBR material (#2430)
Also attempt to fix some occasional bad texture memory tracking.
2024-08-27 09:53:54 -07:00
Rye Cogtail 436e986893 Fix mac crash on startup due to missing types from enum 2024-08-24 00:55:34 -04:00
Rye Mutt 28331b2385
Do deprecated texture swizzle on GPU using GL texture swizzling functions (#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-22 10:25:25 -05:00
Dave Parks 0e59ed204f
Fix crash on Intel GPUs (or anywhere OpenGL compatibility profile is used). (#2387) 2024-08-21 14:36:18 -05:00
Rye Mutt db84bf9567
Improve accuracy of texture memory tracking (#2371)
* 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-08-21 09:47:31 -05: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 08b933a0c6
#1870 Tune up for better experience on integrated intel with low memory (#1872)
* More deterministic vsize calculation.   Add control for choosing downscale method.
* Quick hack to make GLTF preview work again
2024-07-03 17:42:24 -05:00
Dave Parks ab87978cbc
1836 dont store texture in system memory unless absolutely necessary (#1843)
* #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-27 13:12:43 -05:00
Ansariel c0fad3028f Re-enable compiler warnings C4018, C4100, C4231 and C4506 2024-06-10 16:42:43 +02: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
Alexander Gavriliuk f9473e8afc secondlife/viewer#1333 BOOL to bool conversion leftovers: ternaries 2024-05-07 10:18:51 +02:00
Andrey Kleshchev a156998fa6 viewer#799 Account for reflection probes' memory 2024-05-07 08:25:13 +03: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
Andrey Lihatskiy 71ed19839e Merge branch 'main' into DRTVWR-600-maint-A
# 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-27 00:45:06 +02:00
Andrey Kleshchev 78ce375dda SL-17896 Don't crash silently if files are missing or out of memory
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-03-05 00:29:35 +02:00
Ansariel b2c2713672 Convert BOOL to bool in llrender 2024-02-20 02:14:01 +02:00
Lars Næsbye Christensen f1c97f4057 misc: BOOL to bool 2024-02-18 22:04:44 +02:00
Lars Næsbye Christensen da967da9c7 Rename OS X to macOS, mostly in comments
We only support 10.13+ now, and it's been called macOS since 10.12. References in code to older versions are unchanged.
2024-01-11 19:11:33 +02:00
Alexander Gavriliuk 74c8b028d4 SL-20743 Use LLMutex in LLImageBase for internal data thread-safety 2023-12-21 19:12:52 +01:00
Rye Mutt a4c2eab969
Fix integer overflow when framebuffers are extremely high resolution resulting in INT_MAX texture bias (#393) 2023-09-28 15:05:37 -05:00
Brad Linden f975cfd736 Merge remote-tracking branch 'origin/main' into DRTVWR-559 2023-07-17 13:37:03 -07:00
cosmic-linden d6d634d29f
SL-19331: Move media updates off-thread on select hardware (#153)
* 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-04-05 11:55:33 -05:00
Cosmic Linden a218eed9a6 SL-19434: Fix texture issues with minimap, but keep performance from SL-19331 2023-03-21 14:28:56 -07:00
Cosmic Linden 7d97008eba Revert "SL-19434 Temporary fix for minimap breakage."
This reverts commit 084ef5173f.
2023-03-21 14:27:37 -07:00
Alexander Gavriliuk 275ad3fdab SL-19266 Potential Use-After-Free in LLImageGL::setImage 2023-03-21 17:04:48 +01:00
Dave Parks 084ef5173f SL-19434 Temporary fix for minimap breakage. 2023-03-21 09:29:44 -05:00
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
Jonathan "Geenz" Goodman 46b2c0660a Hammering on more mac optimizations.
SL-18563
2023-02-25 22:24:46 -08: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
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